# Kondo ๐Ÿงน 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

20+ Supported Project Types

Cargo (Rust), CMake (C, C++), Composer (PHP), Elixir, Godot 4.x (C#, GDScript)

Gradle (Java) Jupyter Notebook (Python), Maven (Java), Node (JavaScript)

Pub (Dart), Python SBT (Scala), Stack (Haskell), Swift

Unity (C#), Unreal Engine (C++), Zig, .NET (C#, F#)

kondo cli cleaning projects kondo gui displaying projects
CLI Video [kondo-cli.webm](https://user-images.githubusercontent.com/2771466/222949617-0ed621bc-ac4e-495a-9165-036a3a597d34.webm)
GUI Video [kondo-ui.webm](https://user-images.githubusercontent.com/2771466/222951044-13484711-6107-45d4-aaa3-3140bbbba898.webm)
## Installation > **Warning** > > Kondo is [_essentially_](https://github.com/tbillington/kondo/blob/a7af95484d364bbb12eb3b40b0d860424dd1b714/kondo-lib/src/lib.rs#L236) `rm -rf` with a prompt. Use at your own discretion. Always have a backup of your projects. ### Command Line **Homebrew** ```sh brew install kondo ``` **Arch Linux** ```sh pacman -S kondo ``` **Source** Requires [rust](https://www.rust-lang.org/tools/install). ```sh git clone https://github.com/tbillington/kondo.git cargo install --path kondo/kondo ``` **Others** Binaries available on the [releases page](https://github.com/tbillington/kondo/releases). Packaging status ### Graphic User Interface **Arch Linux** ```sh pacman -S kondo-ui ``` **Source** Requires [rust](https://www.rust-lang.org/tools/install). You may need [platform specific dependencies on linux](https://github.com/xi-editor/druid#platform-notes). ```sh git clone https://github.com/tbillington/kondo.git cargo install --path kondo/kondo-ui ``` Binaries available on the [releases page](https://github.com/tbillington/kondo/releases). Packaging status ## Usage > **Warning** > > Kondo is [_essentially_](https://github.com/tbillington/kondo/blob/a7af95484d364bbb12eb3b40b0d860424dd1b714/kondo-lib/src/lib.rs#L236) `rm -rf` with a prompt. Use at your own discretion. Always have a backup of your projects. ### Command Line Interface Running `kondo` without a directory specified will run in the current directory. ```sh kondo ``` Supplying a path will tell `kondo` where to start. Multiple paths are supported. ```sh 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. ```sh 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`. ## Building/Development 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](https://doc.rust-lang.org/cargo/index.html) defaults. ## Similar Projects - [The Tin Summer](https://github.com/vmchale/tin-summer) - [Detox](https://github.com/whitfin/detox) - [Sweep](https://github.com/woubuc/sweep) - [npkill](https://github.com/voidcosmos/npkill) - [Cargo Cleanall](https://github.com/LeSnake04/cargo-cleanall) - [Cargo Sweep](https://github.com/holmgr/cargo-sweep) - [Cargo Wipe](https://github.com/mihai-dinculescu/cargo-wipe) - [cargo-clean-recursive](https://github.com/IgaguriMK/cargo-clean-recursive)