Skip to content

feat(build): ship step-skill variants as one bundle per group#243

Merged
gewenyu99 merged 5 commits into
mainfrom
feat/bundle-step-skill-variants
Jul 16, 2026
Merged

feat(build): ship step-skill variants as one bundle per group#243
gewenyu99 merged 5 commits into
mainfrom
feat/bundle-step-skill-variants

Conversation

@gewenyu99

Copy link
Copy Markdown
Collaborator

The four integration-v2 step groups expanded to 148 near-identical zips, so packaging: bundle now ships each group as one JSON holding every variant and the release carries 144 artifacts instead of 288.

The four integration-v2 step groups expanded to 148 near-identical zips in
the release. `packaging: bundle` ships each group as a single JSON holding
every variant, so the release carries 144 artifacts instead of 288.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@gewenyu99
gewenyu99 requested a review from a team as a code owner July 15, 2026 23:47
@github-actions

Copy link
Copy Markdown

🧙 Wizard CI

Run the Wizard CI and test your changes against wizard-workbench example apps by replying with a GitHub comment using one of the following commands:

Test all apps:

  • /wizard-ci all

Test all apps in a directory:

  • /wizard-ci basic-integration
  • /wizard-ci mcp-analytics
  • /wizard-ci revenue

Test an individual app:

  • /wizard-ci basic-integration/android
  • /wizard-ci basic-integration/angular
  • /wizard-ci basic-integration/astro
Show more apps
  • /wizard-ci basic-integration/django
  • /wizard-ci basic-integration/fastapi
  • /wizard-ci basic-integration/flask
  • /wizard-ci basic-integration/javascript-node
  • /wizard-ci basic-integration/javascript-web
  • /wizard-ci basic-integration/laravel
  • /wizard-ci basic-integration/next-js
  • /wizard-ci basic-integration/nuxt
  • /wizard-ci basic-integration/python
  • /wizard-ci basic-integration/rails
  • /wizard-ci basic-integration/react-native
  • /wizard-ci basic-integration/react-router
  • /wizard-ci basic-integration/sveltekit
  • /wizard-ci basic-integration/swift
  • /wizard-ci basic-integration/tanstack-router
  • /wizard-ci basic-integration/tanstack-start
  • /wizard-ci basic-integration/vue
  • /wizard-ci mcp-analytics/custom-dispatcher
  • /wizard-ci mcp-analytics/typescript-sdk
  • /wizard-ci revenue/stripe

Results will be posted here when complete.

gewenyu99 and others added 2 commits July 15, 2026 19:58
The menu entry lists each variant's id/framework/default, so a consumer
resolves a bundled variant exactly as it does a per-skill zip and the
bundle itself stays a plain map of files.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The emitter lived in the full builder alone, so a partial rebuild rewrote a
zip nobody serves and left the bundle stale, and the dev server had no route
for it. Both callers now share writeBundles, which merges a rebuilt variant
into its group so the rest survive. The release uploads the bundle JSONs —
without this every bundle download 404s.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@sarahxsanders sarahxsanders left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are there any noticeable performance differences with JSON vs. zip with file sizes being larger? more-so curious

: {};
const bundle = { id: group, variants: { ...existing } };
for (const skill of variants) {
bundle.variants[skill.shortId] = readSkillFiles(path.join(sourceDir, skill.id));

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we validate IDs per bundle? I think if any duplicates slip through they could overwrite

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh good call, there should be

@gewenyu99
gewenyu99 merged commit ad69d56 into main Jul 16, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants