About NeuralMind

Open-source semantic code intelligence for AI agents. Built for cost efficiency, security, and compliance.

By the numbers — measured, not claimed

Every figure below is produced by code in the repo and gated in CI, so it can't silently regress. Where a number is a real-repo extrapolation or an estimate, it says so. Reproduce them all with python -m tests.benchmark.run and the evals/ harnesses — details on the Benchmarks page.

What we don't claim: the CI numbers come from a tiny fixture (they prove the mechanism and catch regressions, not a real-repo ceiling); TurboQuant is an approximate index whose compression win matters at scale; 40–70× is a range, not a fixed guarantee. Point it at your own repo to see your ratio.

Who it's for — and who it isn't

Reach for NeuralMind if you drive an AI coding agent (Claude Code, Cursor, Cline, Continue, or your own MCP/OpenRouter stack) over a non-trivial codebase, you want one shared memory across those agents, you're watching LLM spend on repo-level questions, or you work in a regulated/air-gapped setting that rules out SaaS code search.

You probably don't need it if your repo is under ~5K tokens (just paste it in), you don't use an agent, or you only want inline completions (use Copilot/Cursor directly).

Set expectations honestly: the 40–70× token reduction is a real-repo range — CI measures a conservative 6.2× on a tiny fixture, so prove it on your own code. ChromaDB is still the default (the slim, ChromaDB-free backend is opt-in while it bakes). It's a fast-moving, single-maintainer beta with a lot of surface area — pin a version for CI. The compressed backend is approximate, with parity gated on the reference fixture rather than measured at large-repo scale. If those trade-offs are fine, the upside is real and the receipts are in the repo.

Where NeuralMind is going next — the eval-first roadmap

A staged plan — the first increment (v0.13.0) has shipped. After the v0.10→v0.12 ergonomics + diagnostics work, the current arc is about proving and future-proofing the core. The spine is simple: measure, then change, then measure again.

The arc (v0.13 → v0.16)

A decision we've made for the team story

Committable, opt-in team/shared memory is approved in principle: a reviewed team baseline that travels in your git repo (no SaaS, no exfiltration), overlaid by each developer's private personal layer. Its day-one onboarding lift will be measured by the v0.13 harness before the design is locked — we sign off on data, not assertion.

Read the full next-release plan & feature map → · Roadmap →

What's New in v0.25.0 — one learning system: the synapse layer

NeuralMind now has a single learning signal. The old learned_patterns cooccurrence reranker is removed, and neuralmind learn becomes an exit-0 deprecation no-op. The Hebbian synapse layer — which already learns continuously from your queries, edits, and tool calls, and lets unused edges decay — is now the only thing that adapts retrieval to how you actually use the codebase. One system instead of two means automatic learning instead of a manual step, and decay instead of staleness. This is a removal, not a regression: warm-path recall is synapse-driven exactly as it was in v0.24.

The A/B evidence

A 2×2 on the benchmark fixture measured top-k hit rate with the reranker on vs. off, crossed with synapses on vs. off. The reranker moved the number by 0.0 points in both rows (71.7% → 71.7% cold, 83.3% → 83.3% warm), while the synapse layer alone moved it by +11.6 points. The reranker was also runtime-inert on the warm path — the synapse boost re-sort discarded its ordering anyway — required the manual neuralmind learn step to populate, and went stale between runs. The learning that matters is the synapse layer's, and that is the signal NeuralMind keeps.

What the agent actually sees

Why this matters

Two learning mechanisms that nominally do the same job is two places for behavior to drift, two things to document, and two things to keep honest. The A/B settled which one earns its keep. Automatic beats manual: the reranker only improved with a neuralmind learn step you had to remember to run, while the synapse layer learns as you work. And decay beats staleness: the reranker's JSON captured a snapshot that aged between runs, whereas the synapse layer continuously reinforces what's used and decays what isn't, so recall tracks current usage instead of a stale batch. To see what's been learned, use neuralmind stats or neuralmind memory inspect.

Full v0.25.0 release notes →

What's New in v0.24.0 — memory namespaces & branch isolation

