| name | vibe-deploy |
| description | One-click deployment with pre-flight checklist, platform selection, smoke test, and rollback plan. Use when: ready to ship, deploying to staging or production, or setting up CI/CD for the first time. Enforces 14-point done-verifier checklist before any deploy. Wraps: one-click-vercel, one-click-netlify, git-free-deploy, done-verifier skills. Supports: Vercel, Netlify, Railway, Fly.io, AWS, Docker. |
| argument-hint | [vercel|netlify|railway|fly|docker|status] [--staging] [--prod] [--force] |
| version | 1.0.0 |
| allowed-tools | ["Read","Bash(npm run build*)","Bash(npm test*)","Bash(npm audit*)","Bash(git status*)","Bash(git log*)","Bash(vercel*)","Bash(netlify*)","Bash(railway*)","Bash(fly*)","Bash(docker*)","Bash(curl -f*)","AskUserQuestion"] |
NEVER deploy to production without passing the pre-flight checklist. A failed deploy
to production affects real users. Take 3 extra minutes to verify — it is always worth it.
If `--force` is passed, still run the checklist and show results — just don't block on warnings.
Vibe-Deploy — One-Click Deployment
Dispatcher
- No args → guided deployment (asks platform + environment)
vercel → deploy to Vercel
netlify → deploy to Netlify
railway → deploy to Railway
fly → deploy to Fly.io
docker → build + push Docker image
status → check current deployment status across platforms
--staging → deploy to staging environment
--prod → deploy to production (triggers full pre-flight)
--force → run checklist but don't block on warnings (blockers still block)
Step 1 — Pre-Flight Checklist (Always Runs)
Run all checks before touching deployment. Show results as they come in.
Build Check
npm run build
- If build fails: STOP. Fix build errors before deploying. No exceptions.
Test Gate
npm test
- If any tests fail: STOP for
--prod. For --staging: warn but allow with confirmation.
Security Gate
npm audit --audit-level=high
- Critical/High vulnerabilities: STOP for
--prod. Warn for --staging.
Secrets Check
grep -rn "password\s*=\s*['\"].\{3,\}" --include="*.js" --include="*.ts" . | grep -v "test\|spec\|example"
grep -rn "api_key\s*=\s*['\"]" --include="*.js" --include="*.ts" . | grep -v "process.env"
- Any hits: STOP. Hard block regardless of
--force.
Environment Variables Check
Ask user to confirm these are set in the deployment platform (not in code):
DATABASE_URL or equivalent
JWT_SECRET / SESSION_SECRET
- Any third-party API keys
NODE_ENV=production
Git State Check
git status --short
git log --oneline -1
- Uncommitted changes: warn (are you deploying the right version?)
- Confirm which commit SHA is being deployed
Step 2 — Platform-Specific Deploy
Vercel
vercel deploy --prod
vercel deploy --prod
vercel deploy
Config check: ensure vercel.json has:
{
"buildCommand": "npm run build",
"outputDirectory": "dist",
"framework": "auto"
}
Environment variables: verify in Vercel dashboard or via vercel env ls.
Netlify
netlify deploy --prod --dir=dist
netlify deploy --dir=dist
Config check: ensure netlify.toml exists:
[build]
command = "npm run build"
publish = "dist"
Railway
railway up
Check railway.json or Dockerfile exists. Verify environment variables in Railway dashboard.
Fly.io
fly deploy
Check fly.toml exists. Verify secrets with fly secrets list.
Docker
docker build -t {app-name}:{version} .
docker tag {app-name}:{version} {registry}/{app-name}:{version}
docker push {registry}/{app-name}:{version}
Step 3 — Post-Deploy Smoke Test
Run immediately after deploy completes:
curl -f {deploy-url}/health || echo "❌ Health check failed"
curl -f {deploy-url}/ -o /dev/null -w "%{http_code}" | grep -E "^2" || echo "❌ Root URL not returning 2xx"
Manual smoke test checklist (user confirms):
If smoke test fails: immediately run rollback (Step 4).
Step 4 — Rollback Plan
Know this BEFORE deploying. Every deploy needs a rollback path.
Vercel Rollback
vercel ls
vercel rollback {deployment-url}
Netlify Rollback
netlify deploy --prod --dir=dist
Railway Rollback
railway rollback
Database Migrations Rollback
If this deploy included schema changes:
npm run db:migrate:rollback
npx prisma migrate resolve --rolled-back {migration-name}
Always note the previous commit SHA before deploying:
git log --oneline -3
Deploy Report Format
VIBE-DEPLOY — {platform} {environment}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
PRE-FLIGHT:
✅ Build: passed
✅ Tests: {N} passing
✅ Security: 0 critical/high
✅ Secrets: clean
⚠️ Uncommitted changes: none
✅ Deploying: {commit SHA} — "{commit message}"
DEPLOY: {deploying... / complete}
URL: {deploy-url}
Duration: {N}s
SMOKE TEST:
✅ /health → 200 OK
✅ Manual: {user confirmed}
ROLLBACK:
Previous: {previous-deploy-url or commit SHA}
Command: {rollback command}
VERDICT: {DEPLOYED ✅ | DEPLOY FAILED 🔴 | ROLLBACK NEEDED 🚨}