π§Ή Clean development artifacts on macOS - free up disk space fast!
Available as both CLI and beautiful native GUI app!
Mac Dev Cleaner helps developers reclaim disk space by removing:
- Xcode - DerivedData, Archives, Caches
- Android - Gradle caches, SDK caches
- Node.js - node_modules, npm/yarn/pnpm/bun caches
- Flutter/Dart - .pub-cache, .dart_tool, build artifacts
- Python - pip/poetry/uv caches, virtualenvs, pycache
- Rust - Cargo registry, git caches, target directories
- Go - build cache, module cache
- Homebrew - download caches
- Docker - unused images, containers, volumes, build cache
- Java/Kotlin - Maven .m2, Gradle caches, build directories
Features:
- π¨ Beautiful Native Interface - Modern dark mode UI built with Wails
- π Multiple Views - Switch between List, Treemap, and Split view
- π Smart Categorization - Filter by development ecosystem (Xcode, Android, Node.js, etc.)
- π Visual Size Analysis - Interactive treemap shows space usage at a glance
- β‘ Real-time Scan - Fast parallel scanning with progress indicators
- π― Selective Cleaning - Pick exactly what to delete with checkboxes
- πΎ Safe Deletion - Confirmation dialogs prevent accidents
- π Auto-Update - Check for new versions automatically
Download DMG:
Download and install the native app:
Homebrew:
brew tap thanhdevapp/tools
brew install dev-cleanerOne-line installer:
curl -fsSL https://raw.githubusercontent.com/thanhdevapp/mac-dev-cleaner-cli/dev-mvp/install.sh | bashSee INSTALL.md for:
- Direct binary downloads (macOS ARM/Intel, Linux)
- Build from source instructions
- Advanced configuration
- Troubleshooting
git clone https://github.com/thanhdevapp/mac-dev-cleaner-cli.git
cd mac-dev-cleaner-cli
go build -o dev-cleaner ./cmd/dev-cleaner
sudo mv dev-cleaner /usr/local/bin/# Scan all categories
dev-cleaner scan
# Scan specific category
dev-cleaner scan --ios
dev-cleaner scan --android
dev-cleaner scan --node
dev-cleaner scan --flutter
dev-cleaner scan --python
dev-cleaner scan --rust
dev-cleaner scan --go
dev-cleaner scan --homebrew
dev-cleaner scan --docker
dev-cleaner scan --javaExample Output:
π Scanning for development artifacts...
ββββββββββββββββββββββββββββββββββββββββββββββββββ
[1] android 9.0 GB Android System Images
[2] xcode 7.4 GB Xcode DerivedData
[3] android 5.4 GB Gradle Caches
[4] xcode 3.9 GB DerivedData/Runner-xxx
[5] node 1.8 GB npm Cache
...
ββββββββββββββββββββββββββββββββββββββββββββββββββ
Total: 14 items, 31.4 GB
# Interactive clean (dry-run by default)
dev-cleaner clean
# Actually delete files
dev-cleaner clean --confirm
# Clean specific category
dev-cleaner clean --ios --confirm- β Dry-run by default - preview before deleting
- β
Confirmation required - must type
yesto delete - β Path validation - never touches system files
- β
Logging - all actions logged to
~/.dev-cleaner.log
~/Library/Developer/Xcode/DerivedData/~/Library/Developer/Xcode/Archives/~/Library/Caches/com.apple.dt.Xcode/~/Library/Developer/CoreSimulator/Caches/~/Library/Caches/CocoaPods/
~/.gradle/caches/~/.gradle/wrapper/~/.android/cache/~/Library/Android/sdk/system-images/
*/node_modules/(in common project directories)~/.npm/~/.pnpm-store/~/.yarn/cache/~/.bun/install/cache/
~/.pub-cache/~/.dart_tool/~/Library/Caches/Flutter/~/Library/Caches/dart/*/build/(in Flutter projects)*/.dart_tool/(in Flutter projects)*/ios/build/,*/android/build/(in Flutter projects)
~/.cache/pip/(pip cache)~/.cache/pypoetry/(Poetry cache)~/.cache/uv/(uv cache)~/.cache/pdm/(pdm cache)*/__pycache__/(bytecode cache)*/venv/,*/.venv/(virtual environments)*/.pytest_cache/(pytest cache)*/.tox/(tox environments)*/.mypy_cache/,*/.ruff_cache/(linter caches)
~/.cargo/registry/(package registry)~/.cargo/git/(git dependencies)*/target/(build artifacts, in Rust projects with Cargo.toml)
~/Library/Caches/go-build/(build cache, or$GOCACHE)~/go/pkg/mod/(module cache, or$GOMODCACHE)
~/Library/Caches/Homebrew/(user cache)/opt/homebrew/Library/Caches/Homebrew/(Apple Silicon)/usr/local/Homebrew/Library/Caches/Homebrew/(Intel)
- Unused images (via
docker image prune) - Stopped containers (via
docker container prune) - Unused volumes (via
docker volume prune) - Build cache (via
docker builder prune)
Note: Requires Docker daemon to be running.
~/.m2/repository/(Maven local repository)~/.gradle/wrapper/(Gradle wrapper distributions)~/.gradle/daemon/(Gradle daemon logs)*/target/(Maven build directories, with pom.xml)*/build/(Gradle build directories, with build.gradle)*/.gradle/(Project Gradle cache)
# Build
go build -o dev-cleaner .
# Run tests
go test ./...
# Run locally
./dev-cleaner scan- MVP: Scan and clean commands
- TUI with interactive selection (BubbleTea)
- Support for 10 development ecosystems
- Config file support
- Homebrew distribution
- Scheduled automatic cleanup
MIT License - see LICENSE for details.
