CLAUDE.md · git:20261021.df58c20 · 2026-10-21 · sha256 f7ef44e3b821ee50
CLAUDE.md git:20261021.df58c20A
Immutable. This exact content never changes and is served at /api/v1/blob/f7ef44e3b821ee50.
<!-- ORIENT:START --> ## Project docs — read on demand, never import - `docs/STATE.md` — what's built, in progress, blocked. Read this first when picking up work. - `docs/decisions/` — one file per architectural decision. Read the relevant one before changing that area. - `docs/architecture.md` — entry points and module boundaries. Read before cross-module work. ## Workflow - Before reporting a task complete: update `docs/STATE.md`, and if an architectural decision was made with no ADR recorded, offer to record it. - When a real architectural decision is made in conversation (a framework, database, auth, or API choice, or reversing one), proactively offer to record it with `/orient:decide` — don't wait to be asked. It also updates `architecture.md`. - When a plan is approved before a build, treat any architectural choices inside it as decisions — offer to record them before starting. - Never edit a past decision file. Supersede it with a new one. - Trace execution paths on demand instead of maintaining a flow doc. <!-- ORIENT:END --> ## Build rules for this repo - Only `plugin.json` goes in `.claude-plugin/`. Skills, agents, hooks, scripts and templates live at the plugin root. - `version` lives in `plugin.json` only, never also in the marketplace entry. Bump it on every release. - Nothing enters the always-on path without a reason recorded in an ADR. - Before claiming a change is done: `claude plugin validate . --strict` and `claude plugin validate ./plugins/orient --strict` must both pass.