---
slug: "components-build"
source_type: "readme"
source_url: "https://cdn.jsdelivr.net/gh/vercel/components.build@main/README.md"
repo: "https://github.com/vercel/components.build"
source_file: "README.md"
branch: "main"
---
# components.build

An open-source standard for building modern, composable, and accessible UI components.

## About

components.build is a formal specification that establishes best practices and guidelines for building open-source UI components for the modern web. Co-authored by [Hayden Bleasel](https://x.com/haydenbleasel) and [shadcn](https://x.com/shadcn), this specification aims to help open-source maintainers and senior front-end engineers create components that are:

- **Composable** - Built with composition over inheritance, easily combined to create complex UIs
- **Accessible** - WCAG-compliant with proper ARIA attributes and keyboard navigation
- **Customizable** - Easy to theme and style for any design system
- **Performant** - Lightweight with minimal dependencies
- **Transparent** - Full code visibility and ownership
- **Well-documented** - Clear examples and developer-friendly

While examples use React/TypeScript, the core principles are framework-agnostic and applicable to Vue, Svelte, Angular, and other modern frameworks.

## Contributing

Contributions are welcome! This specification is informed by the open-source community and real-world component libraries.

To contribute, please read the [contributing guide](https://github.com/vercel/components.build/blob/HEAD/.github/CONTRIBUTING.md).

## License

This project is open source and available under the [MIT License](https://github.com/vercel/components.build/tree/HEAD/LICENSE).
