28 lines
1.5 KiB
Markdown
28 lines
1.5 KiB
Markdown
|
|
# thermograph monorepo — agent instructions
|
||
|
|
|
||
|
|
Reunified monorepo (2026-07-22): `backend/`, `frontend/`, `infra/`,
|
||
|
|
`observability/` — each a former split repo subtree-merged with history.
|
||
|
|
`thermograph-docs` remains a separate repo; cross-cutting decision docs and
|
||
|
|
operator runbooks belong there, not here.
|
||
|
|
|
||
|
|
- **Each domain keeps its own `CLAUDE.md`** — read the one for the domain you
|
||
|
|
touch. They still use repo-era wording ("this repo", sibling-repo names);
|
||
|
|
mentally map `thermograph-backend` → `backend/` etc., and fix wording as you
|
||
|
|
touch files near it.
|
||
|
|
- **CI lives only in root `.forgejo/workflows/`**, path-filtered per domain
|
||
|
|
(see README). Never re-add workflows under a domain's own `.forgejo/` — they
|
||
|
|
are inert there and become a trap.
|
||
|
|
- Images are `emi/thermograph/backend` and `emi/thermograph/frontend`
|
||
|
|
(`sha-<12hex>`). Deploy = `infra/deploy/deploy.sh` over SSH, per-service.
|
||
|
|
- The compose project name is pinned (`name: thermograph` in
|
||
|
|
`infra/docker-compose.yml`); LAN dev overrides via
|
||
|
|
`COMPOSE_PROJECT_NAME=thermograph-dev`. Don't remove either half.
|
||
|
|
- Cross-domain rules that still bind: FE/BE ship independently → keep the
|
||
|
|
`/api/version` contract and `PAYLOAD_VER` discipline (see
|
||
|
|
`backend/CLAUDE.md`); anything named "prefetch" must never spend the
|
||
|
|
Open-Meteo quota; Nominatim ≤ 1 req/s; secrets only via the SOPS vault
|
||
|
|
(`infra/deploy/secrets/`).
|
||
|
|
- `CUTOVER-NOTES.md` is the source of truth for what is and isn't live yet.
|
||
|
|
- Commits/PRs: concise and technical; never mention AI/assistants/automated
|
||
|
|
authorship.
|