docs: add a developer onboarding guide for the monorepo #98
No reviewers
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Jinemi/thermograph#98
Loading…
Reference in a new issue
No description provided.
Delete branch "docs/onboarding"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Twelve documents under
docs/onboarding/, plus a pointer from the root README.What's here
README.md01-orientation02-setup.claudehooks03-repo-map04-backend05-frontend06-contracts07-ci-and-release08-infra-secretsdeploy.shstep by step, the SOPS vault and its two design decisions, ops tooling, backups09-observability10-recipes11-trapsVerification
Every command in
02-setupwas run against this checkout:backend/make test→ 429 passed, 8 skipped in 11.57sfrontend/server:go vet ./...clean,go test ./...→ all 7 packages ok/healthz→{"status":"ok","role":"all"},/thermograph/api/version→{"backend_version":"2","min_frontend":"1","payload_ver":"p2"}/healthz→{"status":"ok"}All relative links in the doc set resolve; the workflow count and the 14-code Fahrenheit set were checked programmatically.
Two findings recorded along the way
static/units.js'sF_REGIONSis guarded by no test. Comments inbackend/api/content_payloads.py,frontend/format.pyandfrontend/server/internal/format/format.goall claim "a test asserts all three stay identical". The only assertion isformat_test.go::TestFCountriesMatchesBackend, which re-parses the backend's Python and compares the Go copy — nothing readsunits.js. All four copies are currently identical (verified, 14 codes). Extending that Go test to parseunits.jswould close it.The test-compose files still point at retired image paths.
backend/docker-compose.test.ymlandfrontend/docker-compose.test.ymldefaultBACKEND_IMAGE_PATHtoemi/thermograph-backend/app, and the frontend harness pinsTHERMOGRAPH_BACKEND_TEST_TAGto the split-erav0.0.2-split-ci.make smokeis unaffected (it builds:local);make backend-updoes pull, so it depends on those packages not having been GC'd yet.Neither is fixed here — this PR is documentation only, and both are noted in
11-trapswith workarounds.Scope note
This covers working in this repo. Cross-cutting ADRs and operator runbooks stay in
thermograph-docs; the set links out rather than duplicating. Where a fact is owned by aCLAUDE.md, that file stays the source of truth.https://claude.ai/code/session_01AfXqHrxCJLs2D7hpQkiUiJ