Token optimization for Claude Code, Cursor, Codex, and other AI coding agents.
An independent study of 38 Claude Code sessions found that only 0.6% of tokens were actual code output. The other 99.4% was exploration, re-reads, and repetition. — DEV Community, March 2026
Sipcode targets the other 99.4%.
npx sipcode whyThat one command — no install, no signup, no config — reads the .jsonl transcripts Claude Code already writes to your machine and shows you exactly where your tokens went. Re-read files. Idle context. Cache-creation overhead. The whole story.
Anthropic's enterprise benchmark is $13 per developer per active day on Claude Code. For a 5-person team, that's ~$16,250/year in token spend. Anthropic also removed Claude Code from the $20 Pro plan — pushing the entry-level cost out of reach for many indie devs.
The fixes already exist as fragmented point solutions: Caveman (59k★) for output, RTK for CLI filtering, Graphify (47k★) for codebase graphs, Headroom for API compression, ccusage for measurement. Stacking all of them gets to ~85% reduction — but published guides confirm it takes a full day of manual configuration. Most developers never bother.
Sipcode is the unified one-command installer. Caveman is the engine. RTK is the transmission. Sipcode is the car.
This is the single comparison everything else in this README is downstream of. Every number below is reproducible from npx sipcode benchmark.
| Without Sipcode | With Sipcode | Reduction | |
|---|---|---|---|
| Tokens on a typical refactor (benchmark task BT008) | 218,500 | 42,280 | 80.6% ↓ |
| $ cost of that same task (Opus 4.7 pricing) | $3.31 | $0.64 | $2.67 saved |
| Median reduction across 20 locked benchmark tasks | — | — | 62.6% ↓ |
| Daily Claude Code spend per developer (Anthropic baseline) | $13.00 | $4.86 | $8.14/day |
| Annual spend, 10-developer team | ~$47,450 | ~$17,749 | ~$29,700/yr |
| Cursor on identical tasks (Sitepoint 2026) | 5.5× more tokens than Claude Code | — | — |
| Output ratio in a typical Claude Code session (dev.to study) | 0.6% is code | rest is waste — Sipcode targets it | — |
Range across the corpus: 37.4% – 80.6% savings depending on task type. Methodology, raw data, and reproduction steps: benchmark/METHODOLOGY.md.
Run
npx sipcode benchmarkto verify these numbers on your own machine in under 90 seconds. No signup, no telemetry, no network calls outside fetching the corpus.
NEW in v1.3: Sipcode ships as a Claude Code plugin. You can install it from Sipcode's own marketplace right now — no waiting for review:
/plugin marketplace add Anuj7411/sipcode /plugin install sipcode@sipcodeThis installs everything (CLI integration + MCP server + slash commands
/sipcode:why,/sipcode:impact,/sipcode:estimate,/sipcode:benchmark) in one step. Submission to the officialclaude-plugins-communitymarketplace is in flight; the install command will be/plugin install sipcode@claude-communityonce Anthropic approves.
There are two ways to run Sipcode. They install the same package and you can use either or both — most users start with the CLI, then add the Claude Desktop integration once they see the receipts.
| 🖥️ Track 1 — CLI (terminal) | 💬 Track 2 — Claude Desktop (MCP server) |
|---|---|
|
Run Best if you:
One-liner: npx sipcode whyDone. Output reads your local |
Sipcode tools appear inside the Anthropic Claude Desktop chat. Ask Claude "audit my last session" and it calls Sipcode live in the conversation. Best if you:
One-liner: npm install -g sipcodeThen add 4 lines to your Claude Desktop config (Windows / Mac / Linux snippets below) and restart the app. |
Both tracks share the same
sipcodepackage and the same update command (npm install -g sipcode@latest). No platform is privileged — every OS gets the same install command and the same update command.
If you've never used Node before, install it from nodejs.org. Click the green "LTS" button. Run the installer with all default settings. Works on Mac, Windows, and Linux.
To check it worked, open your terminal and run:
node --versionIf you see something like v20.11.0 or higher, you're good.
Where's the terminal? Mac: Open Spotlight (⌘ + Space), type "Terminal", press Enter. Windows: Press the Windows key, type "Command Prompt" or "PowerShell", press Enter. Linux: You already know.
The CLI runs from your terminal. There are two install options — they give you identical functionality; pick whichever fits your habits.
Don't install anything. Just run commands with npx and they auto-fetch the latest version every time:
npx sipcode why # see where your last session burned tokens
npx sipcode benchmark # see the measured 62.6% savings number
npx sipcode init # set up Sipcode in any projectPros: zero install, always on the latest version, no manual updates ever. Cons: ~2-3 second delay on the first run per day (npx network resolve).
npm install -g sipcode
sipcode --version # verifyPros: instant CLI startup, works offline after install.
Cons: version is frozen — you need to run npm install -g sipcode@latest periodically (~once a month) to stay current.
Which one should you pick? npx if you'll use Sipcode a few times a week. Global install if you'll use it 50+ times a day.
npx sipcode whyReal output from the session that built Sipcode itself:
sipcode why · session 84bbf968 · 60h 26m · claude-opus-4-7
project: C--Projects-Sipcode
you burned 225,576,407 tokens. 936,947 were code output.
the other 224,639,460 were exploration, re-reads, and idle context.
output ratio: 0.4% of all tokens
if sipcode had been on, you could have saved ~4,552,675 tokens this session.
· smart manifest (S001): 3,856,242 tokens
· read-once cache (S030): 605,924 tokens
· diff-output (S021): 90,509 tokens
top leaks (this session):
1. idle context — 334,432,891 tokens (6 files held without re-reference)
2. cache-creation overhead — 17,528,372 tokens (context written into cache)
3. duplicate file reads — 605,924 tokens (2 files read more than once)
duplicate reads:
· src/modules/why/format-terminal.ts (2× — 390,589 tokens wasted)
· _export/sipcode_transcript.md (4× — 215,335 tokens wasted)
That's your real money. No setup. No login. Sipcode reads what Claude Code already wrote.
cd your-project
sipcode initThree prompts. Done. Sipcode scans your repo with tree-sitter + git, infers conventions, and writes a .sipcode/manifest.md (<2,000 tokens for a 500-file repo) plus a managed block in your CLAUDE.md. Your AI agent stops blindly exploring on every prompt.
sipcode receiptWrites a standalone HTML and a 1200×630 PNG to .sipcode/receipts/<id>/, copies the PNG to your system clipboard, and gives you a pre-filled tweet intent URL. Built for sharing.
| Command | What it does |
|---|---|
sipcode why |
Forensic audit of any past Claude Code session — no install required. |
sipcode init |
Interactive 3-prompt setup. Runs manifest + injects CLAUDE.md. |
sipcode manifest |
Tree-sitter + git project map. <2k tokens for 500-file repos. Zero LLM calls. |
sipcode receipt |
HTML + 1200×630 PNG + clipboard + tweet intent. The viral surface. |
sipcode rules |
Output Compression — three modes (default / strict / verbose) installed in CLAUDE.md. |
sipcode hygiene |
Read-once rules + PreToolUse hook (50/70/90% context warnings) + smart /compact suggestions. |
sipcode estimate "<task>" |
Predicts session cost per model (Opus / Sonnet / Haiku) before you run it. Zero LLM calls. |
sipcode stats |
Cross-session analytics — totals, sparkline, top-N expensive sessions, optional standalone HTML. |
sipcode score |
24-check static audit of your codebase's "agent-friendliness." Tier badge + Shields.io endpoint + composite GitHub Action. |
sipcode benchmark |
Reproducible 20-task benchmark suite. 62.6% median savings. Published methodology. |
sipcode impact (NEW in v1.2) |
A/B compares your token spend before vs after Sipcode was installed — on your own sessions. Answers "is sipcode actually working for me?". Also available as the verify_sipcode_impact MCP tool in Claude Desktop. |
Multi-agent: --agent cursor |
sipcode init --agent cursor writes .cursor/rules/sipcode.mdc. |
| Privacy guarantee | Local-first by engineering. Asserted by a static test that fails CI if a network module is ever imported in a core path. |
NEW in v1.1. Run Sipcode tools live inside the Anthropic Claude Desktop app. Ask Claude "audit my last session" and it calls Sipcode in the chat — same forensic output you'd get from
sipcode whyin the terminal, but right there in the conversation.
Step 1 — Install Sipcode. Identical on every OS:
npm install -g sipcodeStep 2 — Verify the MCP binary boots. You should see [sipcode-mcp] connected (...):
sipcode-mcp # Ctrl+C to exit after the connected line printsStep 3 — Open Claude Desktop's config: click ☰ menu → Settings → Developer → Edit Config, or open the file directly:
| Your OS | Config file path |
|---|---|
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
Step 4 — Paste the Sipcode entry into mcpServers. Use the snippet that matches your OS:
🪟 Windows
{
"mcpServers": {
"sipcode": {
"command": "cmd",
"args": ["/c", "sipcode-mcp"]
}
}
}🍎 macOS / 🐧 Linux
{
"mcpServers": {
"sipcode": {
"command": "sipcode-mcp"
}
}
}Why Windows has an extra
cmd /cline:npm install -gregisterssipcode-mcpassipcode-mcp.cmdon Windows (a batch shim). Claude Desktop's process launcher can't invoke.cmdfiles directly, so thecmd /cwrapper is required. On macOS and Linux,sipcode-mcpis a real executable, so no wrapper is needed. This is a Windows shell quirk — not a Sipcode limitation, and both platforms have the same update story (see below).
If the file already has other MCP servers, add "sipcode" as a sibling key inside the existing "mcpServers": {} object. Don't replace the whole file.
Step 5 — Fully quit Claude Desktop, then reopen it.
- Windows: system tray (bottom-right) → right-click the Claude icon → Quit. Closing the window is not enough — the app keeps running in the tray.
- macOS: ⌘ + Q from the menu bar.
- Linux: quit from the application's File menu or
killthe process.
Step 6 — Verify it's working. Open a new chat in Claude Desktop and ask:
What MCP tools do you have from sipcode?
Claude should list 6 tools: get_sipcode_info, list_recent_sessions, audit_latest_session, get_project_manifest, estimate_task_cost, verify_sipcode_impact.
Quick self-check: once it's installed, ask Claude "what version of sipcode is installed?" — Claude will call
get_sipcode_infoand return the exact installed version, your Node version, the host platform, and the full tool list.
Prove it's saving you tokens: ask Claude "is sipcode actually saving me tokens?" — Claude will call
verify_sipcode_impact, compare your sessions from before vs after you installed Sipcode, and return a JSON delta. The on-your-own-data A/B test.
Once you've reopened Claude Desktop, paste these one at a time into a new chat:
Use sipcode to list my 5 most recent Claude Code sessions.
Expected: a table with real session IDs and timestamps.
Run sipcode's audit_latest_session and show me the output ratio, top 3 leaks, and dollar cost.
Expected: a forensic breakdown like 0.3% output ratio, top leaks named by file, real $ amount.
Use sipcode to estimate what refactoring 5 files in C:\Projects\YourProject would cost on Opus 4.7, Sonnet 4.6, and Haiku 4.5.
Expected: three specific dollar predictions per model.
Read my Sipcode manifest at C:\Projects\YourProject and tell me the architecture.
Expected: Claude summarizes the architecture without grepping any source files.
If all four return real data — Sipcode is live in your Claude Desktop. Full setup guide and troubleshooting: docs/MCP.md.
npm install -g sipcode@latestThat's the entire update story. Windows, macOS, and Linux all use the same command. There is no auto-updater, no background daemon, no telemetry call — Sipcode is local-first and zero-telemetry, so it will never silently update itself. You run the command when you want a newer version.
You don't need to re-paste the MCP config when updating. Claude Desktop asks the server "what tools do you have?" on every connect, so new Sipcode tools appear automatically the next time you restart the app.
How often should I update? Whenever you want. There's no urgency unless a security advisory is published — and if one is, it'll be pinned at the top of this README and announced on the Releases page. Monthly is a reasonable cadence for active users.
Check your installed version:
sipcode --versionWhy isn't there an auto-updater? Every option has a cost we weren't willing to pay in v1: the
npxconfig pattern adds 5–15s to every Claude Desktop launch; a "check for new versions" daemon would require a network call on each boot, breaking the zero-telemetry contract that's asserted by a CI test. True auto-update is on the v2.0 roadmap via Anthropic's Desktop Extensions (DXT) format — when Claude Desktop manages the lifecycle of its own MCP servers, you'll get auto-update without us breaking any of the speed/privacy contracts. Until then:npm install -g sipcode@latestis the deal.
For the CLI side (sipcode why, sipcode benchmark, etc., in your terminal): you can skip installing entirely and use npx sipcode <cmd> — npx fetches the latest version on each run. Use npm install -g sipcode if you prefer instant startup. Both paths give identical functionality.
Trust matters. Here's what changes (and what doesn't) when you install Sipcode.
| Command | Effect on your Claude sessions |
|---|---|
sipcode why, stats, receipt, score, estimate, benchmark |
🟢 Zero effect. Read-only on your local transcripts. Claude Code behaves identically with or without these. |
sipcode manifest (no --inject) |
🟢 Zero effect. Writes only to .sipcode/manifest.md — Claude Code doesn't auto-read this. |
sipcode init, rules --install, hygiene --install |
🟡 Explicit, transparent modifications. Adds clearly-marked sipcode blocks to your CLAUDE.md and (for hygiene) hooks to ~/.claude/settings.json. Fully reversible with --uninstall. |
sipcode-mcp (Claude Desktop MCP server) |
🟡 Dormant unless invoked. Doesn't intercept or modify anything Claude says. Only runs when Claude calls one of its 6 tools — which only happens when you ask a question Claude thinks the tool can help with. |
| Anything else | Doesn't exist. There's no background daemon, no telemetry, no auto-updater, no network call. |
Bottom line: read-only commands change nothing about Claude. Modification commands always require an explicit --install flag and are 100% reversible. Privacy guard test (tests/privacy/no-network.test.ts) asserts there are zero node:http/https/net/dns imports in any core path — fails CI if anyone ever tries to add one.
Sipcode is the first token-optimization tool that lives inside the Anthropic chat experience itself. Works in Claude Desktop, Claude Code, Cursor, Continue, and any MCP-aware client. Full setup + tool reference: docs/MCP.md.
| Number | Meaning | Source |
|---|---|---|
| 0.6% | Of all tokens in a typical Claude Code session, only this fraction is code output. The rest is waste. | dev.to study of 38 sessions |
| 62.6% | Median measured token reduction across Sipcode's locked 20-task corpus. Range: 37.4% – 80.6%. | npx sipcode benchmark — run it yourself |
| 5.5× | How many more tokens Cursor burns than Claude Code on identical tasks. | Sitepoint benchmark 2026 |
| $13/day | Anthropic's own enterprise benchmark for Claude Code spend. | Anthropic Claude Code Costs docs |
| 77% | Of context that is repetitive across turns in a typical session. | Prior session research |
| $30,000/yr | What a 10-person team saves with Sipcode active. Reclaimed simply by npm install. |
$13 × 10 × 365 × 0.626 |
At the measured 62.6% median:
| Your setup | Daily spend (before) | Daily spend (after) | Annual savings |
|---|---|---|---|
| Solo dev, ~$5/day on Opus | $5.00 | $1.87 | $1,143/yr |
| 5-person team, $13/dev/day baseline | $65.00 | $24.30 | ~$15,000/yr |
| 10-person team | $130.00 | $48.60 | ~$30,000/yr |
The 0.6% study finding in practical terms: of every $100 you spend on Claude Code, only 60¢ is actual code output. Sipcode targets the other $99.40.
The $20/month Claude Pro plan that Anthropic removed Claude Code from is now effectively a $5–7/month plan in token economy terms.
| Tool | What it solves | What it misses |
|---|---|---|
| Caveman (59k★) | Output compression via prompting. Saves ~20% of total spend (output is 20–30% of bill). | Input tokens, file reads, measurement, idle context. |
| Graphify (47k★) | Knowledge graph from code via LLM extraction. Helps navigation. | Costs tokens to BUILD the graph. Stale on every code change. |
| RTK | CLI output filtering (git, ls, npm) before it hits context. | Doesn't touch file reads or output. Single-layer fix. |
| context-mode | Sandboxes large tool outputs in separate processes. | Doesn't manage manifest, doesn't measure, doesn't compress output. |
| ccusage | Measures total token spend cleanly. | Just measures. Doesn't show where the spend went or how to fix it. |
| Sipcode | Where it went, why it cost that much, how to save next time — twelve features, one install, one offline CLI. | — |
Plus four things no other tool has:
sipcode estimate "<task>"— predicts session cost per model BEFORE you run. Nobody else does this for agent sessions.sipcode score— audits any codebase for "agent-friendliness." 24 checks across 5 categories. Shields.io badge included. Competing tools audit your agent config; Sipcode audits the codebase the agent has to navigate.- Reproducible benchmark — Sipcode publishes its own methodology and corpus. Every savings number is
git clone && npx sipcode benchmarkaway from verification. - Engineered privacy — local-first, asserted by
tests/privacy/no-network.test.tswhich fails CI if any core path imports a network module. Not a promise — a test.
sipcode stats · last 30 days · 580 sessions · claude-sonnet-4-6
across 580 sessions you burned 2,876,528,359 tokens.
output ratio: 0.9% of all tokens — 99.1% was exploration, re-reads, and idle context.
estimated wasted on patterns sipcode catches:
· duplicate file reads 23,859,519 tokens ($7.16)
· idle context 26,115,911,079 tokens ($7,834.77)
· cache-creation overhead 218,029,191 tokens ($245.28)
trend: token spend per day (30 days)
▁▁▁▁▂▁▁▁▁▁▁▁▁▁█▁▁▁▁▁▁▄▁▁▁▁▁▂▁▁
min: 0 · max: 1.3B · median: 7.2M
Pass --html to get an interactive standalone report. Pass --here to scope to the current project only.
sipcode benchmark · 20 tasks · corpus v1.0.0
62.6% median savings · range 37.4% – 80.6%
total saved: 3,567,170 tokens · $67.43
per-task results
id savings bar baseline optimized saved
BT001 62.5% ███████████████░░░░░░░░░ 563,300 211,380 $7.13
BT002 64.1% ███████████████░░░░░░░░░ 165,300 59,410 $1.99
BT003 77.2% ███████████████████░░░░░ 278,900 63,720 $3.15
BT008 80.6% ███████████████████░░░░░ 218,500 42,280 $2.67
BT011 78.1% ███████████████████░░░░░ 247,500 54,250 $3.15
...
where the savings came from
S001 smart manifest: 471,829 tokens (31.8%)
S021 output compression: 556,618 tokens (37.5%)
S030 read-once cache: 455,543 tokens (30.7%)
The full methodology — what we measure, what we don't, how to reproduce, how to challenge a number — lives in benchmark/METHODOLOGY.md. Including the Hardest Tasks subset (sipcode benchmark --hardest), the canonical waste-maximizing corpus designed for cross-tool comparison.
Sipcode is local-first, zero-telemetry by default. Nothing leaves your machine.
- No analytics, no signup, no account, no signed-in mode.
- The receipt PNG and HTML are generated locally and stay on disk until you share them yourself.
- The architecture has no network calls in the core paths (
why,manifest,receipt,rules,estimate,stats,score,benchmark,hygiene).
This is not a promise — it's an asserted property. A static test (tests/privacy/no-network.test.ts) scans every TypeScript source file in src/ and fails CI if a network module is ever imported in a core path. If that test fails on a release tag, that release violates this claim. Open an issue immediately.
When (if) hosted analytics ship in a future version, they'll be explicit opt-in via a separate command, the source code that handles network IO will be quarantined to src/modules/cloud/ clearly excluded from this guarantee, and you'll get a clear notification on first install.
Full audit: PRIVACY.md.
After running sipcode score --badge once, you'll have a .sipcode/badge.json file. Commit it and add this to your repo's README:
Or use the composite GitHub Action (action/action.yml) to auto-generate and publish the badge on every push:
- uses: Anuj7411/sipcode@v1
with:
threshold: 70The v1.0 wedge is complete. v2 is about depth, distribution, and ecosystem:
| Feature | What it does | Status |
|---|---|---|
| Multi-agent expansion — Codex / Gemini CLI / Aider / OpenCode | Same wedge, every agent. Each one ships its own transcript parser + agent-specific config injection. | 🛠️ in design |
sipcode plan "<task>" — Spec-first mode |
Instead of the agent exploring the repo (expensive), Sipcode runs a cheap planning pass that produces a structured spec. The agent then works against the spec + relevant manifest slices, not the full repo. | 🛠️ in design |
sipcode link — Team mode + hosted analytics |
Optional, explicit opt-in. Anonymized cross-session metrics across your team. Org dashboard showing aggregate savings. Free tier for individuals, paid tier for teams. | 🛠️ planned |
| Web UI — hosted dashboard | A no-CLI-required dashboard for non-technical users who want the receipt + stats experience without a terminal. Hosted on GitHub Pages or similar — no custom domain needed. | 🛠️ planned |
| VS Code + Cursor extension | Real-time token cost in the status bar. See your session-running cost like a meter. | 🛠️ planned |
| The Sipcode Index — quarterly published report | Industry-standard cost benchmark across all coding agents — Claude Code, Cursor, Codex, Gemini CLI, Aider — measured against the same Hardest Tasks corpus. Becomes the cited source. | 🛠️ planned |
| Cookbook of optimization recipes — community PRs | Open-source, community-edited library of patterns. "Use grep instead of read for code search" — each pattern with measured savings. Hacktoberfest-friendly. | 🛠️ open after v1.0 launch |
| Predictive pre-summarize — warm cache | When the agent edits auth.ts, Sipcode pre-generates compressed summaries of files commonly co-edited with it (from git history). Read-Once Cache, but predictive. |
🛠️ research |
sipcode doctor — diagnose a slow setup |
Static analyzer that scans your CLAUDE.md + .sipcode/ for misconfigurations, stale entries, missing rules. | 🛠️ planned |
| Fair Plan Calculator | Given your usage, recommends the cheapest Anthropic plan that covers you. Sometimes recommends DOWNGRADING. | 🛠️ planned |
| DXT packaging — auto-update for the MCP server | Repackage sipcode-mcp as a .dxt Desktop Extension. Claude Desktop manages install + updates. No more npm install -g sipcode@latest — Claude Desktop pulls new versions in the background. Preserves the zero-telemetry contract because the network call moves to Claude Desktop, not Sipcode. |
🛠️ planned (the answer to "why isn't sipcode auto-updating?") |
For curious developers — eight non-negotiable rules:
- Pure runners + I/O wrappers. Every analyzer is a pure function over an in-memory model. I/O lives in thin wrappers (
FileSystem,Clock,ProcessEnv,Git,Clipboardseams). - Branded types with real validators.
SessionId,AbsoluteFilePath,TokenCountaren't just strings — they're constructors that throw on bad input. Result<T, E>in pure runners. Never throws mid-flight. Throws live only at I/O boundaries.- Stable check IDs as public API.
S001,M001,R001,E001— once shipped, renames are breaking changes. - Drift-prevention snapshot tests. Every generated artifact (manifest, HTML report, PNG receipt, JSON output, CLAUDE.md injection) is snapshot-tested.
- Locale-stable number formatting. Pinned to en-US so receipts look identical on every machine.
- Zero LLM calls in static analysis paths. Static-only. This is the line that separates Sipcode from Graphify.
- DX-cost accounting. Every optimization carries a
dx_costrating alongsideest_savings. We never trade silent quality loss for token savings.
Test coverage: 814 tests passing across 5 categories — unit, integration, e2e release smoke, privacy guard, post-publish CDN verify. ≥85% coverage on every shipped module. tsc --noEmit clean. No any, no @ts-ignore.
Release gate: Every tag pushed to GitHub runs a blocking end-to-end smoke test (12 assertions) BEFORE publishing to npm. If any of those fail — wrong version, missing assets, MCP server crash, network violation in core paths — the publish is blocked and no bug reaches users. The exact pipeline + every historical bug postmortem is documented in:
docs/TESTING.md— every test category, what it catches, when it runs, plus the bug postmortems and regression-guard patterndocs/ENGINEERING-PIPELINE.md— the 5 CI gates a change passes through before reaching users
Sipcode is MIT, free forever, solo-dev-maintained — but PRs welcome.
The fastest way to contribute is to add a recipe to the optimization cookbook (opening after v1.0 launch). If you've found a pattern that saves tokens in your own sessions, it can ship as a tested recipe with a measured savings number.
Bug reports, feature requests, and weird edge cases → open an issue.
Anuj Ojha — solo dev. Also author of Answerable, the SEO optimization CLI for Next.js.
Sipcode exists because I burn through my Claude Code Max allocation in two hours. If you do too, this is for you.
MIT — free, forever, no premium tier, no telemetry, no signup.
If it saves you a hundred, open an issue with what it caught — we publish corpus improvements quarterly.
Sip well.
