Skip to content
67

Awesome Shell

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

38k stars2,564 forks364 entriesLast push Aug 28, 2025 (1 year ago)License CC0-1.0

This page lists names, links and short descriptions. The original list on GitHub is the source and belongs to its authors.

General

Awesome Zsh

Collection of ZSH frameworks, plugins & themes inspired by the various awesome list collections out there.

In 6 listsDetails

Awesome Fish

User-friendly shell.

In 2 listsDetails

Awesome Bash

A curated list of delightful Bash scripts and resources.

In 5 listsDetails

Shells

bash

GNU Project's shell (Bourne Again SHell)

In 7 listsDetails

elvish

Friendly, expressive shell features like anonymous functions and data structures

es

The extensible shell, based on Plan 9's rc shell

In 2 lists

fish

Smart and user-friendly command line shell

In 4 lists

ion

A modern system shell that features a simple, yet powerful, syntax. It is written entirely in Rust.

In 5 listsDetails

ksh93

Korn Shell

In 2 lists

mksh

MirBSD Korn Shell

In 2 lists

murex

A smarter shell and scripting environment with advanced features designed for usability, safety and productivity (eg smarter DevOps tooling)

In 2 lists

ngs

Fully featured scripting language created specifically for Ops. REPL is being developed.

nushell

A modern shell written in Rust

In 7 listsDetails

oksh

Portable OpenBSD ksh

In 3 lists

osh

Bash compatible, with new/modern Unix shell language called Oil

pdksh

Public domain Korn shell

In 2 lists

powershell

a cross-platform task automation and configuration management framework, consisting of a command-line shell and scripting language

shell++

Friendly and modern functional and object oriented shell script language

In 2 lists

shenv

Simple shell version management

tcsh

C shell with file name completion and command line editing

In 3 lists

xonsh

Python-ish, BASHwards-looking shell language and command prompt

In 3 lists

yash

A POSIX-compliant command line shell with built-in support for completion and prediction based on command history

zsh

Powerful shell with scripting language

In 2 lists

Command-Line Productivity

AdvancedNewFile

Fast creation of files and directories in a recursive way. Inspired by the Vim plugin.

ag

Super fast string search through a directory hierarchy

In 6 listsDetails

aliases

Contextual, dynamic, organized aliases for bash

In 3 lists

arttime

Beauty of text art meets functionality of clock, timer, pomodoro++ time manager

In 3 lists

autoenv

Directory-based environments.

In 2 lists

await

single binary that run list of commands in parallel and waits for their termination

In 2 lists

bartib

A simple timetracker for the command line. It saves a log of all tracked activities as a plaintext file and allows you to create flexible reports.

In 4 listsDetails

bashhub

cloud: Bash history in the cloud. Indexed and searchable.

In 2 lists

boilr

A blazingly fast CLI tool for creating projects from boilerplate templates.

In 5 listsDetails

boom

Store links and snippets in the command line

borg

A terminal based search engine for bash commands

broot

A better way to navigate directories

In 4 listsDetails

browsh

The modern text-based browser

In 2 lists

Buku

Powerful command-line bookmark manager

In 6 listsDetails

byobu

Text-based window manager and terminal multiplexer

cod

A completion daemon for shell that learns when you invoke --help commands

In 2 lists

CloudClip

Your own clipboard in the cloud, copy and paste text with gist between different systems

ddgr

DuckDuckGo from the terminal

In 4 lists

desk

A lightweight workspace manager for the shell

direnv

An environment switcher for the shell, compare with autoenv

In 2 lists

dnote

A simple command line notebook with multi-device sync and web interface

In 7 listsDetails

eureka

bulb: CLI tool to input and store your ideas without leaving the terminal

In 3 lists

fasd

Command-line productivity booster, offers quick access to files and directories

In 2 lists

fd

A simple, fast and user-friendly alternative to find.

In 7 listsDetails

foxy

Plain text bookmarks for Firefox and surf browsers.

fselect

Find files with SQL-like queries.

In 6 listsDetails

funky

Extends functionality of shell functions making them more powerful and flexible.

fz

Seamless fuzzy tab completion for z

In 2 lists

fzf

A command-line fuzzy finder

In 12 listsDetails

gitmux

Show Git status in Tmux status bar

In 2 lists

googler

Google Search, Google Site Search, Google News from the terminal

In 4 lists

googlr

Command line tool that lets you search Google from your terminal.

has

has helps you check presence of various command line tools and their versions on path

In 4 listsDetails

how2

how2 finds the simplest way to do something in a unix shell. It's like man, but you can query it in natural language.

In 2 lists

navi

An interactive cheatsheet tool for the command-line

In 4 listsDetails

hhighlighter

Colorize words in a command output

hr

<hr /> for your terminal

hss

An interactive parallel ssh client featuring autocomplete and asynchronous execution

In 2 lists

hstr

Bash History Suggest Box

In 5 listsDetails

k

k is a Zsh script to make directory listings more readable, adding Git status, fileweight colors and rotting dates

In 3 lists

k alias

get kool aliases (and more) working with a simple one-liner

lf

Terminal file manager written in Go, inspired by ranger

In 6 listsDetails

lf.sh

Quickly search files with fewer typings and do many more (grepping, copying path to clipboard, etc)

lowcharts

Draw low-resolution graphs in terminal

In 3 lists

Lmod

Lua-based Environment Modules that enhances Tcl-based modules while being backward compatible (compare to modules)

In 3 lists

loop

Write and control complex loops with as one-liners

marker

Bookmark your shell commands

In 2 lists

mackup

Keep your application settings in sync (OS X/Linux)

In 7 listsDetails

mcfly

Fly through your shell history. Great Scot!

In 4 listsDetails

modules

Classical Tcl-based Environment Modules managing the shell environment (compare to Lmod, direnv, and autoenv)

nnn

File browser and disk usage analyzer with excellent desktop integration

In 8 listsDetails

ok-sh

Do you work on many different projects? And in each project, are there commands you use that are specific to that project? You need a .ok file.

parallel

Build and execute shell command lines from standard input in parallel

In 3 lists

pass

Manage passwords from the command line with GPG encryption and optional git integration.

In 9 listsDetails

pathpicker

Accepts inputs like grep, searches, git etc; allows selecting files from the result of the input, which you can then open or provide as argument to a command.

In 2 lists

pdd

Tiny date, time diff calculator with timers

In 2 lists

percol

Adds flavor of interactive filtering to the traditional pipe concept of UNIX shell

In 2 lists

q

Vim like macro registers for your Bash and Zsh Shell

In 2 lists

qfc

File-completion widget for Bash and Zsh

resh

Contextual shell history for Zsh and Bash

rg

ripgrep is a line oriented search tool that combines the usability of The Silver Searcher with the raw speed of GNU grep

In 10 listsDetails

screen

GNU terminal multiplexer

In 4 lists

shell-history

Visualize your shell usage with Highcharts

SHML

Style framework for the terminal (Shell Markup Language)

slugify

Command that converts filenames and directories to a web friendly format

sman

bug: A command-line snippet manager

spark

▁▂▃▅▂▇ in your shell

In 2 lists

spark.fish

▁▂▃▅ Sparkline Generator

In 2 lists

sheet

Text snippets for the command line

spot

Tiny file search utility

snips

Command line tool to manage snippets of code.

sqlline

Shell for issuing SQL to relational databases via JDBC (multiline, completion, highlighting, dialect support)

In 3 lists

sshfs

A tool for mounting remote file systems over SSH

In 2 lists

sudocabulary

Learn English Vocabulary from your terminal

surfraw

browse specific site and search the web from your terminal without browser.

task-manager

Execute all your scripts with just two or three keystrokes.

td-cli

A todo command line manager to organize and manage your todos across multiple projects.

In 3 lists

tere

A faster alternative to cd + ls

In 3 lists

thefuck

Fix common shell mistakes by using an easy to remember command

In 9 listsDetails

tldr

A fully-functional bash client for tldr, simplified and community-driven man pages

tmux

Amazing terminal multiplexer

In 5 listsDetails

undollar

undollar bites the dollar sign off the tip of the command you just pasted into your terminal

usql

Universal command-line interface for SQL databases.

In 8 listsDetails

v

z for vim.

wemux

Multi-User Tmux Made Easy

In 2 lists

