Skip to content

grkndev/ICleaner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧹 ICleaner

Open-source macOS disk cleaner — fully in your terminal.

Release License: MIT Go Version CI


ICleaner is a fast, interactive CLI tool for cleaning up unnecessary files on macOS. No GUI, no Electron, no bloat — just a beautiful terminal interface built with Bubbletea.

Features

Feature Description
🗂 Cache Cleaner System & browser caches (~/Library/Caches, Safari, Chrome, Firefox…)
📦 Large File Finder Find files above a configurable size threshold
👯 Duplicate Finder SHA-256 deduplication with group-aware selection
👻 Leftover App Files Scan ~/Library for remnants of uninstalled apps
📊 Disk Visualizer ASCII bar chart of disk usage by directory
node_modules Find & delete forgotten node_modules directories
🔨 Xcode Caches DerivedData, Archives, DeviceSupport, Simulator data
🐍 pip Cache Clear ~/.cache/pip
🐳 Docker docker system prune with optional volume cleanup

Interactive TUI

Run icleaner without any arguments to open the interactive menu:

  ICleaner  macOS Disk Cleaner

  ▶ Cache Cleaner          System & browser caches
    Large Files            Find files above a size threshold
    Duplicate Files        SHA-256 deduplication
    Leftover App Files     Remnants from uninstalled apps
    Disk Visualizer        ASCII bar chart of disk usage
  ── Developer Tools ─────────────────────────
    node_modules           Find & delete node_modules dirs
    Xcode Caches           DerivedData, Archives, DeviceSupport
    pip Cache              Clear ~/.cache/pip
    Docker                 docker system prune

  ↑/↓  navigate   enter  select   q  quit

Select a feature → fill in parameters step by step → review results interactively → confirm deletion. The entire flow stays in the terminal, no confirmation dialogs, no surprises.

Installation

Homebrew (recommended)

brew install grkndev/tap/icleaner

Go install

go install github.com/grkndev/icleaner@latest

Build from source

git clone https://github.com/grkndev/ICleaner
cd ICleaner
make install

Or grab a pre-built binary from Releases (macOS arm64/amd64, Linux arm64/amd64).

Usage

Interactive mode

icleaner

Direct commands

# Always preview first
icleaner cache --dry-run
icleaner dev node --dry-run --path ~/projects

# Cache
icleaner cache                       # interactive selection
icleaner cache --min-age 7d          # only caches older than 7 days

# Large files
icleaner large                       # scan home dir, threshold 100MB
icleaner large --min-size 500MB --path ~/Downloads

# Duplicates
icleaner duplicate --path ~/Documents

# Leftover app files
icleaner leftover                    # scan all
icleaner leftover --app Spotify      # filter by app name

# Disk usage
icleaner disk                        # home dir
icleaner disk --path / --top 20

# Developer caches
icleaner dev node --path ~/projects --older-than 30d
icleaner dev xcode
icleaner dev pip
icleaner dev docker --volumes
icleaner dev all                     # run everything

Flags

Flag Description
--dry-run Show what would be deleted — no actual deletions
-y, --yes Skip confirmation prompts (for scripts/CI)
--trash Move to macOS Trash instead of permanently deleting
--no-color Disable colored output
-v, --verbose Verbose output

TUI keyboard shortcuts

Key Action
/ or k / j Navigate
space Toggle selection
a Select / deselect all
enter Confirm
esc Go back
q Quit

Contributing

Contributions are welcome. Please open an issue first to discuss what you'd like to change.

git clone https://github.com/grkndev/ICleaner
cd ICleaner
make build   # build binary
make test    # run tests
make lint    # run linter (requires golangci-lint)

License

MIT — see LICENSE

Packages

 
 
 

Contributors