devmop
v1.1.2
Published
The ultimate developer disk cleanup tool. Mop up node_modules, Docker, Git, Flutter and system caches — cross-platform.
Downloads
34
Maintainers
Readme
devmop
Mop up the junk that silently eats your disk.
node_modules, Docker images, git garbage, Flutter caches, system temp files —
devmop finds them all and wipes them clean, on any OS.
🖥 Terminal Dashboard (TUI) — New in v1.1.0!
devmop now features a beautiful, full-screen interactive dashboard (inspired by htop). No more guessing — see your disk usage in real-time and clean it with a single keystroke.
Launch it with just:
devmop
# or
devmop dashboardDashboard Features:
- ASCII Bar Charts — Visual representation of disk usage per category.
- Interactive Sidebar — Navigate through plugins with arrow keys.
- Instant Cleanup — Press
Cto clean selected plugin orAfor everything. - Alternate Buffer — Stays in the dashboard, leaves your terminal scroll-back clean.
Quick Start
# Install globally
npm install -g devmop
# Launch the Dashboard (Recommended)
devmop
# Classic CLI usage
devmop usage # Detailed size breakdown
devmop clean -i # Interactive menu clean
devmop clean --system # Immediate system cleanupFeatures
- Terminal Dashboard (TUI) — A premium, full-screen interactive experience.
- Plugin Architecture — Modular cleaners for Node.js, Docker, Git, Flutter, and System caches.
- Cross-Platform — Native support for macOS, Linux, and Windows.
- Disk Analyzer — Stylish ASCII charts showing space recovered.
- Watch Mode — Background monitoring with native OS notifications.
- Git Workspace Cleaner — Deep-clean branches, GC, and more across all local repos.
- Safety First — Robust permission handling and
dry-runsupport.
Commands
devmop dashboard (or simply devmop)
Launches the interactive TUI. Use it to navigate and clean categories visually.
Shortcuts inside Dashboard:
↑ / ↓— Navigate categoriesC— Clean selected pluginA— Clean ALL categoriesQ— Quits the dashboard
devmop clean — Run cleanup
devmop clean [targets] [options]Targets
| Flag | What it cleans |
| --- | --- |
| --node | node_modules directories + npm cache |
| --docker | Docker images, containers, volumes, builder cache |
| --git | Git GC, merged branches |
| --flutter | Flutter build artifacts + pub cache |
| --system | OS temp files, caches, logs |
| --all | Everything above |
| -i, --interactive | Multi-select TUI to choose targets |
Options
| Flag | Description |
| --- | --- |
| --dry-run | Show what would be deleted — nothing is touched |
| --aggressive | Deep clean (Xcode data, stash, untracked files, git --aggressive GC) |
Examples
devmop clean --all --dry-run # Preview everything
devmop clean --node --docker # Clean Node + Docker only
devmop clean --all --aggressive # Deep clean everything
devmop clean -i # Pick interactivelydevmop usage — Disk usage breakdown
devmop usageScans all plugins and renders an ASCII bar chart:
Disk Usage Breakdown:
═══════════════════════════════════════════════════════════
node [████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 3.2 GB
system [████████████████████████████████████████] 12.1 GB
docker [██░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 800.0 MB
flutter [█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 420.0 MB
git [░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 120.0 MB
═══════════════════════════════════════════════════════════
Total Recoverable: 16.64 GBdevmop git — Git workspace manager
devmop git [options]| Flag | Description |
| --- | --- |
| --analyze | Table view of all repos: branch count, merged branches, stash entries, .git size |
| --branches | Delete merged local branches (keeps main, master, develop) |
| --gc | Run git gc --prune=now on every repo |
| --stash | Clear all stash entries |
| --untracked | Remove untracked files (git clean -fd) |
| --aggressive | All of the above + deep GC |
| --dry-run | Preview actions |
Examples
devmop git --analyze # See stats across all repos
devmop git --dry-run # Preview what would change
devmop git --branches --gc # Remove merged branches + GC
devmop git --aggressive # Full deep clean--analyze output
Git Repository Analysis (31 repos)
Repo Branches Merged Stash Git Size
----------------------------------------------------------------------
projects/my-app 18 9 1 2.23 MB
projects/another-project 3 2 0 857 kB
tools/sqlmap 1 0 0 89.9 MB
----------------------------------------------------------------------
Total 31 19 521 MBdevmop watch — Disk usage monitor
devmop watch [options]Runs in the foreground, checking disk usage on a set interval. Sends a native OS notification (macOS Notification Center, Linux notify-send, Windows toast) when the threshold is exceeded.
| Flag | Default | Description |
| --- | --- | --- |
| -t, --threshold <size> | 1gb | Alert threshold. Accepts 500mb, 2.5gb, 1024, etc. |
| -i, --interval <time> | 30m | Check interval. Accepts 30s, 15m, 1h, etc. |
| --auto-clean | off | Automatically run clean --all when threshold is exceeded |
Examples
devmop watch # Default: 1gb threshold, check every 30m
devmop watch --threshold 5gb # Alert above 5 GB
devmop watch --threshold 2gb --interval 1h
devmop watch --threshold 500mb --auto-clean # Auto-clean when exceededdevmop schedule — Set up automatic cleanup
devmop schedule [--weekly | --monthly]Prints a ready-to-use cron expression (macOS/Linux) or schtasks command (Windows).
devmop schedule --weekly # Every Sunday at midnight
devmop schedule --monthly # First of every monthCross-Platform Support
devmop automatically detects the OS and adapts — no configuration needed.
| Feature | macOS | Linux | Windows |
| --- | :---: | :---: | :---: |
| Node.js cleanup | ✅ | ✅ | ✅ |
| Docker cleanup | ✅ | ✅ | ✅ |
| Git workspace | ✅ | ✅ | ✅ |
| Flutter cleanup | ✅ | ✅ | ✅ |
| System caches | ~/Library/Caches | ~/.cache | %LOCALAPPDATA%\Temp |
| OS notifications | Notification Center | notify-send | Toast notification |
| Scheduling | crontab | crontab | Task Scheduler |
Plugin System
Each cleaner is a plugin that extends BasePlugin:
// lib/plugins/my-plugin.js
import { BasePlugin } from "../base-plugin.js";
export class MyPlugin extends BasePlugin {
constructor() {
super("myplugin", "Clean my tool's cache");
}
async getSize() { /* return bytes */ }
async clean({ dry, aggressive }) { /* perform cleanup */ }
}Register it in lib/plugin-manager.js:
import { MyPlugin } from "./plugins/my-plugin.js";
this.register(new MyPlugin());Configuration
devmop reads ~/.devmoprc on startup:
{
"defaults": {
"aggressive": false
},
"plugins": {}
}Benchmarks
| Scenario | Scan Time | Recovered |
| --- | --- | --- |
| 50+ JS projects (node_modules) | ~2.1s | 12.4 GB |
| Docker (medium usage) | ~0.4s | 4.8 GB |
| 31 git repos (GC + branches) | ~18s | 521 MB |
| System caches (macOS) | ~0.8s | 2.1 GB |
Contributing
Contributions welcome! Great first plugins to add: Python (__pycache__, .venv), Rust (target/), Go (~/go/pkg/mod), Gradle (.gradle/, build/).
git clone https://github.com/mertcanureten/devmop
cd devmop
npm install
node bin/devmop.js --helpLicense
MIT © Mertcan Ureten
