A keyboard-driven terminal download manager in Go that splits files into parallel chunks and can download from multiple mirrors.
legostin/cull
Interactive terminal disk space analyzer that scans directories, finds what is using space, and deletes it from the TUI.
Open-source alternative to:DaisyDisk
WinDirStat
- Stars
- 167
- Forks
- 4
- Open issues
- 0
- Last commit
- 2 months ago
What is it?
cull is a terminal user interface (TUI) tool for finding and removing the files that fill up your disk. You point it at a directory, it sizes entries in the background while you browse, and you can select items and move them to trash or delete them permanently, all without leaving the terminal.
Beyond the general directory browser, cull has dedicated tabs for the Largest files across all subdirectories, known application caches (dev tools, browsers, messengers, Docker prune), and build artifacts such as node_modules, Rust target/ and Python .venv inside projects. On macOS it also surfaces old iOS device backups and local Time Machine snapshots. A treemap view sizes each file and directory as a rectangle, and sizes reflect allocated blocks rather than logical length.
System-managed paths are flagged and always require confirmation before deletion. Installation is available via Homebrew, an apt repository, GitHub releases for Windows, or go install. Windows support is described as early.
Key features
- 01Browse directories with sizes calculated in the background and re-sorted as results arrive.
- 02Move files to trash or delete them permanently, with a confirmation dialog.
- 03Find the largest files across all subdirectories with a deep scan.
- 04Detect app caches and build artifacts next to their project marker files.
- 05Visualize disk usage as a treemap with keyboard and mouse navigation.
- 06Filter entries by name and toggle hidden files.
Use cases
- Freeing space on a laptop by finding large downloads or forgotten files.
- Cleaning old project dependencies and build outputs across many repositories.
- Clearing developer tool and browser caches on macOS or Linux.
- Inspecting remote or server disks over SSH from a terminal session.
Quick start
- 1
Install on macOS with Homebrew
brew tap legostin/tap - 2
Install the cull package
brew install cull - 3
Scan the current directory
cull
Things to know
- Windows support is early, with logical sizes instead of allocated blocks and limited trash restore.
- Some features are macOS-only, such as Quick Look, Time Machine snapshot deletion, and iOS backup detection.
Topics
FAQ
- What is cull?
- Interactive terminal disk space analyzer that scans directories, finds what is using space, and deletes it from the TUI. cull is a terminal user interface (TUI) tool for finding and removing the files that fill up your disk. You point it at a directory, it sizes entries in the background while you browse, and you can select items and move them to trash or delete them permanently, all without leaving the terminal.
- Is cull free to use? What license does it have?
- cull is open source under the MIT license. Check the license terms before using it in commercial products.
- Is cull still maintained?
- Updated within 6 months. The last commit to cull was on Aug 31, 2026.
- What can I use cull for?
- Freeing space on a laptop by finding large downloads or forgotten files. Cleaning old project dependencies and build outputs across many repositories. Clearing developer tool and browser caches on macOS or Linux. Inspecting remote or server disks over SSH from a terminal session.
- How do I install cull?
- Install on macOS with Homebrew: brew tap legostin/tap Install the cull package: brew install cull Scan the current directory: cull
- Where can I get cull?
- The source code and installation instructions are on GitHub: https://github.com/legostin/cull
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A terminal screensaver written in Go that starts when your shell is idle, showing animated scenes like constellations, rain, and particles.
A terminal tool that replays Git commits as animated typing sessions with syntax highlighting and file tree transitions.
A terminal user interface for Git, inspired by Magit, for staging, committing, branching, rebasing and more from the keyboard.
A terminal UI tool written in Go that discovers and explores devices on your local network without elevated privileges.
A terminal UI that renders a git commit graph as images, similar to git log --graph --all, for browsing repository history.