Turns a tree of markdown into a tree of indexes. No client script, ever.
Every directory is a section; every section gets an index page listing its children — title and one-line description from frontmatter. Breadcrumbs come from the path you already have. The whole aesthetic is cratebank.io: system serif, six color tokens, automatic light and dark, one readable column.
powderworks-docs build <contentDir> --out <outDir> \
--site-url https://straitjacket.dev \
--name Straitjacket \
--description "A secret scanner, but for slop." \
--github PowderworksCode/straitjacket \
--license MIT \
--static ./publiccontent/
index.md → / (landing)
getting-started.md → /getting-started/
guides/
index.md → /guides/ (section index)
ci.md → /guides/ci/
Frontmatter keys: title, description, order (lower sorts first within
its section).
Each page also emits its markdown source as index.md beside its rendered
HTML, so agents can fetch either form without content negotiation.
Emitted alongside the pages: sitemap.xml, llms.txt, 404.html, and
theme.css wherever a page references it.
The output is plain files; anything that serves static assets works. On
Cloudflare Workers, point [assets] at the output directory and set
not_found_handling = "404-page".