Skip to main content

Local context compiler for AI coding assistants — smallest correct context bundle with rationale

Project description

context-compiler

A local-first MCP server that indexes your Python and TypeScript codebase into a dependency graph and returns the smallest correct context bundle for any coding task — with a one-line rationale for every included file.

No cloud. No LLM API calls. No data leaves your machine.


The problem

When you ask Claude to fix a bug or add a feature, it reads files by guessing which ones are relevant. It over-reads (wastes tokens) or misses the file that actually matters. The bigger the codebase, the worse this gets.

How it works

Your task: "fix the payment retry logic"
         ↓
  Classify → BUG_FIX
         ↓
  Find entry nodes → payment_processor.py (BM25 + docstring matching)
         ↓
  Traverse graph → payment_processor.py + retry_handler.py + test_processor.py
         ↓
  Score + budget → 870 tokens (within 8000 limit)
         ↓
  Return bundle with rationale per file

Everything — classification, traversal, scoring, rationale — is deterministic. Same repo + same task = same bundle, every time.


Getting started

pip install claude-context-compiler
cd /your/project
context-compiler init

That's it. init does three things in one step:

  1. Indexes your codebase into a local dependency graph
  2. Registers the MCP server with Claude Code
  3. Adds context-retrieval instructions to CLAUDE.md

Then open Claude Code in your project — it will call get_context automatically before reading files.

Requires Python 3.11+.

Other commands

# Re-index after large changes
context-compiler index

# Preview what context a task would produce (no Claude needed)
context-compiler explain --task "fix the payment retry logic"

All commands default to the current directory. Pass --repo <path> to target a different path.

Optional: semantic fallback

[ This is not in prod yet; work in progress ] For better matching when task terms don't appear in symbol names (e.g. "fix login flow" → finds authenticate_user):

pip install "claude-context-compiler[semantic]"

Downloads a 23MB ONNX model once, no PyTorch required.


MCP tools

get_context(task, budget=8000)

Returns the minimal file bundle for a coding task.

{
  "files": ["payments/processor.py", "payments/retry_handler.py", "tests/test_processor.py"],
  "rationale": [
    "Included PaymentProcessor as primary task location (matched 'payment')",
    "Included RetryHandler because it is called by PaymentProcessor (depth 1)",
    "Included test_processor.py — test coverage for PaymentProcessor"
  ],
  "confidence": 1.0
}

refresh(changed_files)

Re-indexes the repository after file changes.


What makes it different

Task-type-aware traversal. A bug fix traverses inbound callers and test coverage at depth 2. A new feature traverses imports and sibling modules. A refactor traverses everything at depth 3. No other tool adjusts retrieval strategy based on what you're actually trying to do.

Rationale per file. Every included file has a one-line explanation of why it's there. You can see what Claude will read before it reads it.

Hard token budget. The bundle never exceeds the limit. Partial file inclusion is not permitted.

Local-first. Embedded KuzuDB graph, no server, no port, no auth. Works offline.


Supported languages

Language Parsing Docstrings
Python tree-sitter-python ✓ (first line of docstring)
TypeScript / TSX tree-sitter-typescript ✓ (JSDoc /** */)

Tech stack

tree-sitter · KuzuDB · BM25 (rank-bm25) · rapidfuzz · FastMCP · fastembed (optional)


License

Apache 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

claude_context_compiler-0.4.0.tar.gz (45.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

claude_context_compiler-0.4.0-py3-none-any.whl (28.7 kB view details)

Uploaded Python 3

File details

Details for the file claude_context_compiler-0.4.0.tar.gz.

File metadata

  • Download URL: claude_context_compiler-0.4.0.tar.gz
  • Upload date:
  • Size: 45.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for claude_context_compiler-0.4.0.tar.gz
Algorithm Hash digest
SHA256 20c624dca324dd3cfd59973610b1a20f3603c11d9c5e9f69091732e6f3d7c3b4
MD5 6a508b7e7e08ef728e3e828f1ae718db
BLAKE2b-256 46b779012457d35ea3f291ea36493a3aca975b4cb7f92b54fa768b1f5457c405

See more details on using hashes here.

File details

Details for the file claude_context_compiler-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for claude_context_compiler-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e8c8afe99c7b58702861a283933026093df53a611477418b0a10cd7326e1ee38
MD5 b16b785f3898d936a4f43cf2adb2748e
BLAKE2b-256 d21ed8f32734e6370644d3e31f9286e2217ca7dd01b4e1a08429832e0b9d56ab

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page