compose-standardlisted
Install: claude install-skill painhardcore/developer-standards
# compose-standard
Lean local Compose stacks. Not a platform generator.
## Scope
Not here: Make wrapper names such as `up` / `down` / `logs` (`makefile-standard`), image build internals (`dockerfile-standard`), GitHub Actions (`ci-standard`), Go layout and golangci (`go-project-standard`). K8s, Swarm, reverse proxies as a product, and runtime secret distribution are out of scope entirely.
## Workflow
### 1. Inspect needs, not possibilities
Inventory: app entrypoints, existing Compose, Dockerfiles, `.env*` and README, the DB, cache, or queue the project **already** uses, Make compose targets, ports. Ignore sidecars nothing points to.
### 2. Apply standard
Read [`references/rules.yaml`](references/rules.yaml), the source of truth for rule IDs. Full rules: [`references/compose-standard.md`](references/compose-standard.md).
Greenfield: adapt a template from [`assets/`](assets/) and replace every `Adapt…` marker. Never ship an unfinished placeholder.
- App alone: [`assets/compose.app-only.yaml.template`](assets/compose.app-only.yaml.template)
- App plus one data service: [`assets/compose.yaml.template`](assets/compose.yaml.template)
Migrate: [`references/migration-guide.md`](references/migration-guide.md), incrementally, dropping unused services, networks, and volumes.
### 3. YAGNI
Never unconditional: custom networks; multiple overlay files; Redis, Nginx, or adminer by reflex; `profiles`; `deploy:` keys; a Swarm or K8s translation; digest pins on every local dependen