zenrei
v0.3.0
Published
Decision memory for AI-driven development — a local MCP server that indexes decisions/*.md and stops agents from re-proposing rejected designs.「その提案、前例があります」
Maintainers
Readme
Zenrei(前例)
"That proposal? There's a precedent." — Decision memory for AI-driven development.
AI agents don't remember past discussions. They keep re-proposing designs you rejected weeks ago. Zenrei records your decisions — accepted, rejected, deferred — as Markdown in your repos, and serves them to every AI agent (Claude Code / Cursor / CI) over MCP. When an agent re-proposes a rejected design, check_proposal stops it:
zenrei › check_proposal
⚠ Conflicting precedent found
[rejected] Remove the approval flow from schema chat
(2026-07-08)
Reason: the pre-write review layer is our moat.- git-native — decisions live in your git. Zenrei indexes and serves; it never owns your data
- Humans decide — agents can only file drafts (
pending); only a human can accept or reject - Deterministic & light — no LLM calls, no API key, works offline (Japanese-aware bigram BM25). With 1,000 decisions, responses stay ~1,800 chars / 44ms. Your prompts never bloat
Quick start
claude mcp add zenrei --scope user -- npx -y zenrei --root /path/to/repo1 --root /path/to/repo2For English tool responses, append --lang en (default is Japanese; or set ZENREI_LANG=en).
Then add three lines to each repo's CLAUDE.md (agent instructions):
## Decision memory (zenrei)
- At session start, call get_context (scope: this repo) to load decided matters
- Before proposing designs or policies, call check_proposal
- File new decision points with record_decision (humans approve)Writing a decision
decisions/2026-09-07-example.md:
---
status: rejected # accepted | rejected | deferred | pending | superseded
date: 2026-09-07
scope: [my-repo]
tags: [design]
---
# Adopt Redis for the cache layer
## Decision
Rejected. In-memory is sufficient at current traffic.
## Reason
Not worth the operational cost.
## Revisit when
p95 latency exceeds 200ms.Agents can only create pending drafts. Flipping status: to accepted is a human's job.
Tools (fixed at five)
check_proposal / search_decisions / record_decision / list_pending / get_context
Links
- How it works: https://zenrei.karakurio.com
- Operations guide: https://zenrei.karakurio.com/guide
- Format spec: https://github.com/pikonori/zenrei/blob/main/docs/decision-format.md
日本語
Zenrei(前例)は、AI駆動開発のための意思決定メモリです。採用・却下・保留の決定をリポジトリ内のMarkdown(decisions/*.md)で管理し、MCP経由で全AIエージェントに配ります。エージェントが却下済みの設計を蒸し返したら check_proposal が止めます。
- 決定はあなたのgitの中(データを人質に取りません)/決定するのは人間(AIは起票まで)
- 照合は決定論的(LLM不使用・APIキー不要・オフライン動作)。決定が増えてもプロンプトは太りません
導入は上記Quick startのコマンドそのまま。仕組みの解説は https://zenrei.karakurio.com 、使い方は https://zenrei.karakurio.com/guide を参照してください。
License
MIT
