survey
The read-only snapshot: disk usage, top-level dir sizes, node_modules total, Downloads type histogram, screenshot count. Always the first step.
cleanup survey
cleanup-tools · macOS · free & open source
Open-source utilities I build, use, and wire into Pantheon — an agent layer that can pull any of them in. If they're useful and folks want more, I'll keep shipping them. This one cleans the junk off a cluttered Mac, organizes what's left into sane buckets, gives you a real queue to sort through and decide on, then — only if you want it — brings in AI to propose a bucket for what's left over and stages that back into the same queue to review. Dry-run first, always. As a side effect of the same file-finder, it also locates a lost crypto wallet.
Four steps, each one a real command, each one previewed before it acts. Stop after any of them — the AI step is entirely optional and off unless you ask for it.
Reclaim the junk that costs disk, not memories — node_modules, build caches, Docker layers, OS cruft. Instant GB back, dry-run first.
cleanup reclaim --go
Bucket what's left by type — screenshots, installers, pdfs, photos, videos, archives, docs — so a wall of loose files becomes a handful of folders.
cleanup sort --go
Everything staged above lands in a queue, not straight in the trash. Triage it — approve, reject, or undo, one at a time or in bulk — before anything runs.
cleanup approve
Whatever's still ambiguous after step 2 can go through an optional AI pass — filename only, never file contents — which proposes a bucket and stages it back into the same review queue from step 3. You still approve every move.
cleanup propose-ai
One CLI, several sharp commands — each does one job, previews before it acts, and stages anything destructive into a review queue rather than touching your files blind.
The read-only snapshot: disk usage, top-level dir sizes, node_modules total, Downloads type histogram, screenshot count. Always the first step.
cleanup survey
Buckets Downloads by type — screenshots, installers, pdfs, photos, videos, archives, docs — into _sorted/. Non-destructive: moves within the same folder.
cleanup sort --go
Deletes regenerable junk — node_modules, build caches, Docker layers, OS cruft. Refuses to touch any configured master path until it's marked backed up.
cleanup reclaim --go
Scans for crypto-wallet artifacts by filename and content signature. Prints paths and match type only — matched secret content never appears in output, by construction.
cleanup find-wallets
Finds duplicate files via a two-stage size-then-hash filter, full uncapped SHA-256. Lists candidates for you to remove — never deletes on its own.
cleanup dedupe ~/Downloads
Sweeps every screenshot into ~/Pictures/Screenshots and, optionally, stops new ones from landing on the Desktop at all.
cleanup corral-screenshots --go
A small localhost-only review UI — a dashboard, a triage queue with keyboard shortcuts, and approve/reject/undo — for everything staged above before it runs.
cleanup approve
The same review UI, packaged as a native macOS app (Tauri) — for when you'd rather click through a queue than pipe a terminal.
This tool touches real, irreplaceable files. The rules aren't a style choice.
Every destructive command defaults to dry-run. You pass --go to actually act.
Configured master paths are refused from deletion until explicitly marked backed up — enforced, not just remembered.
node_modules, build caches, and Docker layers delete freely — they cost time, not memories.
Anything unclear lands in a review queue for a human decision, not a bucket, not the trash.
No network calls except the one you explicitly opt into (AI bucket proposals) — filenames only, never file contents.
Paths and match type only. The matched content is never bound to anything that outlives its own check — structurally, not by convention.
Free and open, always. A few ways to help — or just say hi.