Overview
components.build is an open-source standard for building modern, composable and accessible UI components.
Modern web applications are built on reusable UI components and how we design, build, and share them is important. This specification aims to establish a formal, open standard for building open-source UI components for the modern web.
It is co-authored by Hayden Bleasel and
shadcn, with contributions from the open-source community and informed by popular projects in the React ecosystem.
The goal is to help open-source maintainers and senior front-end engineers create components that are composable, accessible, and easy to adopt across projects.
What is this specification?
This spec is not a tutorial or course on React, nor a promotion for any specific component library or registry. Instead, it provides high-level guidelines, best practices, and a common terminology for designing UI components.
By following this specification, developers can ensure their components are consistent with modern expectations and can integrate smoothly into any codebase.
Who is this for?
We're writing this for open-source maintainers and experienced front-end engineers who build and distribute component libraries or design systems. We assume you are familiar with JavaScript/TypeScript and React.
All examples will use React (with JSX/TSX) for concreteness, but we hope the fundamental concepts apply to other frameworks like Vue, Svelte, or Angular.
In other words, we hope this spec’s philosophy is framework-agnostic – whether you build with React or another library, you should emphasize the same principles of composition, accessibility, and maintainability.