Projclean

CI Crates

Find and clean dependencies & builds from software projects to saving space or making backup easier.

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

``` USAGE: projclean [OPTIONS] [RULES]...

ARGS: ... Search rules, like node_modules or target@Cargo.toml

OPTIONS: -C, --directory

Start searching from DIR [default: .] -f, --force Delete found targets without entering tui -p, --print Print found targets only -h, --help Print help information -V, --version Print version information ```

Find and clean node_modules folders.

projclean node_modules

Common search rules for common projects:

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

Find and clean dependencies & builds from kinds of projects.

projclean node_modules target@Cargo.toml target@pom.xml

Start searching from specific directory, other than current work directory.

projclean -C $HOME node_modules target@pom.xml

Search 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 target -p /tmp/demo/rust-proj/target /tmp/demo/misc-proj/target

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

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

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.