Mole

Mole

C'EST QUOI ?

Mole est une CLI open source pour macOS (commande mo) qui regroupe nettoyage du disque, désinstallation d'applications, analyse de l'espace occupé et monitoring système. Elle reprend les usages de CleanMyMac, AppCleaner, DaisyDisk et iStat Menus dans un seul outil en terminal. Elle fonctionne sur macOS 12 et plus, Intel comme Apple Silicon, et s'installe avec brew install mole. Une app Mac native payante existe à part (Mole for Mac) : le repo ne concerne que la CLI gratuite.

POURQUOI C'EST INTÉRESSANT ?

  • Nettoyage ciblé : mo clean passe sur les caches utilisateur et navigateurs, les logs, les fichiers temporaires, les caches d'outils de dev (npm, Xcode) et les restes d'applications déjà supprimées. Les caches à conserver se protègent via une whitelist stockée dans ~/.config/mole/whitelist.
  • Désinstallation sans résidus : mo uninstall supprime l'application avec ses launch agents, ses préférences et ses fichiers cachés dans ~/Library. Si une autre copie installée utilise des données partagées, Mole les laisse en place.
  • Purge des artefacts de build : mo purge repère les node_modules, target, .build, build et dist, regroupés par projet. Les artefacts modifiés dans les 7 derniers jours sont désélectionnés par défaut, et les dossiers contenant des fichiers suivis par Git ou des dépôts Git imbriqués sont protégés.
  • Explorateur de disque et dashboard : mo analyze est un explorateur en terminal avec navigation Vim, filtres, multi-sélection et envoi à la corbeille après confirmation. mo status affiche en lecture seule CPU, mémoire, disque, réseau, batterie et processus, avec un score de santé global.
  • Garde-fous explicites : clean, uninstall, optimize, purge et installer acceptent --dry-run. Mole tourne sans sudo et ne demande les droits administrateur qu'au besoin. Chaque nettoyage est journalisé et consultable avec mo history. Quand Mole ne peut pas prouver qu'un élément est sans risque, il le saute.
  • Sortie JSON : mo status --json, mo analyze --json et mo history --json renvoient des données exploitables par script, et mo status --watch émet un flux NDJSON en continu.

CAS D'USAGE

  • Faire de la place sur un Mac de dev encombré en purgeant les vieux node_modules et dossiers target de projets inactifs.
  • Désinstaller une grosse application (suite Adobe, IDE JetBrains) sans laisser de fichiers orphelins dans ~/Library.
  • Supprimer les DMG, PKG et ISO oubliés dans Téléchargements, sur le Bureau ou dans le cache Homebrew avec mo installer.
  • Surveiller l'état d'une machine depuis un script ou un outil de monitoring via mo status --json.
  • Lancer le nettoyage ou le dashboard depuis Raycast ou Alfred avec les lanceurs fournis par le script setup-quick-launchers.sh.

SOURCES

DÉPÔThttps://github.com/tw93/mole
SITEhttps://mole.fit
LICENCEGPL-3.0