Only what your tools can rebuild
RepoSweep works from a fixed list of 33 rules across eight ecosystems. If a folder isn't on the list, it isn't offered.
- Node
- node_modules.next.nuxt.svelte-kit.turbo.angular/cachecoverage
- Python
- .venvvenv__pycache__.pytest_cache.mypy_cache.ruff_cache
- Xcode & Swift
- DerivedData.buildbuildPods
- Rust
- target
- .NET
- binobj.vsTestResults
- Dart & Flutter
- .dart_toolbuild
- Go
- vendor
- C & C++
- buildcmake-build-debugcmake-build-release
Nothing is deleted. Ever.
A folder called build could be anything. RepoSweep
needs proof before it offers one, and checks again right before it
moves it.
photo-tagger/ ├── pyproject.toml the project marker ├── src/ └── .venv/ ├── bin/ ├── lib/ └── pyvenv.cfg proof it was generated
A .venv is only offered when it sits next to a
Python project file and contains pyvenv.cfg. A Rust
target needs Cargo.toml beside it and
CACHEDIR.TAG inside.
Right before each move, it checks again
If anything changed since the scan, the item is skipped and you're told why.
- It's the same folder that was scanned, not a symlink or a replacement.
- It's inside one of your scan locations, reached without following links.
- Its rule still matches, marker and proof included.
-
It holds no
.gitfolder, project files,.envfiles or lockfiles.
Trash, not delete
Items go to the Trash, where you can see them. There's no delete command in the app at all, and a test fails if one is ever added.
Put anything back
Cleanup History ⌘Y lists everything RepoSweep moved. Put Back returns an item to where it was, and never overwrites anything already there.
Dry run comes first
Out of the box, every safety check runs but nothing moves. Turn dry run off in Settings once you trust what you see.
See which projects you've moved on from
Each project is labelled by your last commit, checkout, merge or pull. Projects outside Git use their newest file change.
You're working on it.
Touched in the last few weeks.
Probably safe to clear. You decide.
Your thresholds, your call
Change the 7 and 21 days in Settings. Labels only inform you. RepoSweep never selects anything for you.
Warned about committed files
If a folder contains files committed to Git, it's tagged
Tracked by Git so clearing it won't
surprise you in git status.
Built for the Mac, and only the Mac
A native SwiftUI app that stays out of your way.
- Lives in the menu bar. See how much you could reclaim and start a scan without opening a window.
- Rescans on its own. If the last scan is more than a day old, it refreshes in the background.
-
Runs nothing. It reads Git's files directly
instead of calling
git, and never crosses into other volumes. - Keeps its data readable. Settings, the last scan and the cleanup log are plain files in Application Support.