Deploy Skill
Deploy the application to the specified environment.
Arguments
$ARGUMENTS[0](or$0): Target environment (staging,production,canary). Defaults tostaging.- 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:
``bash git status --porcelain ``
- Run the test suite (unless
--skip-testswas passed):
``bash npm run test:ci ``
- Check that the build succeeds:
``bash npm run build ``
- Verify environment configuration exists for the target:
``bash ls -la config/deploy/$0.env ``
Deploy
- If
--dry-runwas passed, show what would be deployed and stop:
``bash npm run deploy -- --env $0 --dry-run ``
- Otherwise, execute the deployment:
``bash npm run deploy -- --env $0 ``
- Wait for health checks to pass (up to 5 minutes):
``bash npm run deploy:health-check -- --env $0 --timeout 300 ``
Post-deploy
- Tag the release in git:
``bash git tag -a "deploy-$0-$(date +%Y%m%d-%H%M%S)" -m "Deployed to $0" ``
- Notify the team (if production):
``bash 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:
``bash 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](deployment-guide.md). For environment-specific notes, see [environments/](environments/).