Coding-agent memory Memory that knows which repo it's in.
When you open a session in a git repo, whether through Claude Code,
Codex CLI, Cursor, or anything else that speaks MCP, Remnic detects
the project and branch automatically and scopes recall so that your
past work on this repo shows up, and nothing from the other
four repos you were in this week does.
What this means in practice
Project isolation
A fact written while you were working on acme/api is
not recalled when you open a session in acme/web.
The project id is a stable hash of the git origin URL (or the
repo root path, when there's no origin), so the same repo always
resolves to the same namespace, whether you cloned via SSH or
HTTPS.
Opt-in branch scoping
Turn on codingMode.branchScope: true and writes
route to project-<id>-branch-<name>. A
branch-specific decision doesn't bleed into main.
Reads from a branch still include project-level memories. This
deliberate asymmetry keeps project facts working everywhere.
Review-context recall
When the prompt looks like a review request (“review this
PR”, “what changed in this diff?”), Remnic
parses the unified diff and boosts memories whose entity refs
mention any touched file. Strong unrelated memories still
surface. The boost is a bias, not a filter.
Works across every connector
Claude Code and Codex CLI hooks resolve the git context
automatically from the session's cwd. Clients that don't ship
cwd (Cursor, generic MCP agents) can call the
remnic.set_coding_context MCP tool at session start
to declare the project/branch themselves.
The escape hatch
Project scoping ships on by default. If you want pre-2026 behaviour
where a single flat namespace holds everything, set
codingMode.projectScope: false in your plugin config.
Branch scoping stays off by default. Turn it on per-repo when a
long-lived feature branch needs its own sandbox.
{
"codingMode": {
"projectScope": true,
"branchScope": false
}
}
Verify the overlay
Run remnic doctor from inside a git repo. The output
includes a Coding-agent context line showing the
detected projectId, branch,
rootPath, and the effective namespace routing will
use:
✓ Coding-agent context: project=origin:abcd1234, branch=main, root=/work/repo, defaultBranch=main, projectScope=true, branchScope=false, effectiveNamespace=project-origin-abcd1234
The projectScope and branchScope fields
echo whatever is in your plugin config so the doctor output
matches runtime behavior. Flip projectScope to
false and the effective namespace collapses back to
the plain default namespace.
More coding-agent memory, shipped recently
Procedural memory, on by default
Remnic captures repeatable workflows as procedure
memories under procedures/. When a prompt looks like
starting hands-on work (deploy, ship, open a PR, run tests), recall
injects a short Relevant procedures block from active
procedures only. It is enabled by default; set
procedural.enabled: false or pick the conservative
preset to opt out.
Project decision records and architecture card (opt-in)
Turn on codingKnowledge.enabled to store standing
architectural decisions (records with a proposed, accepted, and
superseded status lifecycle) and a deterministic, versioned
architecture card per project. A session delta tells a returning
agent what changed since it last worked here: how many commits and
which files. Surfaced through the remnic.coding_decision,
remnic.coding_architecture, and
remnic.coding_delta MCP tools.
Coding graph (optional package)
Install @remnic/coding-graph for a native
codebase-graph engine: web-tree-sitter parsing, a SQLite knowledge
graph, structural queries, blast-radius analysis, and dead-code
detection. It is an optional add-on package (most installs never
index code) and stays gated behind
codingKnowledge.codegraphTools.