witan-context¶
Shared memory, work coordination, and a code graph for coding agents.
A coding agent starts every session knowing nothing. It re-derives the same facts, rediscovers the same constraints, and repeats the same mistakes — and when two agents work in parallel, neither knows what the other is doing.
witan is the missing layer: a persistent, team-wide graph that agents read from and write to. What one session learns, the next one recalls. What one agent is working on, the others can see.
The three layers¶
-
Memory
Durable, shareable knowledge — patterns, project facts, lessons, decisions. Memories link to each other (
supersedes,refines,contradicts), so recall returns what is current, not merely what matched. -
Work coordination
Tasks, dependency edges, and multi-session projects. Claiming is a compare-and-swap with a lease, so parallel agents can divide work without double-doing it.
-
Code graph
A tree-sitter index for exact symbol lookups, caller graphs, and change-impact analysis — plus a cross-repo bridge that traces a shared env var, endpoint, or package from provider to consumer.
All three are served by one MCP endpoint. A single witan serve mounts 60
tools; one entry in your agent's config gets you the whole surface.
Start here¶
| If you want to… | Go to |
|---|---|
| Install it and store your first memory | Get started |
| Understand the mental model — memory kinds, the task graph, CLI vs. agent vs. skills | Concepts |
| See the same scenario worked through the CLI, an agent, and a skill | Walkthroughs |
| Do a specific thing — index a repo, run against a deployed service, migrate a store | Guides |
| Look up a tool, flag, env var, or node type | Reference |
| Understand why it works the way it does | Explanation |
Quick start¶
witan setup registers the MCP server and its skills with whichever coding-agent
platforms it finds locally — Claude Code, Pi, GitHub Copilot, OpenCode, and
others. Then, from inside any git repository:
witan tasks # ready work in this repo
witan memory "vault auth" # what do we know about this?
witan code index # build this repo's code graph
Then ask your agent things like "who calls retry_with_backoff?" or "what
breaks if I change this signature?" — the code_* tools answer from the index
rather than from grep.
See Installation for the other install paths and for pointing witan at a shared, deployed service instead of a local store.
What makes up witan¶
witan-context covers three published packages, all developed in the
mitodl/agent-kit monorepo:
| Package | What it is |
|---|---|
witan-council |
The memory, task, and workflow tools, plus the witan umbrella CLI |
witan-code |
The tree-sitter code graph and cross-repo bridge; mounts as witan code |
witan-core |
Shared internals: the graph client, OIDC/remote transport, observability |
ol-agent-kit |
Meta-package that installs all of the above in one shot |
Storage is omnigraph — a local file, an
s3:// bucket, or a shared omnigraph-server. The same tools work against all
three; only WITAN_MEMORY_URI changes.
For agents reading this site
Every page here has a raw-markdown twin at the same URL with .md
appended — this page is also /index.md. /llms.txt
is a link index into all of them; /llms-full.txt is the
whole site concatenated into one file.