
Claude Memory Compiler
github.com/coleam00/claude-memory-compiler- Category
- AI Agents
- Rank
- No. 1005Tools index
- Pricing
- Open Source
- Type
- TOOL
- Builder
- coleam00
- GitHub
- 1.3k stars
- Date
About
Persistent memory for Claude Code that evolves with your codebase — hooks capture sessions, the Agent SDK extracts decisions, an LLM compiler organizes them.
What it does
Claude Memory Compiler turns useful details from coding conversations into a local Markdown knowledge base. It captures recent dialogue at session boundaries, summarizes worthwhile decisions and lessons, groups daily records into linked concept articles, and feeds an index plus recent notes into later Claude Code sessions. Questions are answered by selecting relevant articles from that index.
Why it's ranked here
The design is unusually legible and inspectable. Markdown, source links, build logs, and health reports make the stored memory easier to audit than an opaque retrieval service. Automatic capture also reduces upkeep. The catch is substantial dependence on Claude Code and model judgment, while index-guided retrieval deliberately targets personal rather than large knowledge collections.
What's good
The source conversations remain separate from compiled articles, preserving a trail back to the original context. Changed logs are detected with hashes instead of being blindly reprocessed. Capture runs in background processes, with recursion prevention and duplicate-flush protection. The health checker catches broken links, uncompiled sources, stale content, missing backlinks, sparse articles, and possible contradictions.
Tradeoffs
Extraction, compilation, contradiction checks, and question answering depend on model output, so article quality and consistency are not guaranteed by the structural checks. Session capture keeps only recent turns and imposes character limits, which can omit earlier detail. Startup context is also truncated. Retrieval reads the assembled wiki content, and the documentation says a larger collection eventually needs RAG.
How to use it well
Use it for a long-running Claude Code project where decisions, debugging lessons, and recurring conventions otherwise disappear between sessions. Keep daily logs as the source record, compile regularly, inspect health reports, and file back answers that deserve reuse. It does not serve as a general document ingestion system, and it is not the proposed retrieval approach once the collection outgrows an index that fits in context.
Technical notes+
pyproject.toml defines a Python 3.12 project installed with uv and depends on claude-agent-sdk, python-dotenv, and tzdata. .claude/settings.json registers SessionStart, PreCompact, and SessionEnd commands. hooks/session-end.py and hooks/pre-compact.py parse JSONL transcripts, retain up to 30 turns and 15,000 characters, then spawn scripts/flush.py; the pre-compaction path requires at least five turns. scripts/flush.py sets CLAUDE_INVOKED_BY before SDK imports, deduplicates the same session within 60 seconds, writes local logs, and may spawn scripts/compile.py after 18:00 local time. scripts/compile.py grants the agent file editing tools and records source hashes and cost. scripts/query.py loads the entire indexed wiki context and optionally permits writes for filed answers. scripts/lint.py implements six structural checks plus an SDK-based contradiction check. hooks/session-start.py injects the index and recent log, capped at 20,000 characters.
Observed
- Primary language
- Python
- Runtime requirement
- Python 3.12 or newer
- Installation surface
- uv project with a committed lockfile
- Dependencies
- Claude Agent SDK, python-dotenv, and tzdata
- Interfaces
- Claude Code hooks and command-line scripts
- Storage format
- Local Markdown articles, daily logs, JSON state, and Obsidian-style wikilinks
- Retrieval approach
- Index-guided LLM selection without embeddings or a vector database
- Configured hook events
- SessionStart, PreCompact, and SessionEnd
Read from README.md, pyproject.toml, scripts/lint.py, scripts/flush.py, scripts/query.py, scripts/utils.py, scripts/config.py, scripts/compile.py, hooks/pre-compact.py, hooks/session-end.py, hooks/session-start.py, uv.lock, AGENTS.md, .claude/settings.json.
What it can do
Capture coding sessions persistently
Development sessions with Claude Code → Stored session data and interactions
Extract development decisions automatically
Captured coding sessions → Identified decision points and choices made
Organize extracted decisions into structured memory
Raw decision data from sessions → Compiled and organized memory structure
Evolve memory based on codebase changes
Current codebase state and historical decisions → Updated memory reflecting code evolution
Hook into Claude Code development workflow
Active Claude Code sessions → Real-time session monitoring and data capture
Compile persistent context for future sessions
Historical decisions and codebase patterns → Contextual memory for enhanced development
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.