Skip to content

docs: document the toolchain, the checks and .claude/ in the README - #209

Merged
mainman94 merged 1 commit into
mainfrom
claude/dev-gaps-aug-2026-b6ab73
Sep 6, 2026
Merged

docs: document the toolchain, the checks and .claude/ in the README#209
mainman94 merged 1 commit into
mainfrom
claude/dev-gaps-aug-2026-b6ab73

Conversation

@mainman94

Copy link
Copy Markdown
Owner

README.md described the stacks and the backup wiring but nothing about working in the repo — no mise, no make, no mention of what CI runs or what gates a merge. Someone cloning it had no way to discover make check.

README.md

  • Getting startedmake tools / make hooks / make check, plus the day-to-day targets (make stacks, make config STACK=…, make up|down|restart|pull|logs). mise.toml is the single source of tool versions and CI installs from the same file, so a hook that passes locally passes in CI.
  • Checks — a table of what each step of make check catches. The .env.example coverage rule gets a sentence of its own, because the reason isn't obvious: a variable referenced in a Compose file but missing from .env.example deploys fine on the host that already has it set, and fails for everyone else.
  • Why the CVE sweep is not a required checkscan.yml is path-filtered and advisory; a required check that doesn't run on every PR blocks the merge permanently. It answers "which of my services is currently exposed" weekly; an upstream CVE in someone else's image isn't something a commit here can fix.
  • Agent tooling and pointers to LICENSE / SECURITY.md.

AGENTS.md

New Agent tooling section covering the checked-in .claude/: the stack-consistency-reviewer agent (with this many near-identical Compose files, drift is the failure mode rather than bugs), the new-stack skill (disable-model-invocation: true, so it only runs when asked for by name), backup-preflight, and the two hooks — one refuses to edit a real .env (gitignored, so the edit would be invisible and unshippable), the other validates a Compose file at write time rather than at make check.

Verification

Markdown only; no Compose, workflow or script changes. Facts were read out of the repo rather than recalled: the make targets from the Makefile, the CI job name from ci.yml, the path filter and rationale from scan.yml, the .claude/ contents from the files themselves, and the single required context (pre-commit) from the ruleset in homelab/terraform/github/variables.tf. pre-commit could not be run here (mise is not installed in this container); checked by hand for trailing whitespace and a trailing newline. The pre-commit job on this PR runs the full hook set.

🤖 Generated with Claude Code

https://claude.ai/code/session_01F9MnUHayBCrncnczqMhSVy


Generated by Claude Code

README.md described the stacks and the backup wiring but nothing about
working in the repo: no mise, no make, no mention of what CI runs or what
gates a merge. Someone cloning it had no way to find `make check`.

Adds a getting-started block, a checks table explaining what each step
catches (including why .env.example coverage is checked at all — a
variable missing there deploys fine on the host that already has it set
and fails everywhere else), why the CVE sweep is deliberately not a
required check, the .claude/ setup, and pointers to LICENSE and
SECURITY.md.

AGENTS.md gains the same .claude/ section, including the .env guard hook.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F9MnUHayBCrncnczqMhSVy
@mainman94
mainman94 merged commit 1f9958d into main Sep 6, 2026
1 check passed
@mainman94
mainman94 deleted the claude/dev-gaps-aug-2026-b6ab73 branch September 6, 2026 10:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants