Courses & TutorialsOperating SystemProgramming
Awesome Terminals – Massive Collection of Resources

A curated list of Terminal frameworks, plugins & resources for CLI lovers.
Table of Contents
- Shells
- Terminal Emulation Applications
- Package Managers
- Text Editors
- Tools and Plugins
- Communication
- Other
Shells
Sexy frameworks, plugins and resources for your sexy shell.
Base Shells
- Ammonite-Shell – An object shell with a Scala-like scripting language.
- bash – GNU Project’s shell (Bourne Again SHell).
- fish – Smart and user-friendly command line shell.
- PowerShell – Automation and configuration tool/framework that is optimized for dealing with structured data.
- xonsh – Python-ish, BASHwards-looking shell language and command prompt.
- zsh – Powerful shell with scripting language.
ZSH
- alf – Out of this world super fast and configurable framework for zsh.
- ant-zsh – Tiny and lightweight ZSH configuration environment for special customization needs.
- antibody – Faster and simpler antigen written in Golang.
- antigen – Plugin manager for zsh, inspired by oh-my-zsh and vundle.
- dotzsh – Community driven framework for zsh.
- liquidprompt – Full-featured & carefully designed adaptive prompt for Bash & Zsh.
- oh-my-zsh – Delightful community-driven framework for managing your zsh configuration.
- powerlevel9k – Super flexible awesome powerline ZSH theme.
- prezto – Configuration framework for Zsh.
- pumice – Lightweight plugin manager for zsh.
- pure – Pretty, minimal and fast ZSH prompt.
- slimzsh – Small, usable configuration for ZSH.
- zeesh – Cross-platform Zsh framework.
- zgen – Lightweight and simple plugin manager for ZSH.
- zilsh – Zsh config system that aims to appeal more to power-users and follow the simplistic approach of vim-pathogen.
- zim – Zsh configuration framework with blazing speed and modular extensions.
- zinit – Flexible Zsh plugin manager with clean fpath, reports, completion management, turbo mode, services.
- zoppo – Crippled configuration framework for Zsh.
- zplug – Next-generation plugin manager for zsh.
- zpm – Plugin manager for zsh similar to vim-plug.
- zsh-autosuggestions – Fish-like autosuggestions for zsh.
- zsh-pony – Covers customizing ZSH without a framework.
- zsh-quickstart-kit – Simple zsh quickstart for using zsh and zgen.
- zsh-syntax-highlighting – Fish shell like syntax highlighting for Zsh.
- zshdb – ZSH debugger.
- ztanesh – Aims to improve your UNIX command line experience and productivity with the the configuration provided by the ztanesh project.
- zulu – Total environment manager for ZSH 5+.
- zunit – Powerful unit testing framework for ZSH.
Bash
- aliases – Contextual, dynamic, organized aliases for the bash shell.
- bash-it – Collection of community Bash commands and scripts.
- bash-powerline – Powerline-style Bash prompt in pure Bash script.
- bash-sensible – Attempt at saner Bash defaults.
- bashtrap – Quick way to spruce up OSX terminal.
- hstr – Bash History Suggest Box.
- liquidprompt – Full-featured & carefully designed adaptive prompt for Bash & Zsh.
Git
- bash-git-prompt – Informative and fancy Bash prompt for Git users.
- git-extra-commands – Collection of useful extra commands for git
- git-prompt – Bash prompt with Git, SVN and HG modules.
- git-radar – Heads up display for git
- git-sh – Customized Bash environment suitable for Git work.
- gittify – Colorful Bash prompt + customized Git aliases.
- oh-my-git – Opinionated git prompt for bash and zsh.
- sexy-bash-prompt – Bash prompt with colors, Git statuses, and Git branches.
Fish
- Fisher – Package manager for the fish shell.
- oh-my-fish – The Fishshell Framework.
Terminal Emulation Applications
Sexy 3rd party terminal emulation applications.
- Alacritty – Cross-platform, GPU-accelerated terminal emulator.
- Cmder – Lovely console emulator package for Windows.
- ConEmu – Customizable Windows terminal with tabs, splits, quake-style and more.
- ConsoleZ – Windows console window enhancement. It is a fork of Console project.
- FluentTerminal – A Terminal Emulator based on UWP and web technologies.
- GNOME Terminal – Terminal emulator for GNOME.
- GNU Screen – Full-screen window manager that multiplexes a physical terminal between several processes.
- Go2Shell – Opens a terminal window to the current directory in Finder.
- Hyper – Terminal built on web technologies.
- iTerm2 – Terminal emulator for macOS that does amazing things.
- KiTTY – Fork from version 0.70 of PuTTY, the best telnet / SSH client in the world.
- Konsole – Terminal emulator for the K Desktop Environment.
- MacTerm – Powerful replacement for macOS Terminal.
- Mosh – Remote terminal application that allows roaming and supports intermittent connectivity.
- PuTTY – SSH and telnet client, developed originally by Simon Tatham for the Windows platform.
- Terminator – Multiple GNOME terminals in one window.
- Terminology – The best terminal emulator based on the Enlightenment Foundation Libraries.
- Terminus – Cross-platform terminal for a more modern age, based on web technologies.
- Termite – Keyboard-centric terminal, aimed at use within a tiling window manager.
- Tilda – Gtk based drop down terminal for Linux and Unix.
- Tilix – Advanced GTK3 tiling terminal emulator that follows the Gnome Human Interface Guidelines.
- Xfce Terminal – Modern terminal emulator primarily for the Xfce desktop environment.
- xterm – Terminal emulator for the X Window System.
- ZOC – SSH/Telnet Client and Terminal Emulator for macOS and Windows.
Package Managers
Sexy package managers for your macOS, Linux & Windows CLIs.
Universal
- asdf – Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more
- basher – Package manager for shell scripts.
- bpkg – JavaScript has npm, Ruby has Gems, Python has pip and now Shell has bpkg.
- composer – Composer is a package manager for PHP.
- guix – Functional package manager for installed software packages and versions.
- nix – Powerful package manager for Linux and other Unix systems that makes package management reliable and reproducible.
- npmjs – Package manager for JavaScript.
- pip – Package management system used to install and manage software packages written in Python.
- rubygems – The Ruby community’s gem hosting service.
- yarn – New package and dependency manager for javascript.
macOS
- fink – Wants to bring the full world of Unix Open Source software to Darwin and macOS.
- homebrew – Missing package manager for macOS.
- macports – Package manager that simplifies the installation of software on the macOS and Darwin operating systems.
- mas – Mac App Store command line interface.
Linux
- linuxbrew – The Homebrew package manager for Linux.
- pkgin – Aimed at being an apt / yum like tool for managing pkgsrc binary packages.
ChromeOS
- chromebrew – Package manager for Chrome OS.
Windows
- chocolatey – Package manager for Windows.
- cygwin – Linux-like environment for Windows making it possible to port software running on POSIX systems to Windows.
- ninite – Install and Update All Your Programs at Once.
- oneget – PackageManagement (aka OneGet) is a package manager for Windows.
- ruckzuck – Software Package Manager for Windows, a quick way to install and update Software.
- scoop – Package manager for Windows.
- wpkg – Automated software deployment, upgrade and removal program for Windows.
Text Editors
Sexy text editors for your Command Line Interface.
- emacs – Cross-platform text-editor that has both command-line and graphical user interface.
- spacemacs – Community-driven emacs distribution.
- jed – Freely available text editor for Unix, VMS, MSDOS, OS/2, BeOS, QNX, and win9X/NT platforms.
- kakoune – Modal editor with multiple selections and orthogonal design.
- micro – Modern and intuitive terminal-based text editor.
- nano – Text editor for Unix-like computing systems or operating environments using a command line interface.
- slap – Sublime-like terminal-based text editor.
- vim – Extensively configurable, cross-platform and highly efficient text editor.
- vis – Highly efficient text editor.
Tools and Plugins
Sexy Applications for your Command Line Interface.
- ack3 – Greplike tool, optimized for programmers.
- add-gitignore – An interactive CLI that generates a .gitignore for your project based on your needs.
- asciinema – Terminal session recorder.
- autojump – cd command that learns
- bcal – Storage conversion and expression calculator.
- buku – command-line bookmark manager.
- byobu – Byobu is an open source text-based window manager and terminal multiplexer.
- cointop – The fastest and most interactive terminal based UI application for tracking cryptocurrencies.
- colorls – Beautify the terminal’s
ls
command, with color and font-awesome icons. - ddgr – DuckDuckGo from the terminal.
- df-show – Interactive directory and file browser with a similar feel to the
ls
command. - dockly – Docker console UI and Dashboard for quickly managing and inspecting Containers and Services.
- dry – Docker manager for the terminal.
- exa – Replacement for ‘ls’ written in Rust.
- fselect – ‘find’ replacement with SQL-like syntax.
- fx – Command-line JSON viewer.
- fzf – Command-line fuzzy finder.
- gcalcli – Google Calendar command line interface.
- getnews.tech – Checking the latest news headlines from various news outlets on the web.
- glances – top/htop alternative.
- googler – Search Google from your terminal.
- haxor-news – Browse Hacker News like a haxor.
- homebrew-cask – CLI workflow for the administration of macOS applications distributed as binaries.
- howdoi – Instant code answers and examples from the command line
- htop – Cool looking and interactive process viewer ‘replacement’ for the top command.
- hub – Command-line wrapper for git that makes working with GitHub easy.
- imgp – Multi-core batch image resizer and rotator.
- jaymock-cli – Mock an API and generate fake JSON test data, right from the terminal.
- jq.node – Command-line JSON/string processor, JavaScript and Lodash in your shell.
- jrnl – Simple command line journal application that stores your journal in a plain text file.
- k – Directory listings for zsh with git features.
- kubebox – Terminal console for Kubernetes.
- lexis – word counting made easy. Retrieve the number of words in a string or stdin.
- lf – Terminal file manager.
- lolcat – Rainbows and unicorns!
- lunchy – Friendly wrapper for launchctl.
- mps-youtube – Terminal based YouTube player and downloader
- navi – An interactive cheatsheet tool for the command-line.
- neofetch – Fetches system/theme information in terminal for Linux desktop screenshots. Alternative to screenfetch.
- nnn – Tiny, lightning fast, feature-packed file manager.
- ranger – Console file manager with vi key bindings.
- rebound – Command-line debugger that instantly fetches Stack Overflow results when you get a compiler error.
- reddit terminal viewer – Browse Reddit from your terminal.
- ripgrep – Code-searching tool like ack and the_silver_searcher, but faster.
- screenfetch – Fetches system/theme information in terminal for Linux desktop screenshots.
- shell2http – HTTP-server to execute shell commands. Designed for development, prototyping or remote control.
- streamlink – CLI for extracting streams from various websites to a video player of your choosing.
- taskell – Command-line Trello-like kanban-board/TODO lists.
- taskwarrior – Command-line TODO list manager.
- the_silver_searcher – Code-searching tool similar to ack, but faster.
- tig – Text mode interface for git.
- tiv – Text mode terminal image viewer.
- tldr – Simplified and community-driven man pages.
- tmux – Terminal multiplexer.
- tmuxinator – Manage complex tmux sessions easily.
- transfer.sh – Quickly upload and share files from your shell.
- tre – Improved
tree
command that knows git, creates shell alias for quick opening, and more! - vifm – Console file manager with vi key bindings and some ideas from mutt.
- wal – generate and change colorschemes on the fly.
- whereami – Get your geolocation information from the CLI.
- wttr.in – The right way to check the weather.
- yadm – Seamless git-based management of your dotfiles.
- youtube-dl – download videos from YouTube
- z – Tool to jump to folders based on history matching a given regex
- z.lua – New cd command that helps you navigate faster by learning your habits.
- zoxide – cd anywhere without typing in long paths.
Communication
Sexy Tools for communicating through the Command Line Interface.
- bitchx – Feature-rich and highly configurable, terminal based IRC client based on ircII.
- centerim – Terminal based, multi-protocol Instant Messaging client with support for IRC.
- epic – IRC client that has been under active development for 20+ years in 5 generations.
- go-jira – Simple jira command line client in Go.
- irssi – Self proclaimed client of the future and my favorite IRC client.
- slack-term – Slack client for your terminal.
- Slackadaisical – Simple Slack client for the CLI.
- weechat – Fast, light and extensible chat client.
Other
Community
Join the CLI lover community.
- /r/commandline – This is for anything regarding the command line, in any operating system.
- /r/osxterminal – Tips for using terminal.app in macOS.
- /r/zsh/ – Everything on zsh.
- /r/unixporn/ – Everything on unix.
- #bash – Bash IRC channel on freenode.
- Stack Overflow – Terminal tagged questions.
Other Sexy Lists
Here are some more sexy lists.
Awesome
- awesome-devenv – Curated list of delightful Bash scripts and resources.
- awesome-emacs – Community driven list of useful Emacs packages, libraries and others.
- awesome-sysadmin – Curated list of amazingly awesome open source sysadmin resources.
- awesome-zsh-plugins – Collection of ZSH frameworks, plugins & themes inspired by the various awesome list collections out there.
Misc
- bash-guide – Guide to learn bash.
- the-art-of-command-line – Master the command line, in one page.