Skip to content
usPublic

About

Disk cleanup CLI for developers. Clean node_modules, target, .venv, Docker, Xcode caches. Reclaim 100+ GB. Fast Rust tool for macOS/Linux/Windows.

Topics

Resources

Stars

16 stars

Watchers

0 watching

Forks

Latest commit

ย 

History

67 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

null-e mascot

null-e

Disk cleanup for developers โ€” clean node_modules, target, .venv, Docker, Xcode caches and 50+ cache types

CI License

Download โ€ข Quick Start โ€ข Docs โ€ข Changelog


null-e desktop app โ€” sidebar of reclaimable disk space grouped by category with a donut summary and drill-down list

/dev/null + Wall-E = null-e โ€” like the adorable trash-compacting robot, null-e tirelessly cleans up developer junk and sends it where it belongs.

Reclaim 100+ GB โ€” most developer machines accumulate tens of gigabytes of stale node_modules, target/, .venv, Docker images, and IDE caches.

Download

Desktop App (GUI)

Platform Download
macOS (Apple Silicon) Download .dmg โ€” M1/M2/M3/M4
macOS (Intel) Download .dmg
Windows Download .exe โ€” 64-bit
Linux (Ubuntu/Debian) Download .deb
Linux (Universal) Download .AppImage

macOS Installation Note

null-e is distributed as an unsigned/non-notarized .dmg (no Apple Developer Program). macOS Gatekeeper will block it on first launch โ€” this is expected. Two ways to open it:

1. Open Anyway (no Terminal)

  1. Drag null-e.app to /Applications and double-click it.
  2. macOS says it can't verify the developer. Open System Settings โ†’ Privacy & Security, scroll to the bottom, and click Open Anyway next to null-e.
  3. Confirm Open. You only need to do this once per version.

2. Terminal (power users)

# Drag null-e.app to /Applications, then run:
xattr -rd com.apple.quarantine /Applications/null-e.app
open /Applications/null-e.app

Full Disk Access

To clean system and other-app caches, null-e needs Full Disk Access: System Settings โ†’ Privacy & Security โ†’ Full Disk Access โ†’ enable null-e, then relaunch the app (macOS only applies the grant to a freshly launched process). null-e's in-app guide walks you through this.

Heads up: because the app is unsigned, updating to a new version can reset the Full Disk Access grant โ€” macOS ties the permission to each build. If cleaning suddenly fails after an update, just re-enable null-e in Full Disk Access and relaunch. (Building from source with a stable self-signed certificate avoids this โ€” see the release workflow.)

CLI (command-line)

One-line install (downloads the right prebuilt binary for your OS/arch):

curl -fsSL https://github.com/raw/us/null-e/main/install.sh | sh

Or via Cargo:

cargo install null-e        # build from source
cargo binstall null-e       # prebuilt binary, no compile
null-e sweep

What's New

v0.4.3

Features

  • cli: add --no-emoji flag and list files in dry-run preview (c9f2747)
  • one-line curl | sh installer (fb31d43)

Bug Fixes

  • release: publish CLI to crates.io as null-e (dd3cb14)

See CHANGELOG.md for the full release history.

Changelog

See CHANGELOG.md for the full release history.

Why null-e?

Category Examples Typical Size
Project Artifacts โ€” node_modules, target, .venv, build Node.js, Rust, Python, Go, Java, .NET, Swift 10-100 GB
Global Caches โ€” npm, pip, cargo, go, maven, gradle All major package managers 5-50 GB
Xcode โ€” DerivedData, Simulators, Archives iOS/macOS development 20-100 GB
Docker โ€” Images, Containers, Volumes, Build Cache Container workflows 10-100 GB
Android โ€” AVD, Gradle, SDK Components Android development 5-30 GB
ML/AI โ€” HuggingFace, Ollama, PyTorch cache Machine learning 10-100 GB
IDE Caches โ€” JetBrains, VS Code, Cursor All major IDEs 2-20 GB
More โ€” Homebrew, Electron, Game Dev, Cloud CLI, macOS System Everything else 1-100 GB

Features

  • Multi-language Support โ€” Node.js, Rust, Python, Go, Java, .NET, Swift, Ruby, PHP and more
  • Git Protection โ€” 4 levels (none/warn/block/paranoid) to prevent deleting uncommitted work
  • Safe Deletion โ€” Moves to trash by default with recovery option, dry-run mode
  • Parallel Scanning โ€” Fast multi-threaded directory traversal with rayon + walkdir
  • Interactive TUI โ€” 18 scan modes, keyboard navigation, live progress with ratatui
  • Analysis Tools โ€” Find stale projects, duplicate dependencies, optimize git repos
  • System Cleaners โ€” Xcode, Docker, Android, ML/AI, IDE, Homebrew, Electron, Cloud CLI, and more
  • Configurable โ€” TOML config file, CLI flags override, JSON output support
  • Cross-Platform โ€” macOS, Linux, Windows

