The classic tree command has a problem: on a real project it prints thousands of lines you have to scroll past. broot solves that by being smart about space. It shows you a directory tree that fits your screen, intelligently collapsing and summarizing so you see the structure without the flood, and it's interactive - you type to fuzzy-filter, navigate with the keyboard, and act on files right from the tree.
A Tree That Fits
broot decides how much of each subdirectory to show based on your terminal height, so even a giant project stays comprehensible. Start typing and it filters the tree to matches, so finding a deeply-nested file is a few keystrokes:
# Open an interactive tree of the current dir
broot
# Show sizes, and include hidden files
broot --sizes --hidden
Navigate and Act
It's not just a viewer: from the tree you can cd into a directory (broot can change your shell's directory on exit), open files, run commands on them, and see disk sizes overlaid. It turns "understand and move around this project" into one fast interactive session.
Rough Edges and Limitations
- Shell integration for cd. Changing your shell's directory needs a small function installed.
- Learning the keys. The interactive commands take a little getting used to.
- Overlaps other tools. Its roles split across tree, fzf, and a file manager - some prefer those separately.
For getting your head around an unfamiliar or sprawling project, broot's space-aware tree is a genuinely different and useful way to look at a filesystem.
Internal link suggestion: link "a file manager" to the Yazi post for a fuller terminal file-management experience.