## 1. Repository and local platform scaffold - [ ] 1.1 Create the top-level repository structure for `docker/`, `apps/`, `exapps/`, `packages/`, `docs/`, and `scripts/` - [ ] 1.2 Add a Docker Compose development stack for vanilla Nextcloud and its required backing services - [ ] 1.3 Add the aiNAS control-plane service container to the local development stack - [ ] 1.4 Add repeatable developer scripts and documentation for booting and stopping the local stack ## 2. Nextcloud shell app scaffold - [ ] 2.1 Generate the aiNAS Nextcloud app scaffold into `apps/ainas-controlplane/` - [ ] 2.2 Configure the shell app with aiNAS branding, navigation entry points, and basic settings surface - [ ] 2.3 Add an adapter layer in the shell app for calling aiNAS-owned service endpoints - [ ] 2.4 Verify the shell app installs and loads in the local Nextcloud runtime ## 3. Control-plane service scaffold - [ ] 3.1 Scaffold the aiNAS control-plane service in `exapps/control-plane/` - [ ] 3.2 Add a minimal internal HTTP API surface with health and version endpoints - [ ] 3.3 Create a dedicated Nextcloud adapter boundary inside the service for backend integrations - [ ] 3.4 Wire local service configuration so the shell app can discover and call the control-plane service ## 4. Shared contracts and verification - [ ] 4.1 Create the shared contracts package for internal API schemas and payload definitions - [ ] 4.2 Define the initial contracts used between the shell app and the control-plane service - [ ] 4.3 Document the architectural boundary that keeps business logic out of the Nextcloud app - [ ] 4.4 Verify end-to-end local startup with Nextcloud, the shell app, and the control-plane service all reachable