Skip to main content
You change a constant in src/auth.ts. Two sentences in README.md and CLAUDE.md are now wrong, and nobody notices until a teammate or an agent trusts one of them. hibi check --since origin/main names those sentences and gives you the command to fix each. Hibi (日々, “day after day”) tracks claims: a sentence in a document, anchored to the code it describes. When either side changes, hibi check flags the claim and can stamp a status banner into the document, so a reader without hibi still sees the flag. Run it in CI, in a git hook, or as the check an agent makes before it trusts an instruction file.

The model

You record a claim with hibi record, pointing at a span of prose and the code span it describes. Hibi stores an anchor for each side (pointers, not a copy of the prose) in a committed .claims/ directory, one file per claim. On hibi check, each side is located again in the current files and graded as unchanged, moved, changed, ambiguous, or orphaned. An enforced claim gates (exit 2) when a side is changed, orphaned, or ambiguous, when its ttl passed, or when a verifier failed. moved is a warning. Every suspect verdict carries a remediation menu with the next command filled in.
No model runs in the check loop. The same working tree yields the same verdicts. A flag means re-verify; Hibi does not decide that a doc is wrong, and it never edits prose.

Start here

Quickstart

Install Hibi and record a claim.

Verdicts

The claim model, the anchor states, the remediation menu, and the exit codes.

Why Hibi

The problem, the threat model, and why no model sits on the verdict path.

CLI reference

Every command and flag.

Resolvers

Add out-of-process resolvers and verifier runners in any language.

Claude Code skill

The Agent Skill that teaches coding agents to use Hibi.

What you can rely on

Deterministic

The check loop runs text matching, tree-sitter, and fixed constants. No model.

A flag means re-verify

Hibi reports that the text or code under a claim moved. It does not declare a doc wrong.

Any file format

Docs are text. Markdown, plain text, AsciiDoc, and instruction files work without a per-format parser.

Offline and shallow-clone safe

The anchor is its own baseline. check reads files, not git history.