Open Source — v0.1.0

Clean up your
stale .git directories

A fast, interactive terminal utility written in Rust to find and safely delete unused .git folders across your file system.

Install now View on GitHub
bash — gitclean
~/projects
gitclean


 ██████╗ ██╗████████╗ ██████╗██╗     ███████╗ █████╗ ███╗  ██╗
██╔════╝ ██║╚══██╔══╝██╔════╝██║     ██╔════╝██╔══██╗████╗ ██║
██║  ███╗██║   ██║   ██║     ██║     █████╗  ███████║██╔██╗██║
██║   ██║██║   ██║   ██║     ██║     ██╔══╝  ██╔══██║██║╚████║
╚██████╔╝██║   ██║   ╚██████╗███████╗███████╗██║  ██║██║ ╚███║
 ╚═════╝ ╚═╝   ╚═╝    ╚═════╝╚══════╝╚══════╝╚═╝  ╚═╝╚═╝  ╚══╝

┌──────────────────────────────────────────────────────────────┐
 >>  /home/user/projects/old-website/.git               
     /home/user/projects/archive/2021/.git               
     /home/user/projects/archive/demo-app/.git           
     /home/user/projects/scratch/test-proj/.git          
     /home/user/projects/tmp/experiment/.git             
└──────────────────────────────────────────────────────────────┘
  [Scanning complete — 5 found]   ↑↓ navigate   d delete   q quit
Why gitclean

Everything you need to keep your repos tidy

A minimal, focused tool that does one thing well.

🔍

Smart recursive scan

Walks your entire directory tree in a background thread, reporting found .git folders in real time without freezing the UI.

🖥️

Interactive TUI

Powered by ratatui — a full terminal UI with scrollable lists, status bars, and smooth key-driven navigation.

🔒

Safe deletion

Select exactly which directories to remove. Nothing is deleted until you press d.

Blazing fast

Written in Rust with multi-threaded scanning. Handles thousands of directories with a 16 ms poll interval for a snappy experience.

🌎

Cross-platform

Runs on Linux, macOS, and Windows thanks to crossterm's portable terminal abstraction.

📦

Zero configuration

No config files, no flags required. Just run gitclean from any directory and it figures out the rest.


Get started

Installation

Three ways to get gitclean on your machine.

cargo install
From source
Pre-built binary
1

Make sure Rust 1.70+ is installed, then run:

cargo install --git https://github.com/Girgetto/gitclean.git
2

Navigate to the directory you want to clean:

cd ~/projects && gitclean
1

Clone the repository:

git clone https://github.com/Girgetto/gitclean.git && cd gitclean
2

Build and run with Cargo:

cargo run --release
3

Or install the binary globally:

cargo install --path .
1

Download the latest binary from the GitHub Releases page:

https://github.com/Girgetto/gitclean/releases/tag/v0.1.0
2

Make it executable and move it to your PATH (Linux/macOS):

chmod +x gitclean && mv gitclean /usr/local/bin/

How to use

Keyboard controls

Everything is keyboard-driven — no mouse required.

Navigate the list
d Delete selected .git directory
q Quit the application

Tip: gitclean starts scanning as soon as it launches. Results stream in live — you can start navigating and deleting before the scan finishes.


Built with

Tech stack

Small, focused dependencies chosen for reliability and performance.

🦀 Rust Systems language
🖥️ ratatui Terminal UI framework
⌨️ crossterm Cross-platform terminal
📂 walkdir Directory traversal
🛠️ clap Argument parsing