- Open Code: The top layer of your component code is open for modification.
- Composition: Every component uses a common, composable interface, making them predictable.
- Distribution: A flat-file schema and command-line tool make it easy to distribute components.
- Beautiful Defaults: Carefully chosen default styles, so you get great design out-of-the-box.
- AI-Ready: Open code for LLMs to read, understand, and improve.
Open Code
shadcn-svelte hands you the actual component code. You have full control to customize and extend the components to your needs. This means:- Full Transparency: You see exactly how each component is built.
- Easy Customization: Modify any part of a component to fit your design and functionality requirements.
- AI Integration: Access to the code makes it straightforward for LLMs to read, understand, and even improve your components.
How do I pull upstream updates in an Open Code approach?
How do I pull upstream updates in an Open Code approach?
shadcn-svelte follows a headless component architecture. This means the core of your app can receive fixes by updating your dependencies, for instance, bits-ui or paneforge.The topmost layer, i.e., the one closest to your design system, is not coupled with the implementation of the library. It stays open for modification.
Composition
Every component in shadcn-svelte shares a common, composable interface. If a component does not exist, we bring it in, make it composable, and adjust its style to match and work with the rest of the design system. A shared, composable interface means it’s predictable for both your team and LLMs. You are not learning different APIs for every new component. Even for third-party ones.Distribution
shadcn-svelte is also a code distribution system. It defines a schema for components and a CLI to distribute them.- Schema: A flat-file structure that defines the components, their dependencies, and properties.
- CLI: A command-line tool to distribute and install components across projects with cross-framework support.
Beautiful Defaults
shadcn-svelte comes with a large collection of components that have carefully chosen default styles. They are designed to look good on their own and to work well together as a consistent system:- Good Out-of-the-Box: Your UI has a clean and minimal look without extra work.
- Unified Design: Components naturally fit with one another. Each component is built to match the others, keeping your UI consistent.
- Easily Customizable: If you want to change something, it’s simple to override and extend the defaults.