ProjClean

CI Crates

Project non-essential files cleaner.

screenshot

Why

Install

With cargo

cargo install projclean

Binaries on macOS, Linux, Windows

Download from Github Releases, unzip and add projclean to your $PATH.

CLI

``` SAGE: projclean [OPTIONS] [--] [PATH]

ARGS: Start searching from

OPTIONS: -h, --help Print help information -r, --rule ... Add a search rule -t, --targets Print found target -V, --version Print version information ```

Find node_modules folders.

projclean -r node_modules

Find node_modules folders starting from $HOME.

projclean $HOME -r node_modules

Find node_modules folders and rust target folders.

projclean -r node_modules -r target@Cargo.toml

Rule

Projclean find targets according search rule.

Rule consist of two parts:

<target-folder>[@flag-file]

Both target folder and flag file can be plain text or regex.

Flag file is used to filter out folders that match only names but not projects.

E.g. The directory has the following contents:

. ├── misc-proj │ └── target └── rust-proj ├── Cargo.toml └── target

Rule target found all target folders

$ projclean -t -r target /tmp/demo/rust-proj/target /tmp/demo/misc-proj/target

Rule target@Cargo.toml found target folders belongs the rust project.

$ projclean -t -r target@Cargo.toml /tmp/demo/rust-proj/target

Projects

Common search rules for common projects:

| name | command | | :------ | :------------------------------------------------ | | js | -r node_modules | | rs | -r target@Cargo.toml | | vs | -r '^(Debug\|Release)$@\.sln$' | | ios | -r '^(build\|xcuserdata\|DerivedData)$@Podfile' | | android | -r build@build.gradle | | java | -r target@pom.xml | | php | -r vendor@composer.json |

License

Copyright (c) 2022 projclean-developers.

argc is made available under the terms of either the MIT License or the Apache License 2.0, at your option.

See the LICENSE-APACHE and LICENSE-MIT files for license details.