I’m a developer and my Mac fills up constantly — Docker, Xcode, node_modules, Rust target/, browser data, the usual. Most “cleaner” apps either do nothing useful or happily nuke ~/Library, which terrifies me. So I did a full manual disk audit (du, df, docker system df, Xcode dirs, Homebrew) and turned everything I learned into an app.
AgainCleaner is a disk analyzer first, cleaner second. Nothing is deleted blindly.
The core idea — everything is graded by risk:
- 🟢 Safe — logs, trash. Fine to auto-remove.
- 🩵 Regeneratable — caches/build data. Deleted, but your tools recreate it.
- 🟠 Review Required — might hold real data. You decide.
- 🔴 Dangerous — never auto-deleted (Docker volumes with your databases, etc.).
- ⚫ System Protected — shown for size only, no delete button.
Every item shows what it is, what happens if you remove it, size, last-modified, Reveal in Finder — and Smart Clean only ever touches Safe + Regeneratable.
Things it actually understands (not one giant “Caches” blob):
- Docker — separates Build Cache (the usual hidden multi-GB hog) from images/containers; volumes are flagged dangerous and never auto-pruned.
- Xcode DeviceSupport — per device/iOS/build rows; detects duplicate and old builds.
- Chrome/Brave/Edge/Arc/Opera — site data broken down by domain, so you can see which site ate 2GB; cache is safe, logins/IndexedDB are review-only.
- Arduino / embedded SDKs — flags old core versions, protects toolchains (large ≠ junk).
- Cursor / VS Code — splits throwaway caches from
WebStorage/globalStorage. - Leftover app data — matches only exact bundle IDs (never name-guessing), with a confidence score.
- Deep Disk Scan — a
du -x-style drill-down that’s APFS-aware, so it won’t double-count the Data volume as “System.” - Large Files — filter by type (
.dmg/.iso/.mov/.vmdk…) with best-effort “belongs to” attribution.
Safety I’m obsessive about:
- Canonical path resolution + a hard deny-list — it cannot delete
/System,/private/var/db,~/Library, etc. There are unit tests that assert this, including symlink and../escape attempts. - Moves things to the Trash by default.
- Process detection — won’t clean a running app’s data; offers “Quit & Clean.”
- Real before/after disk measurement — reports what was actually recovered, not the sum of file sizes (APFS purgeable/clones lie otherwise).
- Quick Clean — remembers the categories you cleaned last time and repeats them in one click.
Runs entirely as your user — no root, no background daemon, no password prompts. Native SwiftUI.
It’s free. I’d genuinely love feedback from other devs on the risk classification — especially edge cases where something is graded riskier (or safer) than you’d expect.
(Built from scratch, not affiliated with any existing cleaner.)
Source: r/MediaRise · by /u/Timely-Rule3504
