tw93/MolePublic

🐹 Open-source Mac and PC cleaner. Keep your machine clean, light, and running like new. Fast CLI, plus native Mac and Windows apps.

AI summary: A fast, command-line system cleanup and optimization tool specifically built for macOS.

Stars
74.8K
+485 today
Forks
2.7K
Watchers
150
Open issues
2
Open PRs
2
Contributors
~180
Commits
4.3K
Branches
22
Views (30d)
5

ShellGPL-3.0Created Sep 23, 2025Last push todayLatest release V1.71.0+774 stars this week+4.7K this month

Quick answers

What is Mole?
A fast, command-line system cleanup and optimization tool specifically built for macOS.
What does Mole do?
Mole is a powerful CLI utility for macOS designed to reclaim disk space and optimize system performance. It conducts deep scans of the file system to locate unused caches, orphaned application data, and heavy developer artifacts like node_modules or build targets. Beyond simple deletion, Mole offers a smart uninstaller that tracks down scattered application files and a real-time system status dashboard for monitoring hardware health. It emphasizes safety by using the macOS Trash by default and providing interactive prompts before destructive actions. The tool offers a native, terminal-based alternative to heavy, paid Mac cleaning software.
Who is Mole for?
macOS power users, developers, and system administrators who prefer command-line tools for maintaining their machines. It requires basic familiarity with the terminal.
How do I get started with Mole?
mo --help
How popular is Mole on GitHub?
tw93/Mole has 74,798 stars and 2,688 forks on GitHub, and gained 774 stars in the last 7 days.
What license does Mole use?
tw93/Mole is released under the GPL-3.0 license.

Star history

since Jul 29, 2026
020K40K60KJul 2026Sep 2026Oct 2026Nov 2026
74.8K stars as of Nov 13, 2026. Measured daily since Jul 29, 2026; GitHub no longer exposes earlier star timestamps.

Update history

7 recorded
  • Nov 13, 2026New release V1.71.0 (previously V1.67.0).
  • Nov 9, 2026Description changed from "🐹 Keep your Mac and PC clean, light, and running like new. Fast open-source CLI, plus native Mac and Windows apps." to "🐹 Open-source Mac and PC cleaner. Keep your machine clean, light, and running like new. Fast CLI, plus native Mac and W".
  • Nov 2, 2026New release V1.67.0 (previously V1.62.0).
  • Oct 21, 2026New release V1.62.0 (previously V1.58.0).
  • Oct 16, 2026Description changed from "🐹 Keep your Mac clean, light, and running like new. Fast open-source CLI, plus a native Mac app." to "🐹 Keep your Mac and PC clean, light, and running like new. Fast open-source CLI, plus native Mac and Windows apps.".
  • Oct 9, 2026New release V1.58.0 (previously V1.56.0).
  • Oct 9, 2026Description changed from "🐹 Clean, uninstall, analyze, optimize, and monitor your Mac. Free open-source CLI, plus a native Mac app." to "🐹 Keep your Mac clean, light, and running like new. Fast open-source CLI, plus a native Mac app.".

Contribution activity

