Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/tbillington/kondo

Cleans dependencies and build artifacts from your projects.
https://github.com/tbillington/kondo

cargo cleaner cli command-line disk-space gui kondo linux macos rust unity unity3d windows

Last synced: 24 days ago
JSON representation

Cleans dependencies and build artifacts from your projects.

Lists

README

        

# 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

**winget**
```powershell
winget install kondo
```

**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)