| name | deploy |
| description | Deploy the application to a target environment. Use when deploying code, releasing, or pushing to staging/production. Requires explicit user invocation. |
Deploy Skill
Deploy the application to the specified environment.
Arguments
$ARGUMENTS[0] (or $0): Target environment (staging, production, canary). Defaults to staging.
- Additional flags are parsed from
$ARGUMENTS.
Dynamic Context
Current branch and recent commits:
!git log --oneline -5
Current deployment status:
!curl -s https://deploy.internal.example.com/api/status 2>/dev/null || echo "Status endpoint unavailable"
Deployment Procedure
Pre-flight Checks
-
Verify you are on a clean git branch with no uncommitted changes:
git status --porcelain
-
Run the test suite (unless --skip-tests was passed):
npm run test:ci
-
Check that the build succeeds:
npm run build
-
Verify environment configuration exists for the target:
ls -la config/deploy/$0.env
Deploy
-
If --dry-run was passed, show what would be deployed and stop:
npm run deploy -- --env $0 --dry-run
-
Otherwise, execute the deployment:
npm run deploy -- --env $0
-
Wait for health checks to pass (up to 5 minutes):
npm run deploy:health-check -- --env $0 --timeout 300
Post-deploy
-
Tag the release in git:
git tag -a "deploy-$0-$(date +%Y%m%d-%H%M%S)" -m "Deployed to $0"
-
Notify the team (if production):
if [ "$0" = "production" ]; then
curl -X POST https://hooks.slack.example.com/deploy \
-H "Content-Type: application/json" \
-d "{\"text\": \"Production deploy complete: $(git rev-parse --short HEAD)\"}"
fi
Rollback
If the deployment fails at any step:
-
Run the rollback command:
npm run deploy:rollback -- --env $0
-
Verify health checks pass after rollback.
-
Report the failure with the error details.
Additional Resources
For detailed deployment configuration, see deployment-guide.md.
For environment-specific notes, see environments/.