Guides
Contributing
How to contribute to DS0 — components, tokens, documentation, and more.
Getting Started
- Fork the repo at github.com/rwyatt2/ds0
- Clone and install:
git clone https://github.com/YOUR-USERNAME/ds0.git
cd ds0
pnpm install- Build tokens:
pnpm build:tokens- Start Storybook for development:
pnpm storybookComponent Contribution Checklist
Every component must include ALL of these files:
-
packages/primitives/src/[name]/— Headless behavior + tests -
components/react/[name]/— Styled component + stories + tests -
components/web/[name]/— Web Component wrapper -
components/native/[name]/— React Native component -
packages/ai/manifests/[name].manifest.yaml— AI metadata -
docs/content/docs/components/[name].mdx— Documentation -
figma/[name].figma.ts— Figma Code Connect mapping
Code Style
- TypeScript strict mode, explicit return types
- Function components only, always with
forwardRef - Tailwind CSS only — no custom CSS or
@apply cvafor variant management,cn()for class merging- Tests: render, variants, keyboard, accessibility (axe-core)
Pull Request Process
- Branch from
main - Follow the file structure convention
- Run
pnpm validatebefore pushing - Create a PR with a clear description
- All CI checks must pass
- One approval required for merge