RepoSweep is a safe Mac cleaner for developers. Scan project folders, find node_modules, build caches, logs, and generated files, then move selected items to Trash. RepoSweep scans project folders, developer caches, and Downloads for disposable build outputs, dependencies, and test artifacts. It verifies project context and Git status, explains why each match is safe, revalidates before cleanup, and only moves items to macOS Trash.
No reviews yetBe the first to leave a review for RepoSweep
Maker
📌
Hey Product Hunt 👋
I built RepoSweep after repeatedly finding huge `node_modules`, build folders, test outputs, and developer caches across old projects—and still hesitating before deleting them. A generic disk cleaner can tell me a folder is large, but not whether it belongs to a real project, whether Git tracks it, or how I can regenerate it.
RepoSweep adds that missing context. It detects the project ecosystem, checks Git status, labels every candidate by safety and confidence, explains the evidence, and revalidates the item just before cleanup. Nothing is permanently deleted: selected items only go to macOS Trash.
Scanning and reviewing are free without limits. The $12 early-adopter license reveals exact locations and unlocks cleanup across all your personal Macs and every v1.x update. There is no account, subscription, telemetry, or cloud upload.
One transparent early-access note: the current build is not yet notarized by Apple, so first launch needs one extra approval in System Settings. That is why early adopters get $7 off; the price becomes $19 when the notarized build ships, and existing v1.x licenses remain valid.
I would especially love feedback on two things:
1. Which developer ecosystem or disposable artifact should RepoSweep support next?
2. What evidence would make you feel confident enough to clean a generated folder?
Report
How does it handle monorepos with shared node_modules across multiple workspaces, and does it actually verify the package isn't symlinked somewhere else before trashing it?
Report
Maker
@arif1grq Great question. RepoSweep scans physical filesystem paths, so a single hoisted root node_modules is reported once, while separate node_modules directories inside individual workspaces are reported separately. It does not traverse or report symbolic links, and immediately before cleanup it verifies again that the candidate itself is not a symlink.
One limitation today: it does not detect other symlinks that point into a real node_modules directory. For unusual linked setups, I recommend leaving that item unselected. Inbound-link detection would be a useful future addition.
Report
The git status check before trashing is a nice touch, gives real peace of mind compared to other cleaners that just nuke whatever looks big. Reclaiming 40gb from old node_modules felt almost too easy.
Report
Maker
@aslhant3kk Thank you! That “almost too easy” feeling is exactly why RepoSweep revalidates everything immediately before cleanup and only moves items to Trash. Reclaiming 40 GB is a fantastic result.
Report
The safety checks here are genuinely thoughtful, especially the revalidation pass before hitting Trash. Way too many cleaners just nuke whatever looks old.
Report
Maker
Really appreciate that, @ayferrlhu. Safety was the main design principle behind RepoSweep: inspect first, revalidate, then move to Trash only when you're confident.
Report
Love that it checks git status before trashing anything, that alone makes it feel way safer than the typical cleaner apps that nuke half your project.
Report
Maker
@ykkoulu6zc5 Thank you! Git status is one of the first safety gates, and RepoSweep checks it again immediately before cleanup. If anything changed, the item is left untouched.
Report
the git status check before trashing anything is genuinely thoughtful, way less scary than my usual rm -rf node_modules ritual.
Report
Maker
@aryazdoru5paw The rm -rf node_modules ritual is exactly the moment I wanted to make less stressful 😄 Review first, revalidate, then Trash—still reversible if you change your mind.
Report
The git status check before trashing anything is a nice touch, makes it feel less reckless than other cleaners I've tried.
How does it handle monorepos with shared node_modules across multiple workspaces, and does it actually verify the package isn't symlinked somewhere else before trashing it?
@arif1grq Great question. RepoSweep scans physical filesystem paths, so a single hoisted root node_modules is reported once, while separate node_modules directories inside individual workspaces are reported separately. It does not traverse or report symbolic links, and immediately before cleanup it verifies again that the candidate itself is not a symlink.
One limitation today: it does not detect other symlinks that point into a real node_modules directory. For unusual linked setups, I recommend leaving that item unselected. Inbound-link detection would be a useful future addition.
The git status check before trashing is a nice touch, gives real peace of mind compared to other cleaners that just nuke whatever looks big. Reclaiming 40gb from old node_modules felt almost too easy.
@aslhant3kk Thank you! That “almost too easy” feeling is exactly why RepoSweep revalidates everything immediately before cleanup and only moves items to Trash. Reclaiming 40 GB is a fantastic result.
The safety checks here are genuinely thoughtful, especially the revalidation pass before hitting Trash. Way too many cleaners just nuke whatever looks old.
Really appreciate that, @ayferrlhu. Safety was the main design principle behind RepoSweep: inspect first, revalidate, then move to Trash only when you're confident.
Love that it checks git status before trashing anything, that alone makes it feel way safer than the typical cleaner apps that nuke half your project.
@ykkoulu6zc5 Thank you! Git status is one of the first safety gates, and RepoSweep checks it again immediately before cleanup. If anything changed, the item is left untouched.
the git status check before trashing anything is genuinely thoughtful, way less scary than my usual rm -rf node_modules ritual.
@aryazdoru5paw The rm -rf node_modules ritual is exactly the moment I wanted to make less stressful 😄 Review first, revalidate, then Trash—still reversible if you change your mind.
The git status check before trashing anything is a nice touch, makes it feel less reckless than other cleaners I've tried.