Shifu – A pure POSIX shell framework to create powerful CLIs
The startup I work for has an internal, bash-based, cli that basically amounts to shared aliases with a common entrypoint. As the number of aliases has grown, I've had a desire to group functionality together in subcommands, add more help strings, and have better tab completion. I know I could convert it to, e.g., a python script, but I was curious what was possible if we continued to use bash. I couldn't find anything that solved those problems without lots of extra machinery. I understand why, shell scripts are generally not long, and focused on a dedicated task; adding cli features to…
What it does
In the maker’s words, at launch
The startup I work for has an internal, bash-based, cli that basically amounts to shared aliases with a common entrypoint. As the number of aliases has grown, I've had a desire to group functionality together in subcommands, add more help strings, and have better tab completion. I know I could convert it to, e.g., a python script, but I was curious what was possible if we continued to use bash. I couldn't find anything that solved those problems without lots of extra machinery. I understand why, shell scripts are generally not long, and focused on a dedicated task; adding cli features to them is mostly unnecessary, many might even discourage it for many valid reasons. Nonetheless, I considered writing this functionality myself, but that felt like a poor use of company time. So I started toying with what a framework to handle those concerns entirely in shell script would look like on the side. Thus, shifu was born. I've been working on it off and on for about a year, and think I've got a reasonable alpha release, so thought I'd share.
Does the same job
all alternatives →


- CAChilli – A lightweight microframework for CLIs in Zig2025 · ▲7
I've made an open-source microframework for creating command-line (CLI) applications in the Zig programming language. It's called Chilli, and it currently provides the following features: - A declarative API for defining nested commands, flags, and positional arguments. - Type-safe parsing of arguments from the command line and environment variables. - Automatic generation of formatted `--help` and `--version` output. - Support for command aliases, persistent flags, and other common CLI patterns. You can find the project on GitHub: https://github.com/habedi/chilli
- BCBin CLI – A simple task/script runner for any programming language2024 · github.com · ▲5
Most projects I've worked on included a bunch of scripts for common tasks (installing dependencies, starting/stopping dev servers, testing and deploying changes, and so on). There are a few tools designed for this, such as Just (https://just.systems/) and Task (https://taskfile.dev/), and I know some people use Make as a task runner (e.g. https://news.ycombinator.com/item?id=40333481), but I've always preferred the simplicity and universality of shell scripts. Bin CLI is a tool I wrote to add some of the niceties of these tools to shell…
- IWI wrote a Bash library2018 · ▲10
Shelon: https://github.com/housni/sheldon It's not a framework, it's a library. It attempts to mimic function names in Python. Most functions work in Bash 4.3+ but there are those that work on older versions. The 'help' target in Makefile is on crack! Check the issues in that repo for upcoming features. Useful for DevOps Engineers or anyone who has to write Bash scripts.
More dev tools this month
the category →



Open-source GTM skills for technical founders
Dev tools · 29d ago · gtmcofounder.com

OpenTrailPaper is open-source bike computer firmware for the LilyGO T5S3 4.7" E-Paper PRO. It supports offline maps, GPX routes, FIT recording and Bluetooth sensors.
Dev tools · 2d ago · opentrailpaper.com

Launched alongside, March 2026
the whole month →

Switch from ChatGPT to Claude with import memory feature
AI · Mar 2026 · claude.com


