Disclosure:we make ContextPruner, one of the tools below. We've described every tool by what it actually does — including the things others do that we don't.
They do three different jobs
The quickest way to make sense of this space is to sort the tools by the job they do, then pick the job you actually have. Almost every tool here does one of these three things.
Write the config
Produce the AGENTS.md / CLAUDE.md / Cursor rules that tell the agent what to read and skip.
Check the config
Scan an existing config for stale paths, wrong commands, leaked secrets, or junk it no longer skips.
Shrink it at runtime
Sit between the agent and your files and cut what actually gets sent, live — the most aggressive approach.
The comparison
| Tool | Approach | How it runs | License / cost | Best for |
|---|---|---|---|---|
| ContextPruner ★ | Generate · Lint | Browser — paste your file tree | Free; $9/mo automation + CLI | A zero-install ignore-list across every agent, then linting to keep it current |
| Caliber | Generate | CLI (npx) | MIT, free | Rich local config generation with auto-refresh |
| agent_sync | Generate | Pure-bash CLI | MIT, free | One source → every tool's native format, zero deps |
| ctxlint | Lint | CLI / CI / MCP | MIT, free | Catching stale paths & secrets in existing configs |
| cclint | Lint | CLI / CI / editor LSP | MIT, free | Validating a CLAUDE.md against best practices |
| Entroly | Compress | MCP server / proxy | Apache-2.0, free | Aggressive token cuts via an optimization engine |
| LeanCTX | Compress | Rust binary / MCP | Apache-2.0; free local, paid teams | Deep runtime compression with a savings ledger |
What each one actually is
Caliber generate
An open-source CLI (MIT) that scans your codebase and generates a full set of agent config — CLAUDE.md, .cursor/rules, AGENTS.md, Copilot instructions, even skills and MCP configs — then keeps them refreshed via git hooks. Its scoring is deterministic (no LLM calls), and it adds niceties like session learning and automatic backups. If you want thorough, local, open-source config generation and don't mind a CLI, it's the most full-featured generator here.
agent_sync generate
A pure-bash CLI (MIT) with zero runtime dependencies — no Node, Python, or jq — built around one idea: write your rules once in .ai/src/, run agentsync sync, and it distributes them into each tool's native format (Claude Code, Cursor, Copilot, Gemini, and more) with no drift. It's a sync tool more than a triage tool — it doesn't decide what to skip for you, it keeps your single source of truth in every format.
ContextPruner generate lint
The one we make. Paste your file tree into the browser — it only ever sees paths and byte sizes, never file contents — and it writes AGENTS.md, CLAUDE.md, GEMINI.md, Cursor rules, and Copilot instructions with the “skip these files” list already filled in from a measured triage of your repo — plus four enforced ignore files (.cursorignore, .geminiignore, .codeiumignore, Claude Code deny rules) the agent's own harness applies as a best-effort block. It also lints: paste a config you already have and it grades whether your ignore-list still covers your tree — flagging junk no rule skips yet, dead rules that match nothing, and drift between your config files. Free client-side; a $9/mo tier automates regeneration on every commit and adds a contextpruner lintCLI for local checks and CI. It's the lightest option (nothing to install) and the most privacy-preserving (no code leaves your browser), but it's narrower than Caliber — it focuses on the ignore-list, not full documentation.
ctxlint lint
An open-source linter (MIT) that checks your existing context files against the real codebase — 39 rules for broken paths, stale references, contradictions across files, and hardcoded secrets, with a --fixfor broken paths. Runs as a CLI, pre-commit hook, GitHub Action, or MCP server. It doesn't generate config; it keeps the config you have honest. Genuinely complementary to any generator.
cclint lint
An open-source linter (MIT, TypeScript) that validates and optimizesa CLAUDE.md against best practices — catching stale model IDs, unresolved imports, dangerous bash commands, duplicate content, and structural errors in skills and hooks. Where ctxlint's focus is stale paths against your codebase, cclint's is config quality and conventions, and it ships an editor LSP for live diagnostics alongside the CLI, CI action, and MCP server.
Entroly compress
An open-source context-optimization engine (Apache-2.0) that runs as an MCP server or proxy and claims up to ~95% token cuts in its benchmarks (85–95% in published runs), using budget-constrained selection with online learning from outcomes to send an agent just the context it needs, plus deduplication and provider prefix caching. It cuts far more than a static ignore-list can — at the cost of running a server and trusting an optimization pipeline in your loop.
LeanCTX compress
A local Rust binary (Apache-2.0) that acts as a context runtime — an MCP server, shell hooks, and an optional HTTP proxy that compress file reads and shell output at runtime (AST-aware via tree-sitter; 60–90% fewer tokens overall, up to ~98% in its most aggressive read modes), with cached re-reads and a signed “savings ledger” of token cuts. Free for local use, with paid team tiers. The most powerful and the most involved to set up.
How to choose
- Want your agent to stop reading junk, no install? A generator that builds the ignore-list — ContextPruner (browser) or Caliber (CLI).
- Already have config files? Keep them honest with a linter. ContextPruner checks whether your ignore-list still covers your tree; ctxlint and cclint catch stale paths, secrets, and drift from best practices — different, overlapping jobs.
- Want the biggest token cuts? You'll run an MCP server for maximum savings — a runtime compressor, LeanCTX or Entroly.
- All of the above? They stack: generate the config, lint it, then compress at runtime.
Where ContextPruner fits
ContextPruner is the fastest, lightest way to a good ignore-list across every agent: paste your file tree, get all nine config files back — five advisory configs plus the enforced .cursorignore, .geminiignore, .codeiumignore, and Claude Code deny rules — free, without installing anything or letting your code leave the browser. It's not a runtime compressor — LeanCTX and Entroly cut more tokens, continuously, if you're willing to run a server. We lint now too, but narrowly: we check whether your ignore-list still fits your tree, while ctxlint and cclintcatch problems we don't — broken path references, leaked secrets, and CLAUDE.md best practices. And Caliber generates more (full docs, skills, MCP config) if you want a local CLI. What no other tool on this page does is cover the whole loop: generate the nine files, lint them, enforce four of them (best-effort), regenerate everything on every push, and show what the last sync cut on a usage dashboard. Our lane is that loop, entered with zero friction — and the specialist tools above stack neatly on top of it.
Compared July 2026, claims re-verified against each project July 18 — tools in this space change fast; check each project for current details. New to the config files themselves? See What is AGENTS.md?