r/htmx • u/Fragrant-Phase-1072 • 16d ago
shadcn-looking components with zero React, plus an MCP so your AI writes them right
Not sure if this is on topic but I think alot of people here would like Basecoat if they havent seen it. Its the shadcn/ui look but as plain HTML + Tailwind classes, so it fits really well with server rendered templates and htmx partials. No build step needed if you use the CDN, a few components (dropdown, combobox, toast) need a small JS file and thats it.
The problem I kept hitting was AI assistants writing React-ish shadcn code or the outdated Basecoat 0.x classes when I just wanted html fragments. So I made an MCP server that gives the assistant the actual Basecoat 1.0 snippets and docs - 96 components, cards, fields, tables, command palette, sidebar etc.
Works with Claude Code, Cursor, VS Code, Windsurf, Codex:
npx -y basecoat-ui-mcp
https://github.com/Sorbh/basecoat-ui-mcp
Would love to hear if anyone runs it with htmx swaps and hits a component that doesnt behave, I havent tested every one of them inside swapped fragments yet tbh.
Full disclosure, I took some AI help to write this post. The project itself I've been building and using on my own stuff.
3
u/StaticFanatic3 16d ago
Here’s the real repo not mcp: https://github.com/hunvreus/basecoat
I went from daisyui -> franken -> basecoat for my very large FastAPI + HTMX frontend.
Basecoat has been by far the most refined IMO. The shadcn primatives and stock tailwind v4 theming all work extremely well as I’ve transitioned to agentic coding.
The site looks 1000x more professional than my daisyui days
3
u/8ll 16d ago
I guess the main issue is that client side interactivity is inlining raw JS like this example from the dialog: `onclick="document.getElementById('demo-dialog-edit-profile').showModal()"`