-
-
Notifications
You must be signed in to change notification settings - Fork 53
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* vid in readme * better pics and vids * project list top * Update README.md * Update README.md * readme touchup * readme touchup
- Loading branch information
1 parent
328e330
commit a7af954
Showing
1 changed file
with
92 additions
and
54 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,103 +1,141 @@ | ||
# Kondo 🧹 | ||
|
||
![Kondo Lints](https://github.com/tbillington/kondo/workflows/Kondo%20Lints/badge.svg) | ||
Cleans `node_modules`, `target`, `build`, etc from your projects. | ||
|
||
Cleans unneeded directories and files from your system. | ||
Excellent if | ||
|
||
![kondo gui](https://user-images.githubusercontent.com/2771466/76697113-f52b7a80-66e6-11ea-8ea1-4e1b6eb3f798.png) | ||
- 💾 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 | ||
|
||
![kondo command line](https://user-images.githubusercontent.com/2771466/89015432-5c765e00-d35a-11ea-8e67-193f2688d660.png) | ||
<br /> | ||
|
||
It will identify the disk space savings you would get from deleting temporary/unnecessary files from project directories, such as `target` from Cargo projects and `node_modules` from Node projects. | ||
<p align="center"> | ||
<strong>14 Supported Project Types</strong> | ||
</p> | ||
<p align="center"> | ||
<a href="https://doc.rust-lang.org/cargo/">Cargo</a> | ||
- <a href="https://nodejs.org/">Node</a> | ||
- <a href="https://unity.com/">Unity</a> | ||
- <a href="https://www.scala-sbt.org/">Scala SBT</a> | ||
- <a href="https://docs.haskellstack.org/">Haskell Stack</a> | ||
- <a href="https://maven.apache.org/">Maven</a> | ||
- <a href="https://www.unrealengine.com/">Unreal Engine</a> | ||
- <a href="https://www.python.org/">Python</a> | ||
</p> | ||
<p align="center"> | ||
<a href="https://jupyter.org/">Jupyter Notebook</a> | ||
- <a href="https://cmake.org">CMake</a> | ||
- <a href="https://getcomposer.org/">Composer</a> | ||
- <a href="https://dart.dev/">Pub</a> | ||
- <a href="https://elixir-lang.org/">Elixir</a> | ||
- <a href="https://swift.org/">Swift</a> | ||
</p> | ||
<p align="center"> | ||
Pull requests are welcome, it's <a href="https://github.com/tbillington/kondo/pull/76/files">easy to extend</a>! | ||
</p> | ||
|
||
## Supports: | ||
<img width="972" alt="kondo cli cleaning projects" src="https://user-images.githubusercontent.com/2771466/222950622-475bc6cc-7b91-47c2-86b2-5948bee4fe8e.png"> | ||
|
||
- [Cargo](https://doc.rust-lang.org/cargo/) projects (Rust) | ||
- [Node](https://nodejs.org/) projects (JavaScript) | ||
- [Unity](https://unity.com/) projects (C#) | ||
- [SBT](https://www.scala-sbt.org/) projects (Scala) | ||
- [Haskell Stack](https://docs.haskellstack.org/) projects (Haskell) | ||
- [Maven](https://maven.apache.org/) projects (Java) | ||
- [Unreal Engine](https://www.unrealengine.com/) projects (C++) | ||
- [Jupyter Notebook](https://jupyter.org/) projects (Python) | ||
- [Python](https://www.python.org/) projects | ||
- [CMake](https://cmake.org) projects | ||
- [Composer](https://getcomposer.org/) projects (PHP) | ||
- [Pub](https://dart.dev/) projects (Dart) | ||
- [Elixir](https://elixir-lang.org/) projects | ||
- [Swift](https://swift.org/) projects | ||
<img width="1112" alt="kondo gui displaying projects" src="https://user-images.githubusercontent.com/2771466/222950846-964162a1-80c9-4cdf-a9a8-d818ba4cb34a.png"> | ||
|
||
<details> | ||
<summary>CLI Video</summary> | ||
|
||
[kondo-cli.webm](https://user-images.githubusercontent.com/2771466/222949617-0ed621bc-ac4e-495a-9165-036a3a597d34.webm) | ||
|
||
</details> | ||
|
||
<details> | ||
<summary>GUI Video</summary> | ||
|
||
[kondo-ui.webm](https://user-images.githubusercontent.com/2771466/222951044-13484711-6107-45d4-aaa3-3140bbbba898.webm) | ||
|
||
</details> | ||
|
||
## Installation | ||
|
||
### Graphic User Interface | ||
### Command Line | ||
|
||
<a href="https://repology.org/project/rust:kondo-ui/versions"> | ||
<img src="https://repology.org/badge/vertical-allrepos/rust:kondo-ui.svg" alt="Packaging status"> | ||
</a> | ||
**Homebrew** | ||
|
||
```sh | ||
brew install kondo | ||
``` | ||
|
||
Windows and Mac builds are available on the [Releases](https://github.com/tbillington/kondo/releases) page as `kondo-ui`. | ||
**Source** | ||
|
||
Requires [rust](https://www.rust-lang.org/tools/install). | ||
|
||
```sh | ||
git clone https://github.com/tbillington/kondo.git | ||
cargo install --path kondo/kondo | ||
``` | ||
|
||
You can install `kondo-ui` via [Cargo](https://doc.rust-lang.org/cargo/) with `cargo install kondo-ui`. Note you'll still need [druid's platform specific dependencies](https://github.com/xi-editor/druid#platform-notes) on mac and linux. | ||
**Others** | ||
|
||
### Command line | ||
Binaries available on the [releases page](https://github.com/tbillington/kondo/releases). | ||
|
||
<a href="https://repology.org/project/kondo/versions"> | ||
<img src="https://repology.org/badge/vertical-allrepos/kondo.svg" alt="Packaging status"> | ||
</a> | ||
|
||
Windows, Mac, and Linux builds are available on the [Releases](https://github.com/tbillington/kondo/releases) page as `kondo`. | ||
### Graphic User Interface | ||
|
||
You can install `kondo` via [homebrew](https://formulae.brew.sh/formula/kondo) with `brew install kondo`. | ||
**Source** | ||
|
||
## Operation | ||
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). | ||
|
||
### Graphic User Interface | ||
```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). | ||
|
||
<a href="https://repology.org/project/rust:kondo-ui/versions"> | ||
<img src="https://repology.org/badge/vertical-allrepos/rust:kondo-ui.svg" alt="Packaging status"> | ||
</a> | ||
|
||
Launch `kondo-ui`, select a directory to be scanned, evaluate & clean directories as needed. | ||
## Usage | ||
|
||
### Command Line Interface | ||
|
||
Running `kondo` without a directory specified will run in the current directory. | ||
|
||
``` | ||
$ kondo | ||
```sh | ||
kondo | ||
``` | ||
|
||
Supplying a path will tell `kondo` where to start. Multiple paths are supported. | ||
|
||
``` | ||
$ kondo code/my_project code/my_project_2 | ||
```sh | ||
kondo code/my_project code/my_project_2 | ||
``` | ||
|
||
## Example Output | ||
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 | ||
``` | ||
$ kondo ~/code | ||
/Users/choc/code/unity Cargo project | ||
└─ target (489.1KiB) | ||
delete above artifact directories? ([y]es, [n]o, [a]ll, [q]uit): y | ||
deleted 489.1KiB | ||
/Users/choc/code/multiplayer-kit/generator Cargo project | ||
└─ target (874.3KiB) | ||
delete above artifact directories? ([y]es, [n]o, [a]ll, [q]uit): n | ||
|
||
/Users/choc/code/chat Cargo project | ||
└─ target (37.2MiB) | ||
delete above artifact directories? ([y]es, [n]o, [a]ll, [q]uit): q | ||
Total bytes deleted: 489.1KiB | ||
``` | ||
More options such as quiet mode, folowing symlinks, and filesystem restriction are viewable with `kondo --help`. | ||
|
||
## Building/Development | ||
|
||
To build `kondo` you can run `cargo build` from the projects root directory. | ||
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`. | ||
|
||
To build `kondo-ui` you must first navigate into the `kondo-ui` directory, then you can run `cargo build`. | ||
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) |