tw93/MolePublic

🐹 Clean, uninstall, analyze, optimize, and monitor your Mac. Free open-source CLI, plus a native Mac app.

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

Stars
69.1K
+332 today
Forks
2.4K
Watchers
154
Open issues
0
Open PRs
1
Contributors
~149
Commits
3.3K
Branches
2

ShellGPL-3.0Created Sep 23, 2025Last push 1d agoLatest release V1.56.0+780 stars this week+3.2K 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 69,149 stars and 2,448 forks on GitHub, and gained 780 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 2026Aug 2026Sep 2026Oct 2026
69.1K stars as of Oct 3, 2026. Measured daily since Jul 29, 2026; GitHub no longer exposes earlier star timestamps.

Contribution activity

commits per day, last 52 weeks
OctNovDecJanFebMarAprMayJunJulAugSepMonWedFri2025-10-05: 41 commits2025-10-06: 3 commits2025-10-07: 6 commits2025-10-08: 15 commits2025-10-09: 17 commits2025-10-10: 3 commits2025-10-11: 16 commits2025-10-12: 15 commits2025-10-13: 4 commits2025-10-14: 20 commits2025-10-15: 12 commits2025-10-16: 3 commits2025-10-17: 2 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 1 commit2025-10-21: 1 commit2025-10-22: 1 commit2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-08: 0 commits2025-11-09: 17 commits2025-11-10: 0 commits2025-11-11: 3 commits2025-11-12: 3 commits2025-11-13: 1 commit2025-11-14: 6 commits2025-11-15: 15 commits2025-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: 2 commits2026-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: 0 commits2026-09-29: 0 commits2026-09-30: 0 commits2026-10-01: 0 commits2026-10-02: 0 commits2026-10-03: 0 commits
2,870 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Landmark project

    69,149 stars

  • Very active

    2,870 commits in 52 weeks

  • Community-driven

    ~149 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

Mole

🐹 Clean, uninstall, analyze, optimize, and monitor your Mac. Free open-source CLI, plus a native Mac app.

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: cleanup, app management, maintenance, disk maps, and live status in one lightweight, VoiceOver-ready app. One license covers 2 Macs with free updates and a 14-day refund. brew install mole installs the CLI only.

Features

  • All-in-one CLI toolkit: Combines CleanMyMac, AppCleaner, DaisyDisk, and iStat Menus style workflows in a single terminal binary
  • Deep cleaning: Removes caches, logs, leftovers, and orphaned app data 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

Mole requires macOS 12 or newer and supports both Intel and Apple Silicon Macs.

Install via Homebrew

brew install mole

If Homebrew no longer supports your macOS version, use the script below instead.

Or via script

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

Mole is built for macOS. An experimental Windows version lives in the windows branch.

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 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 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

Selections made with mo clean --whitelist persist in ~/.config/mole/whitelist.

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.

Prefer a walkthrough? Watch the Mole tutorial video by PAPAYA 電腦教室.

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, and remove can delete files. Review them with --dry-run first, and add --debug when needed.
  • Run Mole without sudo; it requests administrator access only when needed.
  • mo analyze moves selected items to Trash after confirmation.
  • 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.

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

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. Use mo clean --dry-run to preview eligible paths, and mo clean --whitelist to protect caches you want to keep.

$ 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
Tracked cleanup: 4.5GB | Items cleaned: 97 | Categories: 4
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. Use mo uninstall --dry-run to review the plan. If the app is already gone, use mo clean to look for leftovers.

$ 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, 12.80GB
  ✓ /Applications/Adobe Photoshop 2024/Adobe Photoshop 2024.app
  ✓ ~/Library/Application Support/Adobe/Adobe Photoshop 2024
  ✓ ~/Library/Preferences/com.adobe.Photoshop.plist

======================================================================
Uninstall complete
Removed 1 app, freed 12.80GB: 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 --dry-run to preview the pass and mo optimize --whitelist to exclude tasks or path patterns.

$ mo optimize

Optimize

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

PERFORMANCE DIAGNOSIS
  ✓ No sustained high-CPU bottleneck detected

➤ DNS & Spotlight Check
  → DNS cache flushed
  → Spotlight index verified

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

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

➤ Disk Health
  → Disk verify skipped (set MOLE_ENABLE_DISK_VERIFY=1 to enable)

======================================================================
Optimization Complete
Applied 3 optimizations
14 unchanged | 3 skipped | 1 unavailable
======================================================================

Path patterns work too, so you can keep a long-lived mounted disk image around, for example /Volumes/mail, without it showing up as a detach candidate.

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.

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.

$ 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.
$ 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.

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. Directories containing deployment keypair files, nested Git repositories, or Git-tracked files are protected. 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. 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. Each item shows its size and source before removal. Use mo installer --dry-run to preview the plan. 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. 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
======================================================================

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 Love

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

Mole contributors



Real feedback from users who shared Mole on X.

Community feedback on Mole

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. If you think Mole delights your life, you can feed them canned food 🥩.
These lovely people already did 🐱
Mole supporters

License

Mole is open source under GPL-3.0; see LICENSE. A version you modify and share stays under the same license. If you fork Mole into another product, please give it a different name and credit Mole as the source.

Mole for Mac is a separate proprietary app. Mole is here for the long run.

View on GitHub

Recent activity

commits and pull requests

Releases and announcements

66 total
  1. V1.56.0 Measured ⚖️V1.56.0Sep 25, 20263.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</h1> <p><em>Deep clean and optimize your Mac.</em></p> </div> ### Changelog 1. **Optimize is gentler**: it no longer rebuilds LaunchServices, which dropped VPN tunnels and sent Siri re-indexing, and it only reports LaunchAgents whose program is missing instead of deleting them. 2. **Clean leaves Gemini's Google state alone**: deleting it while Gemini ran could start a disk write loop of about 50 MB/s. 3. **Homebrew old versions are cleaned and previewed**: `mo clean` runs `brew cleanup` even with a small download cache, and `mo clean --dry-run` lists each version it would remove. 4. **A slow check no longer stops the whole run**: a timed-out size or SQLite check now affects only that item. 5. **Previews and totals count only what goes**: nested items count once, Docker images in use no longer read as reclaimable, and tiny build-artifact hints stay quiet. 6. **Smaller fixes**: idle Brave Nightly caches are cleaned while another channel runs, VS Code extension cleanup works on macOS 15 again, `mo remove` k

  2. V1.55.0 Restraint ✋V1.55.0Sep 20, 20268.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</h1> <p><em>Deep clean and optimize your Mac.</em></p> </div> ### Changelog 1. **Clean leaves Homebrew downloads that are still transferring alone**: a running `brew fetch` used to lose its in-flight cask downloads and its own lock files, and Homebrew's lock directory is no longer swept at all. 2. **A slow check no longer cancels the rest of the run**: a Spotlight probe, a Large files sizing pass, or a simulator runtime review that times out now skips that item and carries on, and routine timeout notes stay out of the summary. 3. **Clean reaches Notion's workspace cache**: only the cache storage is swept, the script cache and databases are left alone, and the whole family is skipped while Notion is running. 4. **Uninstall names what it could not verify**: an incomplete scan, a failed cask lookup, and undetermined ownership each arrive with the check to run, and selector rows stay on one line in an 80-column terminal. 5. **`mo` works when it is invoked through a symlink**: the launcher resolves the real d

  3. V1.54.0 Clarity 🔎V1.54.0Sep 13, 202611.8K 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. **Optimize explains more causes of a slow Mac**: performance diagnosis now shows swap pressure and memory-heavy processes, virtual machine memory use, and sustained CPU usage, while failed probes are reported without treating missing data as a healthy result. 2. **Smoother loading animations**: scan indicators share a consistent dot animation, and Clean updates progress text in place between stages to reduce flicker and make waiting easier to follow. 3. **Clean reaches more app caches**: adds Feishu/Lark webview caches, WeChat and WeCom container caches and logs, and stale Codex crash reports, with active apps and chat data protected. 4. **Developer cleanup covers abandoned browser sessions and test devices**: reclaims orphaned Playwright browsers and stale profiles while preserving active sessions, handles Xcode test clones individually, and lists unused simulator runtimes with a manual removal command. 5. **Purge is easier t

  4. V1.53.0 Aware 👁️V1.53.0Aug 30, 202618.9K 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. **Clean and Purge are faster without widening deletion scope**: independent scans now run concurrently, stray home-level artifact folders such as `node_modules` are no longer mistaken for projects, and live container cache trees stay protected. 2. **Safety probe cancellation now stops the whole cleanup**: if a live-cache or SQLite check times out or is interrupted, Mole preserves the current target, stops later cleanup sections, and returns the failure instead of continuing with partial evidence. 3. **Analyze and Status report fresher, clearer system state**: Analyze shows the local Time Machine snapshot count and explains why snapshot-only space is excluded from directory totals; Status adds zombie process diagnostics and retains the last process sample as stale when a refresh fails. 4. **Everyday edges are quieter and clearer**: CLT-only Macs no longer warn about a missing `simctl`, compressed menus keep the Space key hint,

  5. V1.52.0 Exact 🧭V1.52.0Aug 22, 20269.8K 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. **Uninstall keeps shared developer state safe**: app names can no longer turn `~/.local`, `~/.config`, or `~/.cache` into leftovers, and the final delete path protects those roots too. 2. **Autodesk Fusion cleanup reclaims old app bundles**: `mo clean` removes only verified older Fusion bundles, keeps the current and newer versions, and pauses when Fusion or its updater may be active. 3. **Orphan service cleanup keeps working helpers online**: Mole no longer unloads a registration before a refused removal, and it preserves standalone helper apps and helpers still referenced by a surviving plist. 4. **Stale SQLite sidecars no longer block cleanup**: an idle `-shm` file left after a crash no longer looks like a live database, while live or inconclusive database families stay protected. 5. **Installation and command guidance are clearer**: the README now uses real command output, documents the no-admin `~/.local/bin` path, and ex

Code frequency

additions and deletions
+24.8K-24.8KWeek of 2025-10-05: +4,507 linesWeek of 2025-10-05: -2,570 linesWeek of 2025-10-12: +7,015 linesWeek of 2025-10-12: -4,396 linesWeek of 2025-10-19: +52 linesWeek of 2025-10-19: -10 linesWeek of 2025-10-26: +0 linesWeek of 2025-10-26: -0 linesWeek of 2025-11-02: +0 linesWeek of 2025-11-02: -0 linesWeek of 2025-11-09: +6,995 linesWeek of 2025-11-09: -5,331 linesWeek 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,238 linesWeek of 2026-08-23: -1,332 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: +1,291 linesWeek of 2026-09-27: -324 linesOct 5, 2025Sep 27, 2026
+278.4K lines added, -143.8K removed over the last year.

Commits per week

last 52 weeks
1840Week of 2025-10-05: 101 commitsWeek of 2025-10-12: 56 commitsWeek of 2025-10-19: 3 commitsWeek of 2025-10-26: 0 commitsWeek of 2025-11-02: 0 commitsWeek of 2025-11-09: 45 commitsWeek 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: 28 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: 16 commitsOct 5, 2025Sep 27, 2026
2.9K commits in the last 52 weeks.

When work happens

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

Who is committing

last 52 weeks
Maintainer commits2,305 (72%)
Community commits906 (28%)

3,211 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
  • obra/superpowers

    An agentic skills framework & software development methodology that works.

    295.3K stars · Shell

  • mattpocock/skills

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

    276.1K stars · Shell

  • flutter/flutter

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

    179.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.

    156.6K stars · Shell

  • nextlevelbuilder/ui-ux-pro-max-skill

    An AI skill that provides design intelligence for building professional UI/UX across multiple platforms.

    133K stars · Python

  • jaywcjlove/awesome-mac

     This project is dedicated to collecting high-quality macOS software and organizing them systematically by different categories for easy search and use.

    115.4K stars · Swift