Top 20 Must‑Have CLI Tools Every Developer Should Use
This article presents a curated list of essential command‑line interface (CLI) tools—including shells, fuzzy finders, file search utilities, system monitors, version managers, and more—explaining their key features, typical use cases, and where to download them, helping developers boost productivity in the terminal.
CLI tools are indispensable for developers, serving as essential utilities that enhance productivity in the terminal. Below is a curated list of recommended command‑line tools.
1. Fish Shell
Fish Shell offers out‑of‑the‑box features such as syntax auto‑completion, syntax highlighting, and quick navigation between recently visited directories.
Download: https://fishshell.com/
2. Starship
Starship works with any shell; after a simple installation and a single line added to your shell configuration, it provides a smart, minimal prompt that shows git status, language versions, command execution time, and error information only when relevant.
Download: https://starship.rs/
3. z
z remembers your directory history and lets you jump to a folder with z folder_name, using a frecency algorithm to prioritize frequently and recently accessed paths.
Download: https://github.com/rupa/z
4. fzf
fzf is a fuzzy finder that lets you search files, command history, processes, git commits, etc., by typing partial strings and narrowing results interactively.
Download: https://github.com/junegunn/fzf
5. fd
fd is a faster, user‑friendly alternative to the built‑in find command; it respects .gitignore, highlights output, and simplifies complex regex patterns.
Download: https://github.com/sharkdp/fd
6. ripgrep
ripgrep (rg) replaces grep with superior speed, rich colorized output, and convenient defaults for searching codebases.
Download: https://github.com/BurntSushi/ripgrep
7. htop & glances
htop provides an enhanced, colorful interface for monitoring processes, while glances adds system‑wide metrics such as network, disk usage, sensor data, and resource‑intensive process lists.
htop: https://hisham.hm/htop/ glances: https://nicolargo.github.io/glances/
8. virtualenv & virtualfish
virtualenv creates isolated Python environments; virtualfish extends Fish Shell with commands to manage those environments quickly.
virtualenv: https://pypi.org/project/virtualenv/ virtualfish: https://github.com/justinmayer/virtualfish
9. pyenv, nodenv & rbenv
These tools manage multiple versions of Python, Node.js, and Ruby on a single machine, allowing per‑project version selection and isolation.
pyenv: https://github.com/pyenv/pyenv nodenv: https://github.com/nodenv/nodenv rbenv: https://github.com/rbenv/rbenv
10. pipx
pipx installs Python CLI applications in isolated environments, avoiding dependency conflicts and allowing direct execution without activating a virtual environment.
Download: https://github.com/pipxproject/pipx
11. ctop & lazydocker
ctop provides a top‑like UI for Docker containers, showing status, resource usage, and quick actions; lazydocker offers a rich terminal UI for managing Docker containers.
ctop: https://github.com/bcicen/ctop lazydocker: https://github.com/jesseduffield/lazydocker
12. Homebrew
Homebrew is the de‑facto package manager for macOS, simplifying software installation.
Download: https://brew.sh/
13. asciinema
asciinema records terminal sessions that can be replayed and allow users to copy code directly from the recording.
Download: https://asciinema.org/
14. colordiff & diff‑so‑fancy
colordiff adds color to diff output; diff‑so‑fancy further improves readability by highlighting changed words, simplifying headers, and removing unnecessary symbols.
colordiff: https://www.colordiff.org/ diff‑so‑fancy: https://github.com/so-fancy/diff-so-fancy
15. tree
tree displays directory structures in a visually appealing tree format.
$ tree .
.
├── recovery.md
├── README.md
├── archive
├── automator
│ ├── Open Iterm2.workflow
│ │ └── Contents
│ │ ├── Info.plist
│ │ ├── QuickLook
│ │ │ └── Thumbnail.png
│ │ └── document.wflow
│ └── Start Screen Saver.workflow
├── brew-cask.sh16. bat
bat is a cat replacement that adds syntax highlighting, git gutter markers, and automatic paging for large files.
Download: https://github.com/sharkdp/bat
17. httpie
httpie offers a more intuitive, colorized alternative to curl for making HTTP requests.
Download: https://httpie.org/
18. tldr
tldr provides concise, example‑driven help pages that are quicker to read than full man pages.
Download: https://tldr.sh/
19. exa
exa is a modern replacement for ls with colorful output, git status integration, and human‑readable file sizes while maintaining similar performance.
Download: https://the.exa.website/
20. litecli & pgcli
litecli and pgcli enhance SQLite and PostgreSQL command‑line interfaces with auto‑completion and syntax highlighting.
litecli: https://litecli.com/ pgcli: https://www.pgcli.com/
21. mas
mas is a CLI tool for installing macOS App Store applications.
Download: https://github.com/mas-cli/mas
22. ncdu
ncdu provides a simple, fast way to analyze disk usage and free up space.
Download: https://dev.yorhel.nl/ncdu
These tools collectively cover a wide range of development and system‑administration tasks, helping developers work more efficiently in the terminal.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Programmer DD
A tinkering programmer and author of "Spring Cloud Microservices in Action"
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
