18 lines
806 B
Markdown
18 lines
806 B
Markdown
# infra
|
|
|
|
Copier template for the root of a project: `docker-compose.yml` that includes every part, a `Makefile` that drives compose and delegates `fmt`, `check` and `build` to parts, `.env.example`, `.gitignore`, `CLAUDE.md` and pre-commit hooks.
|
|
|
|
A part is a directory with:
|
|
|
|
- `docker-compose.yml` with root-relative paths, plus `docker-compose.local.yml` and `docker-compose.prod.yml` selected by `COMPOSE_ENV`
|
|
- `Makefile` with `fmt`, `check` and `build` targets
|
|
- `.env.example` appended to the root `.env` by `make env`
|
|
- `CLAUDE.md` with the part's checking commands
|
|
|
|
Application services carry the `services` profile, databases and other infrastructure carry `external`.
|
|
|
|
```sh
|
|
copier copy --trust -d 'parts=["backend","frontend"]' <this-repo> <dest>
|
|
copier update -a .copier-answers.infra.yml
|
|
```
|