Deploy Checklist
Run each section in order before any deployment. If any check fails, stop and fix before proceeding.
Code Quality
- Run
npm run typecheck— zero errors - Run
npm run lint— zero warnings - Run
npm test— all passing
If failing: Fix type/lint errors first. For test failures, check if they are flaky (
npm test -- --retry 1) or genuine regressions.
Environment
- Check
.env.exampleis up to date with any new variables - Verify Vercel environment variables are set for production (
vercel env ls) - Confirm no hardcoded localhost URLs or dev API keys —
grep -r "localhost" src/
If missing vars: Add to Vercel via
vercel env add <NAME> productionbefore proceeding.
Database
- Run
npx prisma migrate status— no pending migrations - Verify migration is safe (no destructive changes without confirmation)
If pending migrations: Review the migration SQL, then run
npx prisma migrate deployafter explicit approval. Never auto-apply destructive changes.
Stripe (if SkillsFrame)
- Confirm webhook endpoint is registered in Stripe dashboard
- Verify webhook signing secret is in production env
Final
- Create a git tag:
git tag -a v{version} -m "Release {version}" - Push:
git push origin main --tags - After deploy completes, verify the production URL loads and key routes respond