Components with good bones.
Bones is a minimal, themable component library built on Base UI. Fluid by default, quiet until you theme it, and designed so coding agents get it right on the first try.
pnpm add @usebones/react @usebones/tokensAgents are first-class users
Bones is written to be read by machines as well as people: exported and documented prop types, one predictable file per component, class names that match component names, and conventions recorded where agents actually look. Point your coding agent at llms.txt or install the skill and it composes Bones correctly without trial and error.
The whole set
Thirty-eight components today, from Button and Input to Combobox, Toast, Drawer, and Navigation menu, every one wrapping a Base UI part so keyboard handling, focus management, and screen reader semantics come from a battle-tested foundation. Bones adds the styling layer and stays out of the behavior's way; state is exposed as data attributes you can target from plain CSS.
Quiet by default
The default palette is pure neutral gray with near-black as the only accent, so components recede and your product stands out. A theme is a handful of CSS variables, not a fork: override --ub-accent and everything that means "primary action" follows. See Theming.
Two sizes, not five
Everything comes in exactly two sizes, default and compact, and every number behind them is a token, so a dense admin table and a roomy marketing form coexist without custom CSS. See Sizes.
Motion with a job to do
Interactions answer with small, springy movements, every duration and easing is a token, and the whole library goes still automatically for anyone who prefers reduced motion. See Motion.
Where this is going
On top of the open-source packages, a commercial tier of AI interface components is planned: chat, streaming and thinking states, prompt input, message bubbles. Same tokens, same conventions, same quiet defaults. Until then, the quick start takes about two minutes.