- Add package.json to Storybook cache key (dep version changes invalidate cache)
- Add res.ok check before parsing Storybook index JSON
- Remove duplicate maxDiffPixelRatio (already in playwright.config.ts)
- Use parseInt for PLAYWRIGHT_WORKERS to handle non-numeric values
- Add @playwright/test, playwright.config.ts (Chromium, 1280x720)
- Test file auto-discovers all stories from Storybook's index.json
- Screenshots cropped to #storybook-root, grouped per component
- CI workflow on Blacksmith with Storybook/Playwright/Bun caching
- Paths filter: only runs when kilo-ui or its deps change
- Auto-commits missing baselines back to the branch via CI
- Skips head-only (Font, Favicon) and non-deterministic (Typewriter) stories
- Documented in CONTRIBUTING.md