About Sisyphos UI
Sisyphos UI is an open-source design system that ships the same 33 components — with the same class names, ARIA semantics, keyboard behavior, and CSS design tokens — for React, Vue 3, and Angular. It is published on npm as @sisyphos-ui/react, @sisyphos-ui/vue, and @sisyphos-ui/angular, under the MIT license.
Why another component library?
Most design systems pick one framework and stop there. Teams rarely have that luxury: a product group runs React, an internal dashboard is Angular, a marketing site is Vue. Keeping three visual languages in sync by hand is the boulder that never stays on the hill — hence the name. Sisyphos UI moves that work into the library itself. One token sheet, one interaction contract, three idiomatic bindings, so switching stacks doesn't mean redesigning.
How it's built
- A shared core.
@sisyphos-ui/coreowns the design tokens, the runtime theming engine (applyTheme(), dark mode), and the interaction primitives (focus trap, scroll lock, overlay stacking). The framework packages are thin, idiomatic bindings over that contract. - Accessibility as a requirement, not a feature. Components follow the WAI-ARIA authoring patterns and are verified by more than 800 automated tests across the three frameworks — keyboard navigation, focus management, and ARIA roles included.
- Zero runtime dependencies beyond your chosen framework. No CSS-in-JS runtime, no utility library tax — styling is plain CSS custom properties you can override at runtime.
- Built for the AI era. The docs ship an MCP server, a machine-readable skills file, and per-component
llms.txt-style markdown exports so coding agents can use the library correctly on the first try.
The project today
Sisyphos UI reached its 1.0 multi-framework release in May 2026. The library, this documentation site, the blocks gallery, and the templates are all maintained in the open. Development happens on GitHub — bug reports, component requests, and pull requests are welcome from anyone.
Get in touch
The fastest way to reach the maintainers is through the channels on the contact page. For the project's history release by release, see the changelog.