Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1892 commits
Select commit Hold shift + click to select a range
76c3721
Extract review story info derivation into a pure module
ghengeveld Jun 24, 2026
cdab47c
Move ReviewProvider into components and wire notification cleanup
ghengeveld Jun 24, 2026
c76c789
Add sidebar notification for unseen review arrivals
ghengeveld Jun 24, 2026
1b49440
Move ReviewSummaryPortal into screens
ghengeveld Jun 24, 2026
0bd89da
Move ReviewPersistentLayer and mount arrival notifications
ghengeveld Jun 24, 2026
213a6fd
Update review component imports after folder reorganization
ghengeveld Jun 24, 2026
bc32342
Read review title from the store and keep it stable during deferred u…
ghengeveld Jun 24, 2026
4ee7ba8
Add story coverage for review arrival notifications
ghengeveld Jun 24, 2026
432f389
Formatting
ghengeveld Jun 24, 2026
44e2d35
Merge branch 'yann/agentic-review-mcp-integration' into review/review…
ghengeveld Jun 24, 2026
9502b16
Fix review arrival story tests and merge base branch
ghengeveld Jun 24, 2026
5d39a2a
Merge split/open-service-query-states into split/typed-core-getservice
JReinhold Jun 24, 2026
9bb1920
Fix ShowsNotificationForUnseenReview story to render the sidebar toast
ghengeveld Jun 24, 2026
b84e5ef
Merge branch 'next' into sidnioulz/angular-22
ndelangen Jun 25, 2026
cfe278c
Fix review page redirecting away from /review/
ghengeveld Jun 25, 2026
0947345
add artifacts for failing vitest-integrations tests for debugging
ndelangen Jun 25, 2026
a0610d7
Fix `docs:json` command on angular sandboxes
mrginglymus Jun 25, 2026
31ffb56
Babel: Remove bugfixes from preset-env in v8
Sidnioulz Jun 23, 2026
655bfb6
Rework babel issue with feature flag
Sidnioulz Jun 23, 2026
ef4ac4e
Reformat docs
Sidnioulz Jun 23, 2026
533ebc9
Rename snippet
Sidnioulz Jun 23, 2026
c73690a
Strengthen number parsing
Sidnioulz Jun 23, 2026
cc16b83
type features
Sidnioulz Jun 24, 2026
1c27473
Clean up comments
Sidnioulz Jun 24, 2026
6b82e03
SWC: Fix config error in sandboxes with newer versions
Sidnioulz Jun 24, 2026
6db1ceb
Enforce no babel bugfixes in relevant sandbox
Sidnioulz Jun 24, 2026
0a72e87
Avoid even injecting bugfixes: undefined
Sidnioulz Jun 25, 2026
23d1932
Add embed-mode content resize broadcast in preview
ghengeveld Jun 25, 2026
ba821d0
Add embed option to getStoryHrefs for thumbnail previews
ghengeveld Jun 25, 2026
9279784
Size review thumbnails from iframe.resize content dimensions
ghengeveld Jun 25, 2026
36c0691
Enable embed mode for review summary preview iframes
ghengeveld Jun 25, 2026
871d0fd
Refactor CI scripts: reorder imports and update vitest command. Remov…
ndelangen Jun 25, 2026
e3fba7f
Merge pull request #35264 from storybookjs/sidnioulz/angular-22
Sidnioulz Jun 25, 2026
fc5b57e
Merge branch 'next' into yann/agentic-review-mcp-integration
yannbf Jun 25, 2026
79f80ea
CI: Modernize dependency resolution in sandboxes
Sidnioulz Jun 25, 2026
f7059a2
Formatting
ghengeveld Jun 25, 2026
997f55d
Dedupe property
Sidnioulz Jun 25, 2026
2775180
Merge pull request #35266 from storybookjs/sidnioulz/babel-8-support
Sidnioulz Jun 25, 2026
05504e2
Resolve Webpack to 5.107 in sandboxes due to upstream regression
Sidnioulz Jun 25, 2026
76d8e62
Merge pull request #35281 from storybookjs/bill/angular-vite-windows-…
Sidnioulz Jun 25, 2026
bf57086
Merge pull request #35284 from storybookjs/sidnioulz/avoid-webpack-5-…
Sidnioulz Jun 25, 2026
5a9d9f2
Merge pull request #35214 from storybookjs/split/open-service-query-s…
JReinhold Jun 25, 2026
0e08aeb
Merge branch 'next' into split/typed-core-getservice
JReinhold Jun 25, 2026
df4e0f3
CI: Skip sync baseline tests on Windows, but safely
Sidnioulz Jun 25, 2026
62151b7
Merge pull request #35242 from storybookjs/split/typed-core-getservice
JReinhold Jun 25, 2026
387d57d
Merge pull request #35285 from storybookjs/sidnioulz/skip-windows
Sidnioulz Jun 25, 2026
d622ef7
Write changelog for 10.5.0-alpha.8 [skip ci]
storybook-bot Jun 25, 2026
5605101
Core: Recognize addon-mcp registered via getAbsolutePath() in runtime…
yannbf Jun 25, 2026
b36fc66
Addon Vitest: Avoid erroring out on benign Win process exits
Sidnioulz Jun 25, 2026
2e9279e
Merge pull request #35286 from storybookjs/yann/fix-mcp-addon-detecti…
yannbf Jun 25, 2026
36300c0
Merge branch 'next' into yann/agentic-review-mcp-integration
yannbf Jun 25, 2026
c1d1d18
Improve embed resize measurement and CSS-driven review thumbnails.
ghengeveld Jun 25, 2026
8d70918
Performance enhancements
ghengeveld Jun 25, 2026
20c7253
Review: Fix CI — QueryState unwrap and stale "Switch" button label
yannbf Jun 25, 2026
c2e79c9
addon-vitest: subscribe for run completion before sending TRIGGER_RUN
Jun 26, 2026
580d07f
Merge pull request #35181 from storybookjs/version-non-patch-from-10.…
Sidnioulz Jun 26, 2026
c347410
Bump version from "10.5.0-alpha.7" to "10.5.0-alpha.8" [skip ci]
storybook-bot Jun 26, 2026
63816ed
Merge branch 'next-release' into next
storybook-bot Jun 26, 2026
fc4065f
CI: Resolve to Babel 7 due to react-docgen
Sidnioulz Jun 26, 2026
30db7a0
Merge pull request #35296 from storybookjs/sidnioulz/resolve-babel-7
Sidnioulz Jun 26, 2026
a6e6068
Merge branch 'next' into fix-vue-docgen-default-values
Sidnioulz Jun 26, 2026
e9be16b
Remove `hasActiveFilters` check
mrginglymus Jun 12, 2026
1e729c8
Format
Sidnioulz Jun 22, 2026
7db339f
Add agent skills and Claude skill pointers.
ghengeveld Jun 8, 2026
64a7f68
Add open-pr agent skill for Storybook pull requests.
ghengeveld Jun 9, 2026
cfe3183
Update .agents/skills/update-pr-description/SKILL.md
ghengeveld Jun 18, 2026
c0c9e6d
Merge pull request #34837 from storybookjs/yann/agentic-review-mcp-in…
yannbf Jun 26, 2026
d529580
Merge pull request #35269 from pupuking723/fix/eslint-plugin-eslint-1…
Sidnioulz Jun 26, 2026
de136b8
Merge pull request #35151 from storybookjs/bill/burn-has-active-filters
Sidnioulz Jun 26, 2026
15d923f
Merge pull request #35090 from storybookjs/ghengeveld/skills
Sidnioulz Jun 26, 2026
028c837
Dedupe deps
Sidnioulz Jun 26, 2026
77e6430
Merge pull request #35287 from storybookjs/sidnioulz/issue-35277
Sidnioulz Jun 26, 2026
6035fb7
UI: Hide onboarding menu with feature flag
Sidnioulz Jun 26, 2026
676e241
Core: Add ai-review observability
yannbf Jun 26, 2026
014dc14
CI: Restore bugfixes for Babel 7 sandbox
Sidnioulz Jun 26, 2026
a1e9579
Merge pull request #35301 from storybookjs/sidnioulz/babel-7-bugfixes
Sidnioulz Jun 26, 2026
8787a69
Write changelog for 10.5.0-alpha.9 [skip ci]
storybook-bot Jun 26, 2026
bb9bcac
Grow review thumbnail rows when iframe content is tall.
ghengeveld Jun 26, 2026
097ec92
Merge pull request #35297 from storybookjs/version-non-patch-from-10.…
Sidnioulz Jun 26, 2026
da84210
Bump version from "10.5.0-alpha.8" to "10.5.0-alpha.9" [skip ci]
storybook-bot Jun 26, 2026
a08be02
Apply suggestion from @Sidnioulz
Sidnioulz Jun 26, 2026
1e51b9a
Merge pull request #34909 from Arunsiva003/fix-vue-docgen-default-values
Sidnioulz Jun 26, 2026
ac39c7d
Refactor review thumbnail grid per code review feedback.
ghengeveld Jun 26, 2026
bf34cdb
Merge pull request #35191 from yatishgoel/docs/23208-document-jsx-sor…
Sidnioulz Jun 26, 2026
164ae97
Merge branch 'next' into ghengeveld/review-thumbnail-content-resize
ghengeveld Jun 26, 2026
e27fe8b
fix(layout): remove unnecessary whitespace in Layout.tsx
yatishgoel Jun 27, 2026
a6ac324
Merge branch 'next' into fix/29221-iframe-scroll-after-resize
yatishgoel Jun 27, 2026
5a4fd2b
Enhance next/link mock tests and functionality
yatishgoel Jun 27, 2026
8bc4ba7
Docs: Clarify TanStack Query client tradeoffs
nightt5879 Jun 29, 2026
41e952c
Keep review thumbnails at 3/2 and scale to content only.
ghengeveld Jun 29, 2026
6653f2d
"Claude PR Assistant workflow"
Sidnioulz Jun 29, 2026
48ba258
"Claude Code Review workflow"
Sidnioulz Jun 29, 2026
d689974
Merge pull request #35291 from tsushanth/fix/addon-vitest-subscribe-b…
Sidnioulz Jun 29, 2026
de7413a
Merge pull request #35314 from nightt5879/nightt5879/clarify-tanstack…
Sidnioulz Jun 29, 2026
126c158
Remove purple color on notification icon
ghengeveld Jun 29, 2026
0888c06
CI: Customise Claude action config
Sidnioulz Jun 29, 2026
63d16f3
Avoid hardcoded timestamp in stories and tests
ghengeveld Jun 29, 2026
4a94fe9
Limit claude reviews to a label
Sidnioulz Jun 29, 2026
a3c80e2
Handle isRequired and isHovered in ArgControl
Sidnioulz Jun 22, 2026
8b81858
Rework required for checkbox and radio
Sidnioulz Jun 24, 2026
630bdcf
Refactor emotion component selectors
Sidnioulz Jun 26, 2026
219225e
VSCode: Do not reference removed config files
Sidnioulz Jun 29, 2026
dee640f
UI: Use sr-only to hide ArgRow cells
Sidnioulz Jun 29, 2026
bfaee1c
Merge pull request #35319 from storybookjs/sidnioulz/fix-vscode-vites…
Sidnioulz Jun 29, 2026
d0ef37e
Merge pull request #35299 from storybookjs/sidnioulz/menu-onboarding-…
Sidnioulz Jun 29, 2026
147bc0a
Rework trigger conditions
Sidnioulz Jun 29, 2026
aa14123
Fix(ci): prevent merges to next/main from cancelling each other's Cir…
Sidnioulz Jun 29, 2026
ba9a2ff
Merge branch 'next' into review/review-arrival
ghengeveld Jun 29, 2026
5e02302
Merge pull request #35306 from storybookjs/sidnioulz/argstable-requir…
Sidnioulz Jun 29, 2026
5adf450
Fix CollectionGrid story waiting on stale neighbor heights.
ghengeveld Jun 29, 2026
f216ac1
Refresh review thumbnail iframes when preview href changes.
ghengeveld Jun 29, 2026
2216572
Invoke onFrozen only once after the first story freeze.
ghengeveld Jun 29, 2026
fc16acc
Keep embed and freeze out of generic story href query params.
ghengeveld Jun 29, 2026
7dd67a4
Reject invalid iframe resize payload dimensions.
ghengeveld Jun 29, 2026
78526c4
Use Vitest global stubs in embed resize broadcast tests.
ghengeveld Jun 29, 2026
305e508
Limit @claude mentions to us
Sidnioulz Jun 29, 2026
fb02de5
Give Claude more permissions to edit code and run commands
Sidnioulz Jun 29, 2026
00c1056
Remove stale hasActiveFilters import after next merge
ghengeveld Jun 29, 2026
433d54d
Add next/link action logging and corresponding tests
yatishgoel Jun 29, 2026
b88a038
Fix arrival notification re-firing after accepting a pending review u…
ghengeveld Jun 29, 2026
4ef593a
Skip sidebar arrival toast for in-review pending updates.
ghengeveld Jun 29, 2026
a997fc5
Preview: compose core annotations before running beforeAll
JReinhold Jun 29, 2026
98de385
Merge pull request #35276 from storybookjs/review/review-arrival
ghengeveld Jun 29, 2026
6d7f372
feat(docgen): run docgen extraction in a worker thread
JReinhold Jun 29, 2026
f83ce37
feat(react): provide docgen via a worker-target module
JReinhold Jun 29, 2026
0613dea
perf(docgen): defer Controls docgen to a render-lifecycle gate
JReinhold Jun 29, 2026
78a904d
chore(addon-docs): remove debug docgen provider
JReinhold Jun 29, 2026
20d54da
Merge branch 'next' into ghengeveld/review-thumbnail-content-resize
ghengeveld Jun 29, 2026
b0c5ddf
Fix review-story-info imports after next merge
ghengeveld Jun 29, 2026
98b2b1d
Core: Pass TRenderer generic to composeProjectAnnotationsWithCore
JReinhold Jun 29, 2026
ff2a9a8
Merge branch 'next' into fix/preview-core-annotations
JReinhold Jun 29, 2026
2335034
Merge branch 'next' into fix/35213-nextjs-link-mock-onclick-order
yatishgoel Jun 29, 2026
2cd8598
Merge pull request #35311 from yatishgoel/fix/35213-nextjs-link-mock-…
Sidnioulz Jun 29, 2026
484b98e
Fix review thumbnail scale for tall stories that fit frame width.
ghengeveld Jun 29, 2026
d71aa77
Merge origin/next into docgen/worker-threading
JReinhold Jun 29, 2026
fd722b8
Document experimentalDocgenServer feature flag
JReinhold Jun 29, 2026
95f54f8
Merge branch 'next' into ghengeveld/review-thumbnail-content-resize
ghengeveld Jun 29, 2026
beb76d4
Docs: Update MCP agent links
shilman Jun 30, 2026
17b62a5
Docgen: address review feedback on worker gate and client
JReinhold Jun 30, 2026
520c701
UI: Add docs.lang and htmlLang parameters
mehm8128 Apr 8, 2026
656cfbe
Stop review mode from mutating sidebar/panel chrome visibility.
ghengeveld Jun 30, 2026
2b0e26c
Hide sidebar on the review summary page.
ghengeveld Jun 30, 2026
17826d9
Hide sidebar and show review header only on collection stories.
ghengeveld Jun 30, 2026
dd37865
Fix review summary portal left inset when sidebar is suppressed.
ghengeveld Jun 30, 2026
383d590
Merge branch 'next' into sidnioulz/fix-html-lang-refreshed
Sidnioulz Jun 30, 2026
a94b92a
Dismiss review notification when visiting a review route.
ghengeveld Jun 30, 2026
ec096ee
Guard isReviewManagerRoute against an undefined path.
ghengeveld Jun 30, 2026
d64659d
Apply suggestion from @Sidnioulz
Sidnioulz Jun 30, 2026
73fb3c6
Merge pull request #35316 from storybookjs/add-claude-github-actions-…
Sidnioulz Jun 30, 2026
0beac7b
Merge pull request #35324 from storybookjs/docgen/worker-threading
JReinhold Jun 30, 2026
91b9c34
Merge pull request #35321 from storybookjs/sidnioulz/fix-html-lang-re…
Sidnioulz Jun 30, 2026
e4903ff
wip
ndelangen Jun 26, 2026
52f2e4e
Skip play functions in embedded review thumbnail previews.
ghengeveld Jun 30, 2026
3e27933
Merge branch 'next' into shilman/update-mcp-agents
jonniebigodes Jun 30, 2026
9cfc62a
Merge pull request #35328 from storybookjs/shilman/update-mcp-agents
jonniebigodes Jun 30, 2026
e29c00c
Merge branch 'next' into fix/32322-documentation-docs-unclear-about-p…
jonniebigodes Jun 30, 2026
703c783
Merge pull request #34558 from nitzan-treg/fix/32322-documentation-do…
jonniebigodes Jun 30, 2026
7ba9c11
Merge pull request #35320 from storybookjs/sidnioulz/fix-trigger-circ…
Sidnioulz Jun 30, 2026
9e2b30c
Fix(ci): prevent pushes from cancelling in-progress canary publishes
claude Jun 30, 2026
b75bda9
Merge branch 'next' into copilot/documentation-fix-host-flag-security
jonniebigodes Jun 30, 2026
2734397
Merge pull request #35241 from storybookjs/copilot/documentation-fix-…
jonniebigodes Jun 30, 2026
0945d47
Merge branch 'next' into review-sidebar-layout
ghengeveld Jun 30, 2026
576e76e
Fix sidebar-related shortcuts handling
ghengeveld Jun 30, 2026
19e1e8e
Defer review-mode flag until filter setters succeed
ghengeveld Jun 30, 2026
614d8d4
Preserve nav visibility when deriving showSidebar
ghengeveld Jun 30, 2026
5b8a745
Reset mobile menu state when showMenu turns false
ghengeveld Jun 30, 2026
4b0cb28
Clean up review notification sessionStorage in story test
ghengeveld Jun 30, 2026
b4b68df
Fix review exit remounts, false notifications, and re-entry loop.
ghengeveld Jun 30, 2026
0104a63
Hide fullscreen in review mode and clear Reviewing filter on exit.
ghengeveld Jun 30, 2026
5b870b0
Tweaks
kylegach Jun 30, 2026
c4a2c05
Replace placeholder RFC link
JReinhold Jun 30, 2026
14060ac
Merge branch 'next' into docs/experimental-docgen-server-feature-flag
kylegach Jun 30, 2026
5c7180d
Merge pull request #35326 from storybookjs/docs/experimental-docgen-s…
kylegach Jun 30, 2026
cb63c84
Fix review exit visit marking and MobileReview story route mock.
ghengeveld Jun 30, 2026
34d3be7
Fix MobileReview story by avoiding nested LocationProvider.
ghengeveld Jun 30, 2026
2e43ad1
CI: Remove pull_request trigger for canaries
Sidnioulz Jul 1, 2026
ed0d856
Docgen: address review feedback on memory gate scripts and tests
ndelangen Jul 1, 2026
a6a245b
Merge branch 'next' into norbert/oom-docgen-fix
ndelangen Jul 1, 2026
d90e72e
Docgen: trim transcript-style comments in memory gate tooling
ndelangen Jul 1, 2026
0ffd502
make comments less verbose
ndelangen Jul 1, 2026
4cac956
Merge pull request #35282 from storybookjs/ghengeveld/review-thumbnai…
ghengeveld Jul 1, 2026
7f96a9b
Improve review thumbnail scaling and loading UX.
ghengeveld Jul 1, 2026
74e0d51
Docgen: warn once to raise memory limit when recycling under heap pre…
ndelangen Jul 1, 2026
8f2806b
Refactor: Remove ReactDocgenServerMemoryLimitError and update warning…
ndelangen Jul 1, 2026
994214b
Merge branch 'next' into norbert/oom-docgen-fix
ndelangen Jul 1, 2026
4aa28d0
Gate embed remeasure requests until the story has frozen.
ghengeveld Jul 1, 2026
9efd8af
Merge pull request #35323 from storybookjs/fix/preview-core-annotations
ndelangen Jul 1, 2026
9dcabb9
Unify preview thumbnail loading into a load-generation settle model.
ghengeveld Jul 1, 2026
ab43286
Gate embed UI style injection on freeze=finished thumbnails.
ghengeveld Jul 1, 2026
de84ebc
Remove duplicate JS thumbnail scale logic; CSS owns scaling.
ghengeveld Jul 1, 2026
709ad5d
Add CollectionGrid story tests for preview loading lifecycle.
ghengeveld Jul 1, 2026
776a6f9
Drop unused live-observer path from embed resize broadcast.
ghengeveld Jul 1, 2026
ac47eaf
Extract embed query helpers from resize broadcast module.
ghengeveld Jul 1, 2026
bb463c1
Merge remote-tracking branch 'origin/next' into ghengeveld/review-thu…
ghengeveld Jul 1, 2026
5fe3f7b
Merge pull request #35305 from storybookjs/norbert/oom-docgen-fix
ndelangen Jul 1, 2026
20aaf27
Formatting
ghengeveld Jul 1, 2026
0e60b6f
Restore auto-resize for non-freeze embed previews.
ghengeveld Jul 1, 2026
806b17f
Use default Loader status role for review thumbnails.
ghengeveld Jul 1, 2026
83f535a
Fix review thumbnail frame sizing inside grid cells.
ghengeveld Jul 1, 2026
cf9b1ce
Merge pull request #35322 from storybookjs/ghengeveld/review-fullscre…
ghengeveld Jul 1, 2026
c7aa8e4
Merge remote-tracking branch 'origin/next' into ghengeveld/review-thu…
ghengeveld Jul 1, 2026
8baa2cc
Address review feedback after merging next.
ghengeveld Jul 1, 2026
7c10439
Show review preview spinner while queued for a concurrency slot.
ghengeveld Jul 1, 2026
b1572af
Preserve review summary UI when another tab replays the cached review.
ghengeveld Jul 1, 2026
f9f37a4
Add viewport metadata to iframe.resize and scale review thumbnails by…
ghengeveld Jul 1, 2026
af10ec3
Merge pull request #35335 from storybookjs/ghengeveld/review-thumbnai…
ghengeveld Jul 1, 2026
107ce30
Write changelog for 10.5.0-alpha.10 [skip ci]
storybook-bot Jul 1, 2026
05bc764
Merge pull request #35310 from yatishgoel/fix/29221-iframe-scroll-aft…
Sidnioulz Jul 2, 2026
b6ebaa3
Merge pull request #35330 from storybookjs/claude/slack-session-3exg1a
Sidnioulz Jul 2, 2026
33dbc6d
Merge remote-tracking branch 'origin/next' into yann/agentic-review-o…
yannbf Jul 2, 2026
6139d90
Core: Rename ai-review telemetry event to review with mcp-review source
yannbf Jul 2, 2026
ec58f90
Merge pull request #35300 from storybookjs/yann/agentic-review-observ…
yannbf Jul 2, 2026
42c49f1
Move iframe.resize parser next to its payload type and fold frame sty…
ghengeveld Jul 2, 2026
9c005c9
Move preview slot-release ownership into the previewScheduler
ghengeveld Jul 2, 2026
b01cf98
Promote review routes to a first-class layout policy in manager-api
ghengeveld Jul 2, 2026
52a80a9
Collapse the review thumbnail cell lifecycle into an explicit phase m…
ghengeveld Jul 2, 2026
07ea0d7
Invert review state ownership: reviewStore is the single source of truth
ghengeveld Jul 2, 2026
ff75881
Derive the review attention banner once, in the store layer
ghengeveld Jul 2, 2026
86dabfa
Render the review summary inside Layout's content cell
ghengeveld Jul 2, 2026
97a19c7
Merge branch 'review-thumbnail-phase-machine' into review-quality-ref…
ghengeveld Jul 2, 2026
8b20f9c
Merge branch 'worktree-agent-abb41cfa8d3e35cae' into review-quality-r…
ghengeveld Jul 2, 2026
aacb7a0
Merge pull request #35221 from lifeiscontent/lifeiscontent/vite-plus-…
Sidnioulz Jul 2, 2026
15dcad5
Merge pull request #35226 from lifeiscontent/lifeiscontent/addon-vite…
Sidnioulz Jul 2, 2026
04d06ee
Unmount main preview while review summary covers content cell
ghengeveld Jul 2, 2026
068e5c7
Fix review summary staying inert on return
ghengeveld Jul 2, 2026
739fecf
Merge origin/next into review-quality-refactor
Copilot Jul 2, 2026
5a4b09c
Wire review summary paths to viewMode review and rename summaryHidden
ghengeveld Jul 3, 2026
11a890b
Fix clearReview leaving persisted review-mode flag behind
ghengeveld Jul 3, 2026
51a43ef
Merge pull request #35302 from storybookjs/version-non-patch-from-10.…
Sidnioulz Jul 3, 2026
4057c41
Bump version from "10.5.0-alpha.9" to "10.5.0-alpha.10" [skip ci]
storybook-bot Jul 3, 2026
385a1f4
Merge branch 'next-release' into next
storybook-bot Jul 3, 2026
c43126a
Merge pull request #35351 from storybookjs/review-quality-refactor
ghengeveld Jul 3, 2026
376d46d
Write changelog for 10.5.0-alpha.11 [skip ci]
storybook-bot Jul 3, 2026
eceb0be
Merge pull request #35362 from storybookjs/version-non-patch-from-10.…
Sidnioulz Jul 3, 2026
fac05a5
Bump version from "10.5.0-alpha.10" to "10.5.0-alpha.11" [skip ci]
storybook-bot Jul 3, 2026
1237856
Write changelog for 10.5.0-beta.0 [skip ci]
storybook-bot Jul 3, 2026
0ebacae
Merge pull request #35367 from storybookjs/version-non-patch-from-10.…
Sidnioulz Jul 6, 2026
f0bf138
Bump version from "10.5.0-alpha.11" to "10.5.0-beta.0" [skip ci]
storybook-bot Jul 6, 2026
e692333
Core: Extract StorybookFeatures interface so addons can augment featu…
yannbf Jul 6, 2026
423e2f2
Core: Add experimentalReview feature flag and gate the review feature
yannbf Jul 6, 2026
275e35d
Merge pull request #35382 from storybookjs/next-release
Sidnioulz Jul 7, 2026
e72753b
Merge pull request #35379 from storybookjs/yann/augmentable-features-…
ghengeveld Jul 7, 2026
0b9af3b
Write changelog for 10.5.0-beta.1 [skip ci]
storybook-bot Jul 7, 2026
f924f4c
Merge pull request #35383 from storybookjs/version-non-patch-from-10.…
Sidnioulz Jul 7, 2026
a4ce979
Bump version from "10.5.0-beta.0" to "10.5.0-beta.1" [skip ci]
storybook-bot Jul 7, 2026
59833be
Merge origin/next into sidebar-2 sticky-tree branch
claude Jul 7, 2026
0596377
Implement sticky selected-node ancestors and repair post-merge breakage
claude Jul 7, 2026
3d8c184
Patch react-aria to survive detached documents in isInert/calculatePo…
claude Jul 7, 2026
d69e162
Address thermonuclear review findings across the sidebar tree
claude Jul 7, 2026
a981888
Fix regressions found by the review gap-sweep
claude Jul 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
22 changes: 22 additions & 0 deletions .agents/skills/handle-pr-comments/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: handle-pr-comments
description: Triage and resolve GitHub PR review comments one by one, interactively. Use when the user asks to handle, address, respond to, or resolve PR review comments, or mentions reviewer feedback on a pull request.
---

# Handle PR Comments

Evaluate review comments on the PR (from the current branch, or a PR number/URL if given). For each unresolved comment: summarize the feedback, suggest a resolution, ask the user how to resolve it, apply their choice, commit if needed, and resolve the thread.

1. **Find the PR.** Use the given number/URL, else derive it from the current branch (`gh pr view`). Stop if no PR exists.

2. **Fetch unresolved review threads** via the GraphQL `reviewThreads` field on the pull request — request each thread's `id`, `isResolved`, `isOutdated`, `path`, `line`, and comments. Filter to `isResolved == false`. (Use GraphQL, not REST: only it exposes thread `id`s and resolution state.)

3. **Loop one comment at a time.** For each: (a) summarize the feedback + file/line, reading surrounding code; (b) suggest a concrete fix; (c) ask via AskQuestion with options — apply suggested fix / apply a different fix / reply only / skip; (d) apply the choice; (e) if applicable, summarize what was changed and ask whether to commit; (f) resolve the thread via the GraphQL `resolveReviewThread` mutation.

4. **Report** an overview of what was changed, committed, replied to, skipped, and resolved. Include links.

## Notes

- Handle real-user comments before addressing AI agents' (Copilot, CodeRabbit).
- Group duplicate comments; when the same/similar issue is mentioned multiple times, handle them all at once.
- Make a separate commit for each change.
77 changes: 77 additions & 0 deletions .agents/skills/open-pr/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
---
name: open-pr
description: Opens a pull request from the current branch using the PR template. Use when the user asks to open a PR, create a pull request, or invokes /open-pr.
allowed-tools: Bash, Read, AskQuestion
---

# Open Pull Request

Opens a draft PR from the current branch following Storybook conventions.

## Workflow

### 1. Gather context

Run in parallel: `git status`, `git diff`, `git log --oneline <base>...HEAD` (after step 2), `git branch -vv`.

Push first if needed: `git push -u origin HEAD`.

### 2. Detect base branch

```bash
git fetch origin
bash .agents/skills/open-pr/scripts/detect-base-branch.sh
```

Detects base in order: tracked upstream → reflog checkout source → closest `origin/*` ancestor (fewest commits from branch tip to HEAD). Supports telescoped/stacked PRs off feature branches, not only `next`/`main`. Skips branches at the same commit as HEAD. Tie-break: feature branch over trunk, then `next` over `main`. Falls back to `next`. Tell the user the result.

### 3. Ask for labels

Use **AskQuestion** for three questions. Options from `.github/PULL_REQUEST_TEMPLATE.md`:

| Question | Options |
| -------- | ------- |
| CI label | `ci:normal`, `ci:merged`, `ci:daily` |
| QA label | `qa:needed`, `qa:skip` |
| Type label | `bug`, `maintenance`, `dependencies`, `build`, `cleanup`, `documentation`, `feature request`, `BREAKING CHANGE`, `other` |

Verify the available labels with the PR template.

### 4. Draft title and body

**Title:** `[Area]: [Description]` — see the `pr` skill for format and examples.

**Body:** Read `.github/PULL_REQUEST_TEMPLATE.md`. Copy it **exactly** (keep all HTML comments). Fill in:

- `Closes #` when an issue is linked
- **What I did**
- Testing checkboxes and mandatory manual-testing steps (or state why none is needed)
- Documentation checkboxes when applicable
- Leave maintainer checklist items unchecked

### 5. Create the PR

```bash
gh pr create \
--draft \
--base "<detected-base>" \
--title "<Area>: <Description>" \
--body "$(cat <<'EOF'
<FILLED_TEMPLATE>
EOF
)" \
--assignee @me \
--label "<type>,<ci>,<qa>"
```

### 6. Report and offer canary

Share the PR URL. Then **AskQuestion**: "Do you want to create a canary release for this PR?"

- **Yes** — run `/canary <PR_NUMBER>` and report workflow status
- **No** — stop

## Notes

- Always draft; always assign `@me`.
- For canary details after publishing, see the `canary` skill.
137 changes: 137 additions & 0 deletions .agents/skills/open-pr/scripts/detect-base-branch.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
#!/usr/bin/env bash
# Pick the remote branch the current branch most likely forked from.
# Supports telescoped/stacked PRs by scanning all origin/* ancestors.
set -euo pipefail

current_branch=$(git branch --show-current)
head_tip=$(git rev-parse HEAD)
best=""
min_commits=999999
best_is_feature=0

is_trunk() {
case "$1" in
main | next) return 0 ;;
*) return 1 ;;
esac
}

normalize_branch_name() {
local name=$1
name=${name#origin/}
name=${name#remotes/origin/}
echo "${name}"
}

branch_exists_on_origin() {
git rev-parse --verify "origin/$1" >/dev/null 2>&1
}

is_valid_base() {
local branch=$1
local ref="origin/${branch}"

[ "${branch}" != "${current_branch}" ] || return 1
branch_exists_on_origin "${branch}" || return 1

local branch_tip
branch_tip=$(git rev-parse "${ref}")
[ "${branch_tip}" != "${head_tip}" ] || return 1
git merge-base --is-ancestor "${ref}" HEAD 2>/dev/null
}

commit_count_since() {
git rev-list --count "origin/$1..HEAD"
}

consider() {
local branch=$1
local commit_count=$2

if ! is_valid_base "${branch}"; then
return
fi

local is_feature=0
is_trunk "${branch}" || is_feature=1

if [ -z "${best}" ]; then
best=${branch}
min_commits=${commit_count}
best_is_feature=${is_feature}
return
fi

if [ "${commit_count}" -lt "${min_commits}" ]; then
best=${branch}
min_commits=${commit_count}
best_is_feature=${is_feature}
return
fi

if [ "${commit_count}" -gt "${min_commits}" ]; then
return
fi

# Tie: prefer telescoped parent over trunk, then next over main.
if [ "${best_is_feature}" -eq 0 ] && [ "${is_feature}" -eq 1 ]; then
best=${branch}
best_is_feature=${is_feature}
return
fi

if [ "${best_is_feature}" -eq 1 ] && [ "${is_feature}" -eq 0 ]; then
return
fi

if [ "${branch}" = "next" ]; then
best=${branch}
best_is_feature=${is_feature}
fi
}

try_explicit_base() {
local branch=$1
branch=$(normalize_branch_name "${branch}")
consider "${branch}" "$(commit_count_since "${branch}")"
}

# 1. Tracked upstream (set when branching with -u or --track)
if upstream=$(git rev-parse --abbrev-ref '@{upstream}' 2>/dev/null); then
try_explicit_base "${upstream}"
fi

# 2. Reflog: most recent branch we checked out from
if [ -z "${best}" ]; then
while IFS= read -r line; do
if [[ ${line} =~ checkout:\ moving\ from\ (.+)\ to\ ${current_branch} ]]; then
try_explicit_base "${BASH_REMATCH[1]}"
break
fi
if [[ ${line} =~ branch:\ Created\ from\ (.+) ]]; then
try_explicit_base "${BASH_REMATCH[1]}"
break
fi
done < <(git reflog show --format='%gs' "${current_branch}" 2>/dev/null || true)
fi

# 3. Scan all origin/* branches — closest strict ancestor wins
while IFS= read -r ref; do
branch=${ref#origin/}

if [ "${branch}" = "HEAD" ] || [ "${branch}" = "${current_branch}" ]; then
continue
fi

if ! is_valid_base "${branch}"; then
continue
fi

consider "${branch}" "$(commit_count_since "${branch}")"
done < <(git for-each-ref --format='%(refname:short)' refs/remotes/origin/)

if [ -z "${best}" ]; then
best="next"
fi

echo "${best}"
40 changes: 39 additions & 1 deletion .agents/skills/pr/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,16 +41,54 @@ Add these labels to the PR:
- `ci:daily` - daily sandbox set; use this when changes affect prerelease sandboxes or sandboxes pinned to a framework or React version other than latest
- `ci:docs` - documentation-only changes (use with `documentation` category)

**QA (required, pick one):**

Tells the release team whether manual QA is needed before the next minor release.

- `qa:needed` — a human must manually verify this PR at release time
- `qa:skip` — no per-PR manual QA needed at release time

Heuristics:

- User explicitly asked for manual QA before release → `qa:needed`
- Part of a larger project that gets holistic QA (not per-PR) → `qa:skip`
- Touches paths, filesystem, or anything that could break on Windows → `qa:needed`
- Complex change spanning multiple areas that must work together → `qa:needed`
- Small change in central/shared code with high side-effect risk (e.g. layout CSS in shared UI) → `qa:needed`
- Simple, straightforward change → `qa:skip`
- Unsure → ask the user whether manual QA before minor release is necessary

## PR body

Read `.github/PULL_REQUEST_TEMPLATE.md` from the repository root.

Copy that template **EXACTLY**, including all HTML comments (`<!-- ... -->`). Fill in the relevant sections based on the changes, but keep all comments intact.

### Manual testing (required)

The **Manual testing** section is mandatory — never leave it empty. Write steps for a separate maintainer, not a log of how you tested.

Each step should be:

- Clear and easy to follow
- Copy-pasteable shell commands where applicable
- Explicit about what behavior to inspect (expected outcome, not just "check it works")
- Linked to specific stories for UI changes, or to build artifacts when relevant
- Lists areas most likely to regress and worth extra scrutiny

**Verify your own steps first** — run through them locally before opening the PR.

When useful, link to published Chromatic Storybooks (CI must finish first; links won't work immediately after opening the PR):

- Internal UI: `https://<branch>--635781f3500dd2c49e189caf.chromatic.com/?path=/story/<story_id>`
- React Vite TS: `https://<branch>--630511d655df72125520f051.chromatic.com/?path=/story/<story_id>`

Replace `<branch>` with Chromatic's normalized slug (special chars → dashes, e.g. `feature/foo` → `feature-foo`) and `<story_id>` with the story path (e.g. `example-button--primary`).

## Command

Always create PRs in draft mode:

```bash
gh pr create --draft --title "<Area>: <Description>" --body "<FILLED_TEMPLATE>" --label "<category>,<ci>"
gh pr create --draft --title "<Area>: <Description>" --body "<FILLED_TEMPLATE>" --label "<category>,<ci>,<qa>"
```
49 changes: 49 additions & 0 deletions .agents/skills/rebuild-restart-storybook/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
name: rebuild-restart-storybook
description: Rebuild and restart the internal Storybook UI after changes to internal Storybook code (core, addons, frameworks, renderers, libs, etc.), then optionally display a UI review. Use after editing any package in the Storybook monorepo's code/ directory, or when the user asks to rebuild and/or restart Storybook.
allowed-tools: Bash, Read
---

# Rebuild and Restart Storybook

After making changes to internal Storybook code (core, addons or otherwise), follow this workflow.

## Step 1: Ask whether to rebuild and restart (in case of model invocation)

Unless the user explicitly ran `/rebuild-restart-storybook`, ask the user whether they want to rebuild and restart Storybook. If they decline, stop here.

## Step 2: Determine modified packages

Build a space-separated list of the monorepo packages that were modified in the conversation. For each modified package, find its Nx project name in the `project.json` file in that package's directory (the `name` field), not the `package.json` name.

For example, if `code/addons/review` and `code/addons/vitest` were modified, the list is `addon-review addon-vitest`.

## Step 3: Run the build and start commands in sequence

Run these in the `code` directory, in order. Substitute `<extra packages>` with the list from Step 2.

```bash
rm -rf node_modules/.cache
yarn
yarn build storybook <extra packages>
```

Then, run in the background:

```bash
NODE_OPTIONS="--preserve-symlinks" yarn storybook:ui --no-open
```

### Handle an occupied port

A Storybook may already be running. If the port is occupied, cancel the start, kill the old process to free the port, then start Storybook again.

## Step 4: Provide the URL and ask about a review

Once Storybook has started, give the user the URL. Then ask whether they want to display a review.

## Step 5: Display the review

If the user wants a review, use Storybook's `display-review` MCP tool to create a UI review of relevant stories. Pick a set of stories related to the entirety of the conversation so far.

If there are no relevant stories because no UI elements were touched, ask the user what they would like to see a review for.
Loading
Loading