Documentation index

August 26, 2026 · View on GitHub

Four documents, four distinct audiences. Read the one that matches the question you actually have — they deliberately do not repeat each other, so the answer lives in exactly one of them.

DocumentAudienceAnswers
ARCHITECTURE.mdDevelopers extending or auditing the pluginHow the five layers fit together, every hook's input/output contract, the Stop decision tree layer by layer, the detector inventory, and §8's connected-files map — the table you must consult before editing anything here.
RULES.mdAnyone looking a rule upThe catalog of all 12 rules: id, title, severity, full-text link, and which situations each one governs. An index, not the rules themselves.
EDICTS.mdUsers writing their own hard rulesThe Imperial Edicts system: the TOML schema, must vs should, project vs global scope, how a regex becomes a PreToolUse DENY, and how to debug one that is not firing.
I18N.mdTranslators and CIThe skeleton↔translation contract. English at the root is the source of truth; what i18n_check.py compares, what it deliberately does not, and what to do when it goes red.

Where everything else lives

You want…Go to
The rules themselves../rules/ (English skeleton) · ../rules/zh/ (Chinese)
What the agent is actually told each turn../prompts/
Install steps, the 30-second pitch, the enforcement tables../README.md · ../README.zh.md
Release history — the only copy of it../CHANGELOG.md
The test suite, file by file../tests/README.md

A note on scope

These four documents describe what the plugin does and why. They are not the enforcement itself: the rules are Markdown in ../rules/, the hooks are Python in ../hooks/scripts/, and the guarantee that this documentation still matches them is ../tests/test_doc_sync.py — a CI gate that derives every pinned number and inventory from the code at test time. Since v0.35.1 it also derives three behavioural claim classes — advertised hedge triggers, printed coverage bars, and backticked identifiers — because a sentence naming a pattern, an arithmetic result, or an identifier turned out to be checkable even though "prose" as a whole is not. A green gate still says nothing about judgement prose: whether an explanation is right, or a rationale sound. That limit is stated here for the same reason it is stated in the gate's own docstring.