xiki

Makes the shell console more friendly and powerful

In 2 lists

xplr

A hackable, minimal, fast TUI file explorer

In 6 listsDetails

xsv

a fast CSV command line toolkit written in Rust

In 2 lists

xxh

Bring your favorite shell wherever you go through the SSH.

In 5 listsDetails

Command-Line Productivity >Directory Navigation

aliasme

alias helper to change directory quickly

autojump

A cd command that learns - easily navigate directories from the command line

In 7 listsDetails

bashmarks

Directory bookmarks for the shell

In 2 lists

bd

Quickly go back to a parent directory

commacd

A faster way to move around in Bash

In 2 lists

enhancd

rocket: A next-generation cd command with an interactive filter

In 2 lists

goto

A shell utility for navigation to aliased directories supporting auto-completion

In 2 lists

jump

Jump helps you navigate your file system faster by learning your habits.

In 4 listsDetails

lazy-cd

Simple bash commands for bookmarked navigation of the file system, complete with bash-completion.

up

Ascend directories by name or count; for bash, zsh, and fish.

z

z is the new j, yo

In 6 listsDetails

z.lua

A new cd command that helps you navigate faster by learning your habits

In 5 listsDetails

zoxide

A faster way to navigate your filesystem, written in Rust

In 12 listsDetails

zpyi

Python in Zsh - Easy python scripting in shell

Customization

aphrodite-terminal-theme

Minimalistic Aphrodite theme (prompt) for sexy terminals that works in bash, fish and zsh

In 3 lists

base16-builder

Base16-Builder

In 2 lists

bash-full-of-colors

Powerful prompt with screen, tmux, git support and many more

In 2 lists

bash-git-prompt

An informative and fancy Bash prompt for Git users

In 6 listsDetails

bash-powerline

Powerline-style Bash prompt in pure Bash script

In 4 lists

bashstrap

A quick way to spruce up OSX terminal

In 4 lists

bullet-train-oh-my-zsh-theme

bullettrain_side: An oh-my-zsh shell theme based on the Powerline Vim plugin

In 3 lists

emojify

Emoji on the command line :scream:

In 3 lists

flatui-terminal-theme

Nicer colors for terminal

In 2 lists

geometry

A minimal ZSH theme where any function can be added to the left prompt or (async) right prompt on the fly.

In 4 listsDetails

git-prompt

Bash prompt with Git, SVN and HG modules

In 4 lists

gittify

A colorful Bash prompt + customized Git aliases

In 3 lists

Gogh - Color Scheme

Color Scheme for Gnome Terminal

In 2 lists

liquidprompt

A full-featured & carefully designed adaptive prompt for Bash & Zsh

In 5 listsDetails

mysql-colorize

Colorization for mysql comand-line client

In 2 lists

oh-my-git

An opinionated git prompt for bash and zsh

In 4 listsDetails

oh-my-posh

Prompt theme engine for any shell and platform written in go.

In 4 listsDetails

polyglot

An informative Git prompt that works in bash, zsh, ksh, mksh, pdksh, oksh, dash, yash, busybox sh, and osh

In 4 listsDetails

powerlevel10k

Super flexible awesome powerline ZSH theme

In 5 listsDetails

sexy-bash-prompt

Bash prompt with colors, Git statuses, and Git branches

In 4 lists

starship

Fast, customisable, cross-shell prompt written in rust

In 4 listsDetails

synth-shell

Greeter with a customizable status report and a fancy bash prompt

In 2 lists

For Developers

1Password SSH Agent

Authenticate Git and SSH workflows with biometric unlock using 1Password

ack

A grep-like search tool optimized for source code.

add-gitignore

Interactive CLI that generates a .gitignore for your project based on your needs.

In 4 listsDetails

bcal

Byte CALculator for storage conversions and calculations

In 4 listsDetails

bitwise

Terminal based interactive bit manipulator in curses.

In 3 lists

bocker

Docker implemented in 100 lines of bash

In 5 listsDetails

cloc

Count Lines of Code

In 2 lists

doclt

A command line interface to Digital Ocean

dokku

Docker powered mini-Heroku. The smallest PaaS implementation you've ever seen.

In 2 lists

forgit

