yigraf

The memory your coding agent doesn't have.

yigraf keeps one connected graph over your code, what it's for, what's left, and why it ended up this way โ€” and hands your agent exactly the right slice, right when it acts. It stops starting over.

โฏ pipx install yigraf
v1.0ยทlocal, no networkยทMIT
Why

Your agent is brilliant and amnesiac.

Every /clear wipes what it knew. And the code never told the whole story โ€” it records what runs, never why it's shaped that way or what it must guarantee. So every session your agent relearns the repo, re-reads files it already understood, and sometimes undoes decisions you settled weeks ago. yigraf remembers, so it doesn't.

What it holds

Four questions source code can't answer.

The ones an agent loses on every reset โ€” kept as a living graph beside your code, with the links between them doing the real work.

structureWhat is this?Your code โ€” files, symbols, calls. Parsed across 16 languages, hashed so reformatting isn't "change."
intentWhat is it for?The specs and guarantees the code has to uphold โ€” the SHALL/MUST contracts it serves.
planWhat am I doing?Goals and tasks, and exactly which symbols implement each one.
memoryWhy is it this way?The decisions, the reasoning, and the roads you deliberately didn't take.

A task points at the code that implements it. A decision is pinned to the code it concerns. So when the code drifts away from what was supposed to hold, yigraf notices โ€” ask it what governs this file? and it can answer.

Using it

You don't run yigraf. You talk to your agent.

It listens on your repo and speaks up at the right moments โ€” but you can always prompt it in plain language.

[Y๐š’๐š๐š›๐šŠ๐š] โ€” your-repo โ€” agent session
โฏBefore you change the auth flow, ask yigraf what governs it.
yigraf context "auth flow"
intent session-expiry โ€” SHALL expire a session after 30m idle
memory chose a monotonic clock โ€” wall-clock skews under NTP
plan task auth/1 โ€” add idle-timeout ยท implements session.refresh
Got it โ€” I'll keep the 30-minute idle contract and stay on the monotonic clock.
โฏCheck what yigraf's drifts are about.
yigraf drift
โš  soft session.refresh changed since task auth/1 was anchored
The refactor kept the idle-timeout behavior โ€” the contract still holds. Re-anchoring the link.
โฏRemember why we did this, and what we ruled out.
Saved. It'll resurface the next time someone touches session.refresh.
Reaches your agent

Two channels, every host.

Pull

Your agent asks yigraf for the governing slice over MCP. Works with every MCP-capable host โ€” the universal floor.

Push

yigraf injects the slice the moment your agent edits a file, at the best fidelity your host's hooks allow.

Claude Code ยท edit hooks Codex ยท edit hooks Cursor ยท rule Windsurf ยท rule Kilo ยท rule Antigravity ยท rule any MCP host ยท pull