Local Supabase development environment for the MoSA entities, claims and evidence database.
- mise
- Node.js 24, provisioned by mise
- pnpm 11, provisioned by mise
- Docker or another Docker-compatible container runtime
- Git
mise install
mise x -- pnpm install --frozen-lockfile
mise x -- pnpm run db:start
mise x -- pnpm run db:reset
mise x -- pnpm run db:fixturesdb:reset applies migrations without loading seed.sql. db:fixtures then loads the Phase 1 competency cases used by local exploration and database tests.
Local Supabase Studio: http://localhost:54323
View local service URLs and keys:
mise x -- pnpm exec supabase statusCreate a migration:
mise x -- pnpm exec supabase migration new describe_the_changeRebuild the local database and reload Phase 1 fixtures:
mise x -- pnpm run db:reset
mise x -- pnpm run db:fixturesRun static checks (format, types, unit tests, build):
mise x -- pnpm run verify:staticRun the full verification packet, including database tests and generated-type checking:
mise x -- pnpm run verifyRegenerate TypeScript types from the local database:
mise x -- pnpm run db:typesStop Supabase:
mise x -- pnpm exec supabase stopGit hooks run via lefthook. After cloning or pulling hook changes, run mise x -- pnpm install so prepare reinstalls them. Hooks use mise x for the tool versions in mise.toml, including when committing from a GUI client.
- Database changes must be made through committed migrations.
- Real or sensitive project data should not be committed as seed data.