- unidesk/ (Repository root: configuration, orchestration, CLI, and documentation) - AGENTS.md (Top-level agent index and `scripts/cli.ts` usage guide) - TEST.md (Manual CLI test plan following cli-spec expectations) - config.json (Single source of truth for ports, tokens, runtime, paths, and provider identity) - docker-compose.yml (Main server orchestration for database, backend-core, frontend, provider-gateway, and managed main-server microservices such as Todo Note) - package.json / bun.lock (Root Bun tooling for CLI checks) - .gitignore - reference -> docs/reference (Compatibility symlink for older references) - scripts/ (Unified CLI and implementation modules) - cli.ts (Single Bun CLI entry) - tsconfig.json (TypeScript check scope for CLI) - src/ (CLI business logic modules; `cli.ts` remains a thin router) - config.ts (Root config loading and validation) - docker.ts (Docker Compose env generation, start/stop/status/logs) - jobs.ts (Fire-and-Forget job state under `.state/jobs/`) - check.ts (Formal checks) - debug.ts (Real-flow debug helpers) - command.ts (Bounded command execution helpers) - output.ts (JSON output helpers) - e2e.ts (Public frontend/provider ingress, internal core/database, and Playwright frontend E2E checks) - logs/ (Generated service logs; ignored by git) - .state/ (Generated job state and compose env; ignored by git) - docs/ - issue/ (Manual test issue records) - reference/ (Long-term reference documents) - arch.md (Distributed work platform architecture) - repo-tree.md (This repository structure reference) - cli.md (CLI command model and async job contract) - config.md (Config and runtime rules) - deployment.md (Docker stack deployment and health criteria) - frontend.md (Frontend layout and design rules) - provider-gateway.md (Provider connection and host SSH maintenance bridge) - observability.md (Logs and status visibility) - e2e.md (Delivery gate, Playwright frontend E2E, and database persistence checks) - src/ (TypeScript component monorepo) - package.json (Component workspace metadata) - bun.lock (Component dependency lockfile) - tsconfig.base.json (Project references for component checks) - tsconfig.check.json (No-emit TypeScript check scope for all components) - components/ - shared/ (Shared message types and utilities) - package.json - tsconfig.json - src/index.ts - backend-core/ (UniDesk stateless core service container) - package.json - tsconfig.json - Dockerfile - src/index.ts (Internal REST API, public provider ingress WebSocket, scheduler, database access, system/Docker status storage API) - frontend/ (Frontend web application container) - package.json - tsconfig.json - Dockerfile - src/index.ts (Bun static server, login/session handling, and same-origin internal API proxy) - src/app.tsx (TypeScript + React browser app shell, login, global data loading, and route dispatcher; `/app.js` is generated by Bun at runtime) - src/todo-note.tsx (Todo Note microservice React page; do not fold back into `app.tsx`) - src/findjob.tsx (FindJob microservice React page; do not fold back into `app.tsx`) - src/pipeline.tsx (Pipeline microservice React page and React Flow control graph; do not fold back into `app.tsx`) - src/met-nonlinear.tsx (MET Nonlinear D601 training orchestration React page; do not fold back into `app.tsx`) - public/ (HTML/CSS static assets for the compact industrial console; no handwritten app JS) - provider-gateway/ (Compute node Provider Gateway container) - package.json - tsconfig.json - Dockerfile - src/index.ts (WebSocket client, heartbeat, system/Docker telemetry, Docker adapter, provider.upgrade handler, Host SSH / WSL SSH maintenance probe) - scripts/host-ssh-shell.sh (Optional maintenance-only SSH bridge) - database/ (PostgreSQL initialization and configuration) - config/postgresql.conf - init/001_unidesk_init.sql - microservices/ (Reserved for future stateless microservices) - example-service/