start-dev
Start the full local dev environment — frontend, backend, and database — and surface anything that's broken on startup. Use when the user says "start the app", "run dev", or you need a working environ
SKILL.md.claude/skills/start-dev/SKILL.md
GitHubstart-dev
Boot the project locally and verify everything is healthy.
Steps
- Check ports are free:
- Frontend Vite:
3000 - Backend API:
3001(verify inapps/api/.envorapps/api/server.ts) - Postgres:
5432If a port is taken, ask before killing — it might be the user's other shell.
- Frontend Vite:
- Verify Postgres is running:
If not, start it (pg_isready -h localhost -p 5432brew services start postgresql@16or whatever the project uses). - Check
.envexists at the API root and hasDATABASE_URL. If missing, ask before guessing. - Generate Prisma client in case the schema drifted:
cd data/schema && npx prisma generate - Start the backend with
run_in_background: true:
Wait ~3 seconds, then read the background output to confirm it bound to its port and connected to DB.cd apps/api && npm run dev - Start the frontend with
run_in_background: true:cd apps/web && npm run dev - Report status to the user: "Frontend: http://localhost:3000 ✅ | API: http://localhost:3001 ✅"
- Don't open the browser automatically — let the user choose.
Verification
- Both servers report listening / ready
- No startup errors in either log
- DB connection successful (visible in API log)
Anti-patterns
- Don't run
npm installautomatically — only if a startup error explicitly says a module is missing - Don't kill processes on busy ports without asking
- Don't run servers in the foreground — they'll block the conversation