Open Source · Apache-2.0 · v0.11.0

An advisor with a memory
that compounds.

Engrams anchors every decision, pattern, and trade-off to your code as a living knowledge graph. On day one it fetches. By week four it advises — warning you before you repeat a mistake, surfacing the rationale behind any line, and telling your agent what breaks if it touches this.

The hidden tax

Every conversation starts blind

Without memory, your AI repeats mistakes you already fixed, ignores conventions you already decided, and wastes your time re-explaining context it should already have.

Without engrams
With engrams

Every AI conversation starts cold — you re-explain your project, decisions, and conventions every time

One command rehydrates the full context your agent needs — decisions, patterns, open threads, what breaks if you touch this file

Important architectural decisions and trivial notes rank identically — the AI wades through noise

Important, recent, frequently-consulted decisions surface first via retrieval scoring

Old obsolete decisions pollute context forever

Memory self-cleans: unused records fade into the archive automatically

You hope the AI reads your conventions. It usually doesn't

The system surfaces constraints automatically when the AI edits a relevant file

Convention violations land in your codebase — caught in review if you're lucky

Violations are blocked at edit time and commit time — they never land

The difference

A database answers. An advisor anticipates.

Query tools wait for you to ask the right question. Engrams builds enough context to raise its hand first.

It warns you first

You're about to hand-rollback a migration. Engrams surfaces decision #6 — "use the migrate command, never manual SQL" — before you repeat a mistake it already watched you make.

It explains the why

Any line of code traces back to the trade-off that created it. Ask why the graph uses PageRank and get the rationale, the rejected alternatives, and the incident that forced it.

It protects the boundaries

Every refines and depends_on link is a tripwire. Touch a load-bearing decision and engrams tells your agent exactly what else moves.

For you

Three commands you'll actually run

Your agent does the remembering. You get the briefing.

$ engrams prime
{"briefing": "3 active threads, 1 blocked…",
 "relevant_decisions": [ … ]}

prime — the morning briefing

One command rehydrates everything relevant to what you're about to touch. Start every session informed, not cold.

Briefing commands →
$ engrams report
→ dashboard.html  (open in browser)

report — see the whole project

A static HTML dashboard of decisions, open threads, and graph health. The state of the work at a glance.

See a report →
$ engrams check
✗ src/ops: pattern "no-throwaway-collect" violated

check — enforce what you decided

Turn logged patterns into checks that run in CI. The standards you agreed on actually hold.

Enforcement →
Proof, not promises

Drag engrams' own memory around

Every node is a real decision or task from building this tool. Gold nodes are decisions; the bright ones are the load-bearing few everything else depends on.

Decision Pattern Progress
Loading graph…
Drag to orbit · scroll to zoom · click a node to inspect it

And this is just the knowledge layer — the full graph, with code topology and git-derived links, spans 802 edges.

How it compounds

The advisor loop

  1. 1

    Store

    Your agent logs each decision and pattern as it works — no extra effort from you.

  2. 2

    Link

    It connects new knowledge to old: refines, supersedes, depends_on.

  3. 3

    Surface

    prime and relevant push the right context to the front at the right moment.

  4. 4

    Act

    You and your agent decide with full memory. The graph gets denser. Repeat.

How the advisor works →

Start your graph tonight.
Feel the difference in a week.

cargo install engrams-cli

or brew install stevebrownlee/tap/engrams