Design and interface · Edition No. 19 · 13 Sep 2026

hunvreus/basecoat

The shadcn/ui look as plain CSS classes plus a little JavaScript, so any server-rendered stack can use it without React.

← Design and interfaceRead the whole edition →

4.3k stars · MIT · 1.0.1 (2026-06-28) · Track this in Scout

shadcn/ui's look for plain HTML and Tailwind, with no React required.

Repo detailsthe review · specs · pros & cons · install

What it is

Basecoat is a set of CSS classes plus a small amount of plain JavaScript, built on Tailwind CSS. It gives you buttons, dialogs, dropdowns and form controls that match the shadcn/ui design, but as ordinary HTML you write yourself. It uses the same colour and spacing settings as shadcn, so themes carry across.What it is good for. Anybody whose pages are not built in React. Django, Rails, Laravel, Astro, FastAPI templates and plain HTML all work, because there is nothing to render. It is the natural companion to the parts of a product that never justified a JavaScript framework: an admin screen, a settings page, a marketing page. For you: shadcn/ui (Ed. 12 #1) was recommended for the Grasppy front end, which is React. This is the answer for any page of yours that is not.

Stars4.3k
LicenceMIT
Latest1.0.1 (2026-06-28)checked 7 Sep 2026
Written inMDX
Good
  • It works with any way of producing HTML, because it is styling and not a framework.
  • The same settings as shadcn, so a theme you already chose carries over.
  • Almost nothing to load, and nothing to keep running.
Watch for
  • You still need Tailwind CSS in your build, and you write the HTML by hand. Somebody who does not write code gets nothing usable out of the box.
  • The behaviour is much thinner than the React original. Keyboard use and screen-reader support are your responsibility, not the library's.
  • It is a small project by one maintainer at version 1.0.x, and the npm package is already ahead of the newest GitHub tag, which suggests release discipline is loose.
Similar repositories
Install
npm install basecoat-css
# then in your CSS, after Tailwind:
#   @import "basecoat-css";
Screenshots
hunvreus/basecoat: GitHub preview cardhunvreus/basecoat: Screenshot 1

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.