| react-profiling | 0 |
| react-import-map | react,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@d5750093facf |
| route-pattern | /_view_fragments/voltron/pull_requests/show/:user_id/:repository/:id/pull_request_layout(.:format) |
| route-controller | voltron_pull_requests_fragments |
| route-action | pull_request_layout |
| fetch-nonce | v2:3ba091d3-e1a8-166b-5207-c317283cca55 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | D51E:347B18:CE0246:11C845C:6AEC4C96 |
| html-safe-nonce | 4a21ad1c5921dd883d357d7adb4d11ca21121c6e08196a820146d9aff008dbc4 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJENTFFOjM0N0IxODpDRTAyNDY6MTFDODQ1Qzo2QUVDNEM5NiIsInZpc2l0b3JfaWQiOiIxNTM3NjY0NDEwNDg4NDI1NjIyIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 443858f3130d369365dc832a0d78fc0f7a9c6cc740f2f4406fb802c3d2cbe837 |
| hovercard-subject-tag | pull_request:4266904152 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | ///voltron/pull_requests_fragments/pull_request_layout |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/voltron/pull_requests/show/rstackjs/rstack-cli/336/pull_request_layout |
| twitter:image | https://opengraph.githubassets.com/a44fafd1248a92808a6785b33fde52eca322db5c7e7760886286e10942310665/rstackjs/rstack-cli/pull/336 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/a44fafd1248a92808a6785b33fde52eca322db5c7e7760886286e10942310665/rstackjs/rstack-cli/pull/336 |
| og:image:alt | Summary
add a small public Rstack CLI plugin SPI with explicit define.plugins registration, sequential setup, custom commands, and typed config modifiers
compose plugin contributions into Rsbuild,... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | ScriptedAlchemy |
| hostname | github.com |
| expected-hostname | github.com |
| None | 6ca32965856ea81b6bbd73c353376d516b913c9368e537437211a5ba6c79a978 |
| turbo-cache-control | no-cache |
| go-import | github.com/rstackjs/rstack-cli git https://github.com/rstackjs/rstack-cli.git |
| octolytics-dimension-user_id | 129049372 |
| octolytics-dimension-user_login | rstackjs |
| octolytics-dimension-repository_id | 1138027854 |
| octolytics-dimension-repository_nwo | rstackjs/rstack-cli |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1138027854 |
| octolytics-dimension-repository_network_root_nwo | rstackjs/rstack-cli |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 5b0bb888fe458de0a1a56c4af462f1e3e4bb053a |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
| react-app-name | pull-requests |
| Skip to content | https://github.com/rstackjs/rstack-cli/pull/336#start-of-content |
| https://github.com/ |
| Sign in | https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Frstackjs%2Frstack-cli%2Fpull%2F336 |
| GitHubRepository hosting, code review, and collaboration | https://github.com/platform |
| CopilotAI coding agent for tasks, projects and automated work | https://github.com/features/copilot |
| ActionsCI/CD and automation | https://github.com/features/actions |
| Code QualityQuality analysis, fixes, and enforcement | https://github.com/features/code-quality |
| CodespacesCloud development environments | https://github.com/features/codespaces |
| Code SecurityVulnerability detection and remediation | https://github.com/security/advanced-security/code-security |
| Secret ProtectionSecret scanning and leak prevention | https://github.com/security/advanced-security/secret-protection |
| All Features | https://github.com/features |
| Documentation | https://docs.github.com/en |
| Training | https://learn.github.com/skills |
| Certifications | https://learn.github.com/credentials |
| Build with Copilot | https://github.com/features/ai |
| Customize Copilot | https://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/customize-copilot-overview |
| Integrations | https://github.com/marketplace |
| Trending repos | https://github.com/trending |
| GitHub Sponsors | https://github.com/open-source/sponsors |
| Developer articles | https://github.com/resources/articles |
| ChangelogYour source for the latest features, improvements, and fixes across GitHub products, all in one place. | https://github.blog/changelog/ |
| Enterprises | https://github.com/enterprise |
| Team | https://github.com/team |
| Startups | https://github.com/enterprise/startups |
| Nonprofits | https://github.com/solutions/industry/nonprofits |
| Healthcare | https://github.com/solutions/industry/healthcare |
| Financial services | https://github.com/solutions/industry/financial-services |
| Manufacturing | https://github.com/solutions/industry/manufacturing |
| Government | https://github.com/solutions/industry/government |
| See all industries | https://github.com/solutions/industry |
| Why GitHub | https://github.com/why-github |
| Customer Stories | https://github.com/customer-stories |
| Business insights | https://github.com/solutions/executive-insights |
| Trust Center | https://github.com/trust-center |
| GitHub Advanced SecurityEnterprise-grade code security | https://github.com/security/advanced-security |
| Copilot for businessEnterprise-grade AI features | https://github.com/features/copilot/copilot-business |
| Premium SupportEnterprise-grade 24/7 support | https://github.com/enterprise/premium-support |
| Documentation | https://docs.github.com/en |
| Resource center | https://github.com/resources |
| Blog | https://github.blog/ |
| Events & webinars | https://github.com/resources/events |
| Community Forum | https://github.com/orgs/community/discussions |
| Customer Stories | https://github.com/customer-stories |
| Integrations | https://github.com/marketplace |
| Customer support | https://help.github.com/ |
| Training | https://learn.github.com/skills |
| GitHub Status | https://www.githubstatus.com/ |
| About | https://github.com/about |
| Partners | https://github.com/partners |
| Changelog | https://github.blog/changelog/ |
| GitHub UniverseThe event for developers, by developers — talks, workshops, and what’s next for GitHub. | https://githubuniverse.com/ |
| Pricing | https://github.com/pricing |
| Sign in | https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Frstackjs%2Frstack-cli%2Fpull%2F336 |
| Sign up | https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fpull_requests_fragments%2Fpull_request_layout&source=header-repo&source_repo=rstackjs%2Frstack-cli |
| Reload | https://github.com/rstackjs/rstack-cli/pull/336 |
| Reload | https://github.com/rstackjs/rstack-cli/pull/336 |
| Reload | https://github.com/rstackjs/rstack-cli/pull/336 |
| rstackjs | https://github.com/rstackjs |
| rstack-cli | https://github.com/rstackjs/rstack-cli |
| Code | https://github.com/rstackjs/rstack-cli |
| Issues3 (3) | https://github.com/rstackjs/rstack-cli/issues |
| Pull requests1 (1) | https://github.com/rstackjs/rstack-cli/pulls |
| Discussions | https://github.com/rstackjs/rstack-cli/discussions |
| Actions | https://github.com/rstackjs/rstack-cli/actions |
| Projects | https://github.com/rstackjs/rstack-cli/projects |
| Security and quality | https://github.com/rstackjs/rstack-cli/security |
| Insights | https://github.com/rstackjs/rstack-cli/pulse |
| https://github.com/rstackjs/rstack-cli |
| ScriptedAlchemy | https://github.com/ScriptedAlchemy |
| rstackjs:main | https://github.com/rstackjs/rstack-cli/tree/main |
| ScriptedAlchemy:codex/rstack-plugin-spi | https://github.com/ScriptedAlchemy/rstack-cli/tree/codex/rstack-plugin-spi |
| Conversation | https://github.com/rstackjs/rstack-cli/pull/336 |
| Commits12 (12) | https://github.com/rstackjs/rstack-cli/pull/336/commits |
| Checks | https://github.com/rstackjs/rstack-cli/pull/336/checks |
| Files changed | https://github.com/rstackjs/rstack-cli/pull/336/files |
| feat(rstack): add plugin SPI | https://github.com/rstackjs/rstack-cli/pull/336#top |
| ScriptedAlchemy | https://github.com/ScriptedAlchemy |
| rstackjs:main | https://github.com/rstackjs/rstack-cli/tree/main |
| ScriptedAlchemy:codex/rstack-plugin-spi | https://github.com/ScriptedAlchemy/rstack-cli/tree/codex/rstack-plugin-spi |
|
| https://github.com/ScriptedAlchemy |
| ScriptedAlchemy | https://github.com/ScriptedAlchemy |
| Aug 12, 2026 | https://github.com/rstackjs/rstack-cli/pull/336#issue-5136363852 |
| Please reload this page | https://github.com/rstackjs/rstack-cli/pull/336 |
| ScriptedAlchemy | https://github.com/ScriptedAlchemy |
| August 12, 2026 22:54 | https://github.com/rstackjs/rstack-cli/pull/336#commits-pushed-017f5ed |
|
| https://github.com/ScriptedAlchemy |
| feat(rstack): define plugin SPI | https://github.com/rstackjs/rstack-cli/pull/336/commits/017f5eda6f3855a1d1bfa0152fd00d8bf66b3050 |
| 017f5ed | https://github.com/rstackjs/rstack-cli/pull/336/commits/017f5eda6f3855a1d1bfa0152fd00d8bf66b3050 |
|
| https://github.com/ScriptedAlchemy |
| feat(rstack): support plugin commands | https://github.com/rstackjs/rstack-cli/pull/336/commits/a7b901e9ad9798eda16b4c26223249aea34994bd |
| a7b901e | https://github.com/rstackjs/rstack-cli/pull/336/commits/a7b901e9ad9798eda16b4c26223249aea34994bd |
|
| https://github.com/ScriptedAlchemy |
| feat(rstack): apply plugin config modifiers | https://github.com/rstackjs/rstack-cli/pull/336/commits/884d2af9e8a16dfdea7817fcf087a91733d46b1b |
| 884d2af | https://github.com/rstackjs/rstack-cli/pull/336/commits/884d2af9e8a16dfdea7817fcf087a91733d46b1b |
|
| https://github.com/ScriptedAlchemy |
| fix(rstack): harden plugin runtime | https://github.com/rstackjs/rstack-cli/pull/336/commits/4563930bbb3f17b8c40f76aac708ff931b81e3e8 |
| 4563930 | https://github.com/rstackjs/rstack-cli/pull/336/commits/4563930bbb3f17b8c40f76aac708ff931b81e3e8 |
|
| https://github.com/ScriptedAlchemy |
| docs: document Rstack plugins | https://github.com/rstackjs/rstack-cli/pull/336/commits/623c4cba776111cbad56d1bc4d6b88a5a904af9a |
| 623c4cb | https://github.com/rstackjs/rstack-cli/pull/336/commits/623c4cba776111cbad56d1bc4d6b88a5a904af9a |
| https://github.com/apps/chatgpt-codex-connector |
| chatgpt-codex-connector | https://github.com/apps/chatgpt-codex-connector |
|
Aug 13, 2026
| https://github.com/rstackjs/rstack-cli/pull/336#pullrequestreview-4922161059 |
|
View reviewed changes
| https://github.com/rstackjs/rstack-cli/pull/336/files/623c4cba776111cbad56d1bc4d6b88a5a904af9a |
| chatgpt-codex-connector | https://github.com/apps/chatgpt-codex-connector |
| https://github.com/rstackjs/rstack-cli/pull/336#pullrequestreview-4922161059 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Your team has set up Codex to review pull requests in this repo | https://chatgpt.com/codex/cloud/settings/general |
| @codex | https://github.com/codex |
| @codex | https://github.com/codex |
| Please reload this page | https://github.com/rstackjs/rstack-cli/pull/336 |
| packages/rstack/src/rsbuildConfig.ts | https://github.com/rstackjs/rstack-cli/pull/336/files/623c4cba776111cbad56d1bc4d6b88a5a904af9a#diff-9f171a1feb569c7a014cca9d22c2dcbb0293d3f5bb9684db01ddeffbd00e67bd |
| Please reload this page | https://github.com/rstackjs/rstack-cli/pull/336 |
|
| https://github.com/ScriptedAlchemy |
| refactor(rstack): reuse loaded plugin runtime | https://github.com/rstackjs/rstack-cli/pull/336/commits/e333b4d586743be1e33bd490d3f55505c4eb1515 |
| e333b4d | https://github.com/rstackjs/rstack-cli/pull/336/commits/e333b4d586743be1e33bd490d3f55505c4eb1515 |
| https://github.com/ScriptedAlchemy |
| ScriptedAlchemy | https://github.com/ScriptedAlchemy |
| Aug 13, 2026 | https://github.com/rstackjs/rstack-cli/pull/336#issuecomment-5274231390 |
| Please reload this page | https://github.com/rstackjs/rstack-cli/pull/336 |
| ScriptedAlchemy | https://github.com/ScriptedAlchemy |
| August 13, 2026 00:08 | https://github.com/rstackjs/rstack-cli/pull/336#commits-pushed-3825894 |
|
| https://github.com/ScriptedAlchemy |
| fix(rstack): initialize plugins before config factories | https://github.com/rstackjs/rstack-cli/pull/336/commits/38258948f7fbc864e48925764d76625ab1429243 |
| 3825894 | https://github.com/rstackjs/rstack-cli/pull/336/commits/38258948f7fbc864e48925764d76625ab1429243 |
|
| https://github.com/ScriptedAlchemy |
| refactor(rstack): simplify plugin lifecycle code | https://github.com/rstackjs/rstack-cli/pull/336/commits/8ab7c6079dacfe2ce246112d8e1e3ff68edd9304 |
| 8ab7c60 | https://github.com/rstackjs/rstack-cli/pull/336/commits/8ab7c6079dacfe2ce246112d8e1e3ff68edd9304 |
|
| https://github.com/ScriptedAlchemy |
| refactor(rstack): clarify automatic test config resolution | https://github.com/rstackjs/rstack-cli/pull/336/commits/949e3e111fb9ddc59997648f100986a4dae9c21c |
| 949e3e1 | https://github.com/rstackjs/rstack-cli/pull/336/commits/949e3e111fb9ddc59997648f100986a4dae9c21c |
| https://github.com/ScriptedAlchemy |
| ScriptedAlchemy | https://github.com/ScriptedAlchemy |
| Aug 13, 2026 | https://github.com/rstackjs/rstack-cli/pull/336#issuecomment-5274759491 |
| @chenjiahan | https://github.com/chenjiahan |
| @fi3ework | https://github.com/fi3ework |
| Please reload this page | https://github.com/rstackjs/rstack-cli/pull/336 |
| https://github.com/chenjiahan |
| chenjiahan | https://github.com/chenjiahan |
|
Aug 13, 2026
| https://github.com/rstackjs/rstack-cli/pull/336#pullrequestreview-4922832708 |
|
View reviewed changes
| https://github.com/rstackjs/rstack-cli/pull/336/files/949e3e111fb9ddc59997648f100986a4dae9c21c |
| chenjiahan | https://github.com/chenjiahan |
| https://github.com/rstackjs/rstack-cli/pull/336#pullrequestreview-4922832708 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Please reload this page | https://github.com/rstackjs/rstack-cli/pull/336 |
| ScriptedAlchemy | https://github.com/ScriptedAlchemy |
| August 13, 2026 21:37 | https://github.com/rstackjs/rstack-cli/pull/336#commits-pushed-afde873 |
|
| https://github.com/ScriptedAlchemy |
| chore: merge main into plugin SPI | https://github.com/rstackjs/rstack-cli/pull/336/commits/afde873c206002ea07a1b31c306bedb6e798eb9a |
| afde873 | https://github.com/rstackjs/rstack-cli/pull/336/commits/afde873c206002ea07a1b31c306bedb6e798eb9a |
|
| https://github.com/ScriptedAlchemy |
| chore: merge main into plugin SPI | https://github.com/rstackjs/rstack-cli/pull/336/commits/96b0de56de1a7b614e1c54a2c757930cb85974c1 |
| 96b0de5 | https://github.com/rstackjs/rstack-cli/pull/336/commits/96b0de56de1a7b614e1c54a2c757930cb85974c1 |
|
| https://github.com/ScriptedAlchemy |
| Merge remote-tracking branch 'origin/main' into codex/rstack-plugin-spi | https://github.com/rstackjs/rstack-cli/pull/336/commits/c9a8677e72dcdce4810ffb9f04558a22072ec633 |
| c9a8677 | https://github.com/rstackjs/rstack-cli/pull/336/commits/c9a8677e72dcdce4810ffb9f04558a22072ec633 |
| https://github.com/ScriptedAlchemy |
| ScriptedAlchemy | https://github.com/ScriptedAlchemy |
| August 19, 2026 02:29 | https://github.com/rstackjs/rstack-cli/pull/336#event-29656954153 |
| https://github.com/ScriptedAlchemy |
| ScriptedAlchemy | https://github.com/ScriptedAlchemy |
| Sep 23, 2026 | https://github.com/rstackjs/rstack-cli/pull/336#issuecomment-5804365256 |
| #504 | https://github.com/rstackjs/rstack-cli/discussions/504 |
| #504 | https://github.com/rstackjs/rstack-cli/discussions/504 |
| rstackjs/context#1 | https://github.com/rstackjs/context/pull/1 |
| rstackjs/agent-skills#102 | https://github.com/rstackjs/agent-skills/pull/102 |
| Please reload this page | https://github.com/rstackjs/rstack-cli/pull/336 |
| https://github.com/ScriptedAlchemy |
| ScriptedAlchemy | https://github.com/ScriptedAlchemy |
| Sep 23, 2026 | https://github.com/rstackjs/rstack-cli/pull/336#event-31715716689 |
| https://github.com/ScriptedAlchemy |
| ScriptedAlchemy | https://github.com/ScriptedAlchemy |
|
Sep 24, 2026
| https://github.com/rstackjs/rstack-cli/pull/336#ref-pullrequest-5147547240 |
|
feat: establish standalone Rstack Context runtime
rstackjs/context#1
| https://github.com/rstackjs/context/pull/1 |
| https://github.co/hiddenchars |
| https://github.com/rstackjs/rstack-cli/pull/{{ revealButtonHref }} |
| Sign up for free | https://github.com/join?source=comment-repo |
| Sign in to comment | https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Frstackjs%2Frstack-cli%2Fpull%2F336 |
|
| https://github.com/chenjiahan |
|
chenjiahan
| https://github.com/chenjiahan |
|
| https://github.com/rstackjs/rstack-cli/pull/336/files/949e3e111fb9ddc59997648f100986a4dae9c21c |
|
| https://github.com/apps/chatgpt-codex-connector |
|
chatgpt-codex-connector[bot]
| https://github.com/apps/chatgpt-codex-connector |
|
| https://github.com/rstackjs/rstack-cli/pull/336/files/623c4cba776111cbad56d1bc4d6b88a5a904af9a |
| Please reload this page | https://github.com/rstackjs/rstack-cli/pull/336 |
| Please reload this page | https://github.com/rstackjs/rstack-cli/pull/336 |
|
| https://github.com/ScriptedAlchemy |
|
| https://github.com/chenjiahan |
|
| https://github.com |
| Terms | https://docs.github.com/site-policy/github-terms/github-terms-of-service |
| Privacy | https://docs.github.com/site-policy/privacy-policies/github-privacy-statement |
| Security | https://github.com/security |
| Status | https://www.githubstatus.com/ |
| Community | https://github.community/ |
| Docs | https://docs.github.com/ |
| Contact | https://support.github.com?tags=dotcom-footer |