Skip to content

westpoint-io/dustoff

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

120 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DUSTOFF

Find and remove JS/TS build artifacts wasting disk space.

npm version npm downloads license node version


dustoff in action
Demo recorded with the Catppuccin Mocha theme. See Theme Gallery for all 10 themes.


🧹 What It Does

Scan your filesystem for JavaScript/TypeScript build artifacts β€” node_modules, .next, dist, .cache, coverage, .turbo, and 30+ more β€” then interactively browse, sort, select, and safely delete them to reclaim disk space.

πŸš€ Quick Start

npx dustoff

That's it. No install required.

Global Install

npm install -g dustoff
# or
bun install -g dustoff

Requires Node.js >= 18.18.0.

CLI Options

dustoff [options]

  -d, --directory <path>    Set scan root directory (default: current directory)
  -E, --exclude <names>     Exclude directories by name, comma-separated
  -t, --target <names>      Override default targets, comma-separated
  -V, --verbose             Write debug log to dustoff-debug.log
  -h, --help                Show this help message
  -v, --version             Show version number

Examples:

dustoff -d ~/projects                        # scan a specific directory
dustoff --exclude "dist,build"               # skip dist and build directories
dustoff --target "node_modules,.next"         # only scan for specific artifacts

✨ Features

Smart Sorting

Sort by size, path, or age with s to find the biggest space hogs.

Sorting artifacts by size and age

Search & Filter

Press / to search β€” instantly filter artifacts by path. Press f to open the type filter and show only specific artifact types (e.g. just node_modules or .next).

Searching and filtering artifacts

Directory Grouping

Press x to group artifacts by parent directory. Collapse and expand groups with Enter or arrow keys. Select an entire group at once with Space on the group header.

Directory grouping

Range Multi-Select

Hold Shift + arrow keys (or use J/K) to select a contiguous range of artifacts. Shift+Space extends selection from an anchor point.

Range multi-select

Safe Deletion

Select artifacts with Space, delete with d. Confirmation dialog and live progress tracking.

Selecting and deleting artifacts

10 Built-in Themes

Cycle with t. Your choice is saved across sessions.

Cycling through themes

⌨️ Keybindings

Vim-style navigation is fully supported alongside arrow keys.

Key Action
↑ k Move cursor up
↓ j Move cursor down
Shift+↑ K Range select up
Shift+↓ J Range select down
g / G Jump to top / bottom
PgUp PgDn Page up / down
Space Toggle selection
Shift+Space Extend selection from anchor
a Select all
d Delete selected
s Cycle sort mode
/ Search / filter
f Type filter
x Toggle directory grouping
Tab Toggle detail panel
+ / - Scroll detail panel
t Cycle theme
Esc Clear selection
q Quit

🎨 Themes

Cycle through themes with t during a session. Your preference is saved to ~/.config/dustoff/config.json (or $XDG_CONFIG_HOME/dustoff/config.json) and persisted across sessions.


Tokyo Night

Nord Frost

Dracula

Gruvbox Dark

RosΓ© Pine

Kanagawa

Everforest

Solarized Dark

Cyberpunk Neon

Catppuccin Mocha

πŸ” Detected Artifacts

dustoff scans for these directories:

Category Directories
Package managers node_modules, .npm, .pnpm-store
Framework builds .next, .nuxt, .angular, .svelte-kit, .vite, .turbo, .nx
Bundler caches .parcel-cache, .rpt2_cache, .esbuild, .rollup.cache, .cache
Linter/formatter .eslintcache, .stylelintcache
Transpiler .swc
Test/coverage coverage, .nyc_output, .jest
Docs/storybook storybook-static, gatsby_cache, .docusaurus
Runtime deno_cache
Build outputs dist, build, .output

🀝 Contributing

Contributions are welcome! Check the CONTRIBUTING.md guide to get started.

πŸ“„ License

MIT

About

πŸ” Scan for JavaScript/TypeScript build artifacts πŸ“¦ (node_modules πŸ“, .next βš™οΈ, dist πŸ“€, .cache πŸ—‚οΈ, coverage πŸ“Š, .turbo πŸŒͺ️, .parcel-cache πŸ“¦, and more) cluttering your filesystem. πŸ’Ύ See how much space each one is wasting, then select and delete them to reclaim disk space. 🧹

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors