lean-ctx
About
LeanCTX is a context runtime that compresses LLM context by up to 99% using tree-sitter AST parsing and shell pattern compression. It provides 58 MCP tools for reading files, running commands, searching code, and exploring directories. Developers should use it when working with codebases or shell operations to drastically reduce token usage.
Quick Install
Claude Code
Recommendednpx skills add yvgude/lean-ctx -a claude-code/plugin add https://github.com/yvgude/lean-ctxgit clone https://github.com/yvgude/lean-ctx.git ~/.claude/skills/lean-ctxCopy and paste this command in Claude Code to install this skill
Documentation
LeanCTX — Context Runtime for AI Agents
LeanCTX optimizes LLM context through 58 MCP tools, 95+ shell compression patterns, and tree-sitter AST parsing for 18 languages. It provides adaptive file reading, cross-session memory (CCP), task-conditioned relevance scoring, and a feedback loop for learning optimal compression.
Setup (run first)
Before using lean-ctx, verify it is installed:
which lean-ctx || bash scripts/install.sh
If the install script is not available locally, install manually:
curl -fsSL https://raw.githubusercontent.com/yvgude/lean-ctx/main/skills/lean-ctx/scripts/install.sh | bash
After installation, run the one-command setup (installs shell hook + editor wiring + rules + skills):
lean-ctx setup
lean-ctx supports two integration styles:
- CLI-redirect (preferred when shell access exists): no MCP tool schema overhead.
- MCP (required for some IDE extensions): cached reads + tools via MCP.
When to use lean-ctx
Always prefer lean-ctx -c <command> over running commands directly when:
- The command produces verbose output (build logs, git diffs, dependency trees, test results)
- You are reading files and only need the structure or API surface
- You want to check token savings for the current session
Shell commands (use instead of raw exec)
lean-ctx -c git status # Compressed git output
lean-ctx -c git diff # Only meaningful diff lines
lean-ctx -c git log --oneline -10
lean-ctx -c npm install # Strips progress bars, noise
lean-ctx -c cargo build
lean-ctx -c cargo test
lean-ctx -c docker ps
lean-ctx -c kubectl get pods
lean-ctx -c aws ec2 describe-instances
lean-ctx -c helm list
lean-ctx -c prisma migrate dev
lean-ctx -c curl -s <url> # JSON schema extraction
lean-ctx -c ls -la <dir> # Grouped directory listing
Supported: git, npm, pnpm, yarn, bun, deno, cargo, docker, kubectl, helm, gh, pip, ruff, go, eslint, prettier, tsc, aws, psql, mysql, prisma, swift, zig, cmake, ansible, composer, mix, bazel, systemd, terraform, make, maven, dotnet, flutter, poetry, rubocop, playwright, curl, wget, and more.
File reading (compressed modes)
lean-ctx read <file> # Full content with structured header
lean-ctx read <file> -m map # Dependency graph + exports + API (~5-15% tokens)
lean-ctx read <file> -m signatures # Function/class signatures only (~10-20% tokens)
lean-ctx read <file> -m aggressive # Syntax-stripped (~30-50% tokens)
lean-ctx read <file> -m entropy # Shannon entropy filtered (~20-40% tokens)
lean-ctx read <file> -m diff # Only changed lines since last read
Use map mode when you need to understand what a file does without reading every line.
Use signatures mode when you need the API surface of a module (tree-sitter for 18 languages).
Use full mode only when you will edit the file.
AI Tool Integration
lean-ctx init --global # Install shell aliases
lean-ctx init --agent cursor --mode cli-redirect # CLI-first (no MCP schema overhead)
lean-ctx init --agent claude --mode cli-redirect # CLI-first (Claude Code)
lean-ctx init --agent codex --mode cli-redirect # CLI-first (Codex)
lean-ctx init --agent opencode --mode cli-redirect # CLI-first (OpenCode)
lean-ctx init --agent copilot # MCP (VS Code / Copilot)
lean-ctx init --agent jetbrains # MCP (JetBrains)
lean-ctx init --agent windsurf # MCP/Hybrid (Windsurf)
Multi-Agent & Knowledge (v2.7.0+)
CLI (works in CLI-redirect and MCP setups):
lean-ctx knowledge remember "value" --category <c> --key <k>
lean-ctx knowledge recall "query"
lean-ctx knowledge search "query"
lean-ctx knowledge export [--format json|jsonl|simple] [--output <path>]
lean-ctx knowledge import <path> [--merge replace|append|skip-existing] [--dry-run]
lean-ctx knowledge remove --category <c> --key <k>
lean-ctx session task "what you're doing"
lean-ctx session finding "what you found"
lean-ctx session decision "what you decided"
lean-ctx session save
If MCP is enabled for your IDE, the same capabilities are also available as MCP tools
(ctx_knowledge, ctx_session, ctx_agent, ...).
Additional Intelligence Tools (v2.19.0)
ctx_edit(path, old_string, new_string)— search-and-replace file editing without native Read/Editctx_overview(task)— task-relevant project map at session startctx_preload(task)— proactive context loader, caches task-relevant filesctx_semantic_search(query)— BM25 code search by meaning across the projectctx_intentnow supports multi-intent detection and complexity classification- Semantic cache: TF-IDF + cosine similarity for finding similar files across reads
Session Continuity (CCP)
lean-ctx sessions list # List all CCP sessions
lean-ctx sessions show # Show latest session state
lean-ctx wrapped # Weekly savings report card
lean-ctx wrapped --month # Monthly savings report card
lean-ctx benchmark run # Real project benchmark (terminal output)
lean-ctx benchmark run --json # Machine-readable JSON output
lean-ctx benchmark report # Shareable Markdown report
MCP tools for CCP:
ctx_session status— show current session state (~400 tokens)ctx_session load— restore previous session (cross-chat memory)ctx_session task "description"— set current taskctx_session finding "file:line — summary"— record key findingctx_session decision "summary"— record architectural decisionctx_session save— force persist session to diskctx_wrapped— generate savings report card in chat
Analytics
lean-ctx gain # Visual token savings dashboard
lean-ctx dashboard # Web dashboard at localhost:3333
lean-ctx session # Adoption statistics
lean-ctx discover # Find uncompressed commands in shell history
Tips
- The output suffix
[lean-ctx: 5029→197 tok, -96%]shows original vs compressed token count - For large outputs, lean-ctx automatically truncates while preserving relevant context
- JSON responses from curl/wget are reduced to schema outlines
- Build errors are grouped by type with counts
- Test results show only failures with summary counts
- Cached re-reads cost only ~13 tokens
GitHub Repository
Related Skills
qmd
Developmentqmd is a local search and indexing CLI tool that enables developers to index and search through local files using hybrid search combining BM25, vector embeddings, and reranking. It supports both command-line usage and MCP (Model Context Protocol) mode for integration with Claude. The tool uses Ollama for embeddings and stores indexes locally, making it ideal for searching documentation or codebases directly from the terminal.
subagent-driven-development
DevelopmentThis skill executes implementation plans by dispatching a fresh subagent for each independent task, with code review between tasks. It enables fast iteration while maintaining quality gates through this review process. Use it when working on mostly independent tasks within the same session to ensure continuous progress with built-in quality checks.
mcporter
DevelopmentThe mcporter skill enables developers to manage and call Model Context Protocol (MCP) servers directly from Claude. It provides commands to list available servers, call their tools with arguments, and handle authentication and daemon lifecycle. Use this skill for integrating and testing MCP server functionality in your development workflow.
adk-deployment-specialist
DevelopmentThis skill deploys and orchestrates Vertex AI ADK agents using A2A protocol, managing AgentCard discovery, task submission, and supporting tools like Code Execution Sandbox and Memory Bank. It enables building multi-agent systems with sequential, parallel, or loop orchestration patterns in Python, Java, or Go. Use it when asked to deploy ADK agents or orchestrate agent workflows on Google Cloud.
