| name | component-design-systems |
| description | Building and maintaining scalable component libraries, design tokens, accessibility, and cross-team collaboration patterns |
| metadata | {"author":"cosmicstack-labs","version":"1.0.0","category":"frontend","tags":["design-systems","components","react","accessibility","design-tokens","storybook"]} |
Component Design Systems
Patterns for building scalable, accessible, and maintainable component libraries.
Architecture
design-system/
├── tokens/ # Design tokens
│ ├── colors.json
│ ├── typography.json
│ └── spacing.json
├── primitives/ # Base components
│ ├── Button/
│ ├── Input/
│ └── Text/
├── patterns/ # Composed patterns
│ ├── FormField/
│ ├── DataTable/
│ └── Modal/
└── docs/ # Documentation
└── Storybook/
Component API Design
<Select>
<Select.Label>Country</Select.Label>
<Select.Trigger>
<Select.Value placeholder="Select a country" />
</Select.Trigger>
<Select.Content>
<Select.Item value="us">United States</Select.Item>
<Select.Item value="uk">United Kingdom</Select.Item>
</Select.Content>
</Select>
Common Mistakes
- No design tokens: Hardcoded values everywhere. Use tokens for colors, spacing, typography.
- Missing accessibility: Always include ARIA labels, keyboard nav, focus management.
- Too opinionated: Components should work out-of-box but be customizable via props/composition.
- No versioning strategy: Use semver. Document breaking changes clearly.
- No visual regression tests: Use Chromatic/Percy to catch unintended style changes.