Component building guidelines for creating high-quality, accessible, and composable registry components...
Comprehensive component authoring guide for building registry components that follow shadcn/ui patterns, emphasizing composition, accessibility, type safety, and maintainability.
Reference these guidelines when:
src/registry/| Category | Description | File |
|---|---|---|
| Composition | Component composition patterns | composition.md |
| Accessibility | Inclusive, usable components | accessibility.md |
| State Management | Controlled/uncontrolled patterns | state-management.md |
| Design Tokens | Semantic theming architecture | design-tokens.md |
| Styling Patterns | Tailwind CSS and class management | styling-patterns.md |
| TypeScript Patterns | Type-safe, flexible components | typescript-patterns.md |
| Polymorphism | The as prop pattern |
polymorphism.md |
| asChild Pattern | Radix Slot composition | as-child-pattern.md |
| Data Attributes | State and structure via data-* |
data-attributes.md |
| Documentation | Component docs standards | component-documentation.md |
React.ComponentProps<'element'> patternsdata-state, data-slot instead of prop explosionFollow established patterns from shadcn/ui and Radix UI:
useControllableStateRead individual rule files for detailed explanations and examples:
rules/composition.md
rules/accessibility.md
rules/typescript-patterns.md
Each rule file contains:
For the complete guide with all rules expanded: AGENTS.md