The learned synapse layer is now namespace-aware (PRD 4). Branch experiments, your personal long-term memory, an imported team baseline, and throwaway session scratch live in separate namespaces inside the same store — branch:<name>, personal, shared, ephemeral — so a weekend spike on a feature branch can't pollute what the agent learned about main. Reads stay smart by default: a transparent merged view prioritizes recent branch-local context while retaining long-term priors, with the weighting published as three constants. Existing learned memory migrates in place, losslessly — everything you've taught NeuralMind becomes the personal namespace, and on the default branch behavior is byte-identical to v0.23.

What ships

Why this matters

A learned usage memory is only trustworthy if the wrong lessons can be contained and removed. Namespaces give branch experiments a place to live and die, give a team a clean channel to ship baseline knowledge to a new teammate (shared at 0.5× — informative, never louder than your own experience), and give throwaway exploration a memory that forgets itself. And because the migration is the riskiest part of touching a memory store, it's a single transaction with rollback-on-error and a no-data-loss test — the pattern future schema bumps follow.

Full v0.24.0 release notes → · Branch-isolated memory walkthrough →

What's New in v0.23.0 — versioned IR, quality harness, debug traces, and a local daemon

Four future-proofing foundations land together. PRD 1: NeuralMind now builds a canonical, versioned intermediate representation (IR) of your code graph and validates it on every build — a new neuralmind validate command checks that contract and reports schema problems, decoupling retrieval/memory/UI/MCP from any one graph producer's field names. It's a Phase-1, hidden-adapter rollout: the embedder still reads graph.json exactly as before, so nothing about retrieval changes. PRD 2: a new neuralmind benchmark --quality mode proves retrieval finds the right code — precision@k / recall@k / MRR / answerability over golden suites — and fails CI on a regression. PRD 3: neuralmind query --trace shows why a result came back — per-layer candidates, cluster scoring with vector-vs-synapse attribution, synapse boosts, and final hits. PRD 5: an experimental neuralmind daemon holds project state warm so repeat queries skip cold backend init, with the CLI auto-preferring it and falling back to direct mode.

What ships

Why this matters

Retrieval no longer has to assume one producer's exact JSON shape — the IR is the single contract, and the graphify/tree-sitter reader is just the first adapter behind it. validate turns "why is retrieval weird?" debugging into a one-line schema check, surfacing dangling edges and orphaned nodes before they cost a query. And the quality harness closes the loop the token-reduction benchmark left open: it proves the context NeuralMind selects is relevant, not just cheap, so a ranking or synapse-recall change that quietly drops the right files fails CI instead of shipping. The embedder still consumes graph.json today; future phases dual-write, then make the IR the read path.

Full v0.23.0 release notes →

What's New in v0.22.0 — ChromaDB-free by default (when available)

import neuralmind no longer requires ChromaDB, and the default backend is now auto. v0.21.0 made a complete ChromaDB-free retrieval path (the turbovec backend). v0.22.0 starts switching everyone onto it — safely: the package imports without ChromaDB, and auto prefers turbovec when its deps are installed, else falls back to chroma. Nothing breaks for a plain install, and the old ChromaDB index is never deleted.

What ships

Why this matters

A plain pip install neuralmind (no [turbovec] extra) resolves auto → chroma, so existing installs and CI are unchanged; users who added the extra get the ChromaDB-free path by default, letting it bake before v0.23 makes it universal. The flip is deliberately softturbovec is still an optional extra and chromadb is still a core dependency. This release removes only the import-time requirement and makes turbovec the preferred default; folding the turbovec deps into core and dropping chromadb are the staged next steps (v0.23).

What's New in v0.21.0 — ChromaDB-free retrieval

NeuralMind can now embed and search with zero ChromaDB. v0.20.0 moved vector search to TurboVec (Google Research's TurboQuant compressed index); v0.21.0 moves the last ChromaDB-only job — embedding — into a bundled module, so the opt-in turbovec backend is fully self-contained.

What ships

Why this matters

ChromaDB drags in a large dependency tree and the recurring CVE-2026-45829 advisory surface. This release is the foundation for retiring it entirely — making the package import ChromaDB-free, flipping the default to turbovec with a migration, and dropping the dependency are the staged next steps (v0.22–v0.23).

What's New in v0.20.0 — measure the onboarding lift

The static code graph is commoditizing; the learned synapse layer is the moat. v0.20.0 turns that moat into a number: neuralmind eval --onboarding measures whether an agent that inherits a committed team memory retrieves better on its first queries than a cold agent with none.

What ships

Why this matters — the moat

AST-derived code graphs are table stakes now. NeuralMind's durable edge is usage memory — the synapse layer that learns what your team edits together. This release makes that edge measurable and regression-gated, formalising the self-benchmark's Phase-3 synapse A/B into a committed-baseline eval.

Full v0.20.0 release notes →

What's New in v0.19.0 — one-command MCP setup

Distribution is half the moat. The static code graph is commoditizing; what NeuralMind has that a static graph can't copy is usage memory (the learned synapse layer) plus being the memory an agent actually reaches for. v0.19.0 makes the latter frictionless: one command registers NeuralMind's MCP server with every agent you have installed.

What ships

Why this matters — the moat

AST-derived code graphs are becoming table stakes. NeuralMind's durable edge is usage memory + distribution. The self-benchmark already measures the learned uplift directly (Phase 3 — synapse-recall A/B: top-k hit rate 71.7% → 83.3%, +11.7 points with recall on, at a neutral token budget). v0.19.0 invests in the other half — making NeuralMind trivial to plug into every agent, so it sees more usage and learns more.

Full v0.19.0 release notes →

What's New in v0.18.0 — incremental per-file graph updates

Stay fresh without rebuilding. Picking up a code change used to mean re-running neuralmind build — a whole-repo re-parse. v0.18.0 re-parses just the file you edited and re-embeds only its nodes, leaving everything else byte-for-byte untouched.

What ships

Why this matters

The built-in backend was already file-by-file and the embedder already content-hashed; v0.18.0 closes the loop so the parse is incremental too and it happens automatically as you work. The graph contract is unchanged — retrieval, synapses, the graph view, and MCP tools just see a fresher graph.

Full v0.18.0 release notes →

What's New in v0.17.0 — optional SCIP precision pass

Compiler-accurate edges, where you have them. The built-in backend resolves calls/inherits edges heuristically — by name — which is wrong when two classes both define, say, handle(). If your repo has been indexed by a SCIP tool (scip-python, scip-typescript, scip-go), v0.17.0 can fold that compiler-accurate resolution in.

What ships

Why this matters

Tree-sitter gives breadth (66+ languages, no build); SCIP/LSP give compiler-grade precision per language. v0.17.0 is the proven hybrid: tree-sitter by default, exact edges where a SCIP index exists — both behind the same seam, so the retrieval stack is untouched. No runtime change unless you opt in.

Full v0.17.0 release notes →

What's New in v0.16.0 — multi-language (TypeScript + Go)

The built-in backend is no longer Python-only. v0.16.0 takes the bundled tree-sitter backend multi-language: neuralmind build . now indexes Python, TypeScript, and Go out of the box, with no graphify install — and a mixed-language repo is indexed in one pass.

What ships

Why this matters

The seam — not the parser — is the durable asset. Adding a language is now registering a pair of functions, with the parity gate guaranteeing each new grammar holds up before it ships. The retrieval stack downstream of graph.json is untouched; it simply sees more of the world. No runtime change for existing Python or graphify installs.

Full v0.16.0 release notes →

What's New in v0.15.0 — no graphify needed

The biggest barrier to trying NeuralMind on your own repo is gone. Until now you had to install a second, external tool (graphify) and run it before neuralmind build would do anything. v0.15.0 ships a built-in tree-sitter graph backend, so pip install neuralmind && neuralmind build . just works.

What ships

Why this matters

Removing the external-tool dependency cuts the #1 onboarding drop-off and a single-maintainer bus-factor risk, and unblocks a cleaner fresh-install on more platforms. The static code graph is commoditizing across the industry; making the producer pluggable — and gating every swap on measured retrieval quality — is how NeuralMind keeps the part that's actually unique (the learned synapse layer) honest. No runtime change for existing graphify-based installs.

Full v0.15.0 release notes →

What's New in v0.14.0 — measure faithfulness

The measurement foundation became a command. neuralmind eval turns "does NeuralMind's memory make an agent's answers better, not just shorter?" into a reproducible number — and, like everything here, the default judge is 100% local.

What ships

Why this matters

NeuralMind has always led with a token-reduction number. v0.14.0 adds the harder, more honest one: quality. It's a self-test against the bundled reference fixture today (like neuralmind benchmark), and the fitness function the rest of the roadmap — graph-backend decoupling, team memory — is validated against. No runtime change to your install.

Full v0.14.0 release notes →

What's New in v0.13.0 — measurement foundation

A foundation release: the scaffolding to prove the memory helps, not just claim it. v0.13.0 doesn't change what your install does at runtime — it builds the machinery to measure whether NeuralMind makes an agent's answers better (faithfulness), and to measure retrieval quality beyond Python. Plus a documentation process so the docs stop drifting.

What ships

Why this matters

NeuralMind's headline claims — cheaper, and the memory makes answers better — deserve to be measured, not asserted. v0.13.0 is the first brick: an honest, offline, reproducible way to score answer faithfulness, and fixtures that extend quality coverage past Python. Nothing here is a runtime feature; all of it is the fitness function the rest of the eval-first roadmap builds on. No migration, no new dependencies, no behavior change for existing installs.

Full v0.13.0 release notes →

What's New in v0.12.0 — install doctor

One command tells you exactly what's wired up and what isn't. NeuralMind has accumulated moving parts — a code graph, a semantic index, a synapse memory db, Claude Code hooks, an MCP server, a query-memory consent flag. When one isn't in place, the old symptom was a stack trace or a silent no-op. v0.12.0 makes the setup legible.

What ships

Why this matters

Most NeuralMind support friction is setup friction: a piece isn't installed, and the failure doesn't say which one. doctor turns "it doesn't work" into a checklist with fixes — for the human dropped into a fresh clone, and for the agent that has to verify its own environment before relying on the tool. No new dependencies, no behavior change for working installs.

Full v0.12.0 release notes →

What's New in v0.11.0 — directional synapses

The brain-like layer now learns what comes next, not just what goes together. The Hebbian co-activation signal that's powered NeuralMind since v0.4.0 has always been symmetric: nodes that fire together wire together, no ordering. v0.11.0 adds a parallel directional signal — after touching file A, you typically touch file B with probability p.

What ships

Why this matters

The existing undirected synapse graph answers association: "given this file, what other files belong to the same thought?" Directional transitions split that signal into before (prefetch this file's skeleton when the implementation file is loaded) and after (remind the agent to update this when the implementation changes). Same source data — every activate_files call writes to both the undirected and directional tables — two views.

No migration. The new table is created on first connection. Existing co-activation edges in synapses.db are untouched. Disable by ignoring the new API — the watcher still records transitions in the background, but if nothing reads them, they just sit there decaying like any other edge.

Full v0.11.0 release notes →

What's New in v0.10.0 — agent ergonomics

Three friction-removing changes to the PostToolUse Bash compressor — the surface AI coding agents see on every shell call. Built from real session feedback where the previous footer forced a second query round-trip just to recover dropped middle content.

What ships

Why this matters

The PostToolUse compressor is the most-visible surface NeuralMind exposes — the agent sees it on every Bash call. v0.10.0 converts the common "I need to see the dropped middle" friction from a re-run loop into a single cache lookup, and turns the footer text itself into actionable messaging: concrete benefit visible, concrete affordance, clear escape hatch.

No migration. Same graph.json, same synapses.db, same hooks. The new cache file is additive; disable via NEURALMIND_OUTPUT_CACHE=0.

Full v0.10.0 release notes →

What's New in v0.9.0 — enterprise-ready

Phase 3 of the release arc. Turn the v0.6.0 → v0.7.0 → v0.8.0 foundation into something a CTO, security team, or regulated-industry operator can actually adopt.

What ships

No production code changes — pure CI + docs. No migration. Same graph.json, same synapses.db, same hooks.

Full v0.9.0 release notes →

What's New in v0.8.0 — always-on

neuralmind watch and neuralmind serve are first-class production processes now. The synapse store accumulates 24/7 whether you're at the keyboard or not, and the graph view is always listening on 127.0.0.1:8765.

What ships

The canvas still requires the per-session auth token by default; pass --no-auth in the templates or read the tokenized URL from the service logs.

Full v0.8.0 release notes →

What's New in v0.7.0 — install anywhere

Distribution release, not a features release. The brain is the same brain. What changed is how many ways you can install it.

Five install paths

All five paths deliver the same package: the neuralmind CLI, the neuralmind-mcp server (for Claude Code, Cursor, Cline, Continue, and any MCP client), and the live graph view from v0.6.0. Smoke test is identical: neuralmind --help works everywhere; python -c "import neuralmind" works for pip / uv / source paths.

Also in v0.7.0

No migration. Same graph.json, same synapses.db, same hooks. Upgrade is whatever your install path's --upgrade equivalent is.

Full v0.7.0 release notes → · Install paths walkthrough →

What's New in v0.6.0 — see the brain learning, live

The pitch flipped. v0.5.4 made the brain inspectable. v0.6.0 makes it legible. neuralmind serve now streams a live activity feed: synapse + file events pulse across the canvas in real time as the agent and the codebase interact. The graph stops being a static map and becomes a window into the hippocampus learning your codebase.

"You can sit there, in real time, and watch the hippocampus learn your codebase. That's the moment when 'code RAG' turns into 'associative memory for your codebase.'"

Headline changes

The shared-brain unlock

The cross-process JSONL bridge means that if you run Claude Code, Cursor, OpenClaw, and Hermes-Agent against the same project — they reinforce the same synapse store, and the v0.6.0 graph view shows the union of their activity. Pre-v0.6.0, the synapse store was shared but the experience wasn't — three tools talking to a black box. Now the brain is visibly one brain. See the multi-agent walkthrough.

No migration: same graph.json, same synapses.db, same hooks. Upgrade is pip install --upgrade neuralmind. Then neuralmind serve and save a file — that's the demo and the verification in one motion.

Full v0.6.0 release notes →

Mission

NeuralMind exists to solve a fundamental problem: AI agents waste tokens loading raw source code when they only need small, semantic context.

"Why load 50,000 tokens of raw source to answer 'How does authentication work?' when you could use 800 tokens of smart, indexed context?"

Our mission is to make semantic code intelligence accessible, affordable, and trustworthy—without data exfiltration, vendor lock-in, or compliance headaches.

The Problem We Solve

For Individual Developers

For Teams & Enterprises

How We Solve It

Four-Phase Architecture

Phase 1 — Smart Retrieval: Instead of loading entire files, NeuralMind uses a 4-layer semantic index to surface only the ~800 tokens of code your question actually needs.

Phase 2 — Output Compression: PostToolUse hooks compress Read, Bash, and Grep output 88–91% smaller before agents see it.

Phase 3 — Brain-like Memory (v0.4.0): A second brain runs alongside the LLM — a persistent weighted graph that learns associations between code nodes from how the agent and the codebase actually interact. Stronger connections form between code that gets used together, weaker ones decay, and the agent's prompts trigger spreading-activation recall over the learned graph.

Phase 4 — Graph View (v0.5.4, made live in v0.6.0): neuralmind serve renders the whole system as an Obsidian-style force-directed graph in the browser. Structural edges, the learned synapse overlay, backlinks, a semantic quick-switcher, and one-click open-in-editor. v0.6.0 adds a live activity feed — synapse and file events pulse on the canvas in real time, with a cross-process JSONL bridge that lets Claude Code, Cursor, OpenClaw, and Hermes-Agent all feed the same canvas. The brain stops being a black box — you can finally watch what it's learning, live.

Result: 40–70× per-query token reduction (50K+ tokens of raw source compressed into ~800 tokens of structured context) and 40–70% bill drops on real codebases. Retrieval that gets sharper the longer the system runs on a codebase.

Enterprise Ready

Technical Innovation

4-Layer Progressive Disclosure

NeuralMind doesn't load code randomly. It uses a 4-layer index that progressively surfaces context:

The agent gets exactly what it needs, in order, without bloat.

Learnable Patterns

NeuralMind learns from how you actually use the codebase. Over time, the brain-like synapse layer (described below) improves retrieval quality based on which code you query, edit, and run tools over together — automatically and continuously, with no external training and no manual step.

Brain-like Synapse Layer (v0.4.0)

The newest layer is an associative memory inspired by how brains actually learn. NeuralMind tracks weighted "synapses" between code nodes, and applies three classic neuroscience principles:

The synapse store is local SQLite, project-scoped, and inspectable. It exports a markdown summary that Claude Code's auto-memory system loads natively, so the learned associations show up in every session — no MCP tool call required.

Graph View — neuralmind serve (v0.5.4, made live in v0.6.0)

The agent-facing brain is now also a human-facing tool. A stdlib HTTP server renders a force-directed graph of the entire codebase in the browser — structural edges (calls and imports) drawn together with the learned synapse overlay, where edge thickness encodes weight. Each node has Obsidian-style backlinks and outgoing-links panels, a "synaptic neighbours" list with weights and activation counts, and a one-click "open in editor" button (smart support for VS Code, Cursor, vim, sublime, JetBrains). A semantic quick-switcher lets you type a phrase and jump straight to the matching node. Zero CDN dependencies; per-session access token bound to 127.0.0.1.

v0.6.0 adds a live activity feed. The server now exposes a long-lived /api/events SSE stream subscribed to an in-process event bus. Every SynapseStore.reinforce() call and every coalesced file-edit batch publishes an event; affected nodes pulse on the canvas with short animated radial rings, and a sidebar log shows the most recent ~80 events. A cross-process JSONL bridge (<project>/.neuralmind/events.jsonl) lets a separate neuralmind watch daemon, a Claude Code session, an OpenClaw call, or any other process feed the same canvas. One canvas, every agent. Opt out with NEURALMIND_EVENT_LOG=0.

Why it matters: pre-v0.6.0 the graph view was inspectable but static — you had to refresh to see new state. With the live feed, you can sit there in real time and watch the hippocampus learn your codebase. "The agent has a learning memory" stops being a claim and becomes a visual.

Compliance-First Design

Every query is logged with full provenance: which code was retrieved, why, which embeddings were used, code state (git commit). Export for NIST AI RMF, SOC 2, GDPR, HIPAA.

Open Source & Community

NeuralMind is MIT licensed and fully open source. No hidden business model, no vendor lock-in, no surprise rate limits.

View on GitHub →

Get Involved

Status & Roadmap

Current Release: v0.19.0 — One-command MCP setup

The latest release leans into the distribution moat: neuralmind install-mcp --all auto-detects your installed agents (Claude Code, Cursor, Cline, Claude Desktop) and registers NeuralMind's MCP server with each — a non-destructive, idempotent merge. The learned synapse layer's uplift is already measured by the self-benchmark's Phase-3 A/B (top-k hit rate 71.7% → 83.3% with recall on). See the v0.19.0 release notes or the summary above.

Future Releases

See the next-release plan → · Roadmap →

Why NeuralMind?

Not Affiliated with NeuralMind.ai

This is an independent, open-source project. No relationship to NeuralMind.ai (a different company). We chose the name because it reflects our philosophy: a "neural" index that learns your codebase.

Compared to Alternatives

See detailed comparisons →

Core Values

Privacy First

Your code stays local. Zero cloud calls, zero telemetry, zero data exfiltration.

Transparency

Open source, MIT licensed. Every decision is auditable, every result is explainable.

Compliance Ready

Built for regulated industries. NIST AI RMF, SOC 2, GDPR, HIPAA friendly.

Interoperable

Works with your tools. Claude Code, Cursor, ChatGPT, local LLMs—not locked in.

Efficient

Smart context reduces per-query tokens 40–70×. Lower costs, better answers.

Community Driven

Built in public. Issues, discussions, and contributions welcome.

Getting Started

Ready to reduce your per-query token costs by 40–70×?