CRUFT
CRUFT — DEPENDENCY ANALYZER FOR MACOS

How many Node versions are you hoarding?

One dev machine: 8 Node versions (3.1 GB), a 6.2 GB pnpm store, and a global tsc untouched since September 2023. Cruft inventories every package manager on your Mac — and shows the exact, safe command to reclaim the space.

READ-ONLY · RUNS ENTIRELY ON YOUR MAC · NEVER REMOVES ANYTHING

brewnpmpnpmnvmbun
Cruft's dark dashboard: ~4.9 GB reclaimable of 14.8 GB across 5 package managers, with per-package verdicts — safe, likely unused, in use

THE FOUNDER'S ACTUAL MACHINE — 14.8 GB ACROSS 5 MANAGERS, ~4.9 GB OF IT RECLAIMABLE

THE PROBLEM

Five managers. Five hoards. Zero audits.

Disk pressure on a dev Mac isn't one big file — it's a thousand small installs nobody owns.

01

Every manager hoards separately.

brew keeps old kegs after every upgrade. nvm keeps every Node you ever installed — including patch releases superseded within weeks. npm -g collects CLIs you tried once. pnpm's store only grows. bun caches on top of all of it.

02

Nobody audits five CLIs.

Five list commands, five cache paths, five different cleanup flags — brew autoremove, pnpm store prune, nvm uninstall, … You'd have to remember all of them, so nobody runs any of them.

03

The cleanup commands are scary.

One wrong rm -rf inside ~/.nvm and your default Node is gone. Guessing wrong has real cost, so the safe default is hoarding — which is how you end up with four patch releases of Node 20.

THE VERDICT MODEL

Evidence, not bravado.

“Cleaner” apps guess what's safe and hope. Cruft puts every finding in one of three honesty tiers — and never claims more than the evidence supports.

SAFE

Safe by design

The manager's own cleanup commands — brew cleanup, pnpm store prune. Worst case, the next install re-downloads a tarball. These are the quick wins.

LIKELY UNUSED

Orphan candidates — with evidence

Real structural signals: nothing depends on it, it isn't your active version, it hasn't been touched in months. Cruft shows the evidence. You make the call.

SIGNAL ONLY

No verdict when there's no proof

Installed, size, last used — and nothing more. When the evidence doesn't support a verdict, Cruft doesn't invent one. Restraint is the feature.

LIKELY UNUSEDbrewerlang26.2.1212 MB
EVIDENCENo installed formula depends on itLast touched Mar 2024Installed Nov 2023 alongside elixir (removed since)
VERDICT

Probably unused — your call. If you don't use Erlang directly:

$brew uninstall erlang

THE WHOLE PRODUCT IN ONE CARD: VERDICT · EVIDENCE · COMMAND. CRUFT NEVER RUNS IT — YOU DO.

FREE VS LICENSED

The inventory is free. The verdicts are $24 — once.

The scan is never gated: download, scan, and see everything you have in seconds. Pay only for what Cruft concluded — and the exact commands to act on it.

FREE — THE SHOCK
  • Detects all 5 managers, no setup
  • Full inventory — every package, real sizes
  • The headline total (“14.8 GB across 5 managers”)
  • One fully unlocked verdict, so you can judge the magic
LICENSED — THE RESOLUTION
  • Every verdict + the evidence behind it
  • Every reclaim command, with copy buttons
  • The “Reclaimable” rollup, per manager
  • Feature Requests tab — submit & upvote
  • Lifetime v1 updates · license for 3 Macs
Free — full inventory with real sizes. Verdicts, evidence & commands are licensed.UNLOCK — $24
LIKELY UNUSEDnvmNode 204 versions1.5 GB
EVIDENCE4 patch releases of v20 installedNot your default — v24.14.1 is2.7 GB of 3.1 GB is stale versionsshown free

VERDICTKeep the newest v20 — drop the other three patch releases.

$nvm uninstall v20.11.0
pnpmpnpm store6.2 GB
brewold versions + downloads640 MB
brewerlang212 MB
npmtypescript71 MB
Unlock all verdicts — one-time license1 preview unlocked: Node 20 →
FREE — SIZES ALWAYS VISIBLE, VERDICTS LOCKED, ONE TEASER OPEN
A licensed verdict in Cruft: pnpm store, 6.2 GB — evidence chips, the verdict text, and the pnpm store prune command with a copy button
LICENSED — EVIDENCE, VERDICT, COMMAND, IN PLACE
TRUST

You're right not to trust a random app with your dev setup.

That objection is fair — so Cruft is built to make it moot. Every claim below is checkable from your own terminal.

NEVER REMOVES ANYTHING

Cruft executes zero mutating commands — ever. Every action is a command you copy, read, and run in your own terminal. If you don't run it, nothing happens.

READ-ONLY BY ARCHITECTURE

Scans go through allowlisted adapters that call each manager's own list and query commands. There is no generic shell execution path in the app.

LOCAL ONLY

Analysis runs entirely on your machine. Your inventory never leaves it — no uploads, no telemetry of your data, nothing to phone home.

NO ACCOUNT

A license key, not a login. Activate on up to 3 Macs, deactivate from inside the app whenever you swap machines.

READ-ONLYCRUFT 1.0
PRICING

No subscription. $24, once.

A CleanMyMac subscription runs about $40 — every year. Cruft is $24 one time, for the part that actually takes judgment: the verdicts and the curated safety knowledge behind them. The inventory? Free forever, scan as often as you like.

FREE
$0

The full inventory. Forever free — the scan is never gated.

  • All 5 managers detected & inventoried
  • Every package with real sizes and totals
  • The headline aggregate number
  • One fully unlocked teaser verdict
DOWNLOAD FREE
LICENSE — ONE-TIME
$24ONCE. NOT PER YEAR.

Honestly scoped: every v1 update is included. If a 2.0 ever ships, it's a separate paid upgrade — v1 keeps working either way.

  • Everything in Free
  • All verdicts + evidence (orphans, dependents, last-used)
  • All reclaim commands, with copy buttons & guidance
  • The “Reclaimable” summary + per-manager rollups
  • Feature Request tab — submit & upvote
  • License for up to 3 Macs
  • Lifetime v1 — every v1 update included
BUY CRUFT — $24

Checkout by Lemon Squeezy · license key + download link emailed instantly

MACOS 14+ (SONOMA) · APPLE SILICON + INTEL · NO FULL DISK ACCESS REQUIRED

FAQ

The questions devs actually ask.

Does Cruft delete or uninstall anything?

Never. Cruft is an analyzer, not a cleaner: it inventories, explains, and hands you the exact command. You copy it, read it, and run it in your own terminal — or don't.

Can it break my setup?

The scan can't — Cruft runs zero mutating commands, only each manager's own read-only list and query calls through allowlisted adapters. And the verdicts it shows are evidence-tiered (safe-by-design / likely unused / signal only), never guessed.

Which package managers does it cover?

Homebrew (formulae and casks), npm globals, pnpm, nvm, and bun in v1. More managers land via the in-app Feature Requests tab, where licensed users submit and upvote.

Will it work on my Mac?

macOS 14 (Sonoma) or newer, on both Apple silicon and Intel. No Full Disk Access, no permission flow — the first scan runs in seconds.

Lost your license?

Open the Lemon Squeezy customer portal and your key plus download link are re-sent to your purchase email. Licenses cover up to 3 Macs.