CLI tool
alebcay/awesome-shell avatar
alebcay/awesome-shell

awesome-shell: a curated list with nothing to install

A curated list of awesome command-line frameworks, toolkits, guides and gizmos. Inspired by awesome-php.

37,698 stars2,564 forksUnknownCC0-1.0

At a glance

What is it?
A Markdown file that sorts command-line shells, tools and guides into sixteen sections, published as a repository with five files in it. The value is the ordering and the one-line descriptions; the risk is that every link is a snapshot of the day somebody added it.
Who is it for?
Use awesome-shell as a map for a first pass, particularly if you are picking a shell or want to know that a category of tool exists at all, and treat every entry as a lead rather than a recommendation. It will not tell you which search tool to use, because the entries point at each other rather than at a winner, and it hands zsh, fish and bash configuration off to three other lists with their own update dates.
Can I use it commercially?
Yes. CC0-1.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Probably not. The repository last received commits 13 months ago, on August 28, 2025.
What is it written in?
GitHub does not report a main language for this repository.

Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The deliverable is a Markdown file and the tree holds five entries

There is nothing to build here. The top level of the repository is `.github/`, `CONTRIBUTING.md`, `LICENSE`, `README.md` and `README_ZH-CN.md`. The project describes itself as a curated list of awesome command-line frameworks, toolkits, guides and gizmos, inspired by awesome-php, and it is published under CC0-1.0. So the unit of value is a Markdown table row: a name, a link and one sentence about what the thing does. That has a consequence worth stating early. A list is not a dependency, so there is no version to pin, no API to break and no binary to rebuild, and there is also no guarantee that a link still resolves. If you are evaluating a tool, this repository saves you the first search and nothing after it.

Sixteen entries in the table of contents, and shells live in one of them

The contents list runs from Shells through Command-Line Productivity, Customization, For Developers, System Utilities, Downloading and Serving, Multimedia and File Formats, Applications and Games, then Shell Package Management, Shell Script Development, Guides, three separate lists for zsh, fish and bash, and Other Awesome Lists. Only the first is about shells, and it opens with the instruction to choose your base shell. The other fifteen are about tools, and the Command-Line Productivity section is described as covering search, bookmarks, multiplexing and other things that make a terminal more productive, with Directory Navigation as a subsection. What the structure never says is which shell the tool entries assume. A completion daemon, a fuzzy finder and a multiplexer all behave differently under bash and under zsh, and the list gives you the same flat set of links either way.

The Shells section describes twenty shells without ranking any of them

The shells get one line each, which is a description and not a comparison. bash is the GNU Project's shell. fish is a smart and user-friendly command line shell. nushell and ion are both written in Rust. osh is Bash compatible and introduces a language called Oil. xonsh is described as Python-ish. Others listed include elvish, es, ksh93, mksh, murex, ngs, oksh, pdksh, powershell, shell++, shenv, tcsh, yash and zsh. What you get from reading twenty lines is a vocabulary of options, not a starting point, and the project does not claim otherwise. There is no statement of which shell a newcomer should install, no note on migration cost, and no version requirement for any of them. The audience this section serves is someone who already knows what they want to switch away from.

Entries point at each other, so the list is a map and not a ranking

Several rows carry an edge to another row, and those edges are the most useful thing in the file. The direnv entry says to compare it with autoenv, which is itself listed as directory-based environments. The fd entry is presented as an alternative to find. broot is a different answer to directory navigation from the one in the Directory Navigation subsection. fselect finds files with SQL-like queries, which is a different approach again from the plain search tools. Read that pattern and the list stops looking like a set of endorsements. It is closer to a map with the alternatives left visible. The practical consequence is that a question this file cannot answer is the one everybody arrives with, namely which of the three search tools to use, because the author deliberately left the choice open.

CC0-1.0 and a Chinese README kept in step by hand

Two details in the tree matter more than they look. The licence is CC0-1.0, the public domain dedication, and it covers the text of the list rather than the projects the list points at, none of which are affected by it. The second is `README_ZH-CN.md`, a translation of the whole list. That doubles the maintenance surface: a link added to the English file has to be added to the Chinese one by a person, and the repository holds no script, generator or check that would notice when that does not happen. The two files drift, and the drift is invisible unless you read both. A team building an internal list from this one should decide up front which language is the source, because the project has not made that decision for you.

The last push was 2025-08-28, so every link is a snapshot

The default branch is master, the last push was on 2025-08-28, and there are no GitHub releases. A curated list has no way to signal that a link went stale, so the only freshness signal is that commit date, and it applies to the whole file at once rather than to any individual row. Projects get renamed, moved, archived or deleted, and nothing in the repository detects that. There is a `CONTRIBUTING.md` and a `.github/` directory, so there is a way to propose a change, but the README describes no review process and no link checking, and it does not say what happens to an entry whose project stops being maintained. Treat every row as a lead worth ten minutes of checking, and check the ones you intend to build on.

Zsh, fish and bash configuration is a different repository

Three rows in the contents list are not sections of this list but separate awesome lists, for zsh, for fish and for bash, and each carries its own badge. That is a deliberate handoff. Prompt frameworks, completion systems, themes and plugin managers for a given shell live in those other repositories, and this one points at them instead of duplicating them. The trade is depth for freshness: you get a directory of directories rather than a maintained catalogue, and the staleness question now applies to each of those projects separately, with its own last-commit date that you would have to go and check. The same applies to the Guides section, which is a pointer rather than a tutorial. Reading this list tells you that the territory exists. Going deeper means leaving it.

Editorial conclusion

Use awesome-shell as a map for a first pass, particularly if you are picking a shell or want to know that a category of tool exists at all, and treat every entry as a lead rather than a recommendation. It will not tell you which search tool to use, because the entries point at each other rather than at a winner, and it hands zsh, fish and bash configuration off to three other lists with their own update dates. Before you depend on anything it names, open the link, and remember the last push to the master branch was on 2025-08-28 with no releases published.

Frequently asked questions

What is alebcay/awesome-shell?

It is a curated Markdown list of command-line frameworks, toolkits, guides and gizmos, arranged into sections from Shells and Command-Line Productivity through to Games, with a contents entry of sixteen items. The repository holds five files at the top level and the README is the entire deliverable.

How do I use alebcay/awesome-shell?

There is nothing to install. Read README.md in the repository, or the copy of the collection hosted on Unix-Shell.ZEEF.com. A Chinese translation of the same list is in README_ZH-CN.md.

Is alebcay/awesome-shell still up to date?

The last push to the master branch was on 2025-08-28 and the repository publishes no releases, so every entry reflects the links as they stood then. The README describes no link-checking process, so confirm a link before you build on a tool it names.

What license is alebcay/awesome-shell under?

CC0-1.0, with the LICENSE file at the root of the repository. It covers the text of the list in README.md and its Chinese translation, and says nothing about the projects the list links to.

Official sources

  1. Official README
  2. Project repository