A terminal UI app to clean up development dependencies and build artifacts.
node_modules(Node.js)target(Rust)__pycache__,venv(Python)build,dist(Build artifacts).gradle(Java)deps,_build(Elixir).next,.turbo,.nuxt(Next.js, Turborepo, Nuxt.js).idea,.vscode(IDE configs)coverage,.nyc_output(Test coverage).cache,.sass-cache,.parcel-cache(Cache files).yarn,.pnpm-store(Package manager caches).terraform(Terraform cache).DS_Store,Thumbs.db(System files)- Log files, temp files, and more
- Files and directories matching patterns in
.gitignore - Requires a
.gitignorefile in the target directory
brew install --cask harryduc/brews/devtidygo install github.com/harryduc/devtidy@latest# Scan current directory
devtidy
# Scan specific directory
devtidy /path/to/dir
# Preview without deleting (dry-run mode)
devtidy --dry-run
# Only show items larger than specified size
devtidy --min-size 100MB
devtidy --min-size 1GB
# Combine options
devtidy --dry-run --min-size 500MB /path/to/project
# Use .gitignore patterns
devtidy --gitignore↑/↓ or k/j- Navigate items/- Filter itemsq- Quit
space- Toggle selection (✓ = selected)a- Select all itemsd- Deselect all itemsi- Invert selection
s- Sort by size (largest first)n- Sort by name (A-Z)t- Sort by type
c- Clean selected items
--gitignore- Scan files matching.gitignorepatterns--dry-run- Preview what would be cleaned without deleting--min-size- Only show items larger than specified size (e.g.,100MB,1GB)-h, --help- Show help message-v, --version- Show version information
- Only cleans items you explicitly select
- Shows size before cleaning
- Use
--dry-runto preview without deleting - Filter by size with
--min-sizeto focus on large items
