graphCTX — local-first memory for coding agents
context and memory layer for AI coding agents
Built to be the best<br>context layer for AI coding agents.
graphCTX keeps repo knowledge close to the work: commands, conventions,<br>decisions, and hard-won fixes. Developers spend less time re-explaining<br>context and more time shipping, with local memory that is fast, private,<br>and reliable.
$ curl -fsSL https://graph.coder.company/install | sh<br>copy
See the benchmarks<br>~1ms<br>p50 recall, flat at scale
100%<br>post-compaction solve
$0<br>no metering or API key
local<br>source stays on your machine
~/your-repo · AI coding agent<br>// without graphCTX<br>user: what's the deploy command?<br>agent: I don't see one in the repo —<br>you'll need to tell me.
// with graphCTX memory<br>user: what's the deploy command?<br>agent: ./scripts/ship.sh --canary --wait<br>mem:9f3a2c
Same agent, same prompt. graphCTX gives it the repo memory developers otherwise repeat.
[ 01 ] · how it works · architecture
How graphCTX manages memory.
The system is deliberately narrow: capture reliable coding facts, keep<br>them valid as the repo changes, and return only the context the agent can<br>use.
01 CAPTURE<br>Extract trusted coding facts<br>graphCTX reads package scripts, lockfiles, CI, editorconfig, AGENTS.md, and session episodes so the memory base starts from repo evidence, not model guesses.
02 ANCHOR<br>Bind memory to git state<br>Facts are valid against commits and branches. When code changes, memory moves with the DAG instead of drifting on wall-clock timestamps.
03 PROMOTE<br>Promote only durable knowledge<br>Session details can become workspace or user memory only after evidence gates. Secrets and low-trust prose stay out of durable context.
04 RANK<br>Choose the smallest useful set<br>A relevance gate scores topic drift, entities, and file scope so the agent gets specific context instead of a noisy memory dump.
05 DELIVER<br>Attach provenance to every recall<br>Returned memory is compact, budgeted, and tagged with source provenance, making it easier for developers to trust and audit what the agent uses.
[ 02 ] · benchmarks · measured, not claimed
Benchmarked against Supermemory.
Same coding-fact set, same queries. graphCTX runs locally and answers in<br>~1ms; a live Supermemory search round-trip measured ~494ms (p50), so<br>recall stays fast and predictable during development.<br>Reproducible: graphctx compare --deep.
METRIC<br>graphCTX (local)<br>Supermemory<br>delta
Ingest (p50)<br>0.71ms<br>network + async<br>local, instant
Retrieval (p50)<br>1.2ms<br>494ms<br>~410× faster
Retrieval (p95)<br>3.9ms<br>720ms<br>~180× faster
Recall accuracy<br>90%<br>direct-fact
Network<br>none<br>required<br>offline
Cost / month<br>$0<br>$19–$399<br>free
Latency stays flat at scale
Per-prompt retrieval p50/p95 as the workspace grows. Indexed lookup<br>plus a bounded semantic re-rank keeps the hot path at<br>~1ms — a 5,000-fact<br>monorepo retrieves as fast as an empty one.
10 facts p50 1.04ms · p95 1.37ms
510 facts p50 1.15ms · p95 3.94ms
5,010 facts p50 1.33ms · p95 22.27ms
Reliable after compaction
Post-compaction solve rate across 14 coding tasks. graphCTX restored<br>the needed repo fact in every run.
A · no memory 0/14
B · recall API 3/14
C · graphCTX 14/14
// graphctx eval run --arms A,B,C
// scope: this compares local latency + cost on direct coding-fact retrieval<br>for developer workflows. Supermemory targets general/conversational memory<br>with cloud connectors, cross-document reasoning, and neural embeddings that<br>graphCTX doesn't attempt.
[ 03 ] · install · three commands
Start using repo memory in 30 seconds
No account. No API key. No cloud setup. Install the CLI, connect your<br>agent, and give every session repo-aware memory.
$ curl -fsSL https://graph.coder.company/install | sh<br>copy
Prefer npm? npm i -g graphctx
01 $ curl -fsSL https://graph.coder.company/install | sh install the CLI (detects Node / Bun)
02 $ graphctx install claude wire your agent (claude · cursor · opencode · generic)
03 $ graphctx doctor verify graphCTX is connected