Skip to content

tw93/Mole

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1,892 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Mole

Deep clean and optimize your Mac.

Stars Version License Commits Twitter Telegram

Mole - 95.50GB freed

Features

  • All-in-one toolkit: Combines CleanMyMac, AppCleaner, DaisyDisk, and iStat Menus in a single binary
  • Deep cleaning: Removes caches, logs, and browser leftovers to reclaim gigabytes of space
  • Smart uninstaller: Removes apps plus launch agents, preferences, and hidden remnants
  • Disk insights: Visualizes usage, finds large files, rebuilds caches, and refreshes system services
  • Live monitoring: Shows real-time CPU, GPU, memory, disk, and network stats

Quick Start

Install via Homebrew

brew install mole

Or via script

# Optional args: -s latest for main branch code, -s 1.17.0 for specific version curl -fsSL https://raw.githubusercontent.com/tw93/mole/main/install.sh | bash

Note: Mole is built for macOS. An experimental Windows version is available in the windows branch for early adopters.

Run

mo # Interactive menu mo clean # Deep cleanup mo uninstall # Remove apps + leftovers mo optimize # Refresh caches & services mo analyze # Visual disk explorer mo status # Live system health dashboard mo purge # Clean project build artifacts mo installer # Find and remove installer 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 main build, script install only mo remove # Remove Mole from system mo --help # Show help mo --version # Show installed version

Preview safely

mo clean --dry-run mo uninstall --dry-run mo purge --dry-run # Also works with: optimize, installer, remove, completion, touchid enable mo clean --dry-run --debug # Preview + detailed logs mo optimize --whitelist # Manage protected optimization rules mo clean --whitelist # Manage protected caches mo purge --paths # Configure project scan directories mo analyze /Volumes # Analyze external drives only

Security & Safety Design

Mole is a local system maintenance tool, and some commands can perform destructive local operations.

Mole uses safety-first defaults: path validation, protected-directory rules, conservative cleanup boundaries, and explicit confirmation for higher-risk actions. When risk or uncertainty is high, Mole skips, refuses, or requires stronger confirmation rather than broadening deletion scope.

mo analyze is safer for ad hoc cleanup because it moves files to Trash through Finder instead of deleting them directly.

Review SECURITY.md and SECURITY_AUDIT.md for reporting guidance, safety boundaries, and current limitations.

Tips

  • Video tutorial: Watch the Mole tutorial video, thanks to PAPAYA ้›ป่…ฆๆ•™ๅฎค.
  • Safety and logs: clean, uninstall, purge, installer, and remove are destructive. Review with --dry-run first, and add --debug when needed. File operations are logged to ~/Library/Logs/mole/operations.log. Disable with MO_NO_OPLOG=1. Review SECURITY.md and SECURITY_AUDIT.md.
  • Navigation: Mole supports arrow keys and Vim bindings h/j/k/l.

Features in Detail

Deep System Cleanup

$ mo clean Scanning cache directories... โœ“ User app cache 45.2GB โœ“ Browser cache (Chrome, Safari, Firefox) 10.5GB โœ“ Developer tools (Xcode, Node.js, npm) 23.3GB โœ“ System logs and temp files 3.8GB โœ“ App-specific cache (Spotify, Dropbox, Slack) 8.4GB โœ“ Trash 12.3GB ==================================================================== Space freed: 95.5GB | Free space now: 223.5GB ====================================================================

Note: In mo clean -> Developer tools, Mole removes unused CoreSimulator Volumes/Cryptex entries and skips IN_USE items.

Smart App Uninstaller

$ mo uninstall Select Apps to Remove โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• โ–ถ โ˜‘ Photoshop 2024 (4.2G) | Old โ˜ IntelliJ IDEA (2.8G) | Recent โ˜ Premiere Pro (3.4G) | Recent Uninstalling: Photoshop 2024 โœ“ Removed application โœ“ Cleaned 52 related files across 12 locations - Application Support, Caches, Preferences - Logs, WebKit storage, Cookies - Extensions, Plugins, Launch daemons ==================================================================== Space freed: 12.8GB ====================================================================

System Optimization

$ mo optimize System: 5/32 GB RAM | 333/460 GB Disk (72%) | Uptime 6d โœ“ 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 ==================================================================== System optimization completed ==================================================================== Use `mo optimize --whitelist` to exclude specific optimizations.

Disk Space Analyzer

Note: By default, Mole skips external drives under /Volumes for faster startup. To inspect them, run mo analyze /Volumes or a specific mount path.

$ mo analyze Analyze Disk ~/Documents | Total: 156.8GB โ–ถ 1. โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ 48.2% | ๐Ÿ“ Library 75.4GB >6mo 2. โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘ 22.1% | ๐Ÿ“ Downloads 34.6GB 3. โ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘ 14.3% | ๐Ÿ“ Movies 22.4GB 4. โ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘ 10.8% | ๐Ÿ“ Documents 16.9GB 5. โ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘ 5.2% | ๐Ÿ“„ backup_2023.zip 8.2GB โ†‘โ†“โ†โ†’ Navigate | O Open | F Show | โŒซ Delete | L Large files | Q Quit

Live System Status

Real-time dashboard with health score, hardware info, and performance metrics.

