The fuzzy finder. Bind to Ctrl-R and your shell history becomes searchable. Compose with anything that pipes — files, git branches, kubernetes contexts. The single most life-changing CLI tool on this list.
Recursive grep, ~10× faster, ignores .gitignore by default. Coloured output, smart-case search, Unicode. Once installed, you alias grep=rg and forget grep exists.
fd '\.py$' instead of find . -name '*.py'. Sane defaults, regex, colourised, parallel. Pairs naturally with fzf.
A cd that learns your habits. After visiting ~/work/projects/infraatlas a few times, z infra takes you there from anywhere. Sounds trivial, ends up saving a minute every hour.
SQLite-backed shell history with sync across machines. Search by command, host, directory, exit code. Replaces Ctrl-R with something searchable and shareable across laptops.
Cross-shell prompt — shows git branch, dirty state, kubernetes context, AWS profile, language version, all conditionally. TOML config. Fast (Rust), portable across bash / zsh / fish.
starship/starship→One version manager for every runtime — Node, Python, Go, Ruby, Java, Terraform, kubectl. Per-project .mise.toml auto-switches versions on cd. Fast (Rust). The asdf successor everyone is migrating to.
Auto-loads .envrc when you cd into a directory, unloads on exit. AWS profiles, secrets, language paths — anything env-shaped. Pairs naturally with mise.
Dotfile manager with templates, secrets integration, per-machine variations. chezmoi apply on a new laptop bootstraps your shell, editor, git config, ssh keys. Supports Go templates, age/PGP encryption.
Modern terminal multiplexer — sane defaults, layouts, plugin system. The status bar tells you the keybindings, so you do not need to memorise Ctrl-B the hard way. Strong choice for tmux refugees.
Git TUI — stage hunks, amend, rebase, cherry-pick, squash. Everything is one key press. Once installed, the pattern of "git status / git add / git commit" gets replaced by lg.
Modal editor inspired by vim and Kakoune. Selection-first model (verb after noun, reading more like English). Built-in LSP, tree-sitter, no plugins required out of the box.
helix-editor/helix→Fast file manager TUI with image previews (in Kitty / iTerm / wezterm) and async I/O. Vim-style keys, plugin system. If you do enough work in directory trees to want a TUI for it, this is the modern pick.
sxyazi/yazi→TUI building blocks from Charm. gum input, gum choose, gum spin turn shell scripts into something that looks like an application. Especially useful for bootstrappers and CLI prompts.
cat with syntax highlighting, git diff markers, line numbers, paging. alias cat=bat and read source files like a civilised human.
Syntax-highlighted, side-by-side diffs as your git pager. Drop two lines into ~/.gitconfig and every git diff / git log -p becomes readable.
This department leans heavily Rust — that is not ideology, it is just where the shell-tool renaissance has happened over the last few years. Most of these tools have direct GNU/BSD ancestors and improve on them in measurable ways (speed, defaults, output). Try one a week; you will not roll any back.