Shell Command-Line Tools
21 tools in the Shell category: shell utilities and productivity tools. Sorted by GitHub stars; the most starred are Oh My Zsh, thefuck and starship.
Tools
Oh My Zsh
Community-maintained framework for managing zsh configuration, with 300+ plugins, 140+ themes, and a built-in updater.
thefuck
Command-line error correction tool that suggests and fixes typos in previously executed shell commands
starship
Cross-shell prompt that displays contextual information about Git repos, programming languages, and system status
Powerlevel10k
Zsh prompt theme with an interactive configuration wizard, instant prompt at shell startup, Git status segments, and Powerlevel9k config compatibility.
zx
JavaScript/TypeScript library and runner that wraps child_process with a $`...` template tag for writing cross-platform shell scripts with escaped arguments.
Nushell
Structured data shell that treats commands and files as typed data rather than raw text streams
zoxide
Smart cd replacement that remembers frequently used directories for quick navigation
zsh-autosuggestions
Zsh plugin that shows inline command suggestions after the cursor, drawn from history and tab-completion, in the style of Fish.
fish
Interactive command line shell with syntax highlighting, autosuggestions, and tab completions that work without configuration
atuin
Shell history management with SQLite storage, search interface, and encrypted sync across machines
gum
CLI tool providing interactive components for shell scripts with input prompts, menus, spinners, and styling
Spaceship Prompt
Customizable Zsh prompt that shows Git/Mercurial status, language runtime versions, Docker, Kubernetes, battery and more, with support for custom sections.
direnv
Shell extension that automatically loads and unloads environment variables based on current directory
tpm
Tmux Plugin Manager: installs, updates, and removes tmux plugins from GitHub or other git repositories, configured via ~/.tmux.conf.
Pure
ZSH prompt that shows git branch, dirty state, and async-checked unpushed/unpulled arrows, with exit-status coloring and command execution time.
tmuxinator
Ruby CLI that creates and starts tmux sessions from YAML project files defining windows, panes, layouts, root directories, and startup hooks.
genact
Terminal program that prints fake activity output (compilers, builds, botnets, downloads) to look busy. Runs natively or in a browser via WebAssembly.
inshellisense
IDE-style autocomplete for shells, running as a terminal-native runtime for the withfig/autocomplete specs covering 600+ CLI tools on Windows, Linux, and macOS.
up
Interactive terminal UI for building Linux pipelines with live preview of command results
McFly
Replaces ctrl-r shell history search with a full-screen search ranked by a small neural network using directory, prior commands, and exit status.
X-CMD
Shell toolkit with command modules, on-demand CLI packages, completions, themes, and AI service integrations.
Guides
- Best Shell PromptsCompare starship, Spaceship Prompt, Pure: workflows, strengths and tradeoffs.
- Set up a fast cross-shell prompt with starshipInstall starship, load it in bash, zsh or fish, edit starship.toml, apply a preset, and fix slow prompts or missing Nerd Font glyphs.
- Jump between directories with zoxideInstall zoxide, load it in bash, zsh or fish, jump with z and zi, import your autojump or z history, and replace cd with --cmd cd.
- Manage Node, Python and Go versions per project with misePin Node, Python and Go versions per project with mise: install, shell activation, mise use, mise.toml vs .tool-versions, and moving off asdf or nvm.
- Sync and search shell history across machines with atuinInstall atuin, import your existing shell history, search it with Ctrl-R and sync it end-to-end encrypted between machines.