Migrating Applications to the Multi-Stack Deployment Harness
Challenge
Several small applications (a research assistant, an account-planning tool, a party game) ran on AWS Fargate using a deprecated AWS deployment tool, each with its own configuration. Each migrated a new deployment pipeline without anyone re-learning how it builds and runs.
Solution
Our adopt skill has Claude read each application's existing deployment manifest, Dockerfiles and CI, then derive a new manifest for the new pipeline app.yaml from them rather than guessing ports, health checks or build contexts. A one-command bootstrap creates the per-application deploy role, GitHub environments and Terraform roots.
- Findings caught during adoptions across the estate: a Redis dependency declared everywhere and used nowhere (deleted, not ported); a
postgresql+asyncpg://driver scheme a default connection string would have broken; local SQLite and JSON storage that wouldn't survive ephemeral containers
Outcomes
- Adoption is mostly deletion: each application's pipeline is replaced by one manifest and two small Terraform roots
- Blockers surfaced before provisioning, not after a failed deploy