TidyDrive macOS 14+ / Apple Silicon / by René Weteling
Menu bar app for developers

Your disk is full.
Take it back.

TidyDrive watches your disk and shows what can go: Xcode, simulators, node_modules, package caches, git worktrees, old language versions, Docker and oversized videos and photos.

Signed and notarized. Free for noncommercial use.

Macintosh HD461 / 500 GB
92%
90 alert 85 re-arm
Can be removed84.6 GB
Freed0 GB
20+ecosystems of build output
40+global caches
15+version managers
1notification, at 90%
Three screens

Glance. Review. Clean.

That is the whole app.

TidyDrive popover with disk gauge and categories
01 PopoverClick the menu bar icon. Disk gauge, what can go per category, one Clean button. The icon shows the percentage once you pass 90%.
TidyDrive review window with categories and items
02 Review windowCategories left. Every item shows what it is, why it can go and how big it is. Click to reveal in Finder.
TidyDrive notification: your disk is 90% full
03 NotificationOne alert when the disk passes 90%. It re-arms below 85%, so you never get the same warning every five minutes.
What it cleans

Twelve places
your disk went.

Safe

A cache the tool rebuilds itself.

Rebuild

Comes back with an install or build. Costs time, not data.

Careful

May be data. Never selected by default.

CategoryWhatRemoved withRisk
Xcode DerivedData, DeviceSupport, archives, old Xcode apps rm, apps to Trash SafeArchives and apps: careful
Simulators Unavailable devices, old runtimes simctl Rebuild
Projects node_modules, Rust target, Elixir _build and deps, .venv, Pods, .gradle and more, for 20+ ecosystems rm Rebuild
Large files Files over 500 MB in your project folders Trash Careful
Package caches npm, pnpm, uv, Go, Cargo, Homebrew, Playwright, editor caches and about 30 more Tool's own clean command Safe
ML models Ollama, Hugging Face Tool's own remove command Careful
Language versions asdf, mise, nvm, fnm, volta, rbenv, pyenv, uv, rustup, sdkman, fvm, tfenv Manager's uninstall Careful
Docker Images and volumes per compose project, dangling images, build cache docker rmi, rm, prune RebuildVolumes: careful
Android AVDs, SDK cache, old build-tools and system images rm Rebuild
Videos Large .mov and other videos, re-encoded to H.265 MP4 on the media engine. Same resolution, frame rate and audio. You test the quality on one first MP4 next to it, original to Trash Careful
Photos Large PNG, TIFF and JPEG files as HEIC, same resolution and metadata HEIC next to it, original to Trash Careful
Duplicate photos Exact copies, plus resized and near copies found with Apple Vision. The copy with the most pixels stays Trash Careful
How it decides

Four rules.
No guessing.

01

Marker file

A folder only counts when its marker sits next to it.

target/ beside Cargo.toml is Rust output. A lone target/ stays.

02

Stale after 60 days

Only stale projects are selected for you.

Uncommitted changes: never stale.

03

Newest version stays

The newest version of each language is always kept.

Older ones go only if no version file in your projects points at them.

04

Delete or Trash

Regenerable things are deleted directly.

Large files and Xcode apps go to the Trash.

~/projects/old-api
  Cargo.toml
  target/        <- Rust output, 6.4 GB, goes
~/projects/notes
  target/        <- no marker, stays
Install

Two minutes.

Needs macOS 14 or newer on Apple Silicon.

  1. 1
    Download

    TidyDrive.dmg from the latest release.

  2. 2
    Move to Applications

    Open the disk image and drag TidyDrive onto the Applications folder.

  3. 3
    Open it

    It is signed and notarized, so it opens normally. Allow notifications when asked.

  4. 4
    Pick your project folder

    In Settings, point TidyDrive at where your projects live.

Or build from source
$ git clone https://github.com/reneweteling/tidydrive.git
$ cd tidydrive
$ ./scripts/build.sh
$ cp -R build/TidyDrive.app /Applications/
FAQ

Questions.

Is it safe?

It deletes only what the tool or your build rebuilds, and it never selects Careful items by default. Docker volumes, dumps and language versions need your explicit tick. Large files and Xcode apps go to the Trash, so you can put them back. You see every item and its size before anything is removed.

Why not the App Store?

The sandbox cannot reach ~/Library/Developer, ~/.asdf or the Docker socket. Without those, TidyDrive could not do its job. So it ships as a signed and notarized app on GitHub releases only.

What does it send?

Crash reports through Sentry, and nothing else. No file paths are sent. You can switch crash reports off in Settings. Scanning and cleaning happen on your Mac.

When does it warn me?

Once, when the disk passes 90%. It can only warn again after the disk drops below 85%.

What does it cost?

Free for noncommercial use under PolyForm Noncommercial 1.0.0. The source is on GitHub.

René Weteling
René Weteling
Agentic Developer
Who made this

One developer.
A fleet of agents.

I'm René Weteling. I orchestrate AI agents that design, code, test and ship, and I bring the engineering judgement that keeps them honest. TidyDrive went from a sketch to a signed, notarized release in a single day.

Want that speed on your own product? Idea to production, CTO as a service, or a second pair of senior eyes.