Astro-first, framework-portable UI components you can own.
Starwind UI gives you accessible, Tailwind CSS components with Starwind/shadcn-style ergonomics, backed by a portable Runtime that powers Astro, React, and Vue 3.5 beta adapters today.
- 🎯 Own Your Code — Styled components live in your project, where you can understand and customize them.
- ✨ Animated by Default — Smooth, polished animations out of the box with Tailwind CSS v4.
- ♿ Accessible — Keyboard navigable and screen reader friendly. Built with a11y in mind.
- 🚀 Portable Runtime — Shared DOM behavior with generated Astro, React, and Vue 3.5 beta adapters.
- 🛠️ CLI-Powered — Add only what you need with a simple
npx starwind addcommand.
Looking for the main package? See starwind-ui/cli.
Initialize an Astro or React project with the stable release:
npx starwind@latest initThen add the components you need:
npx starwind@latest addTry the public beta in Vite Vue, Astro Vue, Nuxt 3 or 4, Laravel with Inertia Vue, or Quasar Vite SPA/SSR projects:
npm install @starwind-ui/vue@beta vue@^3.5
npx starwind@latest init --framework vueVue adapters use idiomatic v-model arguments, matching update:* events, and normal detailed
event listeners. The Styled Image component remains Astro-only. The Vue API can change during the
0.x series. Report beta feedback in the
Starwind UI issue tracker.
Starwind components use a framework adapter backed by the shared, framework-neutral Runtime.
flowchart TD
App["Your application"]
Components["Starwind components you own<br/>Tailwind CSS + framework markup"]
Adapter["Framework adapter<br/>Astro, React, or Vue 3.5 beta"]
Runtime["Starwind Runtime<br/>shared accessible behavior"]
Browser["Browser APIs and the DOM"]
App --> Components
Components --> Adapter
Adapter --> Runtime
Runtime --> Browser
See Portable Runtime for the current implementation details.
Resources for AI:
Please read the contributing guide.
Licensed under the MIT license.