commits per day, last 52 weeks
NovDecJanFebMarAprMayJunJulAugSepOctNovMonWedFri2025-11-16: 15 commits2025-11-17: 6 commits2025-11-18: 13 commits2025-11-19: 14 commits2025-11-20: 10 commits2025-11-21: 42 commits2025-11-22: 17 commits2025-11-23: 14 commits2025-11-24: 11 commits2025-11-25: 6 commits2025-11-26: 1 commit2025-11-27: 8 commits2025-11-28: 4 commits2025-11-29: 7 commits2025-11-30: 7 commits2025-12-01: 22 commits2025-12-02: 9 commits2025-12-03: 8 commits2025-12-04: 8 commits2025-12-05: 17 commits2025-12-06: 17 commits2025-12-07: 2 commits2025-12-08: 17 commits2025-12-09: 5 commits2025-12-10: 16 commits2025-12-11: 33 commits2025-12-12: 33 commits2025-12-13: 16 commits2025-12-14: 12 commits2025-12-15: 4 commits2025-12-16: 5 commits2025-12-17: 18 commits2025-12-18: 17 commits2025-12-19: 6 commits2025-12-20: 4 commits2025-12-21: 6 commits2025-12-22: 16 commits2025-12-23: 2 commits2025-12-24: 0 commits2025-12-25: 6 commits2025-12-26: 18 commits2025-12-27: 21 commits2025-12-28: 40 commits2025-12-29: 42 commits2025-12-30: 31 commits2025-12-31: 18 commits2026-01-01: 8 commits2026-01-02: 16 commits2026-01-03: 29 commits2026-01-04: 16 commits2026-01-05: 38 commits2026-01-06: 5 commits2026-01-07: 0 commits2026-01-08: 35 commits2026-01-09: 13 commits2026-01-10: 13 commits2026-01-11: 14 commits2026-01-12: 10 commits2026-01-13: 10 commits2026-01-14: 19 commits2026-01-15: 18 commits2026-01-16: 15 commits2026-01-17: 16 commits2026-01-18: 1 commit2026-01-19: 7 commits2026-01-20: 7 commits2026-01-21: 4 commits2026-01-22: 10 commits2026-01-23: 18 commits2026-01-24: 1 commit2026-01-25: 0 commits2026-01-26: 22 commits2026-01-27: 17 commits2026-01-28: 11 commits2026-01-29: 2 commits2026-01-30: 8 commits2026-01-31: 15 commits2026-02-01: 2 commits2026-02-02: 13 commits2026-02-03: 8 commits2026-02-04: 14 commits2026-02-05: 4 commits2026-02-06: 0 commits2026-02-07: 16 commits2026-02-08: 0 commits2026-02-09: 4 commits2026-02-10: 17 commits2026-02-11: 4 commits2026-02-12: 1 commit2026-02-13: 3 commits2026-02-14: 1 commit2026-02-15: 8 commits2026-02-16: 13 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 1 commit2026-02-20: 1 commit2026-02-21: 13 commits2026-02-22: 8 commits2026-02-23: 6 commits2026-02-24: 9 commits2026-02-25: 2 commits2026-02-26: 22 commits2026-02-27: 13 commits2026-02-28: 25 commits2026-03-01: 7 commits2026-03-02: 1 commit2026-03-03: 26 commits2026-03-04: 4 commits2026-03-05: 9 commits2026-03-06: 5 commits2026-03-07: 8 commits2026-03-08: 7 commits2026-03-09: 1 commit2026-03-10: 7 commits2026-03-11: 4 commits2026-03-12: 1 commit2026-03-13: 3 commits2026-03-14: 17 commits2026-03-15: 4 commits2026-03-16: 3 commits2026-03-17: 5 commits2026-03-18: 14 commits2026-03-19: 7 commits2026-03-20: 3 commits2026-03-21: 12 commits2026-03-22: 3 commits2026-03-23: 7 commits2026-03-24: 1 commit2026-03-25: 0 commits2026-03-26: 0 commits2026-03-27: 13 commits2026-03-28: 16 commits2026-03-29: 2 commits2026-03-30: 7 commits2026-03-31: 1 commit2026-04-01: 12 commits2026-04-02: 7 commits2026-04-03: 9 commits2026-04-04: 5 commits2026-04-05: 5 commits2026-04-06: 3 commits2026-04-07: 12 commits2026-04-08: 4 commits2026-04-09: 6 commits2026-04-10: 4 commits2026-04-11: 4 commits2026-04-12: 8 commits2026-04-13: 6 commits2026-04-14: 13 commits2026-04-15: 2 commits2026-04-16: 7 commits2026-04-17: 3 commits2026-04-18: 3 commits2026-04-19: 7 commits2026-04-20: 2 commits2026-04-21: 2 commits2026-04-22: 13 commits2026-04-23: 1 commit2026-04-24: 3 commits2026-04-25: 5 commits2026-04-26: 6 commits2026-04-27: 9 commits2026-04-28: 0 commits2026-04-29: 11 commits2026-04-30: 0 commits2026-05-01: 2 commits2026-05-02: 0 commits2026-05-03: 3 commits2026-05-04: 13 commits2026-05-05: 19 commits2026-05-06: 5 commits2026-05-07: 4 commits2026-05-08: 0 commits2026-05-09: 8 commits2026-05-10: 23 commits2026-05-11: 12 commits2026-05-12: 10 commits2026-05-13: 7 commits2026-05-14: 5 commits2026-05-15: 10 commits2026-05-16: 0 commits2026-05-17: 6 commits2026-05-18: 14 commits2026-05-19: 0 commits2026-05-20: 0 commits2026-05-21: 10 commits2026-05-22: 10 commits2026-05-23: 14 commits2026-05-24: 21 commits2026-05-25: 10 commits2026-05-26: 25 commits2026-05-27: 5 commits2026-05-28: 6 commits2026-05-29: 3 commits2026-05-30: 9 commits2026-05-31: 1 commit2026-06-01: 9 commits2026-06-02: 0 commits2026-06-03: 12 commits2026-06-04: 3 commits2026-06-05: 6 commits2026-06-06: 9 commits2026-06-07: 4 commits2026-06-08: 1 commit2026-06-09: 8 commits2026-06-10: 0 commits2026-06-11: 4 commits2026-06-12: 5 commits2026-06-13: 8 commits2026-06-14: 1 commit2026-06-15: 0 commits2026-06-16: 3 commits2026-06-17: 2 commits2026-06-18: 2 commits2026-06-19: 1 commit2026-06-20: 0 commits2026-06-21: 8 commits2026-06-22: 2 commits2026-06-23: 0 commits2026-06-24: 1 commit2026-06-25: 5 commits2026-06-26: 0 commits2026-06-27: 3 commits2026-06-28: 3 commits2026-06-29: 1 commit2026-06-30: 5 commits2026-07-01: 0 commits2026-07-02: 2 commits2026-07-03: 5 commits2026-07-04: 26 commits2026-07-05: 4 commits2026-07-06: 1 commit2026-07-07: 1 commit2026-07-08: 0 commits2026-07-09: 0 commits2026-07-10: 22 commits2026-07-11: 7 commits2026-07-12: 2 commits2026-07-13: 8 commits2026-07-14: 0 commits2026-07-15: 0 commits2026-07-16: 1 commit2026-07-17: 18 commits2026-07-18: 11 commits2026-07-19: 5 commits2026-07-20: 3 commits2026-07-21: 1 commit2026-07-22: 3 commits2026-07-23: 0 commits2026-07-24: 11 commits2026-07-25: 41 commits2026-07-26: 34 commits2026-07-27: 2 commits2026-07-28: 1 commit2026-07-29: 2 commits2026-07-30: 1 commit2026-07-31: 12 commits2026-08-01: 21 commits2026-08-02: 18 commits2026-08-03: 38 commits2026-08-04: 26 commits2026-08-05: 3 commits2026-08-06: 2 commits2026-08-07: 15 commits2026-08-08: 19 commits2026-08-09: 14 commits2026-08-10: 3 commits2026-08-11: 0 commits2026-08-12: 19 commits2026-08-13: 1 commit2026-08-14: 1 commit2026-08-15: 13 commits2026-08-16: 7 commits2026-08-17: 0 commits2026-08-18: 0 commits2026-08-19: 0 commits2026-08-20: 0 commits2026-08-21: 10 commits2026-08-22: 11 commits2026-08-23: 1 commit2026-08-24: 0 commits2026-08-25: 1 commit2026-08-26: 8 commits2026-08-27: 7 commits2026-08-28: 6 commits2026-08-29: 4 commits2026-08-30: 15 commits2026-08-31: 2 commits2026-09-01: 9 commits2026-09-02: 11 commits2026-09-03: 17 commits2026-09-04: 3 commits2026-09-05: 12 commits2026-09-06: 0 commits2026-09-07: 3 commits2026-09-08: 4 commits2026-09-09: 3 commits2026-09-10: 1 commit2026-09-11: 2 commits2026-09-12: 0 commits2026-09-13: 17 commits2026-09-14: 2 commits2026-09-15: 3 commits2026-09-16: 1 commit2026-09-17: 13 commits2026-09-18: 1 commit2026-09-19: 7 commits2026-09-20: 25 commits2026-09-21: 5 commits2026-09-22: 2 commits2026-09-23: 5 commits2026-09-24: 7 commits2026-09-25: 11 commits2026-09-26: 14 commits2026-09-27: 16 commits2026-09-28: 7 commits2026-09-29: 16 commits2026-09-30: 12 commits2026-10-01: 0 commits2026-10-02: 0 commits2026-10-03: 21 commits2026-10-04: 9 commits2026-10-05: 36 commits2026-10-06: 20 commits2026-10-07: 18 commits2026-10-08: 68 commits2026-10-09: 15 commits2026-10-10: 31 commits2026-10-11: 12 commits2026-10-12: 7 commits2026-10-13: 12 commits2026-10-14: 23 commits2026-10-15: 26 commits2026-10-16: 42 commits2026-10-17: 36 commits2026-10-18: 21 commits2026-10-19: 10 commits2026-10-20: 3 commits2026-10-21: 22 commits2026-10-22: 7 commits2026-10-23: 28 commits2026-10-24: 27 commits2026-10-25: 23 commits2026-10-26: 24 commits2026-10-27: 22 commits2026-10-28: 9 commits2026-10-29: 27 commits2026-10-30: 23 commits2026-10-31: 25 commits2026-11-01: 34 commits2026-11-02: 53 commits2026-11-03: 2 commits2026-11-04: 32 commits2026-11-05: 9 commits2026-11-06: 15 commits2026-11-07: 21 commits2026-11-08: 22 commits2026-11-09: 61 commits2026-11-10: 16 commits2026-11-11: 21 commits2026-11-12: 16 commits2026-11-13: 3 commits2026-11-14: 0 commits
3,651 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Landmark project

    74,798 stars

  • Very active

    3,651 commits in 52 weeks

  • Community-driven

    ~180 contributors

  • Well documented

    High community health score

  • Continuous integration

    Automated checks passing

  • Repeat trending

    4 trending appearances

What Mole does