$ mo status Mole Status Health โ— 92 MacBook Pro ยท M4 Pro ยท 32GB ยท macOS 14.5 โš™ CPU โ–ฆ Memory Total โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘ 45.2% Used โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘ 58.4% Load 0.82 / 1.05 / 1.23 (8 cores) Total 14.2 / 24.0 GB Core 1 โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘ 78.3% Free โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘ 41.6% Core 2 โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘ 62.1% Avail 9.8 GB โ–ค Disk โšก Power Used โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘ 67.2% Level โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ 100% Free 156.3 GB Status Charged Read โ–ฎโ–ฏโ–ฏโ–ฏโ–ฏ 2.1 MB/s Health Normal ยท 423 cycles Write โ–ฎโ–ฎโ–ฎโ–ฏโ–ฏ 18.3 MB/s Temp 58ยฐC ยท 1200 RPM โ‡… Network โ–ถ Processes Down โ–โ–โ–ˆโ–‚โ–โ–โ–โ–โ–โ–โ–โ–โ–‡โ–†โ–…โ–‚ 0.54 MB/s Code โ–ฎโ–ฎโ–ฎโ–ฎโ–ฏ 42.1% Up โ–„โ–„โ–„โ–ƒโ–ƒโ–ƒโ–„โ–†โ–†โ–‡โ–ˆโ–โ–โ–โ–โ– 0.02 MB/s Chrome โ–ฎโ–ฎโ–ฎโ–ฏโ–ฏ 28.3% Proxy HTTP ยท 192.168.1.100 Terminal โ–ฎโ–ฏโ–ฏโ–ฏโ–ฏ 12.5%

Health score is based on CPU, memory, disk, temperature, and I/O load, with color-coded ranges.

Shortcuts: In mo status, press k to toggle the cat and save the preference, and q to quit.

When enabled, mo status shows a read-only alert banner for processes that stay above the configured CPU threshold for a sustained window. Use --proc-cpu-threshold, --proc-cpu-window, or --proc-cpu-alerts=false to tune or disable it.

Machine-Readable Output

Both mo analyze and mo status support a --json flag for scripting and automation.

mo status also auto-detects when its output is piped (not a terminal) and switches to JSON automatically.

# Disk analysis as JSON $ mo analyze --json ~/Documents { "path": "/Users/you/Documents", "entries": [ { "name": "Library", "path": "...", "size": 80939438080, "is_dir": true }, ... ], "total_size": 168393441280, "total_files": 42187 } # System status as JSON $ mo status --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", ... } # Auto-detected JSON when piped $ mo status | jq '.health_score' 92

Project Artifact Purge

Clean old build artifacts such as node_modules, target, build, and dist to free up disk space.

mo purge Select Categories to Clean - 18.5GB (8 selected) โžค โ— my-react-app 3.2GB | node_modules โ— old-project 2.8GB | node_modules โ— rust-app 4.1GB | target โ— next-blog 1.9GB | node_modules โ—‹ current-work 856MB | node_modules | Recent โ— django-api 2.3GB | venv โ— vue-dashboard 1.7GB | node_modules โ— backend-service 2.5GB | node_modules

Note: We recommend installing fd on macOS. brew install fd

Safety: This permanently deletes selected artifacts. Review carefully before confirming. Projects newer than 7 days are marked and unselected by default.

Custom Scan Paths

Run mo purge --paths to configure scan directories, or edit ~/.config/mole/purge_paths directly:

~/Documents/MyProjects ~/Work/ClientA ~/Work/ClientB

When custom paths are configured, Mole scans only those directories. Otherwise, it uses defaults like ~/Projects, ~/GitHub, and ~/dev.

Installer Cleanup

Find and remove large installer files across Downloads, Desktop, Homebrew caches, iCloud, and Mail. Each file is labeled by source.

mo installer Select Installers to Remove - 3.8GB (5 selected) โžค โ— Photoshop_2024.dmg 1.2GB | Downloads โ— IntelliJ_IDEA.dmg 850.6MB | Downloads โ— Illustrator_Setup.pkg 920.4MB | Downloads โ— PyCharm_Pro.dmg 640.5MB | Homebrew โ— Acrobat_Reader.dmg 220.4MB | Downloads โ—‹ AppCode_Legacy.zip 410.6MB | Downloads

Quick Launchers

Launch Mole commands from Raycast or Alfred:

curl -fsSL https://raw.githubusercontent.com/tw93/Mole/main/scripts/setup-quick-launchers.sh | bash

Adds 5 commands: Mole Clean, Mole Uninstall, Mole Optimize, Mole Analyze, Mole Status.

Raycast Setup

After running the script, complete these steps in Raycast:

  1. Open Raycast Settings (โŒ˜ + ,)
  2. Go to Extensions โ†’ Script Commands
  3. Click "Add Script Directory" (or "+")
  4. Add path: ~/Library/Application Support/Raycast/script-commands
  5. Search in Raycast for: "Reload Script Directories" and run it
  6. Done! Search for Mole Clean or clean, Mole Optimize, or Mole Status to use the commands

Note: The script creates the commands, but Raycast still requires a one-time manual script directory setup.

Terminal Detection

Mole auto-detects your terminal app. iTerm2 has known compatibility issues. We highly recommend Kaku. Other good options are Alacritty, kitty, WezTerm, Ghostty, and Warp. To override, set MO_LAUNCHER_APP=<name>.

Community Love

Thanks to everyone who helped build Mole. Go follow them. โค๏ธ



Real feedback from users who shared Mole on X.

Community feedback on Mole

Support

  • If Mole helped you, star the repo or share it with friends.
  • Got ideas or bugs? Read the Contributing Guide and open an issue or PR.
  • Like Mole? Buy Tw93 a Coke to support the project. ๐Ÿฅค Supporters are below.

License

MIT License. Feel free to use Mole and contribute.