How it works
How it works
The loop has five steps: clone, run, extend, check and deploy. Here is each one, with the command or file that does it.
The loop
- Step 1
Clone
Clone the repository (or copy it with `npx degit`) and run `pnpm install`. One pnpm workspace holds every app and package.
- Step 2
Run
`pnpm supabase:start` boots a local Supabase stack in Docker. `pnpm dev` runs process-compose, which applies the Drizzle migrations, seeds demo data and demo accounts, then starts the API and the web app.
- Step 3
Extend
Add a route with an OpenAPI definition in apps/api, run `pnpm openapi:dump`, and the kubb-generated client in packages/api-client gives the web app typed hooks for it. The clientos routes show the pattern end to end.
- Step 4
Check
CI runs typecheck, an OpenAPI drift check, an ESM load smoke test, lint, migrations against a fresh Postgres, tests and a Prettier check on every pull request.
- Step 5
Deploy
The API deploys to Render (render.yaml) or as a Docker image; the web app deploys to Vercel; Supabase Cloud holds auth, Postgres and storage. docs/PROD-DEPLOY.md is the first-deploy checklist.
Skip the setup week
Clone it, run five commands, and start on the part that is actually your product.