Beautiful React components, fast & accessible. A fully-featured component library rebuilt on native modern CSS — zero-runtime styling, WCAG-compliant by default, and tiny bundles.
Most component libraries ship a styling engine to your users' browsers. FarmUI
doesn't. Every component is styled with plain, static CSS — cascade layers,
custom properties, light-dark(), color-mix(), container queries and logical
properties — so there's nothing to run at runtime and nothing extra to download.
- Zero runtime — styles are static CSS, fully React Server Component friendly.
- Semantic HTML — real
<details>,<nav><ol>,role="tablist", and more. - Accessible by default — WAI-ARIA patterns, focus management, keyboard support.
- Themeable with CSS variables — rebrand by overriding
--fui-*. No provider. - Native dark mode — powered by
light-dark(); one toggle flips everything. - Tiny & tree-shakeable — no styling engine ships to your users.
npm install @farmui/coreImport the stylesheet once at your app root, then use any component:
import "@farmui/core/styles.css";
import { Button } from "@farmui/core";
export default function App() {
return <Button>Get started</Button>;
}That's the whole setup — no provider, no config. See the documentation for every component, live examples and the theming guide.
This is a pnpm + Turborepo monorepo:
packages/core—@farmui/core, the component library.apps/docs— the marketing site and documentation (Next.js).
pnpm install
pnpm build # build the library, then the docs site
pnpm dev # run the docs site against the library
pnpm check-types # type-check everythingSee CONTRIBUTING.md for details.
MIT © Danger Farms