Babysitter deploy
Deploy the application to a target environment. Use when deploying code, releasing, or pushing to staging/production. Requires explicit user invocation.
git clone https://github.com/a5c-ai/babysitter
T=$(mktemp -d) && git clone --depth=1 https://github.com/a5c-ai/babysitter "$T" && mkdir -p ~/.claude/skills && cp -r "$T/library/specializations/meta/harnesses/claude-code/examples" ~/.claude/skills/a5c-ai-babysitter-deploy && rm -rf "$T"
library/specializations/meta/harnesses/claude-code/examples/SKILL.mdDeploy Skill
Deploy the application to the specified environment.
Arguments
(or$ARGUMENTS[0]
): Target environment ($0
,staging
,production
). Defaults tocanary
.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
was passed):--skip-testsnpm 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
was passed, show what would be deployed and stop:--dry-runnpm 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/.