Installation

Using Cargo

cargo install null-e

Pre-built Binaries

Download from GitHub Releases:

Platform File
macOS ARM null-e-darwin-aarch64.tar.gz
macOS Intel null-e-darwin-x86_64.tar.gz
Linux x86_64 null-e-linux-x86_64.tar.gz
Linux x86_64 (musl) null-e-linux-x86_64-musl.tar.gz
Linux ARM null-e-linux-aarch64.tar.gz
Windows null-e-windows-x86_64.zip

Package Managers

# Homebrew (macOS/Linux)
brew install null-e

# AUR (Arch Linux)
yay -S null-e

# Scoop (Windows)
scoop bucket add us https://github.com/us/scoop-bucket
scoop install null-e

Docker

docker run -v $(pwd):/workspace ghcr.io/us/null-e

From Source

git clone https://github.com/us/null-e.git
cd null-e
cargo install --path .

Quick Start

# Scan current directory for cleanable artifacts
null-e

# Deep sweep โ€” find ALL cleanable items across your system
null-e sweep

# Clean global developer caches (npm, pip, cargo, etc.)
null-e caches

# Interactive TUI mode
null-e tui

# Find stale projects not touched in 6 months
null-e stale ~/projects

# Dry run โ€” see what would be deleted
null-e clean ~/projects --dry-run

Commands

Core

Command Description
null-e Scan current directory for project artifacts
null-e scan Scan with detailed output
null-e clean Clean found artifacts (interactive)
null-e sweep Deep scan for ALL cleanable items
null-e caches Manage global developer caches
null-e tui Launch interactive terminal UI

System Cleaners

Command Description
null-e xcode Xcode artifacts (DerivedData, Simulators, Archives)
null-e android Android development artifacts
null-e docker Docker resources (images, volumes, build cache)
null-e ml ML/AI model caches (HuggingFace, Ollama, PyTorch)
null-e ide IDE caches (JetBrains, VS Code, Cursor)
null-e homebrew Homebrew caches
null-e ios-deps iOS dependency caches (CocoaPods, Carthage, SPM)
null-e electron Electron app caches (Slack, Discord, Teams)
null-e gamedev Game development caches (Unity, Unreal, Godot)
null-e cloud Cloud CLI caches (AWS, GCP, Azure, kubectl, Terraform)
null-e macos macOS system caches

Analysis

Command Description
null-e git-analyze Find large .git repos, suggest git gc
null-e stale Find projects not touched in months
null-e duplicates Find duplicate dependencies

Architecture

     .---.
    |o   o|
    |  ^  |    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
    | === |    โ”‚                       CLI                         โ”‚
    `-----'    โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
     /| |\     โ”‚                    Core Engine                    โ”‚
               โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”        โ”‚
               โ”‚  โ”‚ Scanner  โ”‚  โ”‚ Cleaner  โ”‚  โ”‚ Analysis โ”‚        โ”‚
               โ”‚  โ”‚          โ”‚  โ”‚          โ”‚  โ”‚  Tools   โ”‚        โ”‚
               โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜        โ”‚
               โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
               โ”‚                    Modules                        โ”‚
               โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”‚
               โ”‚  โ”‚Plugins โ”‚ โ”‚Cleanersโ”‚ โ”‚ Caches โ”‚ โ”‚ Docker โ”‚     โ”‚
               โ”‚  โ”‚(langs) โ”‚ โ”‚(system)โ”‚ โ”‚(global)โ”‚ โ”‚        โ”‚     โ”‚
               โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ”‚
               โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Configuration

Create ~/.config/null-e/config.toml:

[general]
default_paths = ["~/projects", "~/work"]

[scan]
max_depth = 10
min_size = 1000000  # 1 MB

[clean]
delete_method = "trash"
protection_level = "warn"

[ui]
sort_by = "size"
use_icons = true

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feat/amazing-feature)
  3. Commit your changes using conventional commits
  4. Push to the branch (git push origin feat/amazing-feature)
  5. Open a Pull Request

License

WTFPL โ€” Do What The Fuck You Want To Public License.

Disclaimer

null-e is provided "as-is" without warranty of any kind. The authors are not responsible for any data loss resulting from the use of this software.

  • Always keep backups of important work before running cleanup operations
  • Use --dry-run to preview what will be deleted before committing
  • Trash mode (default) allows recovery, but is not guaranteed on all filesystems
  • Permanent delete is irreversible โ€” use with extreme caution
  • This tool is designed for developers who understand the artifacts being cleaned

About

Disk cleanup CLI for developers. Clean node_modules, target, .venv, Docker, Xcode caches. Reclaim 100+ GB. Fast Rust tool for macOS/Linux/Windows.

Topics

Resources

Stars

16 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages