Ship once, use it in
Beautiful, owned, versioned. But only if you're React.
Django, Rails, or Laravel templates — often without any shared system at all.
Prompts and configs replicated project to project. No source of truth.
Chiralkit inherits from shadcn one principle: installed modules belong to your project. It extends that principle beyond React, and beyond components — to recipes, agents, and project configs. One schema, one distribution flow, everything you own.
Point Chiralkit at the registry your team uses.
Install a module. The code lands in your project.
Edit it. Version it. It's yours.
Small chip for labeling type, state, or category.
Base design system button — primary/secondary variants with a disabled state.
Bordered, rounded surface for grouping content — no props, single default slot, no ARIA role. Consumers compose their own heading structure inside.
Native <input type="checkbox"> wrapped as a design-system custom element — checked/indeterminate props forward to the DOM, dsChange emits the new boolean state. Keeps the browser's default checkbox rendering to preserve AT and forced-color-mode behavior.
Code block with a language label and a built-in copy button.
Native <dialog> element wrapped as a design-system custom element — showModal() delivers the modal state machine (focus trap, Escape to close, inert background, return-focus) via the browser platform, not scratch-built ARIA. Props: open, label|labelledBy, describedBy. Events: dsOpen, dsClose.