deploylisted
Install: claude install-skill djnsty23/claude-auto-dev
# Deploy & CI/CD
## Pre-deploy Checklist
1. `npm run typecheck` - passes
2. `npm run build` - passes
3. `npm run test` - passes (if available)
4. No `console.log` in production code
5. Environment variables set in hosting platform
## Vercel
**Preview:**
```bash
npx vercel --yes
```
**Production:**
```bash
npx vercel --prod --yes
```
## Supabase Edge Functions
**Token handling:** System env var may belong to a different Supabase account. Source the project's `.env` first:
```bash
export $(grep SUPABASE_ACCESS_TOKEN .env) && supabase functions deploy [name] --project-ref [ref]
```
If you get 401 Unauthorized, the token is wrong — do not retry. Check which token the project needs vs what's in the env.
## Migration Safety (if Supabase migrations exist)
Before deploying migrations:
```bash
# Check for destructive operations
grep -in "DROP\|DELETE\|TRUNCATE\|ALTER.*DROP" supabase/migrations/*.sql 2>/dev/null
```
Rules:
- Never DROP columns in production without a deprecation period
- Add columns as nullable with defaults — never NOT NULL without defaults on existing tables
- Test migrations against a branch/staging database first
- Always have a rollback migration ready for schema changes
## Post-deploy
1. Verify production URL loads
2. Test critical user flows
3. Monitor error logs for 5 minutes
4. Check Sentry/error monitoring for new errors (if configured)
5. Verify webhook endpoints are reachable (if applicable):
```bash
# Test webhook URLs respond
curl -s -