finds.dev← search

// the find

cgsdev0/bash-stack

★ 920 · Shell · MIT · updated Sep 2026

modern web framework in bash

A web framework implemented entirely in bash, with file-based routing (dynamic segments, catch-all routes, nested paths) and HTMX wired in for interactivity. It's a Twitch-stream project built as a joke/experiment, not a tool meant for real traffic, and the author says so directly.

The routing layer is more complete than you'd expect from a bash project — it handles [param], [...catchall], and [[...optional]] segments, which means someone actually ported real routing semantics (Next.js-style) into a shell script. The examples cover non-trivial cases: SSE streaming, session handling, file uploads, a background task queue — these aren't toy demos, they're working apps. Nix flake support means you can run a bash-stack app with zero local setup via `nix run`.

The author's own disclaimer says it's 'riddled with security issues' and unsuitable for anything production-grade — take that at face value, since request handling in raw bash (parsing headers, query params, cookies) is exactly where shell quoting bugs turn into injection vectors. Test coverage is a single tests/test.sh for a framework doing routing, sessions, and file uploads, which is thin for something people are evaluating by README alone. There's no discussion of performance anywhere, and spawning bash processes per request is going to be slow under any real concurrency, with nothing in the repo to tell you how slow. All the actual documentation for configuration, routing, sessions, and env vars lives on an external docs site rather than in the repo itself.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →