Developers
Local development
Start the public site, console, APIs, and sheet executor with pnpm dev:all.
Install dependencies
Run from the repository root using the reviewed lockfile:
corepack enable
pnpm install --frozen-lockfileStart the development stack
pnpm dev:allCtrl+C stops all child processes. The stack starts:
| Service | Local address or port |
|---|---|
| Public site | http://localhost:3001 |
| Console | http://localhost:3000 |
| Control API | 4000 |
| flow-table API | 4101 |
| data-exchange API | 4102 |
| data-exchange sheet executor | 127.0.0.1:9102, loopback only |
| dictionary API | 4104 |
| localization-jobs API | 4105 |
| Development proxy | http://127.0.0.1:8000 |
| Email relay | Background process |
Set the frontend NEXT_PUBLIC_API_BASE_URL to http://127.0.0.1:8000. Use the root package's dev:* scripts to start services individually, including dev:data-exchange-executor, dev:dictionary, and dev:localization-jobs.
Start Agent separately
Agent is not part of dev:all. Start its API on port 4103, Temporal worker, outbox relay, and sheet executor on loopback 127.0.0.1:9101 with:
pnpm dev:agent-allThe API requires AGENT_MODEL_ENDPOINTS_FILE. This launcher runs the same Temporal preflight. Individual commands are:
pnpm dev:agent
pnpm dev:agent-worker
pnpm dev:agent-relay
pnpm dev:sheet-executorVerify the source
make www-check
pnpm --filter @platform/www buildThese checks cover lint, types, documentation search tests, and the production build. They do not establish a complete Supabase, Temporal, email, or cross-service integration.