// the find
tw93/Mole
🐹 Clean, uninstall, analyze, optimize, and monitor your Mac. Free open-source CLI, plus a native Mac app.
Mole is a Bash/Shell CLI (backed by a few Go subcommands) that bundles Mac maintenance into one binary: cache and leftover cleaning, app uninstalling, disk-usage exploration, system optimization, and a live resource dashboard. It's for macOS users who want a free, scriptable, open-source stand-in for CleanMyMac/AppCleaner/DaisyDisk/iStat Menus rather than paying for four separate apps.
Every destructive command (clean, uninstall, purge, installer, remove) supports --dry-run plus a persistent whitelist, so you can see exactly what will be touched before anything is deleted. analyze/status/history all have JSON output with explicit scan_status/partial markers, so it's usable from scripts, not just as an interactive TUI. The test setup is unusually serious for this category: hundreds of bats tests, Go unit tests for analyze/status, a dedicated fuzz corpus for dangerous paths, and CI running CodeQL plus a bundle-audit script. Cleanup actions are logged to an oplog reviewable via mo history, giving an after-the-fact audit trail instead of just a confirmation prompt.
The core (bin/, lib/) is plain Shell with only analyze and status implemented in Go — that split makes the codebase harder to reason about, and the shell side has to deal with bash 3.2 compatibility, which apparently has bitten them enough to warrant a dedicated portability-reviewer agent in the repo. The CLI is GPL-3.0 while the same author sells a proprietary native app (mole.fit); the free CLI works fine standalone but it's effectively a funnel into the paid product. Leftover/uninstall detection is based on matching bundle IDs and known paths — anything it can't confidently tie to an app is silently skipped rather than surfaced, so orphaned files can still accumulate without you knowing. Windows support only exists as an unmerged experimental branch, so despite the broad topic tags this is Mac-only in practice.