AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
Give Claude, Cursor, Codex and Gemini the decisions that matter as they work. Contexer independently checks the resulting changes for drift before they land.
Developer toolsPython · JavaScriptGitHub @bhargavaminOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Contexer keeps the important engineering decisions behind your software current and available to every coding agent.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Same answers as your CLAUDE.md. 30% cheaper at scale. Your agent asks before it guesses.
New: Contexer Personal Cloud & Teams : sync decisions across machines, share a team decision layer.
The decision and enforcement layer for AI coding agentsRead the full README ↗Capture engineering decisions and their reasoning, review changes, and bring the right guidance into Claude Code, Cursor, Codex, and Gemini CLI. With Contexer Teams, share and version decisions across your team, so every teammate's agent picks up an approved change on its next prompt, and enforce the rules that matter with Contexer Guard, on each commit or pull request.
Contexer keeps a reviewable, versioned record of what was decided, why, and whether it has been approved. The same local decision store works across supported assistants, so your engineering guidance is not tied to one agent's conversation history. Review, revision history, team approval, and explicitly enabled checks turn recorded decisions into guidance you can manage and verify.
You tell your assistant:
"Always use our shared API client for outgoing requests. It handles authentication and retries; separate implementations caused duplicate requests."
Contexer can save both the rule and its reason. In a later session, your assistant can retrieve that decision instead of guessing why the shared client exists. If you link the decision to source files, Contexer can flag when those files change so you know to recheck the advice.
Clear directives can be captured automatically. For an important decision made during a discussion, say "store that decision". Capture beyond explicit directives is best-effort.
Watch how to install Contexer and capture your first decisions.
Requires Python 3.12+ and uv.
uv tool install contexer # 1. install
contexer install # 2. wire into your AI assistants
contexer install auto-detects supported assistants and configures the ones it finds. Restart your assistant, open your project, and follow Contexer's first-run setup guidance to build its starting context.
Cursor uses its own Contexer integration with every supported model, including Claude. If you also use Claude Code, Contexer prevents its imported Claude Code hooks from duplicating actions in Cursor. See the coexistence setup.
Then try telling your assistant:
Save this as a convention: always use uv, not pip, in this project.
Decisions are stored locally in plain JSON under ~/.contexer/, in a directory only you can read. The local features do not require a cloud account; cross-machine sync and team sharing are optional. If a saved store ever becomes unreadable, Contexer keeps working but refuses to overwrite it, so nothing is lost while you recover the file.
Details: installation & verification · per-tool integration notes
| Feature | What it does for you |
|---|---|
| Decisions with reasons | Saves what you chose and why: architecture, constraints, conventions, and reusable patterns. |
| Relevant reminders | Loads standing rules at session start and retrieves matching decisions using your question or referenced files. Avoids repeatedly injecting decisions already shown in the session. |
| Decisions across assistants | Makes the same local project decisions available to Claude Code, Cursor, Codex, and Gemini CLI. Automatic delivery varies by assistant. |
| Project and global rules | Keeps project-specific choices separate from preferences you want to reuse across repositories. |
| Repository-derived context | Reads configuration and uses source-backed analysis to build starting knowledge. Observations and inferences are labeled, not treated as human-approved rules. |
| Review and history | Lets you review pending decisions and proposed updates, while preserving earlier revisions and their origins. |
| Outdated-advice warnings | Flags changes to linked code, follows detected file renames, and rechecks measured conventions. A warning asks you to verify the decision; it does not prove it is wrong. |
| Optional commit checks | Reminds you of relevant approved rules. Explicitly armed regex or secret checks can block a commit. |
| Local web console | Lets you browse, search, edit, review, delete, and restore decisions across your projects. |
| Claude memory import | Imports Claude Code's file-based memory into the decision store, updating existing entries when the source changes. |
Keep your CLAUDE.md, AGENTS.md, GEMINI.md, or .cursor/rules files for stable instructions. Contexer adds searchable decisions, revision history, review, and file-linked context alongside them.
| Instruction file | Contexer |
|---|---|
| Commands, project layout, where to start | Decisions and the reasons behind them |
| Content every contributor needs, even without Contexer | Rules that change, or that several assistants and repositories share |
| A few short rules that rarely change | A growing set of rules: standing rules load at session start, matching decisions are fetched as needed |
More: why not just use CLAUDE.md?
Ask your assistant in plain English:
What decisions did we make about Postgres?
Store that decision, including why we rejected the other option.
Store that globally: use conventional commits across my projects.
Deep dive: how it works · day-to-day usage & CLI
contexer review
Not all captured knowledge has the same status. Clear user directives can be approved automatically. Repository observations and AI-inferred starting context are usable but explicitly non-authoritative; confidence or repeated scans do not count as human approval. Some other AI-inferred knowledge is available as a labeled suggestion; items marked pending approval wait for your review instead of becoming standing rules.
When two current decisions prescribe incompatible version formats, Contexer shows them together as a conflict so the agent asks you which applies. Other contradictions aren't detected automatically yet, though in the benchmark agents using Contexer still asked about every contradicting pair.
Proposed changes to an existing decision do not silently replace its current revision. When a proposed update conflicts with the standing decision, Contexer can show both versions, clearly labeling the unreviewed one, so you can choose what is correct.
Use the review command or local console to inspect the reasoning and evidence, approve or edit pending items, and dismiss advice you do not want.
contexer guard adds an opt-in Git pre-commit hook with two levels of checking:
contexer guard --install-hook # wires .git/hooks/pre-commit for this repo (opt-in, not run by `install`)
Reminders by default. A relevant, trusted approved decision linked to or mentioning a staged file surfaces before the commit, which still goes through. This is a reminder to check the rule, not automatic detection of a violation.
Blocking only when you enable it. Arm an approved decision with a machine-checkable rule (contexer guard arm <id> --regex '<pattern>' or --check secret). A detected violation can then fail the commit. Only explicitly armed checks can block; the guard does not interpret arbitrary architectural rules as executable tests.
GUI commit flows (VS Code, Cursor, and similar) run the hook but only surface a blocked commit; the warning-only reminders are terminal output a graphical commit panel won't show you.
The guard fails open (any internal error, or a run over budget, skips checks rather than blocking your commit) and can be bypassed per-commit with CONTEXER_GUARD=0 git commit …, same as any pre-commit hook is bypassed with --no-verify. It's a local nudge, not a substitute for CI: your pipeline's checks are the backstop that can't be skipped from a developer's machine.
Details: mechanism · CLI reference
contexer ui --open
A local web console shows what Contexer has stored across your projects, not just the repository you are working in.
contexer erase <id> or choose Erase content in the console to permanently remove one decision’s local content and history. A content-free erasure record remains.contexer export --format md or --format adr writes your decisions as Markdown or one ADR per decision, with secrets redacted by default.It binds 127.0.0.1, every route is authenticated, and the server itself never reaches the network. It is also off until you ask for it: contexer ui starts it on demand, and the printed link is short-lived on purpose. Set [ui] autostart = true and every session start hands you the URL for the repo you just opened.
Details, the [ui] settings, and the security model: the local console
The open-source local store works for one developer across supported assistants. Optional hosted services extend where that knowledge is available:
| Option | What it is for |
|---|---|
| Local (open source) | Keep decisions on your machine and reuse them across your AI assistants. No cloud account required. |
| Personal Cloud | Sync your own decisions across your own machines. Personal sync does not share them with teammates. |
| Teams (early access) | Share decisions through a team review and approval workflow, so teammates' assistants can use shared context. |
The benchmark ran one developer's sessions; Teams itself has not been benchmarked yet. These are the findings that grow with a team, and what Teams adds on top:
Watch how Contexer handles your personal decisions and shared team context.
Shared decisions pass through secret redaction first. If you switch redaction off (redact_secrets = false), every share warns you and asks you to confirm the exact text, and background sends pause until it's back on.
Learn more: Personal Cloud & Teams · connection and sharing guide
Full details: published limitations.
We gave an AI coding agent 38 tasks that only come out right if it knows a team rule, and compared Contexer with a full CLAUDE.md, a folder of decision docs, and no rules, at 34 and 150 stored rules (1,242 sessions, scored by code).
CLAUDE.md, because only the relevant rules are sent. At 34 rules decision docs led on accuracy (111 vs Contexer's 108).CLAUDE.md the agent was told to maintain.Read the benchmark → · Try it on your repo in two commands →
| FAQ | Product questions, capture limits, authority, privacy, Guards, OSS and Teams |
| Installation | Install, verify, update, uninstall |
| Integrations | Claude Code, Cursor, Codex, Gemini CLI: wiring and parity notes |
| How it works | Capture, bootstrap, session injection, review/versioning, cost, privacy |
| Usage & CLI | Natural-language commands, CLI reference, teams login, troubleshooting, limitations |
| Local console | contexer ui, the seven views, [ui] settings, security model |
| Decision-impact pilot | Explicitly requested file checks, local receipts, consent, setup, and claim limits |
| Benchmark | Accuracy, cost and contradicting rules against a CLAUDE.md, with every negative finding and the raw data |
| Adoption readiness | For a team lead: what holds today, what to watch in a pilot, and the issues tracking each gap |
Bug reports, fixes, and documentation improvements are welcome. See CONTRIBUTING.md for setup, code style, and the PR process. Questions or ideas? Join the community on Discord.
MIT. See LICENSE for full terms.
The Contexer name and logo are trademarks of Contexer.ai. The MIT license does not grant rights to use the Contexer name, logo, or brand in any way that implies official affiliation.