Contributing
Contributing
How a change gets proposed, designed, built, and shipped.
Proposing a change
- 1Open a discussionPropose the change before any design or code work starts.
- 2Design in Figma firstAlways before code — see the naming convention below.
- 3Get sign-offOne designer and one engineer approve the Figma spec.
- 4Build against the checklistEvery item below, not just the obvious ones.
- 5Open a PRTitle as feat(component): ... or fix(component): ..., linked to the Figma spec.
- 6Update the changelogAdd an entry before merging, not after.
Component checklist
Figma spec complete
All props typed and documented
Every interactive state covered
Empty state defined
Keyboard accessible
ARIA labels present
WCAG AA contrast verified
Responsive at 320/768/1280px
Dark-mode-safe via tokens, not hardcoded colours
Do's/don'ts written
CMS entry added
Changelog updated
Figma naming convention
Format: Module - Screen Name - State. Only add a product-name prefix when a screen is shared across multiple products' Figma files — within a single product's own file, the product name is redundant context. When a screen has both an empty and a populated version, both get designed and named with exactly - Empty / - Filled — not "Blank" or "Populated."
Login - Empty
Login - Filled
User Management - Create New User - Empty
User Management - Create New User - Filled
Transactions - View Transaction Details
Change Password - Error
Changelog
No changelog entries yet — add a "Changelog Entry" document in Sanity Studio to populate this list.