Purpose
Prepare a MERN project for production deployment with proper configuration, security hardening, and monitoring setup.
Arguments
- •
--target <platform>— Deployment target (default:vercel)- •
vercel— Vercel (recommended for Next.js) - •
aws— AWS (Lambda + API Gateway or ECS) - •
docker— Docker container (self-hosted)
- •
- •
--check-only— Run pre-deployment checklist without creating files
Pre-deployment checklist (always runs)
Environment
- • All env vars documented in
.env.example - • Production env vars set in deployment platform
- •
NEXTAUTH_SECRETis unique 32+ char string - •
NODE_ENV=productionin production - • No secrets in code or committed files
Database
- • MongoDB Atlas cluster created (or production DB ready)
- • Connection string uses
mongodb+srv:// - • IP whitelist configured (or
0.0.0.0/0for serverless) - • Database user has minimal required permissions
Security
- • Security headers configured (CSP, HSTS, etc.)
- • Rate limiting enabled
- • CORS configured for production domain
- • Auth secrets rotated from development
Performance
- • Build succeeds:
pnpm build - • No TypeScript errors
- • Bundle size reasonable (check
.next/analyzeif concerned) - • Images optimized
Monitoring
- • Error tracking configured (Sentry, etc.)
- • Logging configured for production
- • Health check endpoint working:
/api/health
What gets created (per target)
Vercel
code
vercel.json # Vercel configuration
AWS
code
serverless.yml # Serverless Framework config or Dockerfile # For ECS deployment buildspec.yml # CodeBuild config
Docker
code
Dockerfile # Multi-stage build docker-compose.yml # Local testing .dockerignore # Ignore patterns
Workflow
- •Run pre-deployment checklist
- •Fix any blockers found
- •Create deployment configuration for target
- •Verify build succeeds
- •Document deployment steps
Output
- •Checklist results (pass/fail)
- •Files created
- •Next steps for deployment
- •Environment variables needed in production
Reference
For platform-specific configurations, see reference/mern-deploy-reference.md