Development Workflow
Day-to-day commands for running, generating, testing, and health-checking your SiteKnock project, plus common gotchas.
Everyday commands
Run these from your project root:
pnpm app dev my-app # Generate + run an app's frontend and backend
pnpm sk:generate # Regenerate all apps from config
pnpm healthcheck # Format + typecheck + lint
pnpm test:e2e # Run Playwright end-to-end tests
Scaffolding (see Scaffolding):
pnpm sk:scaffold feature <name>
pnpm sk:scaffold page <name>
pnpm sk:scaffold route <name>
pnpm sk:scaffold locale <code>
Dev services
Start the shared local backing services once — multiple projects can share them:
pnpm compose:dev:up # Start Postgres, Mailpit, MinIO, Redis
pnpm compose:dev:down # Stop them
| Service | URL |
|---|---|
| Frontend | http://localhost:3000 |
| Backend health | http://localhost:5000/api/health |
| Mailpit (email) | http://localhost:8025 |
| MinIO console | http://localhost:9001 |
| Prisma Studio | pnpm app db studio my-app → http://localhost:5555 |
Before you commit
pnpm healthcheck
This formats, typechecks, and lints your project. Fix any errors before committing.
Common gotchas
Run pnpm sk:generate (alias pnpm bootstrap) to create the .env files from templates first.
Regenerate the client and reinstall to relink it:
pnpm app db generate my-app
pnpm install
Make sure the dev services are running:
pnpm compose:dev:up
docker ps
Add the hostname to /etc/hosts pointing at 127.0.0.1, and set it in your app's .env:
127.0.0.1 my-app.local
Next steps
Was this page helpful?