Your codebase, with a memory of why.
vibe-cognition is a fully local MCP server that captures your project's decisions, failures, discoveries, constraints and patterns as Claude works — then injects that context into every future session. It lives in your repo, travels with your team, and never touches a third-party server.
# needs uv (https://astral.sh/uv) — it handles Python for you $ claude plugin marketplace add https://github.com/Haagndaazer/colton-claude-plugins $ claude plugin install vibe-cognition@coltondyck # restart Claude Code. first start installs deps (~60s) # and downloads a ~250MB local embedding model, once. # then: ask Claude to run get_status, or just start working.
Memory across projects. Many agents, zero conflicts.
Load another project's memory
Working on the app but need to know why the API team dropped a field? Load that repo's cognition graph read-only and search it alongside your own. Decisions, failures and constraints from sibling projects become context, not folklore — and the embedding-model guard tells you exactly how much to trust the match.
Many agents, reading and writing at once
Run a manager and four subordinates against the same project and they all record and search simultaneously — no locks to fight over, no corrupted graph, no merge conflicts. The journal is append-only and every node is content-addressed, so concurrent writers simply interleave. Git merges it like any other log.
Local only. Source-controlled. Shared with your team, not with us.
- Nothing leaves your machine. Embeddings, vector search, the graph and the dashboard all run locally. There is no Acrylic Code server in the loop, no account, no API key. The only optional network call is a once-a-day read-only version check to GitHub — and you can turn it off.
- Built to be committed to git. The cognition journal is a plain file in your repo. Commit it, branch it, review it in pull requests like any other source. Knowledge moves with the code, not with a SaaS subscription.
- Shared cognitive context for the whole team. When a teammate clones the repo, their Claude starts with the same history: what was decided, what failed, what's off-limits and why. New people — and new agents — stop re-learning the hard way.
- People and provenance. Register who's on the team; every node carries who recorded it, whether a human or an agent, so you can weigh context by its source.
Not what the code does. Why it's like that.
Git stores every change. Nobody stores the reasons. vibe-cognition records decisions (with the alternatives you rejected), failures, non-obvious discoveries, constraints, incidents, patterns, reusable workflows and tasks — and links them into a graph Claude can search in natural language: "why did we drop the Live API?"
See the whole brain of the project — locally.
Type /vibe-dashboard in Claude Code and a read-mostly web console opens on 127.0.0.1, token-protected, nothing leaving your machine. It's organized like a project tool, not a hairball: seven views, one shared detail drawer.
- Workflows — HEAD-only procedure cards with their version chain (v3 ⟵ v2 ⟵ v1) inline.
- Documents — every stored spec/PDF with freshness (unchanged / modified / missing), cited-by count and a download link.
- Activity — a chronological feed across decisions, fails, discoveries, incidents and patterns, filterable by type and author.
- People — the registered roster with role and seniority; every node shows who recorded it, human or agent, verified or not.
- Detail drawer — click anything: full node, provenance, related nodes by edge type, and a conflict banner if it's been contradicted or superseded.
- Search — natural-language search across the whole history, powered by the local embedding index.
Everything bundled. Nothing to configure.
29 tools
Record, search, trace chains of reasoning, manage tasks and workflows, store documents, register people — all from inside Claude Code.
Context at session start
A SessionStart hook injects active constraints, recent patterns, decisions and incidents, so Claude opens every session already briefed.
A background curator
Subagents add semantic edges — led_to, supersedes, contradicts — hunt for conflicts, and summarize clusters. You never hand-author a graph.
Semantic, and local
Natural-language search over the whole history using an on-device embedding model (nomic-embed, or Ollama if you prefer). No cloud round-trip.
A local dashboard
Overview, kanban board, workflows, documents, activity feed, people, and the graph itself — on 127.0.0.1, token-protected, read-mostly.
Backfill from git
Already have history? Generate episodes from commits you haven't captured yet, watermark-based, however far back.
Record. Curate. Recall.
Record
As Claude works it calls cognition_record for decisions, fails and discoveries, citing the commit or issue. Documents you hand it are stored and linked too.
Curate
Run /vibe-curate. A background orchestrator proposes and commits semantic edges and cluster summaries — so the graph stays a graph, not a pile of notes.
Recall
Next session, the hook briefs Claude automatically, and cognition_search answers "how did we get here?" before anyone re-litigates a settled decision.
Stop re-explaining your codebase to Claude.
Free, open source, local. Install from the Acrylic Code marketplace and your next session starts with context.
Install vibe-cognitionPairs with teammate-comms for multi-agent teams · All plugins