Deployment Checklist Skill
Systematic verification to ensure code is ready for deployment.
Pre-Deployment Checklist
1. Code Quality
# Lint check
npm run lint
# Type check
npm run build
# or: npx tsc --noEmit
- [ ] No lint errors
- [ ] No type errors
- [ ] Build succeeds without warnings
2. Test Suite
# Run all tests
npm test
# Check coverage (if configured)
npm run test:coverage
- [ ] All tests pass
- [ ] No skipped tests without reason
- [ ] Coverage meets threshold (if required)
3. Security
# Audit dependencies
npm audit --audit-level=high
- [ ] No high/critical vulnerabilities
- [ ] No hardcoded secrets in code
- [ ] Environment variables documented
- [ ] Sensitive routes are protected
4. Database
- [ ] Migrations are ready and tested
- [ ] Migrations are reversible
- [ ] No destructive migrations without approval
- [ ] Indexes added for new queries
- [ ] Backup verified (if applicable)
5. Configuration
- [ ] Environment variables updated in deployment config
- [ ] Feature flags configured correctly
- [ ] API keys/secrets rotated if compromised
- [ ] Third-party service limits checked
6. Documentation
- [ ] README updated if setup changed
- [ ] API documentation updated
- [ ] CHANGELOG updated
- [ ] Release notes prepared
7. Performance
- [ ] No N+1 queries introduced
- [ ] Large queries are paginated
- [ ] Caching configured appropriately
- [ ] Load testing done (for major features)
8. Monitoring
- [ ] Error tracking operational
- [ ] Key metrics have alerts
- [ ] Logging is appropriate (not excessive)
- [ ] Health check endpoints working
Deployment Process
Before Deployment
-
Create deployment branch/tag
git tag -a v1.2.3 -m "Release 1.2.3" -
Run full verification
npm run lint && npm run build && npm test -
Notify team
- Announce deployment window
- Ensure someone is available for rollback
During Deployment
- Monitor deployment pipeline
- Watch error rates
- Check health endpoints
- Verify core functionality
After Deployment
-
Smoke test critical paths
- [ ] User can log in
- [ ] Core features work
- [ ] No error spikes
-
Monitor for 15-30 minutes
- Error rates
- Response times
- Resource usage
-
Document the release
- Update status page
- Notify stakeholders
Rollback Plan
Triggers for Rollback
- Error rate > 5% increase
- Core functionality broken
- Security vulnerability discovered
- Data integrity issues
Rollback Process
- Communicate - Alert team
- Rollback - Revert to previous version
- Verify - Confirm previous version works
- Document - Record what happened
- Investigate - Find root cause before retrying
Output Format
## Deployment Readiness Report
**Version:** [version number]
**Date:** [deployment date]
### Checklist Results
| Category | Status | Notes |
|----------|--------|-------|
| Code Quality | PASS/FAIL | [details] |
| Tests | PASS/FAIL | [details] |
| Security | PASS/FAIL | [details] |
| Database | PASS/FAIL | [details] |
| Config | PASS/FAIL | [details] |
| Docs | PASS/FAIL | [details] |
### Overall Status
[ ] Ready to deploy
[ ] Not ready - see issues below
### Issues to Address
1. [Issue description]
### Rollback Plan
[Brief description of rollback procedure]
Quick Verification Script
#!/bin/bash
echo "Running pre-deployment checks..."
echo "1. Lint check..."
npm run lint || exit 1
echo "2. Type check..."
npm run build || exit 1
echo "3. Test suite..."
npm test || exit 1
echo "4. Security audit..."
npm audit --audit-level=high || echo "Review audit results"
echo "All checks passed!"
微信扫一扫