The decision and enforcement layer for AI coding agents.
Quick start · How it works · Enforcement · Console · FAQ · Benchmark · Docs · Discord
New: Contexer Personal Cloud & Teams: sync decisions across machines, share a team decision layer.
Train your AI agents to work exactly how you want. And enforce it.
If you work with AI agents every day, you already know these:
- "My agent ignores my instructions the moment the context window fills up, and I'm back to re-explaining what it must never do."
- "I switched to a new agent and every rule and decision I'd built up stayed behind with the old one."
- "I run a whole stack of AI tools, and I still can't drive what they decide, let alone enforce it."
- "The answer is in there somewhere, buried under a thousand lines of session slop."
- "I have no idea what my team's agents are being told, or why they built it that way."
Contexer is the decision and enforcement layer: it captures engineering decisions as you work and keeps them current as your architecture evolves. It selectively injects the relevant decision, constraint, or convention the moment the agent needs it. At commit time, staged changes that violate an approved decision get flagged, or blocked outright for rules you arm. The settled answer arrives before the agent starts reasoning; it stops re-exploring and just builds.
Questions about capture accuracy, privacy, supported agents, instruction files, or the difference between open source and Teams? Read the public FAQ →
What it solves
Contexer gives developers one reviewable, versioned decision store across Claude Code, Cursor, Codex, and Gemini CLI. It brings approved context back into later sessions and can check staged changes against decisions before they land. The open-source product is local and individual; Contexer Teams adds reviewed shared decisions and GitHub workflows.
Benchmarks
The honest part: a complete, up-to-date CLAUDE.md ties Contexer on cost. The difference is that nobody has to write that file or keep it perfect. Every number is recomputable from raw session rows, scored by code (no LLM judge), independently validated, negative findings included. Read the benchmark →
Quick start
Requires Python 3.12+ and uv. Under two minutes.
uv tool install contexer # 1. install
contexer install # 2. wire into your AI assistants
contexer install auto-detects Claude Code, Cursor, Codex, and Gemini CLI, and wires everything it finds. Restart your assistant and open any git repo. On first use, Contexer analyzes the repo and proposes its starting knowledge. It runs silently from there.
Details: installation & verification · per-tool integration notes
How it works
- Capture: Contexer records engineering decisions and supporting provenance while you work.
- Review: Developers decide which proposed decisions become trusted.
- Replay: Relevant approved context is delivered to supported coding agents in later sessions.
- Check: Optional safeguards compare changes with approved decisions.
Read How Contexer works for the mechanism and the FAQ for capture limitations, authority, lifecycle, relevance, agent parity, privacy, and product boundaries. Day-to-day commands live in Usage & CLI.
Enforcement / guardrails
The local Guard is an optional pre-commit safeguard:
contexer guard --install-hook # wires .git/hooks/pre-commit for this repo (opt-in, not run by `install`)
It is advisory by default. Blocking requires an approved decision that the developer explicitly arms with a machine-checkable rule. See the FAQ for behavior and limits, the mechanism for design, and the CLI reference for commands.
See every decision, with its evidence
contexer ui --open
A local web console over every repo on your machine, not just the one you're in, because "what does my agent actually know?" is a question you shouldn't have to answer by reading JSON.
- Read it, then fix it. Browse and search every stored decision with its full revision history. Edit one; history is kept, nothing is overwritten. Delete one for good: a delete sticks, instead of quietly reappearing next session from a memory file or a mined conversation. Restore it if you change your mind.
- See the whole review queue at once, not one terminal prompt at a time: what's pending, and proposed changes to decisions you already approved shown as before/after diffs. The graphical counterpart to
contexer review. - The whole picture. Per-repo dashboard, global rules, cached team context, deleted decisions, and your settings: one switcher, seven views.
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
Documentation
| 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 |
| Benchmark | Live-session A/B methodology, findings (including negative ones), raw data |
Contributing
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.
License
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.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file contexer-0.45.4.tar.gz.
File metadata
- Download URL: contexer-0.45.4.tar.gz
- Upload date:
- Size: 2.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9af0849b32cdd04be6394e74dbaa02531ac23621bba0b307ad4dadea1296440d
|
|
| MD5 |
638f9e616719163fe5c836fce30ad39a
|
|
| BLAKE2b-256 |
030d1643838ac5ab18ed49d3cd3b05749f0cefd028f5750e8ee1decc934c0dfa
|
Provenance
The following attestation bundles were made for contexer-0.45.4.tar.gz:
Publisher:
release-please.yml on bhargavamin/contexer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
contexer-0.45.4.tar.gz -
Subject digest:
9af0849b32cdd04be6394e74dbaa02531ac23621bba0b307ad4dadea1296440d - Sigstore transparency entry: 2726266452
- Sigstore integration time:
-
Permalink:
bhargavamin/contexer@9a9a1a502922f2718a584513ec232d0d76038163 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/bhargavamin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@9a9a1a502922f2718a584513ec232d0d76038163 -
Trigger Event:
push
-
Statement type:
File details
Details for the file contexer-0.45.4-py3-none-any.whl.
File metadata
- Download URL: contexer-0.45.4-py3-none-any.whl
- Upload date:
- Size: 643.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff2704ea455bc680fe38374d640abe3c6407820f7d80306b63bccd7cc08b5371
|
|
| MD5 |
11396287403707d08fc86f4157a27315
|
|
| BLAKE2b-256 |
ae49154137a99bfd224646a5b9501dd3144740eb3d3e17faad06657d5600e09c
|
Provenance
The following attestation bundles were made for contexer-0.45.4-py3-none-any.whl:
Publisher:
release-please.yml on bhargavamin/contexer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
contexer-0.45.4-py3-none-any.whl -
Subject digest:
ff2704ea455bc680fe38374d640abe3c6407820f7d80306b63bccd7cc08b5371 - Sigstore transparency entry: 2726266496
- Sigstore integration time:
-
Permalink:
bhargavamin/contexer@9a9a1a502922f2718a584513ec232d0d76038163 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/bhargavamin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@9a9a1a502922f2718a584513ec232d0d76038163 -
Trigger Event:
push
-
Statement type: