- Live demo & documentation: https://basecoatui.com
- MIT‑licensed and free: https://github.com/hunvreus/basecoat/
- Works with any backend (Flask, Django, Rails, PHP, etc.) or static site.
- Fully theme‑compatible with shadcn/ui [2].
- Uses a sliver of Alpine.js only for a few interactive bits (e.g. combobox). Swap in your own JS if you prefer.
- Dead simple to use, just drop in a class here and there:
<button class="btn" data-tooltip="This is a tooltip text">Click me</button>
Why I built it: after moving from a Next.js stack back to Flask + Tailwind + HTMX, I missed shadcn/ui and didn’t want walls of Tailwind classes (like Flowbite or Preline).Feedback is most welcome: bugs, requests for components, criticism.
[2]: https://basecoatui.com/installation/#install-theming
[3]: https://pagescms.org
Which is also why I made the Alpine code as unobtrusive as possible.
You can get away with using purely the CSS if you don't need dialogs or combobox. And you can plug your own JS if you decide to do so.
However, I will definitely try and see if I can make a web components version as soon as I have some time.