A macOS disk-space analyzer that knows dev junk when it sees it — DerivedData, node_modules, package caches, simulators — and only ever moves things to the Trash.
Claude, Codex, or a cron job — stackdust treats programs as first-class users: JSON everywhere, stable exit codes, never interactive, and a dry-run-by-default cleanup that physically cannot delete permanently.
❯ stackdust dev ~ --json {"items": [ {"path": "~/Library/Developer/Xcode/DerivedData", "category": "xcodeBuild", "risk": "safe", "bytes": 38214592512}, {"path": "~/Library/Developer/CoreSimulator/Devices", "category": "simulators", "risk": "loses_state", "bytes": 21474836480}, … ], "total_bytes": 96636764160} ❯ stackdust clean ~ --category xcodeBuild,packageCache --min-size 1G --yes Moved 14 items (61.3 GB) to the Trash.
One scan draws your disk as a sunburst — every ring a directory level, every arc sized by what it actually takes on disk. The Reclaim pane groups dev junk by category and honest risk tier, and cleanup only ever means move to Trash.
The sunburst: click to drill in, hover to inspect. Keep scrolling… Reclaim: caches, builds, and simulators grouped by category, each with its risk tier.
brew tap thoughtf00l/tap brew install --cask stackdust
Installs Stackdust.app to /Applications. Updates arrive in-app, or via brew upgrade --greedy. The stackdust CLI builds from source with swift build.
Stackdust.dmg → drag to Applications
Stackdust isn't notarized with Apple yet, so the first launch needs a blessing: open System Settings → Privacy & Security and click Open Anyway. After that, updates arrive in-app.