Engineering
Local development
Run the app, the AI service, and the docs locally.
Ports
| Service | Port |
|---|---|
screver-ma-app | 3050 |
screver-ma-docs | 3051 |
screver-ma-ai | 3053 |
| Postgres (docker-compose) | 5450 |
App (screver-ma-app)
docker compose up -d # Postgres 17 on :5450
cp .env.example .env # set PAYLOAD_SECRET
npm install
npm run migrate:payload # apply migrations (additive only)
npm run seed # demo data — login: naomi@cygnus.example / Passw0rd!
npm run dev # http://localhost:3050 (app at /app, admin at /admin)The prototype UI is generated from the vendored source with npm run build:prototype (already
committed). Regenerate it only if you edit anything under src/prototype/source.
AI Wizard (screver-ma-ai)
npm install
cp .env.example .env # optionally set ANTHROPIC_API_KEY (stub fallback if unset)
npm run dev # http://localhost:3053With no key it returns deterministic grounded stubs, so the app's Wizard still works locally. Point
the app at it with SCREVER_MA_AI_URL=http://localhost:3053 and a matching
SCREVER_MA_AI_SERVICE_SECRET.
Docs (screver-ma-docs)
npm install
npm run dev # http://localhost:3051