mole-mac-cleaner
Original:🇺🇸 English
Translated
Deep clean and optimize your Mac using the Mole CLI tool
11installs
Sourcearadotso/trending-skills
Added on
NPX Install
npx skill4agent add aradotso/trending-skills mole-mac-cleanerTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Mole Mac Cleaner
Skill by ara.so — Daily 2026 Skills collection.
Mole () is an all-in-one macOS maintenance CLI that combines deep cleaning, smart app uninstallation, disk analysis, system optimization, live monitoring, and project artifact purging into a single binary.
moInstallation
bash
# Via Homebrew (recommended)
brew install mole
# Via install script (supports version pinning)
curl -fsSL https://raw.githubusercontent.com/tw93/mole/main/install.sh | bash
# Specific version
curl -fsSL https://raw.githubusercontent.com/tw93/mole/main/install.sh | bash -s 1.17.0
# Latest main branch (nightly)
curl -fsSL https://raw.githubusercontent.com/tw93/mole/main/install.sh | bash -s latestCore Commands
bash
mo # Interactive menu (arrow keys or vim h/j/k/l)
mo clean # Deep system cache + browser + dev tool cleanup
mo uninstall # Remove apps plus all hidden remnants
mo optimize # Rebuild caches, reset network, refresh Finder/Dock
mo analyze # Visual disk space explorer
mo status # Live real-time system health dashboard
mo purge # Remove project build artifacts (node_modules, target, dist)
mo installer # Find and remove installer .dmg/.pkg files
mo touchid # Configure Touch ID for sudo
mo completion # Set up shell tab completion
mo update # Update Mole
mo update --nightly # Update to latest unreleased build (script install only)
mo remove # Uninstall Mole itself
mo --help
mo --versionSafe Preview Before Deleting
Always dry-run destructive commands first:
bash
mo clean --dry-run
mo uninstall --dry-run
mo purge --dry-run
# Combine with debug for detailed output
mo clean --dry-run --debug
mo optimize --dry-run --debugKey Command Details
mo clean
— Deep Cleanup
mo cleanCleans user app caches, browser caches (Chrome, Safari, Firefox), developer tool caches (Xcode, Node.js, npm), system logs, temp files, app-specific caches (Spotify, Dropbox, Slack), and Trash.
bash
mo clean # Interactive cleanup
mo clean --dry-run # Preview what would be removed
mo clean --whitelist # Manage protected caches (exclude from cleanup)Whitelist config lives at . Edit it to protect paths you want to keep.
~/.config/mole/mo uninstall
— Smart App Removal
mo uninstallFinds apps, shows size and last-used date, then removes the app bundle plus all related files:
- Application Support, Caches, Preferences
- Logs, WebKit storage, Cookies
- Extensions, Plugins, Launch Daemons
bash
mo uninstall # Interactive multi-select list
mo uninstall --dry-run # Preview removalsmo optimize
— System Refresh
mo optimizebash
mo optimize # Run all optimizations
mo optimize --dry-run # Preview
mo optimize --whitelist # Exclude specific optimizationsOptimizations include:
- Rebuild system databases and clear caches
- Reset network services
- Refresh Finder and Dock
- Clean diagnostic and crash logs
- Remove swap files and restart dynamic pager
- Rebuild launch services and Spotlight index
mo analyze
— Disk Explorer
mo analyzebash
mo analyze # Analyze home directory (skips /Volumes by default)
mo analyze ~/Downloads # Analyze specific path
mo analyze /Volumes # Include external drives explicitly
# Machine-readable output for scripting
mo analyze --json ~/DocumentsJSON output example:
json
{
"path": "/Users/you/Documents",
"entries": [
{ "name": "Library", "path": "...", "size": 80939438080, "is_dir": true }
],
"total_size": 168393441280,
"total_files": 42187
}Navigator shortcuts inside :
mo analyze| Key | Action |
|---|---|
| Navigate list |
| Go back / Enter directory |
| Open in Finder |
| Reveal in Finder |
| Move to Trash (via Finder, safer than direct delete) |
| Show large files |
| Quit |
mo status
— Live Dashboard
mo statusbash
mo status # Real-time CPU, GPU, memory, disk, network, processes
mo status --json # JSON output for scripting
mo status | jq '.health_score' # Auto-detects pipe → outputs JSONJSON output example:
json
{
"host": "MacBook-Pro",
"health_score": 92,
"cpu": { "usage": 45.2, "logical_cpu": 8 },
"memory": { "total": 25769803776, "used": 15049334784, "used_percent": 58.4 },
"disks": [],
"uptime": "3d 12h 45m"
}Shortcuts inside : toggles the cat mascot, quits.
mo statuskqmo purge
— Project Artifact Cleanup
mo purgeScans for , , , , , and similar directories. Projects newer than 7 days are unselected by default.
node_modulestargetbuilddistvenvbash
mo purge # Interactive multi-select
mo purge --dry-run # Preview
mo purge --paths # Configure custom scan directoriesConfigure custom scan paths ():
~/.config/mole/purge_paths~/Documents/MyProjects
~/Work/ClientA
~/Work/ClientBWhen this file exists, Mole uses only those paths. Otherwise it defaults to , , .
~/Projects~/GitHub~/devInstallfor faster scanning:fdbrew install fd
mo installer
— Installer File Cleanup
mo installerbash
mo installer # Find .dmg/.pkg files in Downloads, Desktop, Homebrew cache, iCloud, Mail
mo installer --dry-run # Preview removalsConfiguration Files
All config lives in :
~/.config/mole/| File | Purpose |
|---|---|
| Custom directories for |
| Log of all file operations |
Disable operation logging:
bash
export MO_NO_OPLOG=1
mo cleanShell Tab Completion
bash
mo completion # Interactive setup for bash/zsh/fishTouch ID for sudo
bash
mo touchid # Enable Touch ID authentication for sudo commands
mo touchid enable --dry-runScripting & Automation Patterns
Check disk health in a script
bash
#!/bin/bash
health=$(mo status --json | jq -r '.health_score')
if [ "$health" -lt 70 ]; then
echo "Health score low: $health — running cleanup"
mo clean --dry-run # swap to `mo clean` when ready
fiGet largest directories as JSON and process with jq
bash
mo analyze --json ~/Downloads | jq '.entries | sort_by(-.size) | .[0:5] | .[] | {name, size_gb: (.size / 1073741824 | . * 100 | round / 100)}'Automated project purge in CI teardown
bash
#!/bin/bash
# Non-interactive purge of build artifacts after CI
MO_NO_OPLOG=1 mo purge --dry-run # always preview first in scriptsRaycast / Alfred quick launchers
bash
curl -fsSL https://raw.githubusercontent.com/tw93/mole/main/install.sh | bash
# Then bind `mo clean`, `mo status`, `mo analyze` as script commands in RaycastSafety Boundaries
- moves files to Trash via Finder (recoverable) instead of direct deletion — prefer it for ad hoc cleanup
mo analyze - ,
clean,uninstall,purge, andinstallerare permanently destructive — alwaysremovefirst--dry-run - Mole validates paths and enforces protected-directory rules; it skips or refuses high-risk operations
- Operation log: — disable with
~/.config/mole/operations.logMO_NO_OPLOG=1 - Review SECURITY.md and SECURITY_AUDIT.md before using in automated pipelines
Troubleshooting
| Problem | Solution |
|---|---|
| Run |
| Purge scan is slow | Install |
| External drives not appearing in analyze | Run |
| Want to protect a cache from being cleaned | Run |
| Need to exclude an optimization step | Run |
| Script getting interactive prompts | Use |
| Nightly update not working | Nightly updates ( |
Update & Remove
bash
mo update # Update to latest stable
mo update --nightly # Update to latest main (script install only)
mo remove # Uninstall Mole completely
mo remove --dry-run # Preview what remove would delete