Utility tool for git taking advantage of fuzzy finder fzf.

In 3 lists

git-extra-commands

Many Git extra utilities. Churn, cut-branch, improved-merge and many more.

In 6 listsDetails

git-extras

Git utilities -- repo summary, repl, changelog population, author commit percentages and more

In 4 listsDetails

git-open

Type git open to open the GitHub page or website for a repository in your browser

git-quick-stats

Git quick statistics is a simple and efficient way to access various statistics in git repository.

In 2 lists

git-semver

Git plugin for easing semantic versioning and changelog validation

In 2 lists

git-sh

A customized Bash environment suitable for Git work

In 4 lists

gita

A command-line tool to manage multiple git repos.

In 3 lists

hub

hub helps you win at git.

In 8 listsDetails

just

Task runner for saving and running project-specific commands.

In 7 listsDetails

licins

Insert commented software licenses into source code.

mkdkr

Makefile + Docker = CI Pipeline

In 3 lists

mr

Multiple Repository management tool

In 3 lists

nve

Run any command on specific Node.js versions.

In 2 lists

overcommit

A fully configurable and extendable Git hook manager

In 3 lists

pre-commit

A framework for managing and maintaining multi-language pre-commit hooks

In 3 lists

rebound

Instantly browse Stack Overflow results in your terminal when you get a compiler error

In 7 listsDetails

repren

Command-line search-and-replace and file-renaming swiss army knife

slap

Sublime-like terminal-based text editor that runs on Node.js

In 4 lists

shipit

Minimalistic SSH deployment

starring

Automatically star the npm-packages that you are using on GitHub.

tag

Instantly jump to your ag matches.

trunk

Blazingly fast meta code checker and formatter

vmn

git-based automatic versioning and state recovery solution agnostic to language or architecture

wipe-modules

A little agent that removes the node_modules folder of non-active projects

In 2 lists

System Utilities

atop

ASCII full-screen performance monitor that is capable of reporting the activity of all processes

bat

A cat clone with wings

In 9 listsDetails

bmon

Real-time network bandwidth monitor and rate estimator with human-friendly visual output

In 2 lists

btop

Linux/OSX/FreeBSD resource monitor

In 9 listsDetails

catcli

The command line catalog tool for your offline data

ccat

ccat is the colorizing cat. It works similar to cat but displays content with syntax highlighting.

In 3 lists

exa

A modern version of ls.

In 4 lists

progress

Linux tool to show progress for cp, rm, dd, and more...

In 3 lists

stronghold

Easily configure MacOS security settings from the terminal.

In 9 listsDetails

glances

Glances an Eye on your system

In 12 listsDetails

goaccess

GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems.

In 6 listsDetails

hblock

Hosts-file based adblocker

histstat

History for netstat

htop

A ncurses based interactive process viewer which aims to be a better top

In 4 lists

lnav

An advanced log file viewer for the small-scale

In 4 lists

logdissect

CLI utility and Python API for analyzing log files and other data.

In 4 lists

ls++

Colorized ls on steroids

lsd

LSDeluxe, rewrite of GNU ls with lot of added features like colors, icons, tree-view and more formatting options.

In 4 listsDetails

lsp

An improved ls, with file descriptions in plain language and intelligent file grouping

maza

Local ad blocker. Like Pi-hole but local and using your operating system.

In 2 lists

mtr

The functionality of the 'traceroute' and 'ping' programs in a single network diagnostic tool.

In 5 listsDetails

ncdu

NCurses Disk Usage

In 5 listsDetails

nmtui

Text User Interface for controlling NetworkManager

powertop

Battery/Power usage and device stats monitoring command-line tool, with tune-up options.

prettyping

Making the output of ping prettier, more colorful, more compact, and easier to read.

In 2 lists

procdog

Lightweight command-line control of long-lived processes like servers

quick-secure

Quickly secure and harden UNIX/Linux systems

rng

Copy range of lines from file or stdin to stdout.

tiptop

Graphical command-line system monitor.

In 4 listsDetails

wifi-wand

a Ruby command line application for managing WiFi on MacOS (install by gem install wifi-wand)

xiringuito

SSH-based "VPN for poors"

In 4 listsDetails

Downloading and Serving

