Deployment metadata for the CodexMap architecture defined in design.md.
Render should run a single Node web service that:
- serves the browser UI over HTTP
- serves WebSocket traffic from the same service
- binds to
process.env.PORT(Render-provided)
To stay aligned with design.md, keep the agent/orchestrator structure unchanged and only adapt runtime wiring for deployment (single-service HTTP + WS).
- Node.js
20.x(matches Render runtime) - npm
10+
Using Node 24+ can cause native addon build failures for tree-sitter during install.
npm start: runs the first available entrypoint in this order:server.js->orchestrator.js->index.jsnpm run dev: same startup flow withNODE_ENV=developmentnpm run start:render: Render start alias that defaultsWS_PORTtoPORTnpm run track:init -- <folder>: set the folder CodexMap should watch for files/nodesnpm run track:show: print the currently tracked foldernpm run live:start -- --track <folder> [--prompt "..."]: launch full multi-agent tracker session, set tracked folder, optionally set a Codex generation prompt, and open browsernpm run live:prompt -- "<prompt>": run Codex CLI (codex exec) against the currently tracked folder while agents keep updating the map
- Export your key once (if you use API-key auth):
export OPENAI_API_KEY=<your_key>- or
export CODEX_API_KEY=<your_key>(CodexMap bridges this toOPENAI_API_KEY).
- Start full live session:
npm run live:start -- --track /path/to/my-live-project --prompt "Build a small API with auth"
- Browser opens at
http://localhost:10000. - For additional iterations while session stays running, issue new prompts:
npm run live:prompt -- "Add pagination and tests"
- You can also edit files manually in that tracked folder; nodes/grades update live.
Notes:
- Multi-agent architecture stays the same (Cartographer, Broadcaster, Sentinel, Historian, Architect, Healer, Generator).
- Generator and Healer now use non-interactive
codex execso Codex runs reliably in agent processes. - Cartographer runs an active scan loop every ~3.5s and UI pulls map-state every ~2.5s for robust live updates.
This repo includes a Render Blueprint at render.yaml.
- Create a new Render Blueprint service from this repository.
- Render will use:
- build command:
npm install - start command:
npm run start:render
- build command:
- Ensure your runtime code listens on
PORTand exposes UI + WebSocket from the same Node service.
PORT: HTTP port (required on Render; defaults to10000in blueprint)WS_PORT: optional override; defaults toPORTinnpm run start:renderHOST: bind host (0.0.0.0)NODE_ENV:productionon Render
Procfileis included for platform compatibility (web: npm start)..gitignoreexcludes runtime-generated shared state and output artifacts from the design architecture.