Claude-skill-registry deploy-stack

Deploys multiple components to an environment. Use for coordinated deployments of backend, frontend, and landing.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/deploy-stack" ~/.claude/skills/majiayu000-claude-skill-registry-deploy-stack && rm -rf "$T"
manifest: skills/data/deploy-stack/SKILL.md
source content

Deploy Stack

Deploys multiple components to an environment in the correct order.

Deployment Order

For a full stack deployment:

  1. Backend (first - frontend depends on API)
  2. Frontend (after backend API is available)
  3. Landing (independent, can be parallel)

Commands

Deploy All to Dev

# 1. Backend
cd back && npx sst deploy --stage dev

# 2. Frontend (after backend completes)
cd ../front && npx sst deploy --stage dev

# 3. Landing (can run in parallel with frontend)
cd ../landing && npx sst deploy --stage dev

Deploy All to Production

# 1. Backend
cd back && npx sst deploy --stage prod

# 2. Run migrations
aws lambda invoke --function-name template-saas-api-migrate-lambda-prod /dev/null

# 3. Frontend
cd ../front && npx sst deploy --stage prod

# 4. Landing
cd ../landing && npx sst deploy --stage prod

Pre-Deployment Checklist

Secrets

Ensure all secrets are set for the target stage:

Backend:

npx sst secret set DbConnStr "..." --stage <stage>
npx sst secret set ClerkSecretKey "..." --stage <stage>
npx sst secret set ClerkWebhookSecret "..." --stage <stage>

Frontend:

npx sst secret set ClerkPublishableKey "..." --stage <stage>
npx sst secret set ClerkSecretKey "..." --stage <stage>

Quality Checks

Run quality checks before deployment:

# Backend
cd back && task format && task tests

# Frontend
cd front && pnpm type-check && pnpm lint && pnpm build

# Landing
cd landing && pnpm type-check && pnpm lint && pnpm build

CI/CD Alternative

Manual stack deployment should only be needed for:

  • Initial setup
  • Emergency fixes
  • Development testing

For normal deployments, use CI/CD:

  • Push to
    develop
    → deploys to
    dev
    stage
  • Push to
    main
    → deploys to
    prod
    stage

Rollback

If deployment fails:

  1. Check SST console for errors:

    npx sst console --stage <stage>
    
  2. Check CloudWatch logs for Lambda errors

  3. For frontend: Previous CloudFront distribution remains until new deploy succeeds

  4. For backend: Revert code and redeploy

Domain Verification

After deployment, verify domains are accessible:

ComponentDevProd
Landing
dev.{domain}
{domain}
Frontend
app-dev.{domain}
app.{domain}
Backend
api-dev.{domain}/health
api.{domain}/health