https://github.com/nk2552003/mac-cleaner
Detects and removes leftover files from uninstalled apps, stale caches, crash reports, logs, and other system junk — safely, with multiple layers of protection and full undo support.
https://github.com/nk2552003/mac-cleaner
cleaner macos macos-package python utilities-python
Last synced: 24 days ago
JSON representation
Detects and removes leftover files from uninstalled apps, stale caches, crash reports, logs, and other system junk — safely, with multiple layers of protection and full undo support.
- Host: GitHub
- URL: https://github.com/nk2552003/mac-cleaner
- Owner: NK2552003
- License: apache-2.0
- Created: 2026-05-10T03:30:12.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2026-05-22T05:16:41.000Z (about 1 month ago)
- Last Synced: 2026-05-22T13:58:33.239Z (about 1 month ago)
- Topics: cleaner, macos, macos-package, python, utilities-python
- Language: Python
- Homepage: https://pypi.org/project/mac-deep-cleaner/
- Size: 285 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Mac Deep Cleaner
**Reclaim gigabytes of disk space with confidence — the safest, smartest macOS cleanup tool ever built.**
[](https://pypi.org/project/mac-deep-cleaner/)
[](https://www.python.org/downloads/)
[](https://github.com/NK2552003/Mac-Cleaner/blob/main/LICENSE)
[](https://www.apple.com/macos/)
[](https://pepy.tech/projects/mac-deep-cleaner)
**Mac Deep Cleaner** is a professional-grade macOS utility that intelligently detects and removes leftover files from uninstalled apps, stale caches, crash reports, logs, and system junk — with **multiple layers of protection** and **full undo support**.
```bash
# Two commands, same powerful tool
mac-cleaner scan # Full-featured
mdc scan # Quick alias
```
---
## Why Mac Deep Cleaner?
| **Safety First** | **Lightning Fast** | **Smart Detection** |
|---------------------|----------------------|------------------------|
| Never touches system files (`com.apple.*`) | Multi-threaded scanning | Bundle ID matching technology |
| Running apps are protected | Progressively displays results | Team ID validation for containers |
| Full undo/restore capability | Optimized hashing algorithms | Cross-references 45+ locations |
| Audit logging for every action | Minimal memory footprint | AI-powered orphan detection |
---
## Installation
### Quick Install (Recommended)
```bash
pip install mac-deep-cleaner
```
### From Source
```bash
git clone https://github.com/NK2552003/Mac-Cleaner.git
cd Mac-Cleaner
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
```
---
## Quick Start
### Scan Your System (Safe Preview)
```bash
mac-cleaner scan
```
### Review the Dashboard
```bash
mac-cleaner dashboard
```
### Clean Up (with Undo Support)
```bash
mac-cleaner clean # Interactive mode
mac-cleaner clean --auto # Auto-delete detected items
```
### Need to Restore?
```bash
mac-cleaner undo # Restore last cleanup
```
---
## Documentation
Comprehensive guides for every use case:
| Document | Description |
|----------|-------------|
| **[Features Guide](https://github.com/NK2552003/Mac-Cleaner/blob/main/docs/FEATURES.md)** | Complete list of all 60+ features with examples |
| **[Command Reference](https://github.com/NK2552003/Mac-Cleaner/blob/main/docs/COMMAND_REFERENCE.md)** | Detailed CLI documentation for every command |
| **[Architecture Guide](https://github.com/NK2552003/Mac-Cleaner/blob/main/docs/ARCHITECTURE.md)** | Internal structure, modules, and extension points |
| **[PyPI Publishing](https://github.com/NK2552003/Mac-Cleaner/blob/main/docs/PYPI_PUBLISHING.md)** | Build and publish instructions |
---
## Core Features
### Smart Scanning
- **Orphan Detection** — Finds leftover data from uninstalled apps using bundle ID matching
- **General Junk** — Caches, logs, crash reports, `.DS_Store`, Xcode artifacts, package manager caches
- **Developer Junk** — `node_modules`, `venv`, build outputs, coverage dirs (opt-in)
- **Global Dev Caches** — `~/.npm`, `~/.gradle`, `~/.m2`, `~/.cargo`, `~/.nuget` (opt-in)
- **Duplicate Finder** — SHA-256 hashing with two-phase optimization, optional APFS clone-aware estimates
- **Large File Scanner** — Find files ≥100 MB, categorized by type
- **Broken Symlink Detector** — Scans Homebrew, `/usr/local`, `~/bin`, and more
### Advanced Cleaning
- **Browser Data Cleaner** — Cache, cookies, history, sessions (Chrome, Firefox, Safari, Edge, Brave)
- **iOS Simulator Cleaner** — Manage simulator data and caches
- **Photos Library Analyzer** — Breakdown of Photos library storage
- **iOS Backup Finder** — Parse MobileSync backups with device info
- **Language Pack Stripper** — Remove unused `.lproj` directories
- **Universal Binary Thinner** — Safely thin fat binaries with `ditto --arch`
- **Full App Uninstaller** — Remove app bundles plus all associated data
### Reporting & Monitoring
- **Space Map** — Visual disk usage tree
- **HTML Reports** — Self-contained reports with interactive charts
- **Scan History** — JSON records with diff comparison
- **Weekly Digest** — Aggregated weekly summaries
- **Impact Score** — Measure cleaning effectiveness (0-100)
- **Storage Trends** — Track disk usage over time
### System Utilities
- **System Inspector** — LaunchAgents, LaunchDaemons, login items, SIP status
- **Memory Pressure Reliever** — Report and purge memory caches
- **Homebrew Manager** — Cache cleanup, outdated list, autoremove
- **DNS Cache Flush** — Refresh name resolution
- **Font Cache Rebuild** — Safely rebuild ATS caches
- **Spotlight Re-index** — Rebuild metadata index
- **Power Optimizer** — Apply recommended `pmset` settings
- **App Update Checker** — System, Homebrew, and App Store updates
- **PKG Receipt Manager** — List and forget pkgutil receipts
- **Permissions Auditor** — TCC privacy access audit (read-only)
- **Time Machine Guard** — Status, age checks, local snapshots
- **APFS Snapshot Guard** — List and prune local snapshots
### User Experience
- **Live TUI Dashboard** — Real-time Rich layout during scans
- **Interactive TUI Picker** — Keyboard-driven app selection
- **Shell Completions** — Bash, zsh, fish support
- **macOS Notifications** — Native notifications via `osascript`
- **Menu Bar Companion** — SwiftBar/xbar plugin integration
- **CI Mode** — JSON output with threshold-based exit codes
- **Undo/Restore** — Staged deletions with checksum verification
### Cloud & Security
- **Cloud Storage Junk** — Dropbox, Google Drive, OneDrive, Box caches
- **Data Breach Monitor** — HIBP API integration for email checks
- **Multi-Mac Config Sync** — Export/import configurations
- **Scheduler** — LaunchAgent for automated weekly scans
---
## Safety Guarantees
Mac Deep Cleaner implements **7 layers of protection**:
| Layer | Protection |
|-------|------------|
| **System Protection** | `com.apple.*` files are **NEVER** deleted |
| **Running App Guard** | Active applications are automatically protected |
| **Group Container Validation** | Team IDs verified against vendor database |
| **System Cache Isolation** | OS-owned caches skipped by default |
| **Preview by Default** | `scan` command never modifies filesystem |
| **Undo/Restore** | Files staged in `~/.mac_cleaner_trash/` for recovery |
| **Audit Logging** | Every deletion logged to `~/.mac_cleaner_deleted.log` |
| **Final Safety Gate** | Path validation immediately before deletion |
| **Binary Backup** | Fat binaries backed up as `.fat_backup` before thinning |
---
## Common Workflows
### Daily Maintenance
```bash
# Quick scan with live dashboard
mdc dashboard
# Clean up detected items interactively
mdc clean
# Check system health
mdc system --health
```
### Developer Cleanup
```bash
# Scan with developer junk detection
mdc scan --dev-junk --dev-junk-global
# Clean Xcode derived data
mdc xcode-cleaner --delete --yes
# Find large project files
mdc large-files --min-mb 50 --root ~/Projects
```
### iOS Developer Tools
```bash
# List simulators and their sizes
mdc simulators
# Purge unavailable simulators
mdc simulators --purge-unavailable --yes
# Manage iOS backups
mdc extras --ios-backups
```
### Targeted Cleaning
```bash
# Uninstall an app completely
mdc uninstall "Slack"
# Clean specific browser data
mdc browser-data --browser chrome --category cache --clean
# Find and remove old installers
mdc installer-hunter --min-age-days 30 --delete --yes
```
### Reporting & Automation
```bash
# Export scan results
mdc scan --export report.html
# CI/CD integration
mdc scan --ci --threshold-mb 500
# Weekly digest
mdc weekly-digest --days 7
# Compare scans
mdc diff
```
---
## Configuration
Create a config file at `~/.config/mac-cleaner/config.yaml`:
```yaml
# Active profile
profile: developer
# Protected paths
whitelist:
- ~/Library/Application Support/ImportantApp
- ~/Projects/critical-folder
# Categories to skip
skip_categories:
- "System Cache"
- "Log File"
# Custom scan locations
custom_scan_roots:
- ~/Development
- /Volumes/ExternalDrive/Projects
# Scan behavior
scan_orphans: true
scan_junk: true
undo_mode: true
retention_days: 30
# Thresholds
large_file_threshold_mb: 100
duplicate_min_size_kb: 4
# Developer options
scan_dev_junk: true
scan_dev_junk_global: false
dev_junk_roots:
- ~/Projects
dev_junk_max_depth: 6
# Custom profiles
profiles:
minimal:
skip_categories:
- Xcode Junk
- npm Cache
aggressive:
skip_categories: []
large_file_threshold_mb: 50
scan_dev_junk_global: true
```
### Profile Types
| Profile | Best For | Settings |
|---------|----------|----------|
| `beginner` | First-time users | Maximum safety, conservative defaults |
| `developer` | Software engineers | Dev junk enabled, lower thresholds |
| `professional` | Power users | Aggressive cleaning, all features |
| `designer` | Creative professionals | Large file focus, media optimization |
| `minimal` | School/shared devices | Maximum protection, limited scope |
---
## Advanced Commands
### History & Comparison
```bash
# View scan history
mdc history
# Compare last two scans
mdc diff
# Compare specific scans
mdc diff abc12345 def67890
```
### Undo Operations
```bash
# List all undo sessions
mdc undo --list
# Restore latest session
mdc undo
# Restore specific session
mdc undo --session abc12345
# Verify checksums during restore
mdc undo --verify
# Clean old sessions
mdc undo --purge
```
### System Management
```bash
# Full system inspection
mdc system --all
# Memory management
mdc memory-pressure --relieve
# Purgeable space
mdc purgeable --thin-gb 10 --yes
# Storage trends
mdc storage-trend --record
mdc storage-trend --days 7
```
### Scheduling & Automation
```bash
# Install weekly scan scheduler
mdc schedule install
# Check scheduler status
mdc schedule status
# Remove scheduler
mdc schedule remove
```
### Self-Update
```bash
# Check for updates
mdc update --check
# Update automatically
mdc update --yes
```
### Config Management
```bash
# Initialize config
mdc config --init
# Show current config
mdc config --show
# Sync across Macs
mdc config-sync export
mdc config-sync import
```
---
## Example Output
### Scan Summary
```
╔══════════════════════════════════════════════════╗
║ Mac Deep Cleaner - Scan Results ║
╠══════════════════════════════════════════════════╣
║ Orphaned Apps: 23 items (1.2 GB) ║
║ General Junk: 156 items (3.4 GB) ║
║ Developer Junk: 42 items (2.1 GB) ║
╠══════════════════════════════════════════════════╣
║ Total Reclaimable: 6.7 GB ║
╚══════════════════════════════════════════════════╝
Safe to clean: 6.5 GB
Review recommended: 0.2 GB
```
### Space Map
```
/Users (256 GB)
├── Library (45 GB)
│ ├── Caches (12 GB)
│ ├── Application Support (18 GB)
│ └── Logs (2.3 GB)
├── Documents (89 GB)
└── Downloads (34 GB)
```
---
## Requirements
- **macOS:** 10.15 (Catalina) or later
- **Python:** 3.9 or higher
- **Dependencies:** `rich`, `click`, `pyyaml` (auto-installed)
---
## Contributing
We welcome contributions! Please read our contributing guidelines before submitting PRs.
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Run tests: `pytest tests/`
5. Submit a pull request
---
## License
Copyright © 2024 Mac Deep Cleaner Contributors
Licensed under the [Apache License 2.0](https://github.com/NK2552003/Mac-Cleaner/blob/main/LICENSE).
---
## Support
- **Documentation:** [docs/](https://github.com/NK2552003/Mac-Cleaner/tree/main/docs)
- **Issues:** [GitHub Issues](https://github.com/NK2552003/Mac-Cleaner/issues)
---
**Made with ❤️ for the macOS community**
[⭐ Star this repo](https://github.com/NK2552003/Mac-Cleaner)
[Read the COMMAND REFERENCE](https://github.com/NK2552003/Mac-Cleaner/blob/main/docs/COMMAND_REFERENCE.md)
[Report an issue](https://github.com/NK2552003/Mac-Cleaner/issues)