explaingit

canop/broot

12,665RustAudience · developerComplexity · 2/5Setup · easy

TLDR

A terminal file browser that shows a smart collapsible tree view, lets you find files instantly with fuzzy search, jump into folders, manage files, and spot what's taking up disk space, all from the command line.

Mindmap

mindmap
  root((broot))
    File Navigation
      Fuzzy search
      Tree view
      Jump to folder
    File Management
      Move and copy
      Delete files
      Dual panel mode
    Views
      Size whale-spotting
      Date sorted view
      Git status view
    Tech
      Rust
      Fast startup
      Low memory
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Quickly find a file buried in a large codebase by typing a few letters and letting broot filter the tree in real time.

USE CASE 2

Identify which folders are consuming the most disk space using whale-spotting mode, which sorts everything by size.

USE CASE 3

Navigate into a deeply nested folder and drop directly into it in your terminal with a single keyboard shortcut.

USE CASE 4

Open two panels side by side to move or copy files between directories without leaving the terminal.

Tech stack

Rust

Getting it running

Difficulty · easy Time to first run · 5min

Available via most Linux and macOS package managers, works immediately after install with no extra configuration.

No license information was mentioned in the explanation.

In plain English

Broot is a command-line tool for browsing and navigating files and folders on your computer. It runs in the terminal and shows a tree view of your directory structure, similar to how a file manager displays folders, except it is designed to stay fast and usable even when a directory contains thousands of files. The old Unix command for showing a directory tree produces an overwhelming wall of text in large codebases. Broot solves that by intelligently collapsing parts of the tree and showing a manageable overview instead. The most common use is finding a file or folder quickly. You type a few letters and broot filters the tree in real time using fuzzy matching, meaning you do not have to type the exact name. When you find the directory you want, pressing a keyboard shortcut drops you back into your terminal already inside that folder. You can also search by file contents rather than just names, which lets you find files containing a specific word or phrase without running a separate search command. Broot can also replace the standard directory listing command. It shows file sizes, modification dates, and permissions in a compact format. A dedicated mode called whale-spotting sorts everything by size so you can quickly identify what is taking up disk space. Sorting by date helps you find recently changed files. Both sorting modes calculate sizes and dates in the background so you can keep navigating while the numbers fill in. File operations like moving, copying, deleting, and creating folders are built in. You can open two panels side by side and drag files between them, similar to classic dual-pane file managers. A preview panel shows the contents of a selected file, including images in high resolution if your terminal supports it. Git integration shows which files have been modified, added, or deleted in a repository. The tool is written in Rust, which gives it fast startup times and low memory use. It is available on Linux and macOS and can be installed through most package managers. Configuration is handled through a plain-text file where you can define custom commands and keyboard shortcuts.

Copy-paste prompts

Prompt 1
I just installed broot. Walk me through the basic workflow: how do I open it, search for a file by typing part of its name, and jump into that folder in my shell?
Prompt 2
How do I use broot's whale-spotting mode to find and delete the largest directories that are filling up my hard drive?
Prompt 3
Show me how to add a custom keyboard shortcut in broot's config file to open the selected file in VS Code.
Prompt 4
How do I use broot's dual-panel mode to move files from one directory to another without using mv in the terminal?
Prompt 5
I want to search file contents with broot, how do I find every file containing the word TODO in a large project?
Open on GitHub → Explain another repo

← canop on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.