The software-engineer hintbook gives your .hint files a precise vocabulary for architecture, data models, behavior, and constraints. Compile it into a binding prompt and your agent implements exactly what you declared — in dependency order, with no stubs, no invented features.
An entity compiles to a binding data contract — no renamed fields, no changed types, nothing extra or missing.
A bad block carries the strongest enforcement language in the book — real past failures the agent must never reintroduce.
A folder's _.hint wraps everything beneath it, so stack, build pipeline, and dependency policy are always in scope.
Every keyword is a markdown heading that compiles into an explicit, named tag the agent is trained to obey. Reach for the most specific one — a field inside an entity beats a bullet list in prose.
The same .hint file drives every mode. Watch the compression spec become a deterministic implementation prompt — then an audit report when run with --mode review.
$ hint --mode review src/compression/middleout.ts | claude -p
The catch block falls back to gzip() on a failed pass. The LossyFallback prohibition forbids any silent fallback. Minimal fix: re-throw CompressionError.
Empty input returns an empty buffer instead of throwing. The result contract requires CompressionError on empty input — currently unhandled.
input.sort() mutates the argument. The input arg states it must not be mutated. Operate on a copy.
Verdict: does not conform — 1 violation, 1 gap, 1 risk.
A senior engineer implementing the project from a binding specification.
Read it all, implement in dependency order, reuse declared modules, ship production quality — no placeholders, stubs, or TODOs.
hint src/...
Where the code and the spec disagree, the code is wrong.
Diagnose the root cause, make the smallest conforming change, and ship a regression test. With a hint.lock it reconciles only the blocks that drifted — and changes nothing when the code already conforms.
hint --mode fix
Findings, never patches.
Walk the spec block by block, hunt declared anti-patterns, and report findings by severity with file ranges and minimal corrections.
hint --mode review
The Pied Piper demo repo shows a whole module declared in .hint first — then built, fixed, and reviewed entirely from the compiled prompts.
A root _.hint declares lang TypeScript, the build pipeline, and a bad GlobalState rule every file inherits.
Companion hints define the CompressionResult entity, the compress contract, its flow, and the LossyFallback prohibition.
hint src/compression | claude -p emits the implementation prompt; the agent writes code in dependency order with the Weissman score exact.
--mode review in CI audits each change against the same spec — the lossy fallback never lands without a flagged violation.
hint verify confirms every declared func, entity, and error actually landed — deterministic, no tokens — then hint lock records what shipped. Later hint diff shows which blocks a spec edit touched, and --mode fix corrects just those — the rest stays byte-for-byte.
Then just keep talking to your agent. hint apply writes the HINT workflow into your AGENTS.md and CLAUDE.md — so Claude Code, Codex, and Cursor call hint on their own whenever a .hint spec is relevant. No need to run it by hand.
Declare the architecture once. Let the agent build, fix, and review inside it — forever.