Help improve the Valley Solar Design System. Whether you're adding a new component, fixing a bug, or improving documentation, here's how to contribute.
The design system is maintained in two places:
Changes are authored in Claude Design, then exported and committed to GitHub.
Create a new design file in Claude Design to explore the component's states and variants. Test with real content.
Create a .jsx or .tsx file with a .d.ts TypeScript definition. Use design tokens for all styling.
// Button.jsx
export function Button({ children, variant = 'primary' }) {
return (
<button className={`btn btn--${variant}`}>
{children}
</button>
);
}
Add an HTML preview file with the @dsCard tag so the component appears in the design system gallery.
<!-- @dsCard group="02_Components" name="Button" -->
Use the live preview in Claude Design to test interactive states, responsive behavior, and edge cases.
Design tokens live in colors_and_type.css:
docs-tokens.htmlUpdate: Add new color token --vs-tealTemplates are full-page layouts ready to use or customize.
templates/[template-slug]/index.html with the template markup@template comment at the top:
<!-- @template name="Page — My Template" description="Brief description" group="04_Templates" -->
templates-manifest.json to register the templatedocs-templates.htmlFix: Button hover state not visible on dark backgroundsUse clear, descriptive commit messages:
Add: New Badge component for status labelsUpdate: Improve heading type scale and contrastFix: Mobile nav dropdown alignment issueDocs: Add Getting Started guideRefactor: Consolidate button variantsdesign-system-log.mdKeep the design system healthy by:
Open an issue on GitHub to ask questions or propose changes.