ContextPruner

Tools to cut your AI coding agent's context, compared

A fair, disclosed comparison of the tools for cutting AI coding context — config generators, linters, and runtime compressors — and how to choose between them.

·

Short answer

The tools for cutting AI coding context fall into three groups: config generators that write your ignore rules (like ContextPruner, which also lints), linters that check existing rule files, and runtime compressors that trim context as the agent runs. Which you want depends on where the bloat is — generators and linters fix what the agent reads from disk, while compressors fix what's already in the conversation.

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.

Generate

Write the config

Produce the AGENTS.md / CLAUDE.md / Cursor rules that tell the agent what to read and skip.

Caliber · agent_sync · ContextPruner
Lint

Check the config

Scan an existing config for stale paths, wrong commands, leaked secrets, or junk it no longer skips.

ctxlint · cclint · ContextPruner
Compress

Shrink it at runtime

Sit between the agent and your files and cut what actually gets sent, live — the most aggressive approach.

Entroly · LeanCTX
These are complementary, not rivals. A realistic setup is to generate a config with one tool, lint it with another, and run a runtime compressor on top. The runtime tools cut the most tokens; the generators are the lightest to adopt.

The comparison

ToolApproachHow it runsLicense / costBest for
ContextPrunerGenerate · LintBrowser — paste your file treeFree; $9/mo automation + CLIA zero-install ignore-list across every agent, then linting to keep it current
CaliberGenerateCLI (npx)MIT, freeRich local config generation with auto-refresh
agent_syncGeneratePure-bash CLIMIT, freeOne source → every tool's native format, zero deps
ctxlintLintCLI / CI / MCPMIT, freeCatching stale paths & secrets in existing configs
cclintLintCLI / CI / editor LSPMIT, freeValidating a CLAUDE.md against best practices
EntrolyCompressMCP server / proxyApache-2.0, freeAggressive token cuts via an optimization engine
LeanCTXCompressRust binary / MCPApache-2.0; free local, paid teamsDeep 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

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?

Related guides