finds.dev← search

// the find

maddalax/htmgo

★ 934 · Go · MIT · updated Sep 2025

htmgo - build simple and scalable systems with go + htmx

htmgo is a Go framework that wraps htmx with a Go-native component API, letting you write server-rendered interactive UIs entirely in Go without touching JavaScript. It bundles Tailwind, live reload, file-based routing, and a single-binary deploy story. Aimed at Go developers who want the htmx model without maintaining a separate JS build pipeline.

The file-based auto-registration for pages and partials is genuinely useful — no route table to maintain, the CLI generates it via AST parsing. Single binary output is real: assets are embedded, Tailwind is built at dev time and bundled at compile time. The examples are substantive (HN clone, chat with SSE, auth with sqlc) rather than the usual toy counters. WebSocket support is extracted into a proper extension module with its own session management and metrics rather than bolted on as an afterthought.

The framework is essentially one person's project with 23 forks and no recent commits since September 2025 — adoption risk is high for anything production-facing. The AST-based route generation is a fragile abstraction: rename a file or restructure a package and you're debugging code generation, not your app. No escape hatch for complex client-side state is documented — once you hit something htmx can't express cleanly, you're on your own integrating vanilla JS. The `h.` API surface is a thin wrapper over string concatenation; there's no type-safe enforcement that you're generating valid HTML, so template errors are runtime surprises.

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 →