Skip to main content

Local Development

Repo-wide gates

pnpm typecheck # tsc --build, per tsconfig.json's explicit references list
pnpm lint # eslint .
pnpm format:check # prettier --check .
pnpm test # vitest run

All four must pass before a PR merges. website/ (this docs site) is deliberately outside all four — see Monorepo Layout.

Ports

ServicePort
Web3022
API4022
PDF service4020
Local Supabase5552x (direct Postgres 55522)

Resetting a stuck local stack

pnpm supabase:reset

Stops Supabase, removes the supabase_db_offerly, supabase_edge_runtime_offerly, and supabase_storage_offerly Docker volumes, and restarts. This is the standard fix for services reporting unhealthy after an interrupted supabase start.

If you instead see supabase start is already running after stopping containers via Docker's own UI (rather than supabase stop), run supabase stop once first — that clears the CLI's own stale lock state even with no containers running — then supabase start.