main
infra
Copier template for the root of a project. With layout: parts it ships a docker-compose.yml that includes every part, a Makefile that drives compose and delegates fmt, check and build to parts, a README.md and an .env.example whose COMPOSE_FILE adds each part's docker-compose.override.yml and whose COMPOSE_PROFILES selects what runs on the machine. With layout: single a part template renders straight into the root and infra ships only .gitignore, CLAUDE.md and pre-commit hooks.
A part is a directory with:
docker-compose.ymlwith root-relative paths and a profile per service, plusdocker-compose.override.yml.examplefor what differs between machinesMakefilewithfmt,checkandbuildtargets.env.exampleappended to the root.envbymake envCLAUDE.mdwith the part's checking commands
Application services carry the services profile, databases and other infrastructure carry external.
copier copy --trust -d layout=parts -d 'parts=["backend","frontend"]' <this-repo> <dest>
copier update -a .copier/infra.yml
Languages
Jinja
100%