← ClaudeAtlas

enforcelisted

Install Plumbline's traceability gate so unanchored code can't land — offer the developer a pre-commit hook, a CI job, both, or neither, and set up whichever they choose. Use this whenever someone wants to enforce, gate or require traceability, add a pre-commit or CI check for Plumbline, "make the build fail on broken anchors", wire the engine into their pipeline, or asks how to stop unanchored code being committed. Reach for it once a project is onboarded and the team wants the discipline enforced automatically rather than by hand.
dr-zog/plumbline · ★ 0 · AI & Automation · score 68
Install: claude install-skill dr-zog/plumbline
<!-- [impl->component~enforce-skill~1] --> # Plumbline — enforce The engine already exits non-zero on any gap; enforcement is just deciding *where* that exit code is allowed to stop the flow. The insistence and the light touch work together — the skills add the anchors so a developer rarely hand-writes one, and the gate makes unanchored code fail loudly rather than land quietly. Bundled snippets you'll copy from: `references/pre-commit-hook.sh` and `references/ci-snippets.md`. ## Before you start - **A register must exist** and the engine must run cleanly enough that turning on a gate won't immediately block all work. If the project isn't onboarded, do that first (`onboard`); gating an empty register just produces noise. ## Let the developer choose the gate Enforcement is opt-in. Present the options plainly and install what they pick — don't assume: - **Pre-commit** — fast, local feedback at commit time. Bypassable with `--no-verify`, and only present on machines that installed the hook. - **CI** — the authoritative backstop: unbypassable, but feedback comes after push. - **Both** — belt and braces, and the usual recommendation for a team that's serious about it: quick local signal, hard remote gate. - **Neither** — just show them the one-line command (`plumbline`) to run by hand. Ask which they want before touching anything. ## Pre-commit hook Install `references/pre-commit-hook.sh` as `.git/hooks/pre-commit` (make it executable). It's a plain POSIX script