Mac Developer
Cleanup Runbook
A battle-tested Claude Code prompt that audits your Mac's disk usage across Homebrew, Docker, node_modules, Xcode, Rust, Flutter, and more — then gives you a full confirmation table before touching a single file. Safe, surgical, and satisfying to run.
✓ Parallel audit in one shot✓ Confirmation required before any deletion✓ Groups by: Homebrew / Runtimes / IDEs / AI tools✓ Flags irreversible actions clearly✓ Before & after disk usage summary
mac-cleanup-runbook.md
## STEP 1 — AUDIT
Runs in parallel — no deletions yet:
· df -h / → current disk state
· Homebrew packages by size → find bloated formulae
· ~/.nvm, ~/.cargo, ~/.gradle → runtime caches
· node_modules / .next / dist → project build artifacts
· Xcode DerivedData, Simulators → often 20-50 GB
· Docker volumes & images → flagged as destructive
· Downloads folder → manual review only
## STEP 2 — CONFIRMATION TABLE
Shows exactly what will be deleted and why it is safe.
Requires an explicit YES before touching anything.
## STEP 3 — EXECUTE
Deletes only what you approved.
Prints a before / after disk usage summary.How it works
1
Paste → Claude silently auditsRuns all discovery commands in parallel — df, Homebrew sizes, runtime caches, project build artifacts, IDE data, Docker. No deletions. No questions yet.
2
Claude shows a confirmation tableEvery item listed with its size, why it's safe to remove (or flagged as DESTRUCTIVE / IRREVERSIBLE), and an estimated total recovery. Nothing ambiguous.
3
You type YES — or say "skip X"Claude cleans only what you approved and prints DONE [size freed] [item] for each deletion. Skipped items are dropped from the plan.
4
Final reportBefore and after free space printed side by side, with a full list of everything freed. You see exactly what happened.
Built-in safety rails
~/DownloadsAlways MANUAL REVIEW — never auto-deletedAntigravity memoryLabelled IRREVERSIBLE — you're warned explicitlyDocker volumesGets a separate explicit warning before any touchnode_modulesAlways reminds you to run npm/yarn/pnpm install afterHomebrew packagesChecks dependents before suggesting removalNothing runsUntil you explicitly type YES — no silent actions★ Why a prompt, not a bash script
Writing this as a Claude prompt flips the trust model entirely. A bash script runs blindly — you have to understand it before running. A Claude prompt makes the AI do the understanding first and puts a human checkpoint between audit and action. The IRREVERSIBLE labelling is borrowed from how good CLI tools handle destructive operations — it forces a moment of conscious decision rather than passive acceptance.