A native macOS disk cleanup and optimization utility built with Tauri and React.
CleanMac helps you reclaim disk space on your Mac by intelligently identifying and removing unnecessary files while protecting important data. Unlike other cleanup tools, CleanMac is developer-aware and won't accidentally delete your development caches and build artifacts.
- System Cache Cleaning - Safely remove system, browser, and application caches
- Developer Mode - Automatically detects developer tools and protects important caches (npm, cargo, Xcode DerivedData, etc.)
- Application Leftovers - Find and remove files left behind by uninstalled applications
- Large File Finder - Discover large files taking up space with preview support
- Duplicate Detection - Find duplicate files using smart hash-based comparison
- Safe Deletion - Files are moved to Trash by default for easy recovery
Coming soon
- macOS 12 Monterey or later (ARM64 and Intel)
- Full Disk Access permission (for complete scanning)
Download the latest release from the Releases page.
See DEVELOPMENT.md for detailed build instructions.
# Quick start
git clone https://github.com/yourusername/cleanmac.git
cd cleanmac
pnpm install
pnpm tauri build-
Grant Full Disk Access - On first launch, CleanMac will guide you to grant Full Disk Access in System Preferences for complete scanning capabilities.
-
Choose Your Profile
- Regular - Standard cleanup suitable for most users
- Developer - Protects development caches and build artifacts
-
Scan & Clean - Use the dashboard to scan for cleanable files, review what will be removed, and clean with confidence.
| Component | Technology |
|---|---|
| Framework | Tauri 2.x |
| Backend | Rust 1.75+ |
| Frontend | React 19, TypeScript 5.x |
| Styling | Tailwind CSS 3.x |
| State | Zustand |
| Build | Vite 7.x, pnpm |
cleanmac/
├── src/ # React frontend
│ ├── components/ # UI components
│ ├── stores/ # Zustand state stores
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Utilities and API wrappers
│ ├── types/ # TypeScript type definitions
│ └── pages/ # Page components
├── src-tauri/ # Rust backend
│ ├── src/
│ │ ├── commands/ # Tauri command handlers
│ │ ├── scanner/ # File scanning logic
│ │ ├── analyzer/ # Analysis (developer detection, etc.)
│ │ ├── cleaner/ # Safe deletion operations
│ │ ├── models/ # Data structures
│ │ └── utils/ # Utilities
│ └── Cargo.toml
└── package.json
- 100% Local - All operations happen on your device. No data is sent anywhere.
- No Telemetry - CleanMac does not collect any usage data or analytics.
- Open Source - Full source code available for audit.
- Safe by Default - Files go to Trash first, allowing easy recovery.
Contributions are welcome! Please read the Contributing Guidelines before submitting a PR.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
See DEVELOPMENT.md for detailed development setup and guidelines.
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Tauri
- Icons and design inspired by macOS
- Thanks to all contributors
Note: CleanMac is not affiliated with Apple Inc. macOS is a trademark of Apple Inc.