Initial commit: FA 2.0 Design System foundation

Token pipeline (Style Dictionary v4, DTCG format):
- Primitive tokens: colour palettes (brand, sage, neutral, feedback),
  typography (3 font families, 21-variant type scale), spacing (4px grid),
  border radius, shadows, opacity
- Semantic tokens: text, surface, border, interactive, feedback colours;
  typography roles; layout spacing
- Component tokens: Button (4 sizes), Input (2 sizes)
- Generated outputs: CSS custom properties, JS ES6 module, flat JSON

Atoms (3 components):
- Button: contained/soft/outlined/text × primary/secondary, 4 sizes,
  loading state, underline for text variant
- Typography: 21 variants across display/heading/body/label/caption/overline,
  maxLines truncation
- Input: external label, helper text, error/success validation,
  start/end icons, required indicator, 2 sizes, multiline support

Infrastructure:
- MUI v5 theme with full token mapping
- Storybook 8 with autodocs
- Claude Code agents and skills for token/component workflows
- Design system documentation and cross-session memory

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-25 15:08:15 +11:00
commit 732c872576
56 changed files with 12690 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
---
name: write-stories
description: Write or update Storybook stories for a component
argument-hint: "[ComponentName]"
---
Write or update Storybook stories for an existing component.
Use the story-writer agent to handle this task. The component to document:
**Component:** $ARGUMENTS
**Instructions for the agent:**
1. Read `docs/conventions/component-conventions.md` for story standards
2. Read the component source file at `src/components/` (check atoms/, molecules/, organisms/)
3. Create or update `{ComponentName}.stories.tsx` in the component's folder
4. Cover ALL items in the story coverage checklist:
- [ ] Default state with typical content
- [ ] All visual variants side by side
- [ ] All sizes side by side (if applicable)
- [ ] Disabled state
- [ ] Loading state (if applicable)
- [ ] Error state (if applicable)
- [ ] Long content / content overflow
- [ ] Empty/minimal content
- [ ] With and without optional elements (icons, badges, etc.)
5. Every story meta MUST include `tags: ['autodocs']`
6. Verify the component renders correctly in Storybook at http://localhost:6006
7. Update `docs/memory/session-log.md` when done