aria2

aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, BitTorrent and Metalink

In 3 lists

balls

Bash on Balls

In 2 lists

bashttpd

A web server written in Bash

In 2 lists

bashhub-server

Private cloud shell history. Open source server for bashhub

In 2 lists

bitpocket

"DIY Dropbox" or "2-way directory (r)sync with proper deletion"

Dropbox-Uploader

Dropbox Uploader is a Bash script which can be used to upload, download, list or delete files from Dropbox

In 2 lists

httpie

HTTPie is a command line HTTP client, a user-friendly cURL replacement

In 7 listsDetails

HTTPLab

The interactive web server, let you inspect HTTP requests and forge responses.

In 4 listsDetails

Kapow!

If you can script it, you can HTTP it.

In 2 lists

ngincat

Tiny Bash HTTP server using netcat

In 2 lists

resty

Little command line REST client that you can use in pipelines

In 4 listsDetails

shell2http

HTTP-server to execute shell commands. Designed for development, prototyping or remote control

In 5 listsDetails

tshare

File sharing from commandline.

In 3 lists

vesper

🍸Vesper is a HTTP framework for Bash/Unix Shell

xh

Friendly and fast tool for sending HTTP requests

In 6 listsDetails

yt-dlp

Command-line program to download videos from YouTube.com and other video sites

In 12 listsDetails

Multimedia and File Formats

adb-export

Export Android content providers to CSV format

Android-Kitchen

A text-based kitchen for Android ROM customization. Uses shell scripts and works with Cygwin/OS X/Linux

Beets

Music library manager and MusicBrainz tagger

In 7 listsDetails

cmus

Cross-platform cli audio player.

In 5 listsDetails

dasel

Query and update data structures using selectors from the command line. Comparable to jq / yq but supports JSON, YAML, TOML and XML with zero runtime dependencies.

In 7 listsDetails

dzr

Cross-platform Deezer.com audio player.

In 4 listsDetails

fx

Command-line JSON processing tool by anononymus JavaScript functions

In 12 listsDetails

gifgen

Simple high quality GIF encoding

In 4 listsDetails

image-scraper

A cool command line image scraper with a lot of features.

imgp

Blazing fast batch image resizer and rotator

In 4 listsDetails

jc

Convert command output, file-types, and common strings to JSON or YAML for easier use in scripts.

In 6 listsDetails

jo

A small utility to create JSON objects from command-line arguments.

In 4 lists

jq

Sed for json data. You can use it to slice and filter and map and transform structured data

In 5 listsDetails

korkut

Quick and simple image processing at the command line.

In 3 lists

library

Create SQLITE databases for folders of music, video, images, or online media. Play and track media like Plex but a CLI-only interface with many sorting options.

In 2 lists

mpv

Lets you play most audio and video formats (using ASCII characters) in the shell as well as in a GUI.

In 11 listsDetails

nehm

Console tool, which downloads, sets IDv3 tags and adds to your iTunes (if you use it) your SoundCloud likes in convenient way

PiCAST

PiCAST turns your $35 Raspberry Pi in to a Chromecast like Device

sejda

Command line manipulation of PDF documents (split, merge, rotate, convert to jpg, extract text, etc)

visidata

A terminal spreadsheet multitool for exploring and arranging data (csv/json/xml/xls/yaml/etc)

In 5 listsDetails

xidel

Cli tool to filter, map and create HTML/XML/JSON data with (Turing-complete) XPath and XQuery.

xmlstarlet

Old but powerful tool for command-line XML formatting, filtering, and manipulation.

yq

yq is a portable command-line YAML processor

In 5 listsDetails

Applications

ansiweather

Weather in your terminal, with ANSI colors and Unicode symbols

In 3 lists

awless

A powerful, innovative and small surface CLI to manage AWS.

In 3 lists

bashblog

A Bash script that handles blog posting

In 3 lists

carbon-now-cli

🎨 Beautiful images of your code — from right inside your terminal.

In 4 listsDetails

choosealicense-cli

Choose an OSS license from the comfort of your terminal

cointop

The fastest and most interactive terminal based UI application for tracking cryptocurrencies

In 3 lists

dstask

Single binary terminal-based TODO manager with git-based sync + markdown notes per task

In 2 lists

editly

Command line video editor

In 6 listsDetails

facebook-cli

Facebook command line tool

fanyi

Translate English to Chinese in terminal

gcalcli

Google Calendar command line interface

In 4 listsDetails

geeknote

Command line evernote client

haxor-news

Browse Hacker News like a haxor

In 5 listsDetails

hn-cli

Browse Hacker News from the comfort of your Terminal

iponmap

Draw point on world map using ip address

isitup

Check whether a website is up or down

jrnl

A simple command line journal application that stores your journal in a plain text file

In 3 lists

kanban.bash

commandline asciii kanban board for minimalist productivity bash hackers (csv-based)

In 2 lists

ledger

Command line accounting

In 4 listsDetails

licen

Generate your license. Yet another lice, but implement with Jinja2 and docopt

md2png

Convert markdown to PNG image

moviemon

Everything about your movies within the command line.

In 3 lists

nomino

Batch rename utility using regex, sort and map file options.

In 5 listsDetails

pcalc

Calculator made for programmers working with multiple number representations, sizes, and overall close to the bits.

In 2 lists

pockyt

Read, Manage, and Automate your Pocket collection.

In 2 lists

pushblast

Get PushBullet notifications when a shell program exits

pushbullet-bash

Bash interface to the PushBullet API

In 2 lists

ranger

A console file manager with VI key bindings.

In 6 listsDetails

Reddit Terminal Viewer

Browse Reddit from your terminal

In 4 lists

SAWS

A Supercharged AWS CLI

In 5 listsDetails

taskbook

Tasks, boards & notes for the command-line habitat

In 3 lists

taskwarrior

A command-line TODO list manager

In 6 listsDetails

terjira

Command line power tool for Jira

In 3 lists

ticker

Terminal stock ticker with live updates and position tracking

In 7 listsDetails

vl

URL link checker on text documents

wego

Weather app for the terminal

In 6 listsDetails

whales

A tool to automatically dockerize your applications

whereami

Get your geolocation information from the CLI

In 2 lists

wttr.in

partly_sunny: The right way to check the weather (curl wttr.in)

In 6 listsDetails

Games

bash2048

Bash implementation of 2048 game

In 2 lists

minesweeper

Bash implementation of minesweeper

In 2 lists

nudoku

ncurses based sudoku game written in C

In 3 lists

piu-piu

Horizontal scroller game in bash with multiplayer mode!

sedtris

Tetris in sed

sed-scripts

Arkanoid and Sokoban written using sed

SHTAP

Reusable text adventure engine for Bash 4

tty-solitaire

Play solitaire in your terminal!

In 2 lists

Shell Package Management

bash-it

A community Bash framework

In 5 lists

basher

A package manager for shell scripts

In 3 lists

bashing

Smashing Bash into Pieces

In 2 lists

bpkg

JavaScript has npm, Ruby has Gems, Python has pip and now Shell has bpkg

In 2 lists

dotdrop

Save your dotfiles once, deploy them everywhere

In 2 lists

dotfiler

Shell agnostic git based dotfiles package manager, written in Python.

fresh

Keep your dotfiles fresh

homeshick

Git dotfile synchronizer written in Bash

In 3 lists

shallow-backup

Easily create lightweight documentation of installed packages, dotfiles, and more

In 5 listsDetails

shundle

Plugin manager for shell scripts

vcsh

Config manager based on Git

In 2 lists

yadm

Git-based dotfiles manager supporting encryption, alternates, and bootstrapping

In 2 lists

Shell Script Development

ansi

ANSI escape codes in pure bash - change text color, position the cursor, much more

In 2 lists

assert.sh

Bash unit testing framework

In 2 lists

bashew

bash script creator - from small stand-alone script to complex projects with CI/CD and testing

bashful

A collection of libraries to simplify writing Bash scripts

In 2 lists

Bashlets

A modular extensible toolbox for Bash

bashly

Bash command line framework and CLI generator

In 2 lists

bashmanager

mini bash framework for creating command line tools

In 2 lists

bashwithnails

a Bash framework written just for fun with testing, dependency management & packaging

bash-language-server

LSP-based Bash language server

bash-modules