Mole is a powerful CLI utility for macOS designed to reclaim disk space and optimize system performance. It conducts deep scans of the file system to locate unused caches, orphaned application data, and heavy developer artifacts like node_modules or build targets. Beyond simple deletion, Mole offers a smart uninstaller that tracks down scattered application files and a real-time system status dashboard for monitoring hardware health. It emphasizes safety by using the macOS Trash by default and providing interactive prompts before destructive actions. The tool offers a native, terminal-based alternative to heavy, paid Mac cleaning software.

macOS power users, developers, and system administrators who prefer command-line tools for maintaining their machines. It requires basic familiarity with the terminal.

  • Deep system cleanup: Identifies and clears user caches, browser data, and developer tool artifacts to free up significant disk space.
  • Smart uninstaller: Completely removes applications along with their hidden support files, preferences, and launch daemons.
  • Project artifact purge: Specifically targets and cleans heavy developer directories like node_modules and target folders.
  • Live system status: Provides a rich terminal dashboard displaying real-time CPU, memory, disk, network, and power metrics.
  • Disk space analyzer: Offers an interactive, TUI-based visualization of disk usage to help manually hunt down large files.

Where teams use it

Reclaiming disk space

Developers use the purge feature to quickly delete gigabytes of forgotten node_modules across old projects.

Complete application removal

Users rely on the smart uninstaller to ensure deleted apps don't leave orphaned background processes running.

System health monitoring

Power users utilize the live status dashboard in their terminal to monitor CPU loads and memory pressure.

Automated maintenance

Sysadmins can pipe the JSON output of the status and analyze commands into their own monitoring scripts.

Getting started: mo --help

README

main branch

macOS · Windows · Linux

Mole

Deep clean, uninstall, optimize, analyze disk and monitor your Mac. Free open-source CLI, plus a Mac app.

English · 中文 · 繁體 · 日本語 · 한국어 · Deutsch · Français · Polski · Українська · Русский

Stars Version License Commits Twitter Telegram

Mole cleanup results

💡 This repo is the free open-source CLI (mo). Prefer a native app? Mole for Mac is a separate download with review-before-delete cleanup, tested leftovers for 800+ apps, maintenance, disk drill-downs, live status, and fan controls on supported Macs. On Windows, the native app is Mole for Windows. brew install mole installs the CLI only.

Features

  • All-in-one CLI toolkit: Combines CleanMyMac, AppCleaner, DaisyDisk, and iStat Menus style workflows in one terminal command
  • Deep clean: Removes caches, logs, leftovers, and orphaned app data to reclaim disk space
  • Smart uninstaller: Removes apps together with LaunchAgents, preferences, and leftovers
  • Disk analyzer: Visualizes disk usage with an interactive TUI, finds large files, and navigates directories
  • System maintenance: Flushes DNS, refreshes QuickLook/icons, and optimizes system databases
  • Live monitoring: Shows real-time CPU, memory, disk I/O, network traffic, and process stats

Quick Start

Mole requires macOS 12 or newer and supports both Intel and Apple Silicon Macs. If Homebrew no longer supports your macOS version, use the script install instead.

Install via Homebrew

brew install mole

Or via script

curl -fsSL https://raw.githubusercontent.com/tw93/mole/main/install.sh | bash

With an AI agent

Tell your agent:

Install Mole for me by reading https://raw.githubusercontent.com/tw93/Mole/main/llms.txt

Or install the skill yourself. With it, Claude Code, Codex, Cursor and other agents show every cleanup with --dry-run before anything is removed, and leave app uninstalls and administrator steps to you. Update with npx skills update -g -y.

npx skills add tw93/Mole -a claude-code codex cursor -g -y

As a host plugin: /plugin marketplace add tw93/Mole then /plugin install mole@mole in Claude Code, codex plugin marketplace add tw93/Mole then codex plugin add mole@mole in Codex, or dsh plugin --profile <name> add dsh-mole in DeepSeek Harness.

Run

mo                           # Interactive menu
mo clean                     # Deep cleanup + already-uninstalled app leftovers
mo uninstall                 # Remove installed apps + their leftovers
mo optimize                  # Refresh caches & services
mo analyze                   # Visual disk explorer (or 'mo analyse')
mo status                    # Live system health dashboard
mo purge                     # Clean project build artifacts
mo installer                 # Find and remove installer files
mo slim                      # Remove Intel code from universal apps

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 optimize --dry-run
mo purge --dry-run
mo installer --dry-run
mo slim --dry-run
mo history
mo history --json

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
mo analyze /private/tmp      # Review user-owned temporary directories
Other install options

To install a specific release, pass any tag from the releases page, with or without its leading V. To track the development branch instead, pass main:

curl -fsSL https://raw.githubusercontent.com/tw93/mole/main/install.sh | bash -s -- 1.51.0
curl -fsSL https://raw.githubusercontent.com/tw93/mole/main/install.sh | bash -s -- main

main installs unreleased code from the default branch, so expect rough edges. latest still works as a legacy alias for main; despite the name it does not install the newest stable release.

The script normally installs to /usr/local/bin, which may ask for an administrator password. Install into a user-owned directory if you want future mo update runs to stay password-free:

mkdir -p "$HOME/.local/bin"
curl -fsSL https://raw.githubusercontent.com/tw93/mole/main/install.sh | bash -s -- --prefix "$HOME/.local/bin"
export PATH="$HOME/.local/bin:$PATH"

Add the same PATH export to ~/.zshrc or your shell profile for new terminals. Mole updates the installation you invoked, so it keeps using this directory. Commands that change system-owned files may still request administrator access.

Nix

On macOS, Nix users can install the flake from main, which contains unreleased changes:

nix profile install github:tw93/mole/main#mole
nix profile upgrade mole
nix profile remove mole

For a declarative installation, add github:tw93/mole/main as a flake input and use its packages.${system}.mole package. Update or remove Mole through Nix; mo update and mo remove leave Nix-managed installations unchanged.

On Windows (Windows CLI)

iwr -useb https://raw.githubusercontent.com/tw93/Mole/windows/quick-install.ps1 | iex

On Linux (Linux CLI)

curl -fsSL https://raw.githubusercontent.com/tw93/Mole/linux/install.sh | bash

Mole is only distributed through Homebrew, this repository and mole.fit. molemac.com, moleapp.net and molefit.com are not Mole, and the Windows app at mole.bluecatbot.com is a separate community project.

Safety

Mole can remove files, so it validates paths, protects shared and system-owned locations, and asks for confirmation when an action needs it. When Mole cannot prove an item is safe to change, it skips or refuses it.

  • clean, uninstall, purge, installer, slim, and remove can delete files, so review them with --dry-run first and add --debug when needed
  • Run Mole without sudo; it requests administrator access only when needed
  • mo uninstall, mo analyze, and mo slim route deletions to Trash by default after confirmation; clean, purge, and installer delete permanently. mo uninstall --permanent skips Trash
  • Cleanup activity is recorded in ~/Library/Logs/mole/operations.log; review it with mo history or disable it with MO_NO_OPLOG=1
  • Protect caches with mo clean --whitelist, or maintenance items with mo optimize --whitelist
  • If the whitelist file cannot be read, clean, purge, and optimize stop instead of running without it

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

Configuration

Mole runs without configuration. These environment variables adapt it to slow disks, stalled network or cloud mounts; raise a timeout only when Mole reports that a step timed out.

  • MOLE_TIMEOUT_QUICK_DETECT_SEC (2): command-availability probes
  • MOLE_TIMEOUT_SHORT_QUERY_SEC (3): lightweight queries such as df and tmutil status
  • MOLE_TIMEOUT_MEDIUM_PROBE_SEC (5): probes that walk a directory tree or reach the network
  • MOLE_TIMEOUT_PKG_LIST_SEC (10): package-manager listings such as brew list
  • MOLE_TIMEOUT_PKG_CLEANUP_SEC (20): cache cleanups that walk the disk
  • MOLE_TIMEOUT_DISK_VERIFY_SEC (30): filesystem verify and repair
  • MOLE_TIMEOUT_HINT_SCAN_SEC (15): unbounded user-directory scans
  • MOLE_CLOUD_OFFICE_SECTION_BUDGET_SEC (300): overall budget for the cloud and Office cleanup section

The number in parentheses is the default in seconds. For example, give the scans more time on a slow disk:

MOLE_TIMEOUT_HINT_SCAN_SEC=60 MOLE_TIMEOUT_MEDIUM_PROBE_SEC=15 mo clean

Features in Detail

The examples below are shortened. Available items, sizes, and skip reasons depend on your Mac.

Clean

mo clean reviews known-safe caches, logs, temporary files, developer artifacts, and leftovers from apps that are no longer installed. It empties ~/.Trash by default; to keep it, select Trash in mo clean --whitelist, the same menu that protects caches you want to keep. Volume Trashes such as /Volumes/*/.Trashes are not emptied with it. Selections persist in ~/.config/mole/whitelist. Before adding custom paths, open the menu and press Enter to save the selections, then append one path per line. An existing file replaces the optional defaults; built-in safety protections still apply.

$ mo clean

Clean Your Mac

⚙ Apple Silicon | Free space: 219.0GB

➤ User essentials
  ✓ User app cache · 18 items, 2.4GB
  ✓ User app logs · 7 items, 12.8MB
  ✓ Trash · emptied, 9 items

➤ App caches
  ✓ App Store cache · 8 items, 248.5MB

➤ Browsers
  ✓ Safari cache · 24 items, 642.1MB
  ✓ Chrome cache · 31 items, 1.2GB

➤ Developer tools
  ✓ npm cache · cleaned
  ◎ pnpm cache · skipped (pnpm busy)

======================================================================
Cleanup complete
Removed: 4.5GB · 97 items
Free space: 223.5GB (+4.5GB)
======================================================================

Uninstall

mo uninstall removes an installed app together with related files that Mole can tie back to that app. It keeps shared data when another installed copy still uses it. If the app is already gone, use mo clean to look for leftovers.

Personal data, including settings and plugins, is kept by default. Press D in the removal preview to select individual data paths. mo uninstall --with-data starts with that data selected, except browser profiles and App Group containers; the preview lists it separately and D still lets you keep any path. After removal, references in shell, Hook, or MCP configuration are listed by file and line only; Mole does not edit those configurations.

$ mo uninstall

Select Apps to Remove  1/3 selected

➤ ● Photoshop 2024                4.20GB | 2mo ago
  ○ IntelliJ IDEA                 2.80GB | 3d ago
  ○ Premiere Pro                  3.40GB | 2w ago

Files to be removed:

✓ Photoshop 2024, 4.20GB
  ✓ /Applications/Adobe Photoshop 2024/Adobe Photoshop 2024.app

Personal data kept:
  ~/Library/Application Support/Adobe/Adobe Photoshop 2024
  ~/Library/Preferences/com.adobe.Photoshop.plist

D choose personal data

======================================================================
Uninstall complete
Removed 1 app, freed 4.20GB: Photoshop 2024
======================================================================

Optimize

mo optimize runs bounded maintenance for supported Finder, network, database, and macOS services. Tasks that are unnecessary, unsafe at the moment, or unavailable are skipped with a reason. Use mo optimize --whitelist to exclude tasks or path patterns, such as a long-lived mounted disk image at /Volumes/mail that should not show up as a detach candidate.

$ mo optimize

Optimize

⚙ System  18/32 GB RAM | 616/926 GB Disk | Uptime 6d

PERFORMANCE DIAGNOSIS
  ✓ No sustained high-CPU bottleneck detected

➤ Finder Cache Refresh
  ✓ QuickLook thumbnails refreshed
  ✓ Icon services cache rebuilt

➤ Network Cache Refresh
  ✓ DNS cache refreshed

➤ Database Optimization
  ◎ Close these apps before database optimization: Safari

➤ Disk Health
  ✓ Disk verify skipped

======================================================================
Optimization Complete
Applied 2 optimizations
13 unchanged | 3 skipped | 1 unavailable
======================================================================

Analyze

mo analyze opens a terminal disk explorer. It supports arrow keys and Vim navigation, filtering, multi-selection, Finder preview, and confirmed moves to Trash. External drives are skipped from the default overview; inspect them with mo analyze /Volumes or a specific mount path. Use mo analyze /private/tmp to review user-owned temporary files without turning them into automatic cleanup targets. File-by-file scans count APFS clones that share all blocks once; fast folder estimates can still count shared blocks more than once.

A size ending in + contains measured bytes from a partial scan; unknown means the size could not be measured. Results cut short by temporary failures such as timeouts do not replace complete cached measurements, and a later refresh can recover the missing data. Folders macOS will not let the terminal read stay partial until access changes. The terminal list keeps the 30 largest entries, so an unreadable entry may fall outside that list; the total still indicates a partial scan. Directory JSON output includes all scanned entries.

mo analyze --json /path includes scan_status on the result and each entry: complete, partial, or unavailable. Numeric sizes contain measured bytes; a zero with unavailable does not mean an empty directory. Partial scans still exit successfully, so automation should inspect scan_status. Completeness applies within Mole's existing scan exclusions and does not promise an atomic filesystem snapshot.

$ mo analyze

Analyze Disk  (302.1GB free)
Select a location to explore:

 ▶  1. ████████████████████████  47.9%  |  Home                       75.4GB
    2. ███████████               22.0%  |  User Library               34.6GB
    3. ███████                   14.2%  |  Applications               22.4GB
    4. █████                     10.7%  |  System Library             16.9GB
    5. ███                        5.2%  |  Old Downloads (90d+)       8.2GB  >3mo

Status

mo status is a read-only dashboard for hardware, system pressure, disk activity, network traffic, power, and processes.

When the IPv4 default route uses a tunnel, network graphs use that interface’s rates to avoid counting the same traffic again on its physical carrier. JSON retains per-interface rates, including the routed tunnel; idle non-default tunnels stay hidden.

$ mo status

Mole Status  Health ● 92  MacBook Pro · M4 Pro · 32GB · macOS 26

⚙ CPU                                    ▦ Memory
Total   ████████████░░░░░░░  45.2%       Used    ███████████░░░░░░░  58.4%
Load    0.82 / 1.05 / 1.23 (8 cores)     Total   18.7 / 32.0 GB
Core 1  ███████████████░░░░  78.3%       Free    ████████░░░░░░░░░░  41.6%
Core 2  ████████████░░░░░░░  62.1%       Avail   13.3 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      Zombies 3 · Chrome (4242) ×3
Up      ▄▄▄▃▃▃▄▆▆▇█▁▁▁▁▁  0.02 MB/s      Code       ▮▮▮▮▯  42.1%
Proxy   HTTP · 192.168.1.100             Chrome     ▮▮▮▯▯  28.3%

The health score combines CPU, memory, disk capacity, SMART status, I/O, thermals, battery state, and uptime, with color-coded ranges. Press k to toggle the cat, c to cycle the number of CPU cores shown, or q to quit; display preferences are saved.

JSON, NDJSON, and process alerts
  • mo analyze --json ~/Documents returns a one-time disk report as JSON
  • mo status --json returns a one-time status snapshot as JSON
  • mo status | jq '.health_score' switches to JSON automatically when output is piped
  • mo status --watch --interval 2s streams newline-delimited JSON from a warm collector
  • mo history --json returns cleanup activity as JSON. Sessions include run_id (an opaque string, empty when no identity was logged) and attribution: run for identified runs, command for legacy command-based grouping, or ambiguous when legacy markers cannot distinguish interruption from overlapping runs. Recorded actions remain available; ambiguous counts cannot be assigned reliably to individual runs. An empty ended_at means no end marker was recorded
  • mo uninstall --list returns installed apps as JSON with name, bundle_id, source, uninstall_name, path and size
$ mo analyze --json ~/Documents
{
  "path": "/Users/you/Documents",
  "overview": false,
  "entries": [
    { "name": "Library", "path": "...", "size": 80939438080, "is_dir": true }
  ],
  "large_files": [
    { "name": "backup.zip", "path": "...", "size": 8796093022 }
  ],
  "total_size": 168393441280,
  "total_files": 42187
}

$ mo status --json
{
  "host": "MacBook-Pro",
  "health_score": 92,
  "cpu": { "usage": 45.2, "logical_cpu": 8 },
  "memory": { "total": 34359738368, "used": 20078972109, "used_percent": 58.4 },
  "disks": [],
  "process_collected_at": "2026-08-29T12:30:00Z",
  "process_stale": false,
  "zombie_count": 3,
  "zombie_parents": [
    { "pid": 4242, "name": "Google Chrome for Testing", "count": 3 }
  ],
  "zombie_parents_complete": true,
  "uptime": "3d 12h 45m"
}

Zombie diagnostics are read-only and do not affect the health score or terminate processes. Before Mole has a successful process sample, process_collected_at, process_stale, zombie_count, and zombie_parents_complete are omitted and zombie_parents is null. Later fast/watch snapshots reuse the latest successful sample with its original process_collected_at and set process_stale: true; a live process sample sets it to false. A count of 0 means Mole measured no zombies. Parent summaries contain at most three known owners; zombie_parents_complete: false means attribution was unavailable, incomplete, or truncated.

If one collector fails, mo status --json still prints the metrics that were collected, reports the failure on stderr, and exits successfully, the same way --watch keeps streaming. It exits 1 when none of CPU, memory, disk, or process metrics are available, or when JSON output fails.

Status also supports read-only alerts for processes that stay above a CPU threshold. Use --proc-cpu-threshold, --proc-cpu-window, or --proc-cpu-alerts=false to tune or disable them.

Purge

mo purge finds rebuildable project artifacts such as node_modules, target, .build, build, and dist. It groups artifacts by project and permanently deletes only the items you confirm. Artifacts with file activity in the last 7 days, or activity Mole cannot verify, are unselected by default. Mole uses fd when available and falls back to find, and protects directories containing deployment keypair files, nested Git repositories, or Git-tracked files. Non-interactive runs require mo purge --yes; use mo purge --dry-run to review the candidates first.

Use Page Up/Down or h/l to move a page, [/] to jump between projects, and X to skip a project and advance. / searches project paths and artifact names, n finds the next match without changing selections, and Enter opens the final path review. Reported space is an estimate; unmeasured artifacts and incomplete scans are identified explicitly.

Purge example output
$ mo purge

Purge Project Artifacts

Select Artifacts to Purge
6.00GB, 2 selected

➤ ● ┌ ~/Projects/website        3.80GB | node_modules | 28d
  ○ └ ~/Projects/website         186MB | dist         | <1d
  ● ┌ ~/Projects/rust-app       2.20GB | target       | 2mo
  ○ └ ~/Projects/rust-app         22MB | dist         | <7d

======================================================================
Purge complete
Estimated space freed: 6.00GB | Items: 2 | Free: 223.5GB
======================================================================
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, ~/dev, and supported agent worktree containers. Discovery does not save an incomplete result. Artifact scans reach six levels below each configured root; add a nearer root for deeper projects. Purge removes rebuildable artifacts inside worktrees, never the worktrees themselves.

Installer

mo installer finds DMG, PKG, MPKG, ISO, XIP, and installer ZIP files in Downloads, Desktop, Homebrew caches, iCloud, Mail, Telegram, and other supported locations, and shows each item's size and source before removal. Discovery has a cumulative time limit: if a scan or metadata probe fails or times out, Mole discards the list and exits without selecting files. Corrupt and unreadable ZIP archives are skipped, symlinked scan roots are supported but symlinks beneath them are not followed, and selected files are checked again against their confirmed identity at the deletion boundary.

Installer example output
$ mo installer

Select Installers to Remove, 3.83GB, 5 selected

➤ ● Photoshop_2024.dmg          1.20GB | 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

======================================================================
Installers cleaned
Removed 5 installers, freed 3.83GB
======================================================================

Slim

mo slim removes the Intel code that universal apps carry on Apple Silicon Macs. It lists the apps you own that are signed with a Developer ID, with the size of each app's Intel code, and changes only the apps you select. Each app is slimmed on a copy, touching only main executables and nested code that carries its own signature; the copy replaces the app only after it keeps its Apple Silicon code and passes code signing and Gatekeeper checks, and the original moves to the Trash. App Store apps, Apple apps, apps set to open using Rosetta, apps owned by another user, and running apps are left alone. It needs no developer tools, and an app update brings the Intel code back.

Quick Launchers

Raycast and Alfred setup

Install five launchers for Clean, Uninstall, Optimize, Analyze, and Status:

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

The script adds Raycast commands and, when Alfred preferences are present, matching Alfred workflows with the keywords clean, uninstall, optimize, analyze, and status.

Raycast needs one manual setup:

  1. Open Raycast Settings > Extensions > Script Commands.
  2. Add ~/Library/Application Support/Raycast/script-commands as a script directory.
  3. Run Reload Script Directories in Raycast.

The launchers auto-detect Terminal, iTerm2, Alacritty, kitty, WezTerm, Ghostty, Hyper, WindTerm, and Warp. Set MO_LAUNCHER_APP=<name> to choose one; you can also run Mole directly in Kaku.

Community

Thanks to everyone who helped build Mole. Go follow them. ❤️

Mole contributors



Real feedback from users who shared Mole on 𝕏.

Community feedback on Mole

Watch the Mole tutorial video by PAPAYA 電腦教室.

Support

  • Getting Mole for Mac is the most direct way to support Mole's development
  • If Mole helped you, give it a star, share it, or open an issue or PR
  • I have two cats, TangYuan and Coke, and if Mole makes your life a little easier, feel free to treat them to canned food 🥩

These lovely people already did 🐱

Mole supporters

License

Mole is open source under GPL-3.0; see LICENSE. Any modified version you share must remain under the same license. If you fork Mole, please use a distinct name and credit Mole as the upstream source. Mole for Mac is a separate proprietary app, and Mole is here for the long run.

View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Discussions

all 62

Releases and announcements

103 total
  1. V1.71.0 SoundV1.71.0Nov 10, 20266.7K downloads

    <div align="center"> <img src="https://cdn.tw93.fun/pic/cole.png" alt="Mole Logo" width="120" height="120" style="border-radius:50%" /> <h1 style="margin: 12px 0 6px;">Mole</h1> <p><em>Deep clean and optimize your Mac.</em></p> </div> ### Changelog 1. `mo purge` protects projects in use: Build folders with open files or a running build are no longer listed or removed, including projects under non-ASCII paths. 2. Uninstall preserves more user data: Buzz models are kept by default, `--with-data` no longer preselects UTM and VirtualBuddy virtual machines, and containers protected by macOS are not moved to the Trash. 3. No permission prompt during uninstall: Without Full Disk Access, `mo uninstall` no longer measures other apps' containers, so the preview is not blocked by a system prompt. 4. `mo clean` preserves files that tools depend on: Puppeteer browsers and Buzz models are kept, `mo clean --external` continues past files whose size cannot be read, and a shell without write permission is refused with the reason. 5. `mo purge` reclaims more space: A Swift package `.build` folder that contains dependencies is offered as its compiler output only, and a configuration with no a

  2. V1.44.0-windows PreviewV1.44.0-windowsNov 10, 20261.4K downloads

    <div align="center"> <img src="https://cdn.tw93.fun/pic/cole.png" alt="Mole Logo" width="120" height="120" style="border-radius:50%" /> <h1 style="margin: 12px 0 6px;">Mole CLI for Windows</h1> <p><em>Deep clean and optimize your PC.</em></p> </div> ### Changelog 1. Preview for `mo remove`: `mo remove --dry-run` lists what would be removed without changing anything. 2. Previews without a console: `mo purge --dry-run` and `mo uninstall --dry-run` print their lists when no console is available, instead of failing or waiting. 3. `mo purge` protects projects in use: Build folders still used by a running process are no longer listed or removed. 4. Updated game launcher cache locations: `mo clean` covers the EA app, Ubisoft Connect, GOG Galaxy and Battle.net caches at the paths their current versions use. 5. Uninstall preserves installed games: An install folder that also contains an Epic game is no longer removed as a leftover. 6. Previews in read-only environments: `mo clean --dry-run` and `mo uninstall --list` complete when Mole cannot write its own files, and a real `mo clean` there is refused with the reason. 7. Other fixes: `mo analyse` is accepted as a spelling, long names

  3. V0.6.0-linux SureV0.6.0-linuxNov 10, 2026437 downloads

    <div align="center"> <img src="https://cdn.tw93.fun/pic/cole.png" alt="Mole Logo" width="120" height="120" style="border-radius:50%" /> <h1 style="margin: 12px 0 6px;">Mole CLI for Linux</h1> <p><em>Deep clean and optimize your Linux desktop.</em></p> </div> ### Changelog 1. Flatpak and Snap app caches preserve user data: `mo clean` no longer removes JetBrains local history, Lutris sign-in state, or browsers installed by Playwright and Puppeteer inside an app's cache folder, and GPU shader caches there require `--gpu-shaders`. 2. Sudo prompt no longer skips on typed input: A password typed directly at the `mo clean` sudo prompt now leads to the password line instead of being treated as a skip. 3. `mo purge` protects projects in use: Build folders with open or mapped files are no longer listed or removed. 4. Uninstall preserves more user data: With `--with-data`, GNOME Boxes virtual machines, Bottles libraries, and local chat history from Signal, Element, Session and Jami stay unselected. 5. Accurate sizes and names: 999,999 B is shown as 1.0 MB, CJK, accented and emoji names stay aligned in `mo analyze`, and `mo status` asks for a larger window when the dashboard does not f

  4. V1.70.0 GuardV1.70.0Nov 8, 20265.6K downloads

    <div align="center"> <img src="https://cdn.tw93.fun/pic/cole.png" alt="Mole Logo" width="120" height="120" style="border-radius:50%" /> <h1 style="margin: 12px 0 6px;">Mole</h1> <p><em>Deep clean and optimize your Mac.</em></p> </div> ### Changelog 1. Developer tools keep working after a clean: `mo clean` no longer removes the Cypress and Camoufox downloads in `~/Library/Caches` that those tools need to run, and it leaves Chrome's cache and the caches of running Electron apps such as Docker Desktop and VS Code alone. 2. `mo purge` keeps your folder list: A `purge_paths` file that cannot be read, a broken link or a folder in its place now stops with the reason instead of scanning other folders or overwriting it, and a last line without a newline is no longer lost. 3. More projects in `mo purge`: `~/Developer` joins the default search paths, T3 Code worktrees are covered, and `mo purge --paths` opens editor commands with arguments such as `code --wait`. 4. Docker stays local: With a remote Docker context selected, `mo clean` and `mo optimize` no longer report on the remote engine or wait for one that does not answer. 5. T3 Code preview caches: `mo clean` clears them while T3

  5. V1.43.0-windows GuardV1.43.0-windowsNov 8, 20261.5K downloads

    <div align="center"> <img src="https://cdn.tw93.fun/pic/cole.png" alt="Mole Logo" width="120" height="120" style="border-radius:50%" /> <h1 style="margin: 12px 0 6px;">Mole CLI for Windows</h1> <p><em>Deep clean and optimize your PC.</em></p> </div> ### Changelog 1. `mo purge` keeps to your folders: A `purge_paths.txt` that cannot be read now stops with the reason and a failing exit code, instead of scanning the default folders. 2. Safer cleaning: Files freshly unpacked with an old date stay, and launcher, Autodesk, NuGet and MSBuild caches are cleared only while their owner is closed. 3. Safer deleting in `mo analyze`: The delete guard also refuses PerfLogs, Boot, paging files and anything directly on the first level of the system drive, and the unused age stays blank when Windows records no openings. 4. New cache cleanup: `mo clean` covers BrowserOS and T3 Code preview caches. 5. Names and dates read right: Korean and accented process names in `mo status` are no longer cut while they still fit, and a clock set back no longer keeps an old installed app list. ### 更新日志 1. `mo purge` 只扫你选的目录:`purge_paths.txt` 读不了时会停下来说明原因并返回失败退出码,不再改扫默认目录。 2. 清理更稳妥:刚解压但日期较旧的文件会保留,启动器、Autode

Code frequency

additions and deletions
+24.8K-24.8KWeek of 2025-11-16: +6,061 linesWeek of 2025-11-16: -2,888 linesWeek of 2025-11-23: +6,845 linesWeek of 2025-11-23: -3,135 linesWeek of 2025-11-30: +12,910 linesWeek of 2025-11-30: -11,956 linesWeek of 2025-12-07: +8,422 linesWeek of 2025-12-07: -4,782 linesWeek of 2025-12-14: +9,898 linesWeek of 2025-12-14: -6,578 linesWeek of 2025-12-21: +3,606 linesWeek of 2025-12-21: -1,444 linesWeek of 2025-12-28: +18,295 linesWeek of 2025-12-28: -15,068 linesWeek of 2026-01-04: +16,399 linesWeek of 2026-01-04: -14,026 linesWeek of 2026-01-11: +4,152 linesWeek of 2026-01-11: -2,693 linesWeek of 2026-01-18: +1,877 linesWeek of 2026-01-18: -1,661 linesWeek of 2026-01-25: +4,341 linesWeek of 2026-01-25: -2,760 linesWeek of 2026-02-01: +4,799 linesWeek of 2026-02-01: -2,999 linesWeek of 2026-02-08: +1,920 linesWeek of 2026-02-08: -1,213 linesWeek of 2026-02-15: +1,528 linesWeek of 2026-02-15: -595 linesWeek of 2026-02-22: +5,145 linesWeek of 2026-02-22: -3,057 linesWeek of 2026-03-01: +4,642 linesWeek of 2026-03-01: -2,402 linesWeek of 2026-03-08: +2,209 linesWeek of 2026-03-08: -988 linesWeek of 2026-03-15: +3,675 linesWeek of 2026-03-15: -1,064 linesWeek of 2026-03-22: +1,756 linesWeek of 2026-03-22: -620 linesWeek of 2026-03-29: +3,433 linesWeek of 2026-03-29: -1,021 linesWeek of 2026-04-05: +2,865 linesWeek of 2026-04-05: -386 linesWeek of 2026-04-12: +2,484 linesWeek of 2026-04-12: -603 linesWeek of 2026-04-19: +1,254 linesWeek of 2026-04-19: -523 linesWeek of 2026-04-26: +1,667 linesWeek of 2026-04-26: -362 linesWeek of 2026-05-03: +9,651 linesWeek of 2026-05-03: -3,267 linesWeek of 2026-05-10: +6,312 linesWeek of 2026-05-10: -6,805 linesWeek of 2026-05-17: +6,202 linesWeek of 2026-05-17: -3,135 linesWeek of 2026-05-24: +5,601 linesWeek of 2026-05-24: -2,993 linesWeek of 2026-05-31: +3,705 linesWeek of 2026-05-31: -1,387 linesWeek of 2026-06-07: +4,719 linesWeek of 2026-06-07: -920 linesWeek of 2026-06-14: +721 linesWeek of 2026-06-14: -148 linesWeek of 2026-06-21: +1,201 linesWeek of 2026-06-21: -377 linesWeek of 2026-06-28: +3,349 linesWeek of 2026-06-28: -1,024 linesWeek of 2026-07-05: +3,367 linesWeek of 2026-07-05: -718 linesWeek of 2026-07-12: +3,199 linesWeek of 2026-07-12: -1,551 linesWeek of 2026-07-19: +9,216 linesWeek of 2026-07-19: -3,899 linesWeek of 2026-07-26: +13,574 linesWeek of 2026-07-26: -3,270 linesWeek of 2026-08-02: +24,757 linesWeek of 2026-08-02: -8,014 linesWeek of 2026-08-09: +4,562 linesWeek of 2026-08-09: -1,107 linesWeek of 2026-08-16: +4,491 linesWeek of 2026-08-16: -834 linesWeek of 2026-08-23: +5,235 linesWeek of 2026-08-23: -1,329 linesWeek of 2026-08-30: +7,398 linesWeek of 2026-08-30: -1,996 linesWeek of 2026-09-06: +3,642 linesWeek of 2026-09-06: -1,275 linesWeek of 2026-09-13: +2,058 linesWeek of 2026-09-13: -1,002 linesWeek of 2026-09-20: +5,441 linesWeek of 2026-09-20: -3,290 linesWeek of 2026-09-27: +10,997 linesWeek of 2026-09-27: -2,258 linesWeek of 2026-10-04: +18,431 linesWeek of 2026-10-04: -3,308 linesWeek of 2026-10-11: +13,122 linesWeek of 2026-10-11: -2,909 linesWeek of 2026-10-18: +10,848 linesWeek of 2026-10-18: -2,366 linesWeek of 2026-10-25: +9,191 linesWeek of 2026-10-25: -2,456 linesWeek of 2026-11-01: +7,855 linesWeek of 2026-11-01: -2,679 linesWeek of 2026-11-08: +9,554 linesWeek of 2026-11-08: -2,297 linesNov 16, 2025Nov 8, 2026
+338.6K lines added, -149.4K removed over the last year.

Commits per week

last 52 weeks
1970Week of 2025-11-16: 117 commitsWeek of 2025-11-23: 51 commitsWeek of 2025-11-30: 88 commitsWeek of 2025-12-07: 122 commitsWeek of 2025-12-14: 66 commitsWeek of 2025-12-21: 69 commitsWeek of 2025-12-28: 184 commitsWeek of 2026-01-04: 120 commitsWeek of 2026-01-11: 102 commitsWeek of 2026-01-18: 48 commitsWeek of 2026-01-25: 75 commitsWeek of 2026-02-01: 57 commitsWeek of 2026-02-08: 30 commitsWeek of 2026-02-15: 36 commitsWeek of 2026-02-22: 85 commitsWeek of 2026-03-01: 60 commitsWeek of 2026-03-08: 40 commitsWeek of 2026-03-15: 48 commitsWeek of 2026-03-22: 40 commitsWeek of 2026-03-29: 43 commitsWeek of 2026-04-05: 38 commitsWeek of 2026-04-12: 42 commitsWeek of 2026-04-19: 33 commitsWeek of 2026-04-26: 28 commitsWeek of 2026-05-03: 52 commitsWeek of 2026-05-10: 67 commitsWeek of 2026-05-17: 54 commitsWeek of 2026-05-24: 79 commitsWeek of 2026-05-31: 40 commitsWeek of 2026-06-07: 30 commitsWeek of 2026-06-14: 9 commitsWeek of 2026-06-21: 19 commitsWeek of 2026-06-28: 42 commitsWeek of 2026-07-05: 35 commitsWeek of 2026-07-12: 40 commitsWeek of 2026-07-19: 64 commitsWeek of 2026-07-26: 73 commitsWeek of 2026-08-02: 121 commitsWeek of 2026-08-09: 51 commitsWeek of 2026-08-16: 28 commitsWeek of 2026-08-23: 27 commitsWeek of 2026-08-30: 69 commitsWeek of 2026-09-06: 13 commitsWeek of 2026-09-13: 44 commitsWeek of 2026-09-20: 69 commitsWeek of 2026-09-27: 72 commitsWeek of 2026-10-04: 197 commitsWeek of 2026-10-11: 158 commitsWeek of 2026-10-18: 118 commitsWeek of 2026-10-25: 153 commitsWeek of 2026-11-01: 166 commitsWeek of 2026-11-08: 139 commitsNov 16, 2025Nov 8, 2026
3.7K commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 33 commitsSun 1:00 — 6 commitsSun 2:00 — 10 commitsSun 3:00 — 4 commitsSun 4:00 — 3 commitsSun 5:00 — 6 commitsSun 6:00 — 8 commitsSun 7:00 — 11 commitsSun 8:00 — 32 commitsSun 9:00 — 55 commitsSun 10:00 — 57 commitsSun 11:00 — 36 commitsSun 12:00 — 46 commitsSun 13:00 — 21 commitsSun 14:00 — 24 commitsSun 15:00 — 17 commitsSun 16:00 — 27 commitsSun 17:00 — 43 commitsSun 18:00 — 24 commitsSun 19:00 — 42 commitsSun 20:00 — 30 commitsSun 21:00 — 37 commitsSun 22:00 — 42 commitsSun 23:00 — 13 commitsMon 0:00 — 16 commitsMon 1:00 — 9 commitsMon 2:00 — 10 commitsMon 3:00 — 21 commitsMon 4:00 — 4 commitsMon 5:00 — 8 commitsMon 6:00 — 12 commitsMon 7:00 — 24 commitsMon 8:00 — 28 commitsMon 9:00 — 16 commitsMon 10:00 — 37 commitsMon 11:00 — 53 commitsMon 12:00 — 29 commitsMon 13:00 — 22 commitsMon 14:00 — 29 commitsMon 15:00 — 62 commitsMon 16:00 — 44 commitsMon 17:00 — 25 commitsMon 18:00 — 36 commitsMon 19:00 — 43 commitsMon 20:00 — 32 commitsMon 21:00 — 17 commitsMon 22:00 — 15 commitsMon 23:00 — 17 commitsTue 0:00 — 10 commitsTue 1:00 — 3 commitsTue 2:00 — 11 commitsTue 3:00 — 19 commitsTue 4:00 — 2 commitsTue 5:00 — 4 commitsTue 6:00 — 13 commitsTue 7:00 — 29 commitsTue 8:00 — 19 commitsTue 9:00 — 11 commitsTue 10:00 — 43 commitsTue 11:00 — 26 commitsTue 12:00 — 17 commitsTue 13:00 — 6 commitsTue 14:00 — 39 commitsTue 15:00 — 46 commitsTue 16:00 — 38 commitsTue 17:00 — 23 commitsTue 18:00 — 22 commitsTue 19:00 — 16 commitsTue 20:00 — 34 commitsTue 21:00 — 7 commitsTue 22:00 — 12 commitsTue 23:00 — 15 commitsWed 0:00 — 12 commitsWed 1:00 — 6 commitsWed 2:00 — 18 commitsWed 3:00 — 17 commitsWed 4:00 — 4 commitsWed 5:00 — 4 commitsWed 6:00 — 10 commitsWed 7:00 — 10 commitsWed 8:00 — 7 commitsWed 9:00 — 28 commitsWed 10:00 — 34 commitsWed 11:00 — 56 commitsWed 12:00 — 22 commitsWed 13:00 — 17 commitsWed 14:00 — 31 commitsWed 15:00 — 21 commitsWed 16:00 — 25 commitsWed 17:00 — 27 commitsWed 18:00 — 8 commitsWed 19:00 — 12 commitsWed 20:00 — 28 commitsWed 21:00 — 13 commitsWed 22:00 — 16 commitsWed 23:00 — 23 commitsThu 0:00 — 13 commitsThu 1:00 — 7 commitsThu 2:00 — 6 commitsThu 3:00 — 11 commitsThu 4:00 — 1 commitsThu 5:00 — 5 commitsThu 6:00 — 8 commitsThu 7:00 — 18 commitsThu 8:00 — 16 commitsThu 9:00 — 14 commitsThu 10:00 — 24 commitsThu 11:00 — 71 commitsThu 12:00 — 42 commitsThu 13:00 — 12 commitsThu 14:00 — 45 commitsThu 15:00 — 37 commitsThu 16:00 — 25 commitsThu 17:00 — 16 commitsThu 18:00 — 11 commitsThu 19:00 — 21 commitsThu 20:00 — 29 commitsThu 21:00 — 26 commitsThu 22:00 — 26 commitsThu 23:00 — 27 commitsFri 0:00 — 10 commitsFri 1:00 — 14 commitsFri 2:00 — 12 commitsFri 3:00 — 10 commitsFri 4:00 — 6 commitsFri 5:00 — 0 commitsFri 6:00 — 13 commitsFri 7:00 — 11 commitsFri 8:00 — 31 commitsFri 9:00 — 31 commitsFri 10:00 — 42 commitsFri 11:00 — 57 commitsFri 12:00 — 26 commitsFri 13:00 — 19 commitsFri 14:00 — 32 commitsFri 15:00 — 31 commitsFri 16:00 — 17 commitsFri 17:00 — 17 commitsFri 18:00 — 21 commitsFri 19:00 — 21 commitsFri 20:00 — 22 commitsFri 21:00 — 49 commitsFri 22:00 — 35 commitsFri 23:00 — 39 commitsSat 0:00 — 14 commitsSat 1:00 — 17 commitsSat 2:00 — 6 commitsSat 3:00 — 7 commitsSat 4:00 — 9 commitsSat 5:00 — 7 commitsSat 6:00 — 22 commitsSat 7:00 — 31 commitsSat 8:00 — 50 commitsSat 9:00 — 48 commitsSat 10:00 — 67 commitsSat 11:00 — 42 commitsSat 12:00 — 33 commitsSat 13:00 — 47 commitsSat 14:00 — 40 commitsSat 15:00 — 21 commitsSat 16:00 — 17 commitsSat 17:00 — 26 commitsSat 18:00 — 26 commitsSat 19:00 — 23 commitsSat 20:00 — 57 commitsSat 21:00 — 45 commitsSat 22:00 — 41 commitsSat 23:00 — 40 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits2,505 (63%)
Community commits1,448 (37%)

3,953 commits in total over the last year.

DateListRankStars gained
Mar 20, 2026daily#17+148
Jan 14, 2026daily#23+149
Jan 10, 2026daily#21+138
Jan 9, 2026daily#8+120
  • morluto/rea

    Reverse engineer anything with agents, from app behavior down to native binaries.

    457.5K stars · TypeScript

  • mattpocock/skills

    Skills for Real Engineers. Straight from my .agents directory.

    323.8K stars · Shell

  • obra/superpowers

    An agentic skills framework & software development methodology that works.

    317.2K stars · Shell

  • massgravel/Microsoft-Activation-Scripts

    Open-source Windows and Office activator featuring HWID, Ohook, TSforge, and Online KMS activation methods, along with advanced troubleshooting.

    198.9K stars · Batchfile

  • flutter/flutter

    Flutter makes it easy and fast to build beautiful apps for mobile and beyond

    181.3K stars · Dart

  • msitarzewski/agency-agents

    A complete AI agency at your fingertips - From frontend wizards to Reddit community ninjas, from whimsy injectors to reality checkers. Each agent is a specialized expert with personality, processes, and proven deliverables.

    168.1K stars · Shell