๐งน Dev Cleaner Utility
July 26, 2026 ยท View on GitHub

Support Latest macOS/Linux/Windows Dev Environments
This tool is for educational purposes, focusing on safely removing development-related junk files (Xcode, Flutter, Visual Studio, npm, etc.) to free up disk space.
โจ Features
- One-Click Cleanup: Clear Xcode, Flutter, Visual Studio, Gradle, npm, NuGet, IDE, and browser caches.
- Comprehensive Flutter Cleanup: Recursively finds and cleans all Flutter projects, removing:
- FVM SDK caches and configurations (
.fvm,.fvmrc) - Flutter build artifacts (
build,.dart_tool,.packages,pubspec.lock) - Android Gradle caches (
android/.gradle,android/build,android/app/build) - iOS CocoaPods caches (
ios/Pods,ios/Podfile.lock,ios/.symlinks, Flutter frameworks) - Global Flutter cache
- FVM SDK caches and configurations (
- Interactive Menu: Allows selection of specific cleanup targets (e.g., Xcode only).
- Multi-platform Support: Supports macOS, Linux, and Windows.
๐ป System Support
| Operating System | Architecture | Supported |
|---|---|---|
| macOS | Intel, Apple Silicon | โ |
| Linux | x64, ARM64 | โ |
| Windows | x64, ARM64 | โ |
๐ How to Use
โญ Auto Run Script
Linux/macOS
To download, grant permission, and run the utility in one line:
curl -fsSL https://raw.githubusercontent.com/jemishavasoya/dev-cleaner/main/dev-cleaner.sh -o dev-cleanup.sh && chmod +x dev-cleanup.sh && ./dev-cleanup.sh
๐บ Install via Homebrew
macOS/Linux
For a permanent installation using Homebrew:
# Tap the repository
brew tap jemishavasoya/dev-cleaner
# Install dev-cleaner
brew install dev-cleaner
# Run the utility
dev-cleaner
# Check version
dev-cleaner --version
To update to the latest version:
brew update
brew upgrade dev-cleaner
To uninstall:
brew uninstall dev-cleaner
brew untap jemishavasoya/dev-cleaner
๐ช Windows Installation
PowerShell (Run as Administrator)
One-Line Download & Run
irm https://raw.githubusercontent.com/jemishavasoya/dev-cleaner/main/dev-cleaner.ps1 -OutFile dev-cleaner.ps1; .\dev-cleaner.ps1
Note: You may need to set the execution policy first:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Manual Download
- Download
dev-cleaner.ps1from this repository - Right-click the file โ Run with PowerShell, or
- Open PowerShell as Administrator and run:
.\dev-cleaner.ps1
Command-Line Options
# Show help
.\dev-cleaner.ps1 -Help
# Show version
.\dev-cleaner.ps1 -Version
# Custom Flutter projects directory
.\dev-cleaner.ps1 -FlutterDir "C:\Projects\Flutter"
# Custom Visual Studio projects directory
.\dev-cleaner.ps1 -VsDir "C:\Projects\DotNet"
# Both custom directories
.\dev-cleaner.ps1 -FlutterDir "D:\Flutter" -VsDir "D:\VisualStudio"
Environment Variables
# Set in your PowerShell profile for persistence
$env:FLUTTER_SEARCH_DIR = "C:\Projects\Flutter"
$env:VS_SEARCH_DIR = "C:\Projects\DotNet"
Windows-Specific Cleanup
The Windows version includes all cross-platform cleanups plus:
- Visual Studio: Cleans
bin/,obj/,.vs/folders from all .NET projects, plus global VS caches (ComponentModelCache, MEFCacheData) - NuGet: Clears global packages cache (
~/.nuget/packages), HTTP cache, and temp files - Windows Temp: Clears user and system temp folders, plus Recycle Bin
Note: Some operations require Administrator privileges. The script will automatically request elevation if needed.
๐งน Flutter Cleanup Details
The Flutter cleanup option (Option 4) performs a comprehensive recursive cleanup of all Flutter projects starting from the current directory. It:
- Recursively searches for all
pubspec.yamlfiles - Removes FVM SDK caches and configurations
- Cleans build artifacts:
build/,.dart_tool/,.packages,pubspec.lock - Removes Android Gradle caches from each project
- Removes iOS CocoaPods caches and Flutter frameworks
- Cleans global Flutter cache
๐ก Pro Tip: If you have active projects you work on daily, consider running the cleanup from a specific subdirectory (e.g., ~/old_projects or ~/research) rather than your entire development folder. This avoids unnecessary rebuilds of dependencies for active projects.
Expected Space Savings: Users have reported freeing up 50-100GB+ of disk space after running Flutter cleanup on multiple projects.
You can also buy me a cup of coffee ย ย ย ย ย ย 
๐คฉ Contribution
We welcome you to submit Issues and Pull Requests!
Common Issues
Permission Errors
- If you encounter permission errors while running scripts, try running with
sudo(Linux/macOS) or as Administrator (Windows).
Free Space Did Not Change After Cleanup (macOS)
The summary prints two different things on purpose:
Reclaimed: ~3.0Gi
Free space: 21.4Gi โ 21.4Gi
Reclaimed is measured on the files that were actually deleted โ that data is gone. Free space can lag behind, because APFS keeps the blocks of a deleted file allocated as long as a Time Machine local snapshot still references them (Finder calls this "purgeable" space). macOS releases it on its own, usually within 24 hours or as soon as the disk gets tight.
To get the space back right now, run option 17 (Remove Time Machine Local Snapshots) โ or check what is pinned:
tmutil listlocalsnapshots /
Two other cases where free space lags: apps still holding deleted files open (quit Xcode, Simulator, browsers), and Docker โ docker system prune frees space inside Docker's own disk image, and the host only sees it once Docker Desktop compacts that image.
Tool Not Found
- Make sure tools like
flutterorbreware installed and added to your system PATH. - On macOS/Linux, check PATH with
echo $PATH. - On Windows, check Environment Variables in System Settings.