ariagecheney / projclean

Project non-essential files cleaner.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ProjClean

CI Crates

Project non-essential files cleaner.

screenshot

Why

  • Save space: Cleans unnecessary directories and files.
  • Very fast: Written in rust, optimized for concurrency.
  • Easy to use: A tui listing all found targets and pressing <space> to get rid of them.
  • Minified: single executable file, no dependencies, no installation.

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:
    <PATH>    Start searching from

OPTIONS:
    -h, --help              Print help information
    -r, --rule <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.

About

Project non-essential files cleaner.

License:Apache License 2.0


Languages

Language:Rust 100.0%