A configurable neo-brutalist component registry built on shadcn, Base UI, React, Next.js, TypeScript, and Tailwind CSS v4.
Website · Repository · Issues
- Installable shadcn-compatible UI components
- Paper, Signal, and Sky flavours
- Soft, Solid, and Loud brutalism strengths
- Sharp, Cut, and Chunky radius modes
- Accessible Base UI behavior and component APIs
- Component previews, theme documentation, and composed block showcases
The registry source of truth lives in registry/brutalist/. Generated registry items are written to public/r/.
Add the BRUT/UI namespace to your project's components.json:
{
"registries": {
"@brut-ui": "https://www.brut-ui.site/r/{name}.json"
}
}Then install the base theme and any components you need:
pnpm dlx shadcn@latest add @brut-ui/base
pnpm dlx shadcn@latest add @brut-ui/button @brut-ui/inputpnpm install
pnpm devOpen http://localhost:3000 to browse the site. Local registry items are available at URLs such as http://localhost:3000/r/button.json.
pnpm typecheck
pnpm lint
pnpm registry:build
pnpm registry:validate
pnpm buildBRUT/UI keeps shadcn's semantic color variables and adds project-wide brutalist tokens. Configure the theme on the document root:
<html
data-brut-palette="paper"
data-brut-strength="soft"
data-brut-radius="cut"
>See the /themes page for the complete installed-token reference and usage guidelines.
BRUT/UI is maintained by DevKit Labs at devkit-labs/brut-ui.