Rmrfrs
๐งน rmrfrs is a powerful filesystem cleaning tool designed to optimize storage by identifying and removing unnecessary files within known project structures.
Install / Use
/learn @trinhminhtriet/RmrfrsREADME
๐งน rmrfrs
__
_ __ _ __ ___ _ __ / _| _ __ ___
| |__|| |_ ` _ \ | |__|| |_ | |__|/ __|
| | | | | | | || | | _|| | \__ \
|_| |_| |_| |_||_| |_| |_| |___/
๐งน rmrfrs is a powerful filesystem cleaning tool designed to optimize storage by identifying and removing unnecessary files within known project structures.
<p align="center"> <strong>20+ Supported Project Types</strong> </p> <p align="center"> <a href="https://doc.rust-lang.org/cargo/">Cargo</a> (Rust), <a href="https://cmake.org">CMake</a> (C, C++), <a href="https://getcomposer.org/">Composer</a> (PHP), <a href="https://elixir-lang.org/">Elixir</a>, <a href="https://godotengine.org/">Godot 4.x</a> (C#, GDScript) </p> <p align="center"> <a href="https://gradle.com/">Gradle</a> (Java) <a href="https://jupyter.org/">Jupyter Notebook</a> (Python), <a href="https://pixi.sh/">Pixi</a> (Python), <a href="https://maven.apache.org/">Maven</a> (Java), <a href="https://nodejs.org/">Node</a> (JavaScript) </p> <p align="center"> <a href="https://dart.dev/">Pub</a> (Dart), <a href="https://www.python.org/">Python</a> <a href="https://www.scala-sbt.org/">SBT</a> (Scala), <a href="https://docs.haskellstack.org/">Stack</a> (Haskell), <a href="https://swift.org/">Swift</a> </p> <p align="center"> <a href="https://unity.com/">Unity</a> (C#), <a href="https://www.unrealengine.com/">Unreal Engine</a> (C++), <a href="https://ziglang.org/">Zig</a>, <a href="https://dotnet.microsoft.com/">.NET</a> (C#, F#) <a href="https://turbo.build/repo">Turborepo</a> (JavaScript) </p>โจ 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.
Related Skills
himalaya
348.5kCLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
taskflow
348.5kname: taskflow description: Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layer
coding-agent
348.5kDelegate coding tasks to Codex, Claude Code, or Pi agents via background process
tavily
348.5kTavily web search, content extraction, and research tools.
