Find and clean heavy build or cache directories.
ProjClean finds directories such as node_modules(node), target(rust), build(java) and their storage space for you, so you can easily clean them up.
cargo install projclean
Download from Github Releases, unzip and add projclean to your $PATH.
ProjClean finds target folders according to project rule.
Each project rule consist of three parts.
<target name>[;feature file][;project name]
- target name: the name of the directory or file to be cleaned, a required field, and supports regular expressions.
- feature file: a file unique to the project, optional, supports regularization.
- project name: a remark, optional.
If you simply pass the directory name, you may find a lot of irrelevant directories. It is more accurate to specify a project using a feature file, requiring that the directory must be in the project.
The default project rules are:
node_modules;;node
target;Cargo.toml;rust
build;build.gradle;java
^(Debug|Release)$;\.sln$;vs
You can set custom rule with -p --project
.
sh
projclean -p dist -p '.next;;nextjs' -p '^(build|dist)$;package.json;js'
You can also use a rules file
sh
echo dist > rules
echo '.next;;nextjs' >> rules
echo '^(build|dist)$;package.json;js' >> rules
projclean -f rules
Other options are used as follows:
sh
projclean # Find from current directory
projclean $HOME # Find from $HOME directory
projclean -l # Print project rules
projclean -t # Print the matching directory directly (without entering tui)
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.