Build Cache Cleaner
Find the GB you forgot about
Only for Mac
$3.99
Mac
You already know how to delete node_modules. You do not know which projects are hiding it. See the reclaimable bytes per project before anything is removed.
Finds forgotten build artifacts across Node, Python, Ruby, Go, Rust, Java and Docker projects and tells you what each one is costing you before it removes anything. It does not work with Xcode — no DerivedData, no Swift detection — despite what the name suggests.
Your disk is full and you know it is build artifacts. What you do not know is which projects, or how much.
You can already delete them for free. rm -rf node_modules is one line and takes a second. docker system prune reclaims more Docker space than this app does, because it also clears the daemon's own image cache. Both work over SSH, and cron can run them on a schedule, which this app cannot do at all. If you keep one project and you know where it is, use the command and keep your money.
You can find them too, of course — find ~/dev -name node_modules | xargs du -sh gets you a list, and ncdu will show you a tree. If you are comfortable writing that, you do not need this either.
What you get here instead is that list with each project's ecosystem identified and its reclaimable size beside it, sortable by what it is costing you. Nothing is removed without a preview first, and what is removed is recoverable afterwards.
Point Build Cache Cleaner at the folder your projects live in. It walks it, identifies each project from its marker file, and shows you the reclaimable bytes PER PROJECT before it removes anything. The number is the point. You are not guessing which folder is worth deleting; you are reading a list sorted by what it is costing you.
WHAT IT DETECTS
Node.js, Python, Ruby, Go, Rust, Java/JVM and Docker projects, by marker file: package.json, requirements.txt, pyproject.toml, setup.py, Pipfile, Gemfile, go.mod, Cargo.toml, pom.xml, build.gradle, Dockerfile, docker-compose.yml. A folder without its marker is not detected.
SIX PROFILES, BY RISK
Build Artifacts (node_modules, target, build, dist, .gradle, .next, .nuxt, out, bin) and Package Caches (.npm, .yarn, .gem, .cargo, .pnpm-store, .bundle) are on by default. Compiled Output, Old Dependencies (untouched 30+ days), Docker Bloat (a project-local .docker directory only, never the Docker daemon's own store) and Old Lock File Versions (.bak copies only, never a live lock file) are opt-in, and the riskiest asks you to type CLEAN before it will run.
WHAT COMES BACK
Removed items go to the Trash with a five-minute undo. Two profiles are the exception and do not: Docker Bloat and Old Lock File Versions bypass the Trash, so those are not undoable. Both are opt-in, and Old Lock File Versions only ever touches .bak copies — never a live package-lock.json or Gemfile.lock. The app tells you when undo is unavailable rather than letting you assume it.
It matches by name, not by reading your code — so it is worth knowing what that means. Build Artifacts is on by default and targets folders called bin, out, dist and build. If you keep hand-written scripts in a committed bin folder, as Rails and some Node projects do, that folder matches. Exclude it — there is a per-row Exclude this path, and a checkbox per project. The preview exists so you can see it before anything moves.
It refuses paths outside the folder you chose, and shows blocked candidates rather than silently skipping them.
WHAT IT DOES NOT DO
It does not work with Xcode. There is no DerivedData support and no Swift project detection — if that is what you came for, this is not it. It scans one root folder at a time, up to five levels deep, and choosing another folder replaces the scan. It never runs on its own: no schedule, no background agent, no menu bar item. It cleans when you tell it to.
Every run is recorded with the space it freed, so you can see what your own machine actually gives back over time. That history is yours, measured on your disk — not a typical figure, because there is no such thing.
One-time purchase. No account, no subscription. Works with the network off. Requires macOS 14 or later.
Ratings & Reviews
- This app hasn’t received enough ratings or reviews to display an overview.
Refreshed the app icon with a cleaner, sharper design.
The developer, Rodrigo Dutra de Oliveira, indicated that the app’s privacy practices may include handling of data as described below. For more information, see the developer’s privacy policy .
Data Not Collected
The developer does not collect any data from this app.
Accessibility
The developer has not yet indicated which accessibility features this app supports. Learn More
Information
- Seller
- Rodrigo Dutra de Oliveira
- Size
- 8.1 MB
- Category
- Utilities
- Compatibility
Requires macOS 14.0 or later.
- Mac
Requires macOS 14.0 or later.
- Mac
- Languages
English and 7 more
- English, French, German, Japanese, Korean, Portuguese, Simplified Chinese, Spanish
- Age Rating
4+
- 4+
- Copyright
- © 2026 BraveCL

