deploy-stack
Deploys multiple components to an environment. Use for coordinated deployments of backend, frontend, and landing.
When & Why to Use This Skill
This Claude skill automates the coordinated deployment of multi-component stacks, including backend, frontend, and landing pages. It ensures correct deployment ordering to maintain dependency integrity, manages environment-specific secrets, and provides a structured workflow for both development and production environments using SST and AWS. By streamlining the deployment process, it reduces manual errors and ensures high availability during updates.
Use Cases
- Orchestrating full-stack deployments to ensure backend APIs are fully operational before frontend components are updated, preventing service mismatches.
- Managing and synchronizing environment secrets (like API keys and database strings) across multiple services for different stages such as development and production.
- Executing manual emergency fixes or initial infrastructure setups where a standard CI/CD pipeline is not yet established or suitable.
- Verifying deployment success through structured post-deployment checklists, including health check verification and domain accessibility testing.
| name | deploy-stack |
|---|---|
| description | Deploys multiple components to an environment. Use for coordinated deployments of backend, frontend, and landing. |
| allowed-tools | Bash(npx sst:*), Bash(cd:*), Bash(aws:*) |
Deploy Stack
Deploys multiple components to an environment in the correct order.
Deployment Order
For a full stack deployment:
- Backend (first - frontend depends on API)
- Frontend (after backend API is available)
- 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 todevstage - Push to
main→ deploys toprodstage
Rollback
If deployment fails:
Check SST console for errors:
npx sst console --stage <stage>Check CloudWatch logs for Lambda errors
For frontend: Previous CloudFront distribution remains until new deploy succeeds
For backend: Revert code and redeploy
Domain Verification
After deployment, verify domains are accessible:
| Component | Dev | Prod |
|---|---|---|
| Landing | dev.{domain} |
{domain} |
| Frontend | app-dev.{domain} |
app.{domain} |
| Backend | api-dev.{domain}/health |
api.{domain}/health |