htmxui

Web components with htmx, hyperscript and alpine for your CRUDs.

What is will this be?

TLDR: This aims to be shadcn but for everywhere else (and with htmx).

My goal with this project is to be able to have the same components that shadcn has, but to be able to use them everywhere, with htmx/hyperscript.
I want to be able to run a command, and have a form written in plain HTML styled with tailwind.

Why?

So I was at work the other day, and we have to build yet another CRUD. I think to myself: Nice, a perfect use case for htmx. However, I'm told that we will use Nextjs with Redux with Queries with shadcnui. The important part is shadcn, because we can just use the components it provides, and build our UI blazingly fast.

So I think, if only we had the same shadcn components as plain HTML, we could write this CRUD with htmx the way the lord intended, instead of having to write a SPA with a reactive front-end framework that has to keed a copy of all state and use global state and queries and reducers and hooks and providers and effects and memos and on and on and on...

How?

Say you want a button. You would run in your project:

htmxui add button --templ

and this would generate a button.templ file with a button, already styled, with light/dark theme support, responsive, accesible, what shadcn does, really.
However, crucially, this button will be HATEOAS ready. Plain HTML + tailwindcss. No front-end framework required. If interactivity is needed, it would use hyperscript.
And if I want a Rust Maud template, I pass --maud
And if I want a Phoenix HEEx template, I pass --heex
And if I want <insert templating language here>, I pass the appropiate flag.