functions for developing with unofficial strict mode enabled.

In 2 lists

bats

Bash Automated Testing System

In 4 listsDetails

composure

Compose, document, version and organize your shell functions

crash

Proper error handling, exceptions and try/catch for ZSH

In 2 lists

critic.sh

Dead simple testing framework for Bash with coverage reporting

dispatch

A command line argument parser in 50 lines of portable shell script.

esh

A simple templating engine based on shell, implemented in ~290 lines of POSIX shell and awk.

Fishtape

TAP producer and test harness for fish

In 2 lists

getoptions

An elegant option parser for shell scripts (sh, bash and all POSIX shells)

getopts.fish

CLI parser for fish

In 2 lists

is.sh

An alternative for builtin test command, it will make your "if" statements pretty

lumberjack

A logging interface for shell scripts

In 2 lists

mo

Mustache templates in pure bash

In 2 lists

optparse

A BASH wrapper for getopts, for simple command line arguments.

rerun

A modular shell automation framework to organize your keeper scripts

revolver

A reusable progress spinner for shell scripts

In 2 lists

phases

Minimally invasive bash preprocessor, select sections of your script to run

powscript

bash transpiler written in bash (coffeescript for bash)

semver_bash

Semantic Versioning in Bash

In 2 lists

sh-semver

Semver tool for bash - finds versions matching to specified rules

shellcheck

Static analysis tool for shell scripts

In 7 listsDetails

shellfire

A repository of namespaced, composable shell (bash, sh and dash) function libraries

shellspec

A full-featured BDD unit testing framework for dash, bash, ksh, zsh and all POSIX shells

In 4 listsDetails

shfmt

A shell parser, formatter, and interpreter with bash support; includes shfmt

In 6 listsDetails

shpec

A shell testing framework

shutit

Automation framework based on bash and pexpect

sub

A delicious way to organize programs

ts

A shell test script

urchin

An idiomatic shell testing framework that uses only shell commands

shunit2

A unit test framework for Bash scripts with a flavour of JUnit/PyUnit.

In 2 lists

rebash

Scripting library/framework. Features: imports, exceptions, doc-tests ...

zunit

A powerful unit testing framework for ZSH

In 2 lists

Guides

Bash Official Reference Manual

In 2 lists

Bash Hackers Wiki

Human-readable documentation of any kind about GNU Bash.

In 2 lists

Greg Wooledge's (aka "greycat") wiki

. Specifically Bash Guide, Bash FAQ and Bash Pitfalls

Google's Shell Style Guide

In 4 lists

The Linux Documentation Project: Bash Programming - Intro/How-to

In 2 lists

The Linux Documentation Project: Advanced Bash Scripting Guide

WikiBooks: Bash Shell Scripting

In 2 lists

Use the Unofficial Bash Strict Mode (Unless You Looove Debugging)

In 2 lists

The Art of Command Line

A wonderful summary from Joshua Levy regarding command line (Bash in particular) tools, programs, tips, and tricks; contains many pointers to resources and repositories, in the form of "to do this you must know that", which gives great pointers but requires further investigation from different…

In 10 listsDetails

Learn Enough Command Line to Be Dangerous

A guide to learn bash

Guide to learn bash.

In 2 lists

Shell Field Guide

See category
94

Awesome Rust

rust-unofficial/awesome-rust

A curated list of Rust code and resources.

Fresh★ 60k1833 entriesPushed today
94

Awesome Mac

jaywcjlove/awesome-mac

 This project is dedicated to collecting high-quality macOS software and organizing them systematically by different categories for easy search and use.

Fresh★ 115k1316 entriesPushed today
94

Awesome Python

vinta/awesome-python

Curated Python frameworks, libraries and resources.

Fresh★ 324k504 entriesPushed today
94

Awesome C++

fffaraz/awesome-cpp

A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.

Fresh★ 74k1358 entriesPushed yesterday
94

Awesome Go

avelino/awesome-go

Curated Go frameworks and libraries.

Fresh★ 186k3119 entriesPushed yesterday
94

Awesome PHP

ziadoz/awesome-php

A curated list of amazingly awesome PHP libraries, resources and shiny things.

Fresh★ 33k87 entriesPushed 2 days ago