ci(storybook): wire test:storybook into CI (#1251) (#1297)

* ci(storybook): wire test:storybook into CI (#1251)

- Add test:storybook:watch to clients/web for interactive iteration; the
  one-shot script already existed.
- Surface test:storybook at the repo root, delegating to the web client.
- Add a separate CI step that installs the Playwright Chromium binary
  and runs the storybook play-function suite after validate. Kept out of
  validate because the suite needs a real browser and is ~10s slower
  than the unit tests.
- Document the new pre-push step in AGENTS.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* ci(storybook): cache Playwright browsers + tighten AGENTS wording

Cache the Chromium binary keyed on clients/web/package-lock.json so the
~150MB download is a no-op on CI cache hits. Also clarify that CI runs
test:storybook after the unit/lint/build checks (not literal `validate`,
which is a local-only script).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Cliff Hall 2026-05-10 15:58:15 -04:00 • committed by GitHub
commit a4215e57b9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -21,7 +21,8 @@
"scripts": {
"validate": "cd ./clients/web/ && npm run validate",
"test": "cd ./clients/web/ && npm run test",
"test:coverage": "cd ./clients/web/ && npm run test:coverage"
"test:coverage": "cd ./clients/web/ && npm run test:coverage",
"test:storybook": "cd ./clients/web/ && npm run test:storybook"
},
"dependencies": {
"@modelcontextprotocol/ext-apps": "^1.7.1",