Your AI writes fast.
Temper makes it last.

An intent-gated SDLC for AI-generated code. Every gate verdict is computed by a small auditable CLI from an evidence ledger, never asserted by a model, and a red gate physically blocks git commit.

The Temper stage bar in Claude Code as of 9.6.8, showing the current stage
/plugin marketplace add galando/temper
/plugin install temper

That’s the whole install. Your first /temper:temper "…" sets the project up: config, scaffold, and the commit gate.

Watch

Temper in 43 seconds

The intent comes first. Then each stage hands its work to the next: criteria become scenarios and tasks, Haiku agents build each task test first, Review sends real bugs back, and Check traces every criterion to evidence before the commit.

The Loop

One pipeline, a human gate at every stage

INTENT → PLAN → DESIGN? → BUILD → REVIEW → CHECK → COMMIT

Intent Gate First

You approve the Problem and success criteria before any exploration or architecture spends tokens. A wrong intent multiplies into wrong everything — correcting it here costs words; after Plan it costs the plan.

Deterministic Gates

Each stage’s PASS/FAIL is computed by temper gate from an evidence ledger of real commands and exit codes. A red gate blocks git commit via a native pre-commit hook; a human override is recorded with its reason, never erased.

Scenarios Before Architecture

BDD scenarios are derived from a measured blast radius, so every planned file traces to a behavior — the structural defense against over-engineering.

The Loop Closes Itself

temper bands watches metric history with control bands (pure arithmetic, no model); a breach is drafted as the next intent and rides the same gates. Fixes write a committed lessons file every future investigation reads first.

Versioned quality packs (security, TDD, quality, performance…) enforce policy during build and review, with deterministic hook backstops. Works with any CI — the automation surface is commands and exit codes, no platform files.  Temper vs the AI-native SDLC playbook →

The Mod

Claude cannot write code before you approve the intent

On Claude Code 2.1.287 or later, Temper also draws a stage bar and the run’s pane, and enforces every stage at the tool layer. Older versions load the plugin as before.

Refuses early writes

An edit outside the current phase is refused, and so is git commit until the gates pass or you override them. Every refusal names the next step.

You see where you are

A stage bar shows each stage with its result, the time, and each loop back with its reason. A pane shows the Build tasks, the findings, the checks and the criteria. You decide each gate in one question; nothing on the bar decides.

You choose how much

uiMode is full, minimal or off. enforcement is on or off. The CLI state stays the source of truth, and the mod blocks nothing when it cannot tell where the run is.

Early access. Runs in the CLI and the desktop Code tab. Not a sandbox: it guards the editing tools and git commit; the Bash check is best effort. Try it on your machine.

Methodology

IDD + BDD + TDD: Three Layers, One File

Most AI tools only answer “does the code work?” Temper answers all three questions that matter.

IDD — Intent-Driven

Did we solve the problem? Success criteria with structured validation types, accepted by a human at the intent gate before anything is built.

BDD — Behavior-Driven

Does it do the right things? Scenarios derived before architecture. Every file traces to a behavior.

TDD — Test-Driven

Does the code work? Tests written from scenarios, RED → GREEN evidence the build gate requires. The coverage gate ensures nothing is missed.

One File: intent.md

All three layers live in a single committed artifact — problem, scenarios, coverage checklist — and the chain of commits is the audit trail.

Commands

Three commands you’ll actually type

/temper:temper runs and routes everything else.

🔥

/temper:temper "add password reset"

The whole pipeline, intent gate to commit — or arm autonomy at the plan gate and it runs unattended, parking before commit

🔧

/temper:fix "500 on checkout"

Root cause → failing test (write-protected) → minimal fix → validated

💡

/temper:intent "an idea"

Capture an idea as a committed draft — from anyone — and build it later

Granular control: :plan :design :build :review :check :status :pack  — full reference →

Install

Two steps

/plugin marketplace add galando/temper
/plugin install temper

Then just use it: the first /temper:temper in a project bootstraps config, scaffold, and the native commit gate. Auto-detects Spring Boot, React+TS, Node/Express, FastAPI, Go, and Rust. Optional MCP-powered analysis: Recommended Setup.