Shell CLI & TUI Tools
15 tools for the terminal written in Shell. Sorted by GitHub stars; the most starred are Oh My Zsh, Mole and Powerlevel10k.
Tools
Oh My Zsh
Community-maintained framework for managing zsh configuration, with 300+ plugins, 140+ themes, and a built-in updater.
Mole
macOS CLI (`mo`) that cleans caches, uninstalls apps with leftovers, explores disk usage, runs maintenance tasks, and shows live system stats.
Powerlevel10k
Zsh prompt theme with an interactive configuration wizard, instant prompt at shell startup, Git status segments, and Powerlevel9k config compatibility.
zsh-autosuggestions
Zsh plugin that shows inline command suggestions after the cursor, drawn from history and tab-completion, in the style of Fish.
Spaceship Prompt
Customizable Zsh prompt that shows Git/Mercurial status, language runtime versions, Docker, Kubernetes, battery and more, with support for custom sections.
Git Extras
A collection of extra git subcommands, including git-ignore, git-setup, git-changelog, git-release, git-effort, git-squash and git-pull-request.
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.
ani-cli
Shell-based CLI that searches, streams and downloads anime from hianime in mpv, VLC or IINA, with Syncplay support for watching with friends.
git-secrets
Prevents committing passwords and sensitive information to git repositories using pattern matching and hooks
m-cli
macOS command-line tool, invoked as `m`, for controlling system functions such as Wi-Fi, Bluetooth, display, dock, disk, firewall and volume from the Terminal.
nb
Command-line note-taking, bookmarking, and knowledge base tool with Git sync, encryption, and web browsing interface.
Bats-core
TAP-compliant testing framework for Bash 3.2+ that runs test cases written as Bash functions to verify Bash scripts and other UNIX programs.
forgit
Interactive Git command wrapper using fzf for fuzzy selection of files, commits, branches, and more
arduino-cli-interactive
Interactive TUI wrapper for arduino-cli providing menu-driven Arduino development workflows
Guides
- Best Shell PromptsCompare starship, Spaceship Prompt, Pure: workflows, strengths and tradeoffs.
- Best Tools for Testing and Linting Shell ScriptsCompare ShellCheck, Bats-core, pre-commit: workflows, strengths and tradeoffs.
- Find leaked secrets in a git repo with gitleaksScan git history and working files for API keys and tokens with gitleaks, allowlist false positives, add a pre-commit hook and run it in CI.
- lazygit Alternativeslazygit alternatives compared: gitui, gitu and tig as terminal Git UIs, plus forgit for fzf-based Git commands in Bash, Zsh and Fish.
- Lint and test a shell script with ShellCheck and BatsCatch a quoting bug with ShellCheck, then add Bats tests for names containing spaces and wildcard characters.