agentleFS
galandogalando/temper/.claude/CLAUDE.md

temper

CLAUDE.md18 starsChanged 8 months agoMITView on GitHub

Autonomous Continuation (opt-in): after approving the plan, /temper can run the remaining stages unattended and park before commit. Armed at the plan gate (never at invocation); never pushes/merges. With the autonomy: block absent or enabled: false, every gate is the ordinary interactive one. Config: .claude/temper.config → autonomy:. The deterministic spine (v7): every gate verdict is computed by scripts/temper (temper gate {stage}) from an evidence ledger (temper evidence add), not asserted by a model. git commit is blocked by a native…

We split this CLAUDE.md into the rules it gives an agent

4 rules. About 0 are common, 1 is distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Autonomous Continuation (opt-in): after approving the plan, /temper can run the remaining stages unattended and park before commit.

    line 17
  2. Very specific:

    The deterministic spine (v7): every gate verdict is computed by scripts/temper (temper gate {stage}) from an evidence ledger (temper …

    line 22
  3. Very specific:

    Test: bash scripts/selftest/test-temper.sh (ends PASS: N FAIL: 0).

    line 40
  4. Distinctive:

    Never write the markers' full comment syntax inside this comment.

    line 67

≈ “Common” is an estimate: at least 1 in 5 of the 25,680 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
CLAUDE.md

Temper

CommandPurpose
/temperUnified SDLC: intent → plan → design → build → review → check
/temper:intentCapture an idea as a draft intent.md (build later)
/temper:planPlan with blast radius (a door into /temper)
/temper:designSystem design, complex/medium features (a door into /temper)
/temper:buildTDD + quality gates (a door into /temper)
/temper:reviewConfidence-scored review (a door into /temper)
/temper:checkStack validation (a door into /temper)
/temper:fixRCA + fix
/temper:packManage quality packs
/temper:statusQuality + observability dashboard
/temper:initSeed a project's .claude/temper.config (idempotent)

Autonomous Continuation (opt-in): after approving the plan, /temper can run the remaining stages unattended and park before commit. Armed at the plan gate (never at invocation); never pushes/merges. With the autonomy: block absent or enabled: false, every gate is the ordinary interactive one. Config: .claude/temper.config → autonomy:.

The deterministic spine (v7): every gate verdict is computed by scripts/temper (temper gate {stage}) from an evidence ledger (temper evidence add), not asserted by a model. git commit is blocked by a native pre-commit hook (and, with the guardrails pack, an in-agent PreToolUse hook) whenever a gate is FAIL and unoverridden: see packs/guardrails/rules.md.

One flow (ADR 0012, ADR 0013). temper next --json (scripts/flow.py) says what comes next, with each gate's exact question and options; commands/temper.md is a loop over it. The CLI writes .temper/view.json after every change, the one file of the CLI's the mod reads. The person decides each gate only in the Temper gate question, with the mod or without it, in every mode; the mod counts an answer only on an exact match for the CLI's run and step, guards, and draws the run (its bar decides nothing). The guard is not a sandbox (docs/trust.md). The stage commands above are doors into /temper.

Version: 9.7.5 (history: CHANGELOG.md). Config: .claude/temper.config | Docs: reference/ CLI reference: scripts/temper --help | Retired systems: docs/history/

Developing temper (this repo):

  • Test: bash scripts/selftest/test-temper.sh (ends PASS: N FAIL: 0); validators: bash scripts/quality-check.sh (also runs in CI via quality.yml).
  • Faster: bash scripts/selftest/run-selftest.sh [--fast|--changed|--slow] runs the case files in parallel; bun scripts/e2e/run.ts both is the end to end driver (the real CLI, with the mod's rule engine and without it).
  • Directory readiness: bash scripts/validate-directory.sh (no raw HTML in the README, no assets folder path in text, no options key). Run it before any README or manifest change.
  • The mod (pure rules, wiring, drawing) and its test suite: after any change to them run claude plugin test ., tsc -p tsconfig.mod.json (TypeScript 5.6, as CI runs it) and bash scripts/check-mod-calls.sh; the reviewed $ calls live in that script.
  • Layout: commands/ (slash commands) · agents/ (stage subprocess briefs) · reference/ (methodology) · packs/ (rules) · scripts/temper (the deterministic spine — gate logic lives HERE, never in a prompt) · scripts/guards/ · scripts/plan_review.py (renders and merges the HTML plan review).
  • Known mistakes: a gate-mechanics change is a scripts/temper edit + a test-temper.sh case, not a prompt edit; what comes next, a gate's options and the grouped Build loop are scripts/flow.py (a case in temper-cases-8.sh; regenerate scripts/selftest/view-fixtures.ts with make-view-fixtures.sh when the view changes), never a list in a page; hooks must fail OPEN except their one detected-violation path; never re-add per-stage logic to commands/temper.md or commands/fix.md — it belongs in that stage's own brief in agents/ (including the stage's return box: a brief must never point a clean-context subprocess at an orchestrator file); new commands and agents must be listed in .claude-plugin/plugin.json; the person decides only in a question dialog, so never add a button that decides to the mod, and never give a stage command a flow of its own (it is a door into /temper).
<!-- Nothing follows. Do not add a generated advice section here: validate-docs.sh rejects the TOKENOMICS:START / TOKENOMICS:END markers (docs/history/tokenomics.md). Never write the markers' full comment syntax inside this comment; the embedded close-delimiter would end it early. -->

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.