Terminal & shell
Your terminal is where most of this lives, so it pays to upgrade it first.
- warp — a modern, GPU-accelerated terminal with blocks, autocomplete, and team features;
cask "warp". - tmux — split one terminal into many panes and keep sessions alive after you disconnect.
- starship — a fast, configurable prompt that shows your Git branch, language versions, and more.
- zoxide — a smarter
cdthat learns your most-used directories and jumps to them. - fzf — a fuzzy finder that makes history search, file pickers, and Git branch switching instant.
Modern replacements for old CLI tools
A whole generation of Rust and Go tools quietly improves on the Unix classics. Adding these is one of the highest-impact changes to a setup.
| Install instead of | The modern tool | Why |
|---|---|---|
cat | bat | Syntax highlighting and line numbers out of the box |
ls | eza | Colours, icons, Git status, and a tree view |
grep | ripgrep (rg) | Dramatically faster, respects .gitignore by default |
find | fd | Simpler syntax and far quicker on big trees |
du | dust | A visual, sorted breakdown of what is eating your disk |
top | btop | A clean, mouse-friendly resource monitor |
Git & version control
- git — almost certainly your first line; the macOS system Git is often outdated, so Homebrew keeps it fresh.
- gh — GitHub's official CLI for pull requests, issues, and releases without leaving the terminal.
- lazygit — a terminal UI that makes staging, branching, and rebasing genuinely pleasant.
- git-delta — beautiful, readable diffs with syntax highlighting inside Git itself.
Languages & runtimes
Rather than installing a language directly, many developers install a version manager so they can switch versions per project.
- node / fnm — Node.js, or a fast version manager to juggle several Node versions.
- python / uv — Python, plus the increasingly popular
uvfor fast environments and dependency resolution. - go, rust — install the toolchains for two of the most common systems languages.
- mise — a single tool that manages versions for many languages at once, replacing several separate managers.
Databases & services
- postgresql, mysql, redis — run the most common data stores locally for development.
- sqlite — a zero-configuration database that ships as a single file; perfect for prototypes.
- orbstack — a fast, lightweight way to run Docker containers and Linux machines on a Mac;
cask "orbstack".
Editors & apps
These are casks — full applications that a Brewfile can install alongside your CLI tools.
- visual-studio-code — the editor most setups still revolve around; its extensions can live in the same Brewfile.
- raycast — a launcher and productivity hub that replaces Spotlight for many people.
- rectangle — keyboard-driven window management for tiling without a heavyweight tool.
- firefox / google-chrome — a second browser for testing is standard practice.
Utilities worth not forgetting
- jq and yq — slice and reshape JSON and YAML from the command line.
- wget and curl — download and inspect anything over HTTP.
- htop, ncdu — quick views of processes and disk usage.
- mas — the Mac App Store CLI, which lets your Brewfile install App Store apps too.
See what others actually use
This list is a starting point, but the most honest signal is real-world data. The Brewfiles uploaded to this site show the packages developers genuinely keep around, and the leaderboard ranks the most common ones. Use them to discover tools you have never heard of.
Most popular packages →
See which tools appear most often across every uploaded Brewfile.
Turn this into a Brewfile →
Add your picks to a file and reinstall them on any machine in one command.