Cleans node_modules
, target
, build
, and friends from your projects.
Excellent if
- 💾 You want to back up your code but don't want to include GBs of dependencies
- 🧑🎨 You try out lots of projects but hate how much space they occupy
- ⚡️ You like keeping your disks lean and zippy
15 Supported Project Types
Cargo - Node - Unity - Scala SBT - Haskell Stack - Maven - Unreal Engine - Python
Jupyter Notebook - CMake - Composer - Pub - Elixir - Swift - Gradle
Pull requests are welcome, it's easy to extend!
Current deleted directories config.
CLI Video
kondo-cli-preview-clean.webm
GUI Video
kondo-ui.webm
Warning
Kondo is essentially
rm -rf
with a prompt. Use at your own discretion. Always have a backup of your projects.
Homebrew
brew install kondo
Source
Requires rust.
git clone https://github.com/tbillington/kondo.git
cargo install --path kondo/kondo
Others
Binaries available on the releases page.
Source
Requires rust. You may need platform specific dependencies on linux.
git clone https://github.com/tbillington/kondo.git
cargo install --path kondo/kondo-ui
Binaries available on the releases page.
Warning
Kondo is essentially
rm -rf
with a prompt. Use at your own discretion. Always have a backup of your projects.
Running kondo
without a directory specified will run in the current directory.
kondo
Supplying a path will tell kondo
where to start. Multiple paths are supported.
kondo code/my_project code/my_project_2
Passing a time will filter projects to those that haven't been modified for at least the specified period. See kondo --help
for the full list of options.
kondo --older 3M # only projects with last modified greater than 3 months
kondo -o3M # shorthand
More options such as quiet mode, following symlinks, and filesystem restriction are viewable with kondo --help
.
To build the cli kondo
you can run cargo build
and cargo run
from the projects root directory.
To build the gui kondo-ui
you must first navigate into the kondo-ui
directory, then you can run cargo build
and cargo run
.
The output binaries will be located in target/debug/
or target/release/
per Cargo defaults.