Releases: marcodavidd020/cerebro-code-memory
Release list
v0.2.2
Fixes
- Summarizer no longer records hook-error output.
summarize_one()accepted whatever headlessclaude -pprinted on a 0 exit code; a misbehaving hook in the user's environment (e.g. claude-mem's UserPromptSubmit failing) could emit a block notice to stdout that got saved verbatim as a file's summary. Added_is_valid_summary()to reject hook/permission notices before recording (+test). - Synced
__version__in__init__.py(was stuck at 0.1.0).
Published to PyPI via Trusted Publishing on release.
Cerebro 0.2.1
Fix: SessionEnd hook crash under Python 3.9
The cerebro-session-end.py plugin hook crashed at import when run by the system /usr/bin/python3 (3.9.6) because it used PEP 604 union syntax (str | None) without from __future__ import annotations:
TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'
This silently disabled the auto-record multi-brain sweep at session end. Fixed by adding the future import (matches the project convention in CLAUDE.md).
Patch release: no changes to the src/cerebro MCP server — this ships via the plugin/marketplace channel. Version bumped in lockstep across pyproject.toml, marketplace.json and plugin.json.
Cerebro 0.2.0
What's new in 0.2.0
Self-sustaining brain
- Auto-record (SessionEnd hook): re-summarizes files whose summary went stale during the session, so the next session reuses fresh traces instead of re-reading. Opt-in via
CEREBRO_AUTORECORD=N. Newcerebro summarize --stale. - Polyrepo auto-detect: resolves the brain by walking up to the nearest
.cerebro/, so a monorepo subfolder uses the shared root brain automatically — no per-folderCEREBRO_ROOTneeded.
Front↔back visibility
cerebro_endpoints: index of the backend HTTP endpoints (NestJS@Controller/@Get/@Post/ ...) — answers "where isPOST /carts/lineshandled?" without grepping decorators.
Token-saving + anti-hallucination (bundled in the plugin)
cerebro-first(PreToolUse): nudges towardcerebro_searchbefore raw grep/find (once per session).verify-edit(PostToolUse): deterministic syntax / undefined-symbol / type check after edits (Python, JS, Dart).- The plugin now ships the MCP server + these hooks + 5 cerebro-first subagents + a skill.
- Secrets hygiene:
.env*files are never indexed.
Install
claude mcp add cerebro -- uvx cerebro-code-memoryor the full Claude Code plugin:
/plugin marketplace add marcodavidd020/cerebro-code-memory
/plugin install cerebro@cerebro
Cerebro 0.1.0
Persistent code-knowledge memory across AI chat sessions. An MCP server that caches a codebase's structure and your understanding of it in a local SQLite "brain", so new sessions query it instead of re-reading folders — token-cheap and 100% local.
Install
claude mcp add cerebro -- uvx cerebro-code-memoryOr the full Claude Code plugin (MCP server + session hooks + cerebro-first subagents):
/plugin marketplace add marcodavidd020/cerebro-mcp
/plugin install cerebro@cerebro
Highlights
- Structural map — tree-sitter symbols + import graph with PageRank centrality; resolves tsconfig/jsconfig aliases. Languages: Python, JS/TS (JSX/TSX), Dart/Flutter.
- Cached summaries — 1–3 sentence English summaries per file, reused across sessions; hash-based freshness flags stale entries.
- Decision log —
cerebro_note/cerebro_recallcapture the why behind the code. - Optional local semantic search — model2vec embeddings (no torch, no API key, nothing leaves the machine); hybrid semantic + keyword to the exact
path:line. - Architecture insights — impact (blast radius), cycles, orphans, dead symbols, and a name-resolved call graph.
- Git-aware sync across nested repos; HTML dependency graph + Obsidian export; living-docs audit.
Privacy: no torch, no API keys, nothing leaves your machine. Requires Python ≥ 3.10.