Stop hunting for node_modules folders
You’ve been there: your disk is full, and you know those gigabytes are hiding in dependency folders scattered across old projects. You start manually searching for node_modules, target, .venv folders to delete. It takes forever.
Pumu does this for you, intelligently.
Pumu (Package Manager Utility) is a fast, concurrent disk space management CLI tool built for developers. It scans your filesystem for heavy dependency folders across multiple package managers, shows you exactly what’s eating your disk space, and lets you clean them up with confidence.
Why Pumu?
Modern development workflows leave traces everywhere. A single JavaScript project can consume 500+ MB innode_modules. A Rust project’s target folder can balloon to 2+ GB. When you’re working on dozens of projects, this adds up fast.
Pumu solves this by:
- Finding all dependency folders across your projects in seconds
- Showing you exactly how much space you can reclaim
- Letting you choose what to delete with an interactive interface
- Optionally reinstalling dependencies after cleanup
- Fixing corrupted dependencies automatically
Blazingly fast
Concurrent scanning and deletion using goroutines with semaphore-based throttling. Handles thousands of folders in seconds.
Multi-language support
Works with npm, pnpm, yarn, bun, deno, cargo, go, and pip. Automatically detects package managers via lockfiles.
Smart and safe
Interactive selection, dry-run mode, score-based pruning, and automatic health checks. Only removes what you choose.
Visual feedback
Color-coded output based on folder size. Red for 1GB+, yellow for 100MB-1GB, green for smaller folders.
The disk space problem
Here’s what Pumu can detect and clean:| Folder | Package Manager(s) | Typical Size |
|---|---|---|
node_modules | npm, yarn, pnpm, bun, deno | 50-500+ MB |
target | cargo (Rust) | 100-2000+ MB |
.venv | pip (Python virtual env) | 50-300+ MB |
.next | Next.js | 100-500+ MB |
.svelte-kit | SvelteKit | 50-200+ MB |
dist | Various build tools | 10-100+ MB |
build | Various build tools | 10-100+ MB |
Real-world example
Pumu uses concurrent goroutines to calculate sizes in parallel, making it significantly faster than traditional find/du commands.
How it works
Pumu scans your filesystem looking for known dependency folders. For each folder found, it:- Detects the package manager by checking for lockfiles (e.g.,
package-lock.json,Cargo.toml,pnpm-lock.yaml) - Calculates folder size concurrently using bounded goroutines (max 20 parallel operations)
- Presents results with color-coded visual feedback
- Lets you select which folders to process
- Optionally reinstalls dependencies after cleanup
Package manager detection priority
Pumu checks for package managers in this order:- Bun -
bun.lockborbun.lock - pnpm -
pnpm-lock.yaml - Yarn -
yarn.lock - npm -
package-lock.json - Deno -
deno.jsonordeno.jsonc - Cargo -
Cargo.toml - Go -
go.mod - Pip -
requirements.txtorpyproject.toml
Key features
Interactive selection
Choose exactly which folders to delete with a full-featured terminal UI:- Navigate with arrow keys or Vim bindings (
j/k) - Select/deselect with
space - Select all (
a), deselect all (n), or invert selection (i) - Jump to first/last with
g/G - Confirm with
enter, cancel withqoresc
Smart prune mode
Score-based intelligent cleanup that only removes what’s safe:- 90-95 score: Orphan folders (no lockfile) or build caches
- 60-80 score: Stale lockfiles (30-90+ days without changes)
- 45 score: Standard dependency folders with lockfile
- 15-20 score: Active projects or uncommitted changes (skipped)
Repair mode
Automatically detect and fix corrupted dependencies:- Checks dependency health using package manager commands
- Removes and reinstalls broken dependencies
- Works with npm, pnpm, yarn, cargo, go, and pip
What’s next?
Installation
Get Pumu installed on your system in under a minute
Quickstart
Go from installation to your first cleanup in 5 minutes