Terminal & CLI Tools
tmux, zellij, mosh, Starship, fzf, ripgrep, bat — the daily shell upgrades.
The set of small tools that compounds into a much better shell experience for ops work.
Terminal multiplexers
- ★ tmux — universal; everywhere; the muscle-memory standard.
- ★ zellij — Rust; modern; pre-configured panes; great defaults. The most-loved newcomer.
- screen — old, ubiquitous; still works.
- byobu — wrapper around screen / tmux with friendly defaults.
Terminal emulators
- ★ Ghostty — fast, modern; growing fast in 2026.
- Alacritty — Rust; fast; minimal.
- kitty — fast; many features.
- WezTerm — Lua-configurable; cross-platform.
- iTerm2 (Mac) — long-running classic.
- Windows Terminal (Microsoft) — finally good.
- Warp — AI-flavored terminal; commercial.
Shell
- bash — default; everywhere.
- ★ zsh + oh-my-zsh / prezto / zinit — many plugins; great defaults.
- fish — friendly; great defaults out of the box; some POSIX deviations.
- nushell — structured-data shell; pipes are typed.
Prompt
- ★ Starship — Rust; fast; cross-shell; the default in 2026.
- Powerlevel10k (zsh) — feature-rich; very fast.
- Oh My Posh — same niche, cross-shell.
- liquidprompt — older, simpler.
Modern replacements for common Unix tools
- ★ ripgrep (
rg) — replaces grep; way faster. - ★ fd — replaces find; sane defaults.
- ★ bat — replaces cat; syntax highlighting + line numbers.
- ★ eza — replaces ls; colors + tree mode.
- dust — replaces du; visual.
- duf — replaces df; tables.
- procs — replaces ps; tree view.
- sd — replaces sed for common cases.
- delta — better git diff viewer.
- xh / httpie — better curl for HTTP.
- jq / yq — JSON / YAML query.
- gron — make JSON grep-able.
- jless — interactive JSON viewer.
Fuzzy / interactive
- ★ fzf — universal fuzzy finder; pipe anything to it. Life-changing.
- skim (
sk) — Rust alternative to fzf. - zoxide — fuzzy
cdbased on frecency. Replacescd. - autojump / z — older zoxide ancestors.
Editors (terminal-side)
- ★ vim / Neovim — universal.
- ★ Helix — modern Kakoune-style modal editor; great defaults.
- nano — the editor your
EDITORdefaults to when SSH'd. - micro — friendlier alternative to nano.
File transfer / copying
- See File Sync — rsync, rclone, croc, magic-wormhole.
Productivity glue
- direnv — auto-load env when you
cdinto a project. - mise — runtime version manager; see Dev Environments.
- just — modern command runner; like make for tasks.
- Taskfile — same niche, YAML config.
- lazygit — TUI for git.
- gh — GitHub CLI.
- glab — GitLab CLI.
Patterns to adopt
- ★ Aliases for
kubectl,git,docker,ssh. Save thousands of keystrokes. fzfhistory search —Ctrl+Rbecomes magical with fzf's history widget.- Starship for a consistent prompt across machines / shells.
- Persistent tmux session per host — reconnect to the same workspace after disconnects.
- mosh + tmux for flaky connections.
Pick this if…
- Default modern shell setup: zsh + Starship + fzf + zoxide + ripgrep + fd + bat + eza.
- Multiplexer: tmux (mature) or zellij (modern).
- Terminal emulator: Ghostty or Alacritty.
- Fast modal editor: Helix.
- Shell-script-like tasks: just or Taskfile.
- TUI git: lazygit.