Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
978b7cf
Initial plan
Copilot Apr 16, 2026
59be610
fix: improve detectLanguage() to show specific failing checks and tre…
Copilot Apr 16, 2026
bc15365
fix: update detectLanguage() warning to not mention examples since th…
Copilot Apr 16, 2026
5352471
plan: move warning from detectLanguage() to caller
Copilot Apr 16, 2026
f7fcfb3
refactor: move warning from detectLanguage() to caller for proper sep…
Copilot Apr 16, 2026
8de2130
refactor: separate detectLanguage() and detectIncompatiblePackageVers…
Copilot Apr 16, 2026
1fcf3fe
Docs: Improve agentic setup docs
kylegach Apr 28, 2026
5479f25
Update install prompt, add callouts
kylegach Apr 30, 2026
1c3a6be
Merge branch 'next' into docs-updates
kylegach Apr 30, 2026
8e44c34
Switch to serialized event
kylegach Apr 30, 2026
b70c360
Update prompt callout text
kylegach Apr 30, 2026
3593430
Sidebar: show same status icon at story and group level
valentinpalkovic May 4, 2026
55e14e9
Remove unnecessary disclaimer
kylegach May 5, 2026
2a5f7b8
Merge branch 'next' into docs-updates
kylegach May 5, 2026
f7274cc
Merge branch 'valentin/change-detection-changes' into valentin/change…
valentinpalkovic May 5, 2026
29dfb88
More updates
kylegach May 5, 2026
a89fc4a
Improve check-docs script
kylegach May 5, 2026
d5fe9be
Merge branch 'next' into docs-updates
kylegach May 5, 2026
1bd2e1e
Apply suggestion from @Sidnioulz
kylegach May 5, 2026
da2c1b7
Address feedback
kylegach May 5, 2026
554c0da
docs: fix three grammar issues in contribute/code page
qadir1020 May 6, 2026
bd44e1c
Merge branch 'next' into docs/fix-typo
qadir1020 May 6, 2026
19d8172
Agentic Setup: Add --extensive for an extra prompt
Sidnioulz May 6, 2026
29dd19a
Add story
valentinpalkovic May 6, 2026
cfa5d30
Merge remote-tracking branch 'origin/valentin/change-detection-change…
Copilot May 6, 2026
da21f4b
Agentic Setup: Add runId to telemetry for ai setup events
Sidnioulz May 6, 2026
332f0e6
Remove skills mention from init
Sidnioulz May 6, 2026
e142f26
Agentic Setup: Provide runId earlier for final scoring
Sidnioulz May 6, 2026
80d1b7b
Fix ai checklist util mocks
Sidnioulz May 6, 2026
797b704
Update JSDoc
Sidnioulz May 6, 2026
4f335db
Rework run deduplication logic for final telemetry
Sidnioulz May 6, 2026
e458309
Docs: Add documentation for the publishing via the share menu
kylegach May 6, 2026
40599d3
Tweaks
kylegach May 6, 2026
7527438
Docs: Fixes for change detection
kylegach May 6, 2026
6ddfbea
Address feedback
kylegach May 6, 2026
e8fff02
Apply suggestion from @valentinpalkovic
valentinpalkovic May 7, 2026
035fd1c
Ensure runId for ai-setup events is always at the root
Sidnioulz May 7, 2026
38a009a
fix(manager-api): await recompute filter calls to refresh story list
claude May 7, 2026
aa020cd
Address CodeRabbit review feedback
claude May 7, 2026
f3dee0e
Remove duplicate index/refs update in onAllStatusChange handler
claude May 7, 2026
7084834
Update tests
Sidnioulz May 7, 2026
ee67137
Fix: keep original onAllStatusChange timing behavior
claude May 7, 2026
433de11
Merge pull request #34730 from storybookjs/sidnioulz/two-prompt-setup
Sidnioulz May 7, 2026
cab26f4
Ensure ai-init-opt-in is recorded as false when users reject, so we c…
Sidnioulz May 7, 2026
5bca0e8
Use ai-setup run evidence for checklist telemetry, not ai-init-opt-in
Sidnioulz May 7, 2026
1791797
Remove extensive prompt option and related references from ai setup
yannbf May 7, 2026
173a762
Merge pull request #34737 from storybookjs/claude/slack-session-qE8mz
valentinpalkovic May 7, 2026
3d0a415
Update AppRegistry component name in React Native template
ndelangen May 7, 2026
a835ed3
Merge pull request #34740 from storybookjs/yann/undo-extensive-flag
yannbf May 7, 2026
8012378
Update code/lib/create-storybook/templates/react-native/index.js
ndelangen May 7, 2026
308fa0e
Add '@storybook/react-native-ui-lite' to React Native generator and t…
ndelangen May 7, 2026
debadcd
Merge branch 'norbert/dynamic-appname-rn' of github.com:storybookjs/s…
ndelangen May 7, 2026
60561dd
Update React Native entry point tests to use dynamic app name and inc…
ndelangen May 7, 2026
95d2f7e
Merge branch 'next' into norbert/dynamic-appname-rn
ndelangen May 7, 2026
23a2c45
Cli: set ai prompt to yes if yes flag for react-vite to tanstack migr…
huang-julien May 7, 2026
2a75bc0
Merge pull request #34742 from storybookjs/norbert/dynamic-appname-rn
ndelangen May 7, 2026
a4cae09
Address PR feedback
Sidnioulz May 7, 2026
245043f
Merge pull request #34743 from storybookjs/fix/tanstack_automigrate_ai
huang-julien May 7, 2026
d5cbf95
upgrade launch-editor to 2.13.2
JReinhold May 7, 2026
c810c6c
Merge branch 'next' into sidnioulz/ai-init-opt-in-safety
yannbf May 8, 2026
3b2b552
yarn dedupe
JReinhold May 8, 2026
3d49249
Address feedback
kylegach May 8, 2026
9e45213
Merge branch 'next' into docs-updates
kylegach May 8, 2026
0ed2f87
Remove mention of `ai setup` command
kylegach May 8, 2026
c79db75
Merge pull request #34648 from storybookjs/docs-updates
kylegach May 8, 2026
982a94e
Merge branch 'next' into docs-change-detection-fixes
kylegach May 8, 2026
62dac13
Address feedback
kylegach May 8, 2026
0874b09
Merge pull request #34732 from storybookjs/docs-change-detection-fixes
kylegach May 8, 2026
ea0c189
Merge branch 'next' into docs-publish-via-share-menu
kylegach May 8, 2026
c7472c3
Format
kylegach May 8, 2026
b2167d6
Merge pull request #34725 from storybookjs/docs-publish-via-share-menu
kylegach May 8, 2026
f8ad130
Scripts: log error cause
huang-julien May 9, 2026
11d2760
Scripts: fallback to CP + rm for cross-disk dir move
huang-julien May 9, 2026
4fd4885
Merge pull request #34747 from storybookjs/jeppe/fix-launch-vscode
JReinhold May 11, 2026
f003ca4
Core: Quiet change-detection regex warning and swap clear icon
valentinpalkovic May 11, 2026
40f0b29
Merge remote-tracking branch 'origin/next' into valentin/change-detec…
Copilot May 11, 2026
5e39ead
Merge branch 'next' into copilot/fix-type-check-warning-monorepo
yannbf May 11, 2026
54b0a9c
Ci: Run agent-scan for PR from forks only
huang-julien May 11, 2026
b79b235
fix: use octokit to retrieve membership^
huang-julien May 11, 2026
bda4233
Merge pull request #34739 from storybookjs/sidnioulz/ai-init-opt-in-s…
Sidnioulz May 11, 2026
7238b22
Tanstack: Treeshake top-level unused functions
huang-julien May 11, 2026
6178a06
Merge pull request #34758 from storybookjs/valentin/change-detection-…
valentinpalkovic May 11, 2026
6b504f0
Merge pull request #34559 from storybookjs/copilot/fix-type-check-war…
yannbf May 11, 2026
16faf93
Merge branch 'next' into valentin/change-detection-uniform-icons
valentinpalkovic May 11, 2026
320a1dd
apply code suggestions
huang-julien May 11, 2026
4589f3c
Tests: Update tree status count for group-level status icons
valentinpalkovic May 11, 2026
b1bb867
Merge pull request #34759 from storybookjs/ci/run_agent-scan-for-fork…
huang-julien May 11, 2026
6b9b8fb
Merge pull request #34702 from storybookjs/valentin/change-detection-…
valentinpalkovic May 11, 2026
0eab5b5
Merge pull request #34760 from storybookjs/tanstack/treeshake_functions
JReinhold May 11, 2026
e9dd404
docs: fix missing definite article in whats-a-story page
qadir1020 May 11, 2026
751a0ff
Docs: Fix tanstack documentation to move from loaders to beforeEach
huang-julien May 11, 2026
26b5c0c
docs: convert to function
huang-julien May 11, 2026
8877fef
Merge branch 'next' into docs/fix-typo
kylegach May 11, 2026
870fba9
Merge pull request #34764 from storybookjs/docs/tanstack_loader_fix
kylegach May 11, 2026
2d838f0
Merge pull request #34727 from qadir1020/docs/fix-typo
kylegach May 11, 2026
daa197d
Merge pull request #34755 from storybookjs/fix/generate_movedir
JReinhold May 12, 2026
cc871df
Merge pull request #34754 from storybookjs/fix/better_generate_err_logs
JReinhold May 12, 2026
2a456ce
Merge branch 'next-release' into next
ndelangen May 12, 2026
065291f
Merge pull request #34772 from storybookjs/norbert/update-next-with-n…
ndelangen May 12, 2026
c9673cf
Write changelog for 10.4.0-alpha.19 [skip ci]
storybook-bot May 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions .github/scripts/agent-scan-check-org-membership.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
import * as core from '@actions/core';
import * as github from '@actions/github';

async function main() {
const token = core.getInput('token', { required: true });
const org = core.getInput('org', { required: true });
const username = core.getInput('username', { required: true });

const octokit = github.getOctokit(token);

let isOrgMember = false;

try {
await octokit.rest.orgs.checkMembershipForUser({
org,
username,
});

isOrgMember = true;
} catch (error) {
if (error.status === 404) {
} else if (error.status === 302 || error.status === 403) {
core.warning(
`Unable to verify org membership for ${username}; GitHub API returned ${error.status}. Falling back to scanning this fork PR.`
);
} else {
throw error;
}
}

core.setOutput('is-org-member', String(isOrgMember));
core.setOutput('should-scan', String(!isOrgMember));
}

main().catch((error) => {
core.setFailed(error.message);
});
15 changes: 11 additions & 4 deletions .github/workflows/agent-scan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,8 @@ jobs:
agentscan:
if: |
github.repository_owner == 'storybookjs' &&
github.event.pull_request.head.repo.full_name != github.repository &&
!contains(
fromJSON('["OWNER","MEMBER","COLLABORATOR"]'),
github.event.pull_request.author_association
) && !contains(
fromJSON('["dependabot[bot]", "github-actions[bot]","storybook-bot"]'),
github.event.pull_request.user.login
)
Expand All @@ -31,21 +29,30 @@ jobs:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
- name: Install script dependencies
run: npm install --prefix .github/scripts
- name: Check author org membership
id: membership
env:
INPUT_TOKEN: ${{ secrets.GITHUB_TOKEN }}
INPUT_ORG: ${{ github.repository_owner }}
INPUT_USERNAME: ${{ github.event.pull_request.user.login }}
run: node .github/scripts/agent-scan-check-org-membership.mjs
- name: Cache AgentScan analysis
if: steps.membership.outputs.should-scan == 'true'
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7
with:
path: .agentscan-cache
key: agentscan-cache-${{ github.actor }}
restore-keys: agentscan-cache-
- name: AgentScan
if: steps.membership.outputs.should-scan == 'true'
id: agentscan
uses: MatteoGabriele/agentscan-action@a584774dd15cabe6df4c6ab45fc43514a3b56b2d
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
agent-scan-comment: false
cache-path: .agentscan-cache
- name: Label PR with classification
if: steps.agentscan.outputs
if: steps.membership.outputs.should-scan == 'true' && steps.agentscan.outputs.classification
env:
INPUT_TOKEN: ${{ secrets.GITHUB_TOKEN }}
INPUT_CLASSIFICATION: ${{ steps.agentscan.outputs.classification }}
Expand Down
14 changes: 14 additions & 0 deletions CHANGELOG.prerelease.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
## 10.4.0-alpha.19

- Agentic Setup: Add --extensive for an extra prompt - [#34730](https://github.com/storybookjs/storybook/pull/34730), thanks @Sidnioulz!
- Agentic Setup: Rework ai-init-opt-in logic - [#34739](https://github.com/storybookjs/storybook/pull/34739), thanks @Sidnioulz!
- CLI: Improve package incompatibility detection and warning - [#34559](https://github.com/storybookjs/storybook/pull/34559), thanks @copilot-swe-agent!
- CLI: Remove extensive prompt option - [#34740](https://github.com/storybookjs/storybook/pull/34740), thanks @yannbf!
- Cli: Set ai prompt to yes if yes flag for react-vite to tanstack migration - [#34743](https://github.com/storybookjs/storybook/pull/34743), thanks @huang-julien!
- Core: Fix "Open In Editor" support for VSCode - [#34747](https://github.com/storybookjs/storybook/pull/34747), thanks @JReinhold!
- Core: Quiet change-detection regex warning and swap clear icon - [#34758](https://github.com/storybookjs/storybook/pull/34758), thanks @valentinpalkovic!
- ReactNative: AppRegistry component name in template - [#34742](https://github.com/storybookjs/storybook/pull/34742), thanks @ndelangen!
- Sidebar: Fix clear filter button not refreshing story list - [#34737](https://github.com/storybookjs/storybook/pull/34737), thanks @valentinpalkovic!
- Sidebar: Show same status icon at story and group level - [#34702](https://github.com/storybookjs/storybook/pull/34702), thanks @valentinpalkovic!
- Tanstack: Treeshake top-level unused functions - [#34760](https://github.com/storybookjs/storybook/pull/34760), thanks @huang-julien!

## 10.4.0-alpha.18

- Agentic Setup: Allow failed stories to persist - [#34717](https://github.com/storybookjs/storybook/pull/34717), thanks @Sidnioulz!
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import { isExampleStoryId, telemetry } from 'storybook/internal/telemetry';
import type { AgentInfo } from 'storybook/internal/telemetry';

import { mergeAndWriteStoryHistory } from './agent-story-history-cache.ts';
import { getAiSetupRunId } from '../../../../core/src/shared/utils/ai-checklist-flags.ts';

interface AgentTelemetryReporterOptions {
configDir: string;
Expand Down Expand Up @@ -75,6 +76,8 @@ export class AgentTelemetryReporter implements Reporter {
const testModulesErrors = testModules.flatMap((t) => t.errors());
const unhandledErrorCount = unhandledErrors.length + testModulesErrors.length;

const runId = await getAiSetupRunId(this.configDir);

// Fire and forget — same pattern as the existing test-run telemetry
telemetry(
'ai-setup-self-healing-scoring',
Expand All @@ -84,6 +87,7 @@ export class AgentTelemetryReporter implements Reporter {
unhandledErrorCount,
duration,
watch: this.ctx.config.watch,
runId,
},
{ configDir: this.configDir, stripMetadata: true }
);
Expand Down
2 changes: 1 addition & 1 deletion code/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -336,7 +336,7 @@
"jiti": "^2.6.1",
"js-yaml": "^4.1.0",
"jsdoc-type-pratt-parser": "^4.0.0",
"launch-editor": "^2.11.1",
"launch-editor": "^2.13.2",
"lazy-universal-dotenv": "^4.0.0",
"leven": "^4.0.0",
"mdast-util-from-markdown": "^2.0.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ class AliasNormalizer {
for (const p of newPatterns) {
this.warnedRegexAliases.add(p);
}
logger.warn(
logger.debug(
`Change detection: ignored ${skippedRegex.length} regex alias(es); related modules tracked as opaque-leaf.`
);
logger.debug(
Expand Down
Loading
Loading