Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧹 Dev-Sweeper

Reclaim gigabytes of disk space in seconds.

🇬🇧 Read in English | 🇪🇸 Leer en Español

Dev-Sweeper is an extremely fast interactive CLI tool (TUI) written in Rust. It automatically scans your hard drive for abandoned or inactive projects (Node.js, Rust, Python, Java, .NET, PHP) and allows you to permanently clean their massive dependency folders safely.

Dev-Sweeper Spanish UI Dev-Sweeper English UI


✨ Main Features

  • 🚀 Extreme Performance (Multi-threading): Massive parallel scanning using jwalk and rayon. Analyzes hundreds of thousands of dependencies on solid-state drives taking advantage of all your CPU cores.
  • 🖥️ Interactive Visual Interface (TUI): Navigate your projects, mark the ones you want to delete, and remove them with real-time feedback.
  • 🔍 Instant Search and Sorting: Press / to filter your project list in real time and s to change the sorting criteria.
  • 🌐 Native Internationalization (i18n): Automatically detects if your operating system is in English or Spanish and adapts the interface without sacrificing milliseconds.
  • 🗂️ Absolute Details: Inspect the exact path of your project by opening an advanced details panel.
  • 🛡️ Dry-Run Mode: Just want to see how much space you could recover without opening the graphical interface? Use the --dry-run flag.
  • 🚫 Exclusion System: Respects the folders you mark in a global ~/.dev-sweeper-ignore file.

🌍 Supported Languages

Dev-Sweeper automatically detects multiple ecosystems with zero configuration needed:

  • 📦 Node.js: Detects package.json and cleans node_modules/.
  • 🦀 Rust: Detects Cargo.toml and cleans target/.
  • 🐍 Python: Detects requirements.txt or pyproject.toml and cleans virtual environments (venv, .venv, env).
  • Java: Detects pom.xml or build.gradle and cleans target/ and build/.
  • 🎯 .NET (C#): Detects .sln or .csproj and cleans bin/ and obj/.
  • 🐘 PHP: Detects composer.json and cleans vendor/.

📦 Installation

Make sure you have Rust installed on your machine. Then, clone the repository and install the binary globally:

git clone https://github.com/dvigo/dev-sweeper.git
cd dev-sweeper
cargo install --path .

This will install dev-sweeper in your ~/.cargo/bin, allowing you to run it from anywhere in your terminal.

🚀 Usage

Simply run the command in your terminal to scan the directory you are currently in:

dev-sweeper

If you want to scan a specific directory (for example, your entire developer folder):

dev-sweeper /Users/your-username/Projects

CLI Options

Flag Description
--dry-run Shows a plain text summary of how much space you can free without opening the TUI.
--months <N> Overrides the inactivity limit (default 6 months). Ex: --months 3.
--help Shows the help menu.

⌨️ Keyboard Shortcuts (Inside the TUI)

Key Action
/ j Move down the list.
/ k Move up the list.
Space Mark / Unmark a project for later deletion.
Enter Execute the cleanup of all projects marked with [x].
/ Enter interactive search mode (type to filter, press Esc to exit the mode).
s Change the sorting criteria (Size, Date, Name).
/ l Open the advanced path details panel.
/ h Close a panel or cancel.
q / Esc Safely exit the application.

🛠️ Technologies Used

  • Ratatui: Ultra-fast rendering engine for the terminal interface.
  • Rayon: Data-parallelism library for extreme performance.
  • JWalk: Multi-threaded filesystem traversal.
  • Walkdir: Ergonomic recursive directory traversal.
  • Sys-Locale: Native API to get the OS language preference.

"Built to be as efficient as possible, for developers who value their time and disk space."

About

🧹 Blazing fast cross-platform TUI to safely clean up massive dependency folders (node_modules, target, venv, vendor) from inactive projects.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages