Readme
๐งน rmrfrs
__
_ __ _ __ ___ _ __ / _| _ __ ___
| |__|| |_ ` _ \ | |__|| |_ | |__|/ __|
| | | | | | | || | | _|| | \__ \
|_| |_| |_| |_||_| |_| |_| |___/
๐งน rmrfrs is a powerful filesystem cleaning tool designed to optimize storage by identifying and removing unnecessary files within known project structures.
20+ Supported Project Types
Cargo (Rust),
CMake (C, C++),
Composer (PHP),
Elixir ,
Godot 4.x (C#, GDScript)
Gradle (Java)
Jupyter Notebook (Python),
Pixi (Python),
Maven (Java),
Node (JavaScript)
Pub (Dart),
Python
SBT (Scala),
Stack (Haskell),
Swift
Unity (C#),
Unreal Engine (C++),
Zig ,
.NET (C#, F#)
Turborepo (JavaScript)
โจ Features
Recursive Search : Scans directories and subdirectories for recognized project structures.
Space Savings : Estimates the amount of space that can be freed by deleting redundant files.
๐ Installation
To install rmrfrs , simply clone the repository and follow the instructions below:
git clone https://github.com/trinhminhtriet/rmrfrs.git
cd rmrfrs
cargo install -- path .
Running the below command will globally install the rmrfrs binary.
cargo install rmrfrs
Optionally, you can add ~/.cargo/bin to your PATH if it's not already there
echo ' export PATH="$HOME/.cargo/bin:$PATH"' >> ~ /.bashrc
source ~ /.bashrc
๐ก Usage
Run rmrfrs with the following command to start cleaning your filesystem:
rmrfrs --help
rmrfrs recursively cleans project directories
Usage: rmrfrs [OPTIONS] [DIRS]...
Arguments:
[DIRS]... The directories to examine. Current directory will be used if DIRS is omitted
Options:
-I, --ignored-dirs <IGNORED_DIRS> Directories to ignore. Will also prevent recursive traversal within
-q, --quiet... Quiet mode. Won't output to the terminal. -qq prevents all output
-a, --all Clean all found projects without confirmation
-L, --follow-symlinks Follow symbolic links
-s, --same-filesystem Restrict directory traversal to the root filesystem
-o, --older <OLDER> Only directories with a file last modified n units of time ago will be looked at. Ex: 20d. Units are m: minutes, h: hours, d: days, w: weeks, M: months and y: years [default: 0d]
--completions <GENERATOR> Generates completions for the specified shell [possible values: bash, elvish, fish, powershell, zsh]
-d, --default If there is no input, defaults to yes
-h, --help Print help (see more with '--help')
Ex:
rmrfrs code/my_project code/my_project_2
rmrfrs -- older 3M
rmrfrs - o3M
๐๏ธ Uninstallation
Running the below command will globally uninstall the rmrfrs binary.
cargo uninstall rmrfrs
Remove the project repo
rm - rf /path/to/git/clone/rmrfrs
๐ค How to contribute
We welcome contributions!
Fork this repository;
Create a branch with your feature: git checkout - b my-feature ;
Commit your changes: git commit - m " feat: my new feature" ;
Push to your branch: git push origin my-feature .
Once your pull request has been merged, you can delete your branch.
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.