@goldencomm/create-baseline 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +88 -0
- package/index.mjs +296 -0
- package/package.json +44 -0
- package/templates/next/.claude/skills/ai-elements/SKILL.md +160 -0
- package/templates/next/.claude/skills/ai-elements/references/agent.md +134 -0
- package/templates/next/.claude/skills/ai-elements/references/artifact.md +84 -0
- package/templates/next/.claude/skills/ai-elements/references/attachments.md +190 -0
- package/templates/next/.claude/skills/ai-elements/references/audio-player.md +134 -0
- package/templates/next/.claude/skills/ai-elements/references/canvas.md +34 -0
- package/templates/next/.claude/skills/ai-elements/references/chain-of-thought.md +81 -0
- package/templates/next/.claude/skills/ai-elements/references/checkpoint.md +183 -0
- package/templates/next/.claude/skills/ai-elements/references/code-block.md +170 -0
- package/templates/next/.claude/skills/ai-elements/references/commit.md +177 -0
- package/templates/next/.claude/skills/ai-elements/references/confirmation.md +262 -0
- package/templates/next/.claude/skills/ai-elements/references/connection.md +34 -0
- package/templates/next/.claude/skills/ai-elements/references/context.md +126 -0
- package/templates/next/.claude/skills/ai-elements/references/controls.md +32 -0
- package/templates/next/.claude/skills/ai-elements/references/conversation.md +224 -0
- package/templates/next/.claude/skills/ai-elements/references/edge.md +52 -0
- package/templates/next/.claude/skills/ai-elements/references/environment-variables.md +102 -0
- package/templates/next/.claude/skills/ai-elements/references/file-tree.md +72 -0
- package/templates/next/.claude/skills/ai-elements/references/image.md +146 -0
- package/templates/next/.claude/skills/ai-elements/references/inline-citation.md +299 -0
- package/templates/next/.claude/skills/ai-elements/references/jsx-preview.md +104 -0
- package/templates/next/.claude/skills/ai-elements/references/message.md +237 -0
- package/templates/next/.claude/skills/ai-elements/references/mic-selector.md +189 -0
- package/templates/next/.claude/skills/ai-elements/references/model-selector.md +112 -0
- package/templates/next/.claude/skills/ai-elements/references/node.md +73 -0
- package/templates/next/.claude/skills/ai-elements/references/open-in-chat.md +67 -0
- package/templates/next/.claude/skills/ai-elements/references/package-info.md +95 -0
- package/templates/next/.claude/skills/ai-elements/references/panel.md +33 -0
- package/templates/next/.claude/skills/ai-elements/references/persona.md +166 -0
- package/templates/next/.claude/skills/ai-elements/references/plan.md +79 -0
- package/templates/next/.claude/skills/ai-elements/references/prompt-input.md +579 -0
- package/templates/next/.claude/skills/ai-elements/references/queue.md +172 -0
- package/templates/next/.claude/skills/ai-elements/references/reasoning.md +238 -0
- package/templates/next/.claude/skills/ai-elements/references/sandbox.md +129 -0
- package/templates/next/.claude/skills/ai-elements/references/schema-display.md +102 -0
- package/templates/next/.claude/skills/ai-elements/references/shimmer.md +48 -0
- package/templates/next/.claude/skills/ai-elements/references/snippet.md +64 -0
- package/templates/next/.claude/skills/ai-elements/references/sources.md +209 -0
- package/templates/next/.claude/skills/ai-elements/references/speech-input.md +163 -0
- package/templates/next/.claude/skills/ai-elements/references/stack-trace.md +224 -0
- package/templates/next/.claude/skills/ai-elements/references/suggestion.md +124 -0
- package/templates/next/.claude/skills/ai-elements/references/task.md +222 -0
- package/templates/next/.claude/skills/ai-elements/references/terminal.md +103 -0
- package/templates/next/.claude/skills/ai-elements/references/test-results.md +157 -0
- package/templates/next/.claude/skills/ai-elements/references/tool.md +285 -0
- package/templates/next/.claude/skills/ai-elements/references/toolbar.md +32 -0
- package/templates/next/.claude/skills/ai-elements/references/transcription.md +120 -0
- package/templates/next/.claude/skills/ai-elements/references/voice-selector.md +241 -0
- package/templates/next/.claude/skills/ai-elements/references/web-preview.md +200 -0
- package/templates/next/.claude/skills/ai-elements/scripts/agent.tsx +61 -0
- package/templates/next/.claude/skills/ai-elements/scripts/artifact.tsx +127 -0
- package/templates/next/.claude/skills/ai-elements/scripts/attachments-inline.tsx +128 -0
- package/templates/next/.claude/skills/ai-elements/scripts/attachments-list.tsx +95 -0
- package/templates/next/.claude/skills/ai-elements/scripts/attachments.tsx +85 -0
- package/templates/next/.claude/skills/ai-elements/scripts/audio-player-remote.tsx +35 -0
- package/templates/next/.claude/skills/ai-elements/scripts/audio-player.tsx +68 -0
- package/templates/next/.claude/skills/ai-elements/scripts/chain-of-thought.tsx +82 -0
- package/templates/next/.claude/skills/ai-elements/scripts/checkpoint.tsx +110 -0
- package/templates/next/.claude/skills/ai-elements/scripts/code-block-dark.tsx +46 -0
- package/templates/next/.claude/skills/ai-elements/scripts/code-block.tsx +120 -0
- package/templates/next/.claude/skills/ai-elements/scripts/commit.tsx +94 -0
- package/templates/next/.claude/skills/ai-elements/scripts/confirmation-accepted.tsx +40 -0
- package/templates/next/.claude/skills/ai-elements/scripts/confirmation-rejected.tsx +40 -0
- package/templates/next/.claude/skills/ai-elements/scripts/confirmation-request.tsx +54 -0
- package/templates/next/.claude/skills/ai-elements/scripts/confirmation.tsx +55 -0
- package/templates/next/.claude/skills/ai-elements/scripts/context.tsx +45 -0
- package/templates/next/.claude/skills/ai-elements/scripts/conversation.tsx +177 -0
- package/templates/next/.claude/skills/ai-elements/scripts/environment-variables.tsx +62 -0
- package/templates/next/.claude/skills/ai-elements/scripts/file-tree-basic.tsx +18 -0
- package/templates/next/.claude/skills/ai-elements/scripts/file-tree-expanded.tsx +21 -0
- package/templates/next/.claude/skills/ai-elements/scripts/file-tree-selection.tsx +24 -0
- package/templates/next/.claude/skills/ai-elements/scripts/file-tree.tsx +42 -0
- package/templates/next/.claude/skills/ai-elements/scripts/image.tsx +20 -0
- package/templates/next/.claude/skills/ai-elements/scripts/inline-citation.tsx +97 -0
- package/templates/next/.claude/skills/ai-elements/scripts/jsx-preview.tsx +104 -0
- package/templates/next/.claude/skills/ai-elements/scripts/message.tsx +365 -0
- package/templates/next/.claude/skills/ai-elements/scripts/mic-selector.tsx +49 -0
- package/templates/next/.claude/skills/ai-elements/scripts/model-selector.tsx +365 -0
- package/templates/next/.claude/skills/ai-elements/scripts/open-in-chat.tsx +33 -0
- package/templates/next/.claude/skills/ai-elements/scripts/package-info.tsx +51 -0
- package/templates/next/.claude/skills/ai-elements/scripts/persona-command.tsx +110 -0
- package/templates/next/.claude/skills/ai-elements/scripts/persona-glint.tsx +110 -0
- package/templates/next/.claude/skills/ai-elements/scripts/persona-halo.tsx +110 -0
- package/templates/next/.claude/skills/ai-elements/scripts/persona-mana.tsx +110 -0
- package/templates/next/.claude/skills/ai-elements/scripts/persona-obsidian.tsx +110 -0
- package/templates/next/.claude/skills/ai-elements/scripts/persona-opal.tsx +110 -0
- package/templates/next/.claude/skills/ai-elements/scripts/plan.tsx +65 -0
- package/templates/next/.claude/skills/ai-elements/scripts/prompt-input-cursor.tsx +502 -0
- package/templates/next/.claude/skills/ai-elements/scripts/prompt-input-tooltip.tsx +44 -0
- package/templates/next/.claude/skills/ai-elements/scripts/prompt-input.tsx +267 -0
- package/templates/next/.claude/skills/ai-elements/scripts/queue-prompt-input.tsx +394 -0
- package/templates/next/.claude/skills/ai-elements/scripts/queue.tsx +295 -0
- package/templates/next/.claude/skills/ai-elements/scripts/reasoning.tsx +71 -0
- package/templates/next/.claude/skills/ai-elements/scripts/sandbox.tsx +178 -0
- package/templates/next/.claude/skills/ai-elements/scripts/schema-display-basic.tsx +9 -0
- package/templates/next/.claude/skills/ai-elements/scripts/schema-display-body.tsx +20 -0
- package/templates/next/.claude/skills/ai-elements/scripts/schema-display-nested.tsx +23 -0
- package/templates/next/.claude/skills/ai-elements/scripts/schema-display-params.tsx +16 -0
- package/templates/next/.claude/skills/ai-elements/scripts/schema-display.tsx +110 -0
- package/templates/next/.claude/skills/ai-elements/scripts/shimmer-duration.tsx +31 -0
- package/templates/next/.claude/skills/ai-elements/scripts/shimmer-elements.tsx +43 -0
- package/templates/next/.claude/skills/ai-elements/scripts/shimmer.tsx +17 -0
- package/templates/next/.claude/skills/ai-elements/scripts/snippet-plain.tsx +19 -0
- package/templates/next/.claude/skills/ai-elements/scripts/snippet.tsx +25 -0
- package/templates/next/.claude/skills/ai-elements/scripts/sources-custom.tsx +39 -0
- package/templates/next/.claude/skills/ai-elements/scripts/sources.tsx +32 -0
- package/templates/next/.claude/skills/ai-elements/scripts/speech-input.tsx +84 -0
- package/templates/next/.claude/skills/ai-elements/scripts/stack-trace-collapsed.tsx +39 -0
- package/templates/next/.claude/skills/ai-elements/scripts/stack-trace-no-internal.tsx +41 -0
- package/templates/next/.claude/skills/ai-elements/scripts/stack-trace.tsx +58 -0
- package/templates/next/.claude/skills/ai-elements/scripts/suggestion-input.tsx +144 -0
- package/templates/next/.claude/skills/ai-elements/scripts/suggestion.tsx +32 -0
- package/templates/next/.claude/skills/ai-elements/scripts/task.tsx +59 -0
- package/templates/next/.claude/skills/ai-elements/scripts/terminal-basic.tsx +7 -0
- package/templates/next/.claude/skills/ai-elements/scripts/terminal-clear.tsx +19 -0
- package/templates/next/.claude/skills/ai-elements/scripts/terminal-streaming.tsx +38 -0
- package/templates/next/.claude/skills/ai-elements/scripts/terminal.tsx +82 -0
- package/templates/next/.claude/skills/ai-elements/scripts/test-results-basic.tsx +27 -0
- package/templates/next/.claude/skills/ai-elements/scripts/test-results-errors.tsx +51 -0
- package/templates/next/.claude/skills/ai-elements/scripts/test-results-suites.tsx +40 -0
- package/templates/next/.claude/skills/ai-elements/scripts/test-results.tsx +102 -0
- package/templates/next/.claude/skills/ai-elements/scripts/tool-input-available.tsx +31 -0
- package/templates/next/.claude/skills/ai-elements/scripts/tool-input-streaming.tsx +30 -0
- package/templates/next/.claude/skills/ai-elements/scripts/tool-output-available.tsx +80 -0
- package/templates/next/.claude/skills/ai-elements/scripts/tool-output-error.tsx +44 -0
- package/templates/next/.claude/skills/ai-elements/scripts/tool.tsx +222 -0
- package/templates/next/.claude/skills/ai-elements/scripts/transcription.tsx +290 -0
- package/templates/next/.claude/skills/ai-elements/scripts/voice-selector.tsx +245 -0
- package/templates/next/.claude/skills/ai-elements/scripts/web-preview.tsx +115 -0
- package/templates/next/.claude/skills/ai-sdk/SKILL.md +78 -0
- package/templates/next/.claude/skills/frontend-design/LICENSE.txt +177 -0
- package/templates/next/.claude/skills/frontend-design/SKILL.md +55 -0
- package/templates/next/.claude/skills/gc-implement-figma-page/SKILL.md +93 -0
- package/templates/next/.claude/skills/migrate-ai-sdk-v6-to-v7/SKILL.md +108 -0
- package/templates/next/.claude/skills/vercel-composition-patterns/AGENTS.md +946 -0
- package/templates/next/.claude/skills/vercel-composition-patterns/README.md +60 -0
- package/templates/next/.claude/skills/vercel-composition-patterns/SKILL.md +89 -0
- package/templates/next/.claude/skills/vercel-composition-patterns/metadata.json +11 -0
- package/templates/next/.claude/skills/vercel-composition-patterns/rules/_sections.md +29 -0
- package/templates/next/.claude/skills/vercel-composition-patterns/rules/_template.md +24 -0
- package/templates/next/.claude/skills/vercel-composition-patterns/rules/architecture-avoid-boolean-props.md +100 -0
- package/templates/next/.claude/skills/vercel-composition-patterns/rules/architecture-compound-components.md +112 -0
- package/templates/next/.claude/skills/vercel-composition-patterns/rules/patterns-children-over-render-props.md +87 -0
- package/templates/next/.claude/skills/vercel-composition-patterns/rules/patterns-explicit-variants.md +100 -0
- package/templates/next/.claude/skills/vercel-composition-patterns/rules/react19-no-forwardref.md +42 -0
- package/templates/next/.claude/skills/vercel-composition-patterns/rules/state-context-interface.md +191 -0
- package/templates/next/.claude/skills/vercel-composition-patterns/rules/state-decouple-implementation.md +113 -0
- package/templates/next/.claude/skills/vercel-composition-patterns/rules/state-lift-state.md +125 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/AGENTS.md +3810 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/README.md +123 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/SKILL.md +149 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/metadata.json +15 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/_sections.md +46 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/_template.md +28 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/advanced-effect-event-deps.md +56 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/async-cheap-condition-before-await.md +37 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/async-defer-await.md +82 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/bundle-analyzable-paths.md +63 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +60 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-flatmap-filter.md +60 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-request-idle-callback.md +105 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-resource-hints.md +85 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-script-defer-async.md +68 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-no-inline-components.md +82 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-split-combined-hooks.md +64 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-use-deferred-value.md +59 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-hoist-static-io.md +149 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-no-shared-module-state.md +50 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-parallel-nested-fetching.md +34 -0
- package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
- package/templates/next/.claude/skills/web-design-guidelines/SKILL.md +39 -0
- package/templates/next/CLAUDE.md +42 -0
- package/templates/next/README.md +30 -0
- package/templates/next/_gitignore +4 -0
- package/templates/next/app/globals.css +13 -0
- package/templates/next/app/layout.tsx +44 -0
- package/templates/next/app/page.tsx +30 -0
- package/templates/next/globals.d.ts +8 -0
- package/templates/next/next.config.mjs +6 -0
- package/templates/next/package.json +38 -0
- package/templates/next/postcss.config.mjs +5 -0
- package/templates/next/skills-lock.json +47 -0
- package/templates/next/tsconfig.json +36 -0
- package/templates/shopify-theme/.claude/skills/gc-shopify-block/SKILL.md +44 -0
- package/templates/shopify-theme/.claude/skills/shopify-dev/SKILL.md +51 -0
- package/templates/shopify-theme/.claude/skills/shopify-dev/scripts/log_skill_use.mjs +205 -0
- package/templates/shopify-theme/.claude/skills/shopify-dev/scripts/search_docs.mjs +272 -0
- package/templates/shopify-theme/.claude/skills/shopify-dev/scripts/track-telemetry.ps1 +361 -0
- package/templates/shopify-theme/.claude/skills/shopify-dev/scripts/track-telemetry.sh +527 -0
- package/templates/shopify-theme/.claude/skills/shopify-liquid/SKILL.md +343 -0
- package/templates/shopify-theme/.claude/skills/shopify-liquid/blocks/hero-slide.liquid +342 -0
- package/templates/shopify-theme/.claude/skills/shopify-liquid/config/settings_schema.json +1 -0
- package/templates/shopify-theme/.claude/skills/shopify-liquid/featured-collection.liquid +457 -0
- package/templates/shopify-theme/.claude/skills/shopify-liquid/locales/en.default.json +10 -0
- package/templates/shopify-theme/.claude/skills/shopify-liquid/locales/en.default.schema.json +103 -0
- package/templates/shopify-theme/.claude/skills/shopify-liquid/package.json +10 -0
- package/templates/shopify-theme/.claude/skills/shopify-liquid/scripts/search_docs.mjs +759 -0
- package/templates/shopify-theme/.claude/skills/shopify-liquid/scripts/track-telemetry.ps1 +361 -0
- package/templates/shopify-theme/.claude/skills/shopify-liquid/scripts/track-telemetry.sh +527 -0
- package/templates/shopify-theme/.claude/skills/shopify-liquid/scripts/validate.mjs +654 -0
- package/templates/shopify-theme/.claude/skills/shopify-liquid/sections/hero-banner.liquid +329 -0
- package/templates/shopify-theme/.claude/skills/shopify-use-shopify-cli/SKILL.md +165 -0
- package/templates/shopify-theme/.claude/skills/shopify-use-shopify-cli/scripts/log_skill_use.mjs +205 -0
- package/templates/shopify-theme/.claude/skills/shopify-use-shopify-cli/scripts/track-telemetry.ps1 +361 -0
- package/templates/shopify-theme/.claude/skills/shopify-use-shopify-cli/scripts/track-telemetry.sh +527 -0
- package/templates/shopify-theme/.shopifyignore +9 -0
- package/templates/shopify-theme/CLAUDE.md +51 -0
- package/templates/shopify-theme/README.md +92 -0
- package/templates/shopify-theme/assets/baseline.css +8390 -0
- package/templates/shopify-theme/assets/swiper-element-bundle.min.js +14 -0
- package/templates/shopify-theme/blocks/_accordion.liquid +59 -0
- package/templates/shopify-theme/blocks/_carousel-slide.liquid +24 -0
- package/templates/shopify-theme/blocks/_modal-body.liquid +18 -0
- package/templates/shopify-theme/blocks/_modal-footer.liquid +36 -0
- package/templates/shopify-theme/blocks/_modal-header.liquid +19 -0
- package/templates/shopify-theme/blocks/_modal-media.liquid +37 -0
- package/templates/shopify-theme/blocks/accordion-group.liquid +53 -0
- package/templates/shopify-theme/blocks/alert.liquid +92 -0
- package/templates/shopify-theme/blocks/avatar-group.liquid +51 -0
- package/templates/shopify-theme/blocks/avatar.liquid +56 -0
- package/templates/shopify-theme/blocks/badge.liquid +33 -0
- package/templates/shopify-theme/blocks/breadcrumb.liquid +45 -0
- package/templates/shopify-theme/blocks/button.liquid +51 -0
- package/templates/shopify-theme/blocks/buttons.liquid +41 -0
- package/templates/shopify-theme/blocks/card.liquid +67 -0
- package/templates/shopify-theme/blocks/carousel.liquid +55 -0
- package/templates/shopify-theme/blocks/column.liquid +33 -0
- package/templates/shopify-theme/blocks/image.liquid +37 -0
- package/templates/shopify-theme/blocks/modal.liquid +52 -0
- package/templates/shopify-theme/blocks/popover.liquid +24 -0
- package/templates/shopify-theme/blocks/skeleton.liquid +22 -0
- package/templates/shopify-theme/blocks/spinner.liquid +22 -0
- package/templates/shopify-theme/blocks/split.liquid +39 -0
- package/templates/shopify-theme/blocks/tab.liquid +19 -0
- package/templates/shopify-theme/blocks/tabs.liquid +78 -0
- package/templates/shopify-theme/blocks/tags.liquid +55 -0
- package/templates/shopify-theme/blocks/text.liquid +55 -0
- package/templates/shopify-theme/blocks/tooltip.liquid +50 -0
- package/templates/shopify-theme/blocks/typography.liquid +90 -0
- package/templates/shopify-theme/config/settings_data.json +4 -0
- package/templates/shopify-theme/config/settings_schema.json +10 -0
- package/templates/shopify-theme/layout/theme.liquid +21 -0
- package/templates/shopify-theme/locales/en.default.json +5 -0
- package/templates/shopify-theme/locales/en.default.schema.json +131 -0
- package/templates/shopify-theme/package.json +21 -0
- package/templates/shopify-theme/scripts/sync-tokens.mjs +32 -0
- package/templates/shopify-theme/sections/baseline-components.liquid +81 -0
- package/templates/shopify-theme/skills-lock.json +23 -0
- package/templates/shopify-theme/snippets/lucide.liquid +34 -0
- package/templates/shopify-theme/snippets/pagination.liquid +44 -0
- package/templates/shopify-theme/templates/collection.json +13 -0
- package/templates/shopify-theme/templates/gift_card.liquid +5 -0
- package/templates/shopify-theme/templates/index.json +135 -0
- package/templates/shopify-theme/templates/list-collections.json +13 -0
- package/templates/shopify-theme/templates/product.json +13 -0
- package/templates/wordpress/.claude/CLAUDE.md +37 -0
- package/templates/wordpress/.claude/skills/wp-block-development/SKILL.md +174 -0
- package/templates/wordpress/.claude/skills/wp-block-development/references/attributes-and-serialization.md +22 -0
- package/templates/wordpress/.claude/skills/wp-block-development/references/block-json.md +49 -0
- package/templates/wordpress/.claude/skills/wp-block-development/references/creating-new-blocks.md +46 -0
- package/templates/wordpress/.claude/skills/wp-block-development/references/debugging.md +36 -0
- package/templates/wordpress/.claude/skills/wp-block-development/references/deprecations.md +24 -0
- package/templates/wordpress/.claude/skills/wp-block-development/references/dynamic-rendering.md +23 -0
- package/templates/wordpress/.claude/skills/wp-block-development/references/inner-blocks.md +25 -0
- package/templates/wordpress/.claude/skills/wp-block-development/references/registration.md +30 -0
- package/templates/wordpress/.claude/skills/wp-block-development/references/supports-and-wrappers.md +18 -0
- package/templates/wordpress/.claude/skills/wp-block-development/references/tooling-and-testing.md +21 -0
- package/templates/wordpress/.claude/skills/wp-block-development/scripts/list_blocks.mjs +121 -0
- package/templates/wordpress/.claude/skills/wp-block-themes/SKILL.md +116 -0
- package/templates/wordpress/.claude/skills/wp-block-themes/references/creating-new-block-theme.md +37 -0
- package/templates/wordpress/.claude/skills/wp-block-themes/references/debugging.md +24 -0
- package/templates/wordpress/.claude/skills/wp-block-themes/references/patterns.md +18 -0
- package/templates/wordpress/.claude/skills/wp-block-themes/references/style-variations.md +14 -0
- package/templates/wordpress/.claude/skills/wp-block-themes/references/templates-and-parts.md +16 -0
- package/templates/wordpress/.claude/skills/wp-block-themes/references/theme-json.md +59 -0
- package/templates/wordpress/.claude/skills/wp-block-themes/scripts/detect_block_themes.mjs +117 -0
- package/templates/wordpress/.claude/skills/wp-performance/SKILL.md +146 -0
- package/templates/wordpress/.claude/skills/wp-performance/references/autoload-options.md +24 -0
- package/templates/wordpress/.claude/skills/wp-performance/references/cron.md +20 -0
- package/templates/wordpress/.claude/skills/wp-performance/references/database.md +20 -0
- package/templates/wordpress/.claude/skills/wp-performance/references/http-api.md +15 -0
- package/templates/wordpress/.claude/skills/wp-performance/references/measurement.md +21 -0
- package/templates/wordpress/.claude/skills/wp-performance/references/object-cache.md +24 -0
- package/templates/wordpress/.claude/skills/wp-performance/references/query-monitor-headless.md +38 -0
- package/templates/wordpress/.claude/skills/wp-performance/references/server-timing.md +22 -0
- package/templates/wordpress/.claude/skills/wp-performance/references/wp-cli-doctor.md +24 -0
- package/templates/wordpress/.claude/skills/wp-performance/references/wp-cli-profile.md +32 -0
- package/templates/wordpress/.claude/skills/wp-performance/scripts/perf_inspect.mjs +128 -0
- package/templates/wordpress/.claude/skills/wp-plugin-development/SKILL.md +112 -0
- package/templates/wordpress/.claude/skills/wp-plugin-development/references/data-and-cron.md +19 -0
- package/templates/wordpress/.claude/skills/wp-plugin-development/references/debugging.md +19 -0
- package/templates/wordpress/.claude/skills/wp-plugin-development/references/lifecycle.md +33 -0
- package/templates/wordpress/.claude/skills/wp-plugin-development/references/security.md +29 -0
- package/templates/wordpress/.claude/skills/wp-plugin-development/references/settings-api.md +22 -0
- package/templates/wordpress/.claude/skills/wp-plugin-development/references/structure.md +16 -0
- package/templates/wordpress/.claude/skills/wp-plugin-development/scripts/detect_plugins.mjs +122 -0
- package/templates/wordpress/.claude/skills/wp-rest-api/SKILL.md +114 -0
- package/templates/wordpress/.claude/skills/wp-rest-api/references/authentication.md +18 -0
- package/templates/wordpress/.claude/skills/wp-rest-api/references/custom-content-types.md +20 -0
- package/templates/wordpress/.claude/skills/wp-rest-api/references/discovery-and-params.md +20 -0
- package/templates/wordpress/.claude/skills/wp-rest-api/references/responses-and-fields.md +30 -0
- package/templates/wordpress/.claude/skills/wp-rest-api/references/routes-and-endpoints.md +36 -0
- package/templates/wordpress/.claude/skills/wp-rest-api/references/schema.md +22 -0
- package/templates/wordpress/.ddev/commands/web/seed +7 -0
- package/templates/wordpress/.ddev/config.yaml +18 -0
- package/templates/wordpress/.ddev/docker-compose.packages.yaml +14 -0
- package/templates/wordpress/.ddev/docker-compose.redis.yaml +11 -0
- package/templates/wordpress/.env.example +33 -0
- package/templates/wordpress/CLAUDE.md +34 -0
- package/templates/wordpress/README.md +45 -0
- package/templates/wordpress/_gitignore +33 -0
- package/templates/wordpress/auth.json.example +18 -0
- package/templates/wordpress/composer.json +91 -0
- package/templates/wordpress/composer.lock +1594 -0
- package/templates/wordpress/package.json +13 -0
- package/templates/wordpress/scripts/seed.sh +64 -0
- package/templates/wordpress/skills-lock.json +35 -0
- package/templates/wordpress/wp-config.php +89 -0
- package/templates/wordpress/wp-content/index.php +2 -0
- package/templates/wordpress/wp-content/mu-plugins/baseline-bootstrap.php +26 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gc-implement-figma-page
|
|
3
|
+
description: Implement a Figma design as a Baseline page — take a figma.com frame/page URL and build it from @goldencomm/ds-react components + DS layout primitives. Use when asked to "implement this Figma design/page/URL", "build this page from Figma", or given a figma.com node link to turn into code.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Implement a Figma page (Baseline)
|
|
7
|
+
|
|
8
|
+
The "give Claude a Figma URL, get a Baseline page" workflow: read the design
|
|
9
|
+
through the Figma MCP server, trust its Code Connect snippets for component
|
|
10
|
+
choice, and compose the page from DS primitives — never hand-rolled layout.
|
|
11
|
+
|
|
12
|
+
## 0 · Requirements
|
|
13
|
+
|
|
14
|
+
- **The Figma MCP server must be connected** (`get_design_context`,
|
|
15
|
+
`get_screenshot`). If it isn't, STOP and ask the user to connect it (claude.ai
|
|
16
|
+
Figma connector, or the Figma desktop app's MCP server) — do not attempt to
|
|
17
|
+
implement from a screenshot alone.
|
|
18
|
+
- Read access to the Design-System library file
|
|
19
|
+
(`ba28zZ49PAkXhE7PW5kyT9`) so component instances resolve.
|
|
20
|
+
- If the Figma plugin's `figma-design-to-code` skill is available, load it before
|
|
21
|
+
calling `get_design_context` (it's a declared prerequisite of that tool).
|
|
22
|
+
|
|
23
|
+
## 1 · Read the design
|
|
24
|
+
|
|
25
|
+
1. **`get_design_context` on the node URL.** Components mapped via Code Connect
|
|
26
|
+
come back as **code snippets — TRUST them.** They are the source of truth for
|
|
27
|
+
which `@goldencomm/ds-react` component and which props/variants to use. Never
|
|
28
|
+
re-derive a mapped component from raw geometry or invent props the snippet
|
|
29
|
+
doesn't show.
|
|
30
|
+
2. **`get_screenshot` on the same node** — keep it as the visual reference you
|
|
31
|
+
verify against in step 4.
|
|
32
|
+
3. Large page (several sections)? Call `get_metadata` first to list the
|
|
33
|
+
top-level section frames, then `get_design_context` per section so each
|
|
34
|
+
response stays focused.
|
|
35
|
+
|
|
36
|
+
## 2 · Assemble the page
|
|
37
|
+
|
|
38
|
+
Target: the app you're in — for Next.js (App Router) that's
|
|
39
|
+
`app/<route>/page.tsx`. **Server component by default**; no `"use client"` in the
|
|
40
|
+
page — interactivity lives inside the DS components (Dialog, Tabs, …) already.
|
|
41
|
+
|
|
42
|
+
Compose ONLY from:
|
|
43
|
+
|
|
44
|
+
- **Components** — `@goldencomm/ds-react`, exactly as the Code Connect snippets
|
|
45
|
+
dictate (Button, Badge, Card + `Card.Header/Content/…`, Avatar + `Avatar.Group`, …).
|
|
46
|
+
- **Layout primitives** (the Layout module):
|
|
47
|
+
`import { Section, Container, Flex, Grid, Columns, Box, AspectRatio } from "@goldencomm/ds-react"`
|
|
48
|
+
- vertical page band → `<Section>` (density-aware fluid padding)
|
|
49
|
+
- centered max-width + gutter → `<Container>` (`width` narrow|wide|full)
|
|
50
|
+
- rows/stacks with gaps → `<Flex>`; tile galleries → `<Grid columns={N}>` or
|
|
51
|
+
fluid `<Grid min="16rem">`
|
|
52
|
+
- equal columns that stack on mobile (text|image splits) → `<Columns stackAt="md">`
|
|
53
|
+
- generic padded/flex-basis wrapper → `<Box>`; media crops → `<AspectRatio>`
|
|
54
|
+
- **Typography** — semantic elements + gcds classes: `.gcds-display` (hero h1),
|
|
55
|
+
`.gcds-eyebrow`, `.gcds-lead`, `.gcds-text-muted`, `.gcds-text-center/-start/-end`,
|
|
56
|
+
`.gcds-text-balance` / `.gcds-text-pretty`.
|
|
57
|
+
|
|
58
|
+
Hard rules:
|
|
59
|
+
|
|
60
|
+
- **NEVER hand-rolled CSS or Tailwind layout utilities for anything a DS
|
|
61
|
+
primitive expresses** — no `py-24`, `mx-auto max-w-7xl`, `flex gap-8`,
|
|
62
|
+
`grid-cols-3`, no bespoke stylesheets. Tailwind static values bypass the theme
|
|
63
|
+
knobs and don't port to WP/Shopify.
|
|
64
|
+
- **Tokens/vars only** — no hardcoded colors, spacing, radii, or font sizes.
|
|
65
|
+
An inline style value must be a `var(--gcds-*)` token
|
|
66
|
+
(e.g. `style={{ borderRadius: "var(--gcds-radius-lg)" }}`).
|
|
67
|
+
- **Icons = Lucide via `lucide-react`, composed as children** (explicit numeric
|
|
68
|
+
`size`, `aria-hidden` when decorative). No other icon sources, no icon props.
|
|
69
|
+
- **Link-ish elements → polymorphic `as`**:
|
|
70
|
+
`<Button as={Link} href="/pricing">…</Button>`. No `asChild`/Slot.
|
|
71
|
+
- Selfish design: components own themselves; the PAGE owns layout, gaps, and
|
|
72
|
+
margins between them.
|
|
73
|
+
|
|
74
|
+
## 3 · Unmapped / custom frames
|
|
75
|
+
|
|
76
|
+
When a section returns raw frame output (no Code Connect snippet), do **not**
|
|
77
|
+
hand-build it first. Map it to the nearest **copy-to-own section template** in the
|
|
78
|
+
design-system repo under `apps/docs/app/new/patterns/marketing/<category>/pattern-N.tsx`
|
|
79
|
+
(`hero-sections`, `feature-sections`, …): copy the template into the project,
|
|
80
|
+
then reshape its content/structure to match the frame. Hand-compose from layout
|
|
81
|
+
primitives only when no template is close.
|
|
82
|
+
|
|
83
|
+
If the design needs a component Baseline does not provide, STOP for that piece
|
|
84
|
+
and report `MISSING: <component> — <why>` instead of hand-rolling it.
|
|
85
|
+
|
|
86
|
+
## 4 · Verify
|
|
87
|
+
|
|
88
|
+
1. `pnpm typecheck` (monorepo: `pnpm --filter=<app> typecheck`).
|
|
89
|
+
2. Render it — start the dev server (docs app: `pnpm dev:docs` → :3200; Next
|
|
90
|
+
baseline: `pnpm dev` → :3100) and load the route.
|
|
91
|
+
3. Compare against the `get_screenshot` reference: section order, hierarchy,
|
|
92
|
+
spacing rhythm, component variants. Fix divergences with DS props/knobs and
|
|
93
|
+
tokens — never with custom CSS overrides.
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: migrate-ai-sdk-v6-to-v7
|
|
3
|
+
description: Migrate applications from AI SDK 6.x to AI SDK 7.0. Use when upgrading Vercel AI SDK packages, fixing v7 migration errors, or when the user mentions AI SDK v6, v7, upgrade, migration, breaking changes, system to instructions, fullStream, telemetry, tool context, or finalStep.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## AI SDK 6 to 7 Migration
|
|
7
|
+
|
|
8
|
+
Use `content/docs/08-migration-guides/23-migration-guide-7-0.mdx` from the AI SDK repo as the source of truth. This skill is the working checklist; read the guide for exact examples or when behavior is unclear.
|
|
9
|
+
|
|
10
|
+
## Migration Workflow
|
|
11
|
+
|
|
12
|
+
1. Ensure the user has a clean backup or committed baseline before editing.
|
|
13
|
+
2. Inspect `package.json` and lockfiles to identify installed `ai`, `@ai-sdk/*`, provider, UI, MCP, and telemetry packages.
|
|
14
|
+
3. Upgrade AI SDK packages to latest versions, and add `@ai-sdk/otel` only if the project uses OpenTelemetry spans.
|
|
15
|
+
4. Update runtime and module assumptions: Node.js must be `>=22`, and AI SDK packages are ESM-only. Replace `require()` imports with ESM imports and add `"type": "module"` or use `.mjs` where needed.
|
|
16
|
+
5. Search for the v6 patterns below, migrate only the code that exists, then run typecheck and targeted tests.
|
|
17
|
+
|
|
18
|
+
Prefer behavior-preserving changes. When v7 changes semantics, decide whether the app wants the new all-steps behavior or the previous final-step-only behavior.
|
|
19
|
+
|
|
20
|
+
## Core API Changes
|
|
21
|
+
|
|
22
|
+
- `experimental_customProvider` -> `customProvider`.
|
|
23
|
+
- `experimental_generateImage` -> `generateImage`; `Experimental_GenerateImageResult` -> `GenerateImageResult`.
|
|
24
|
+
- `experimental_transcribe` -> `transcribe`; `Experimental_TranscriptionResult` -> `TranscriptionResult`.
|
|
25
|
+
- `experimental_generateSpeech` -> `generateSpeech`; `Experimental_SpeechResult` -> `SpeechResult`.
|
|
26
|
+
- `experimental_output` option/result -> `output` option/result.
|
|
27
|
+
- `CallSettings` -> `LanguageModelCallOptions & Omit<RequestOptions, 'timeout'>`; `prepareCallSettings` -> `prepareLanguageModelCallOptions`.
|
|
28
|
+
- `stepCountIs` -> `isStepCount`.
|
|
29
|
+
|
|
30
|
+
## Prompts and Steps
|
|
31
|
+
|
|
32
|
+
- Rename top-level `system` to `instructions` for `generateText`, `streamText`, `generateObject`, `streamObject`, and `streamUI`.
|
|
33
|
+
- Move `{ role: 'system' }` messages from `prompt` or `messages` into top-level `instructions`. Only use `allowSystemInMessages: true` for trusted persisted messages.
|
|
34
|
+
- Rename `experimental_prepareStep` to `prepareStep`.
|
|
35
|
+
- In `prepareStep`, rename returned `system` to `instructions`.
|
|
36
|
+
- In `experimental_repairToolCall`, use `{ instructions }` instead of `{ system }`.
|
|
37
|
+
- Audit `prepareStep` behavior: returned `instructions` and `messages` now carry forward into later steps. If code depended on one-step-only overrides, rebuild from `initialInstructions`, `initialMessages`, and `responseMessages` explicitly.
|
|
38
|
+
|
|
39
|
+
## Lifecycle Callbacks
|
|
40
|
+
|
|
41
|
+
- `experimental_onStart` -> `onStart`.
|
|
42
|
+
- `experimental_onStepStart` -> `onStepStart`.
|
|
43
|
+
- `onFinish` -> `onEnd`.
|
|
44
|
+
- `onStepFinish` -> `onStepEnd`.
|
|
45
|
+
- For `embed`, `embedMany`, and `rerank`, `experimental_onFinish` -> `onEnd`.
|
|
46
|
+
- Callback event fields use `instructions` instead of `system`.
|
|
47
|
+
|
|
48
|
+
## Usage, Telemetry, and Include Options
|
|
49
|
+
|
|
50
|
+
- `usage.cachedInputTokens` -> `usage.inputTokenDetails.cacheReadTokens`.
|
|
51
|
+
- `usage.reasoningTokens` -> `usage.outputTokenDetails.reasoningTokens`.
|
|
52
|
+
- OpenTelemetry moved out of `ai`; install `@ai-sdk/otel` and call `registerTelemetry(new OpenTelemetry(...))` at app startup.
|
|
53
|
+
- Telemetry is enabled by default once an integration is registered. Remove redundant `isEnabled: true`; use `isEnabled: false` to opt out per call.
|
|
54
|
+
- Move `experimental_telemetry.tracer` into the `OpenTelemetry` constructor.
|
|
55
|
+
- `experimental_telemetry` -> `telemetry`.
|
|
56
|
+
- Telemetry integration callbacks: `onRerankFinish` -> `onRerankEnd`, `onEmbedFinish` -> `onEmbedEnd`. Update tracing-channel subscribers for the same event type names.
|
|
57
|
+
- `experimental_include` -> `include`.
|
|
58
|
+
- `includeRawChunks` -> `include.rawChunks`.
|
|
59
|
+
- Request and response bodies are excluded by default. If code reads `request.body` or `response.body`, opt in with `include.requestBody` and, for `generateText`, `include.responseBody`.
|
|
60
|
+
|
|
61
|
+
## Streaming, Messages, and Tools
|
|
62
|
+
|
|
63
|
+
- `StreamTextResult.fullStream` -> `stream`.
|
|
64
|
+
- `streamText` `onChunk` now receives all stream parts, including lifecycle, boundary, finish, abort, and error parts. Guard by `chunk.type` before assuming text/tool/raw content.
|
|
65
|
+
- `step.response.messages` is no longer accumulated across previous steps. Use `result.responseMessages` for the full response message history, or flatten `result.steps`.
|
|
66
|
+
- Tool execution callbacks: `experimental_onToolCallStart` -> `onToolExecutionStart`, `experimental_onToolCallFinish` -> `onToolExecutionEnd`.
|
|
67
|
+
- Tool callback `experimental_context` -> `context`.
|
|
68
|
+
- Split shared runtime data from tool-specific data: use top-level `runtimeContext` for orchestration state, declare per-tool `contextSchema`, and pass per-tool values through `toolsContext`.
|
|
69
|
+
- Move `needsApproval` from `tool()` / `dynamicTool()` into per-call or agent `toolApproval`.
|
|
70
|
+
- `experimental_activeTools` -> `activeTools`.
|
|
71
|
+
- `ToolCallOptions` -> `ToolExecutionOptions`.
|
|
72
|
+
- `isToolOrDynamicToolUIPart` -> `isToolUIPart`.
|
|
73
|
+
|
|
74
|
+
## Content Parts and Reasoning
|
|
75
|
+
|
|
76
|
+
- Tool result `{ type: 'media' }` is removed; use `{ type: 'file-data' }`.
|
|
77
|
+
- Migrate `toModelOutput` `image-*`, `file-*`, `file-id`, and `image-file-id` variants to canonical `{ type: 'file', mediaType, data: { type: 'data' | 'url' | 'reference', ... } }`.
|
|
78
|
+
- User message `{ type: 'image', image, mediaType? }` is deprecated; use `{ type: 'file', mediaType: 'image' | 'image/*', data }`.
|
|
79
|
+
- Add support for the new `reasoning-file` content type in exhaustive switches, renderers, serializers, and validators.
|
|
80
|
+
- When adopting top-level `reasoning`, remove overlapping provider-specific reasoning settings from `providerOptions` unless provider-specific settings intentionally take precedence.
|
|
81
|
+
|
|
82
|
+
## Multi-Step Result Shape
|
|
83
|
+
|
|
84
|
+
- `result.usage` now includes all steps; `result.totalUsage` is deprecated. Use `result.finalStep.usage` for final-step-only usage.
|
|
85
|
+
- Top-level `content`, `toolCalls`, `staticToolCalls`, `dynamicToolCalls`, `toolResults`, `staticToolResults`, `dynamicToolResults`, `files`, `sources`, and `warnings` now include all steps. Use `finalStep` for previous final-step-only behavior.
|
|
86
|
+
- Top-level `reasoning`, `reasoningText`, `request`, `response`, and `providerMetadata` are deprecated for final-step data. Use `result.finalStep.*`; for `streamText`, await `result.finalStep`.
|
|
87
|
+
- Apply the same result-shape rules to `onEnd` events.
|
|
88
|
+
|
|
89
|
+
## Stream Response Helpers
|
|
90
|
+
|
|
91
|
+
The `streamText` result helper methods are deprecated. Replace result methods with top-level stateless helpers:
|
|
92
|
+
|
|
93
|
+
- `result.toUIMessageStream(...)` -> `toUIMessageStream({ stream: result.stream, ... })`.
|
|
94
|
+
- `result.toUIMessageStreamResponse(...)` -> `toUIMessageStream(...)` plus `createUIMessageStreamResponse({ stream })`.
|
|
95
|
+
- `result.pipeUIMessageStreamToResponse(response, ...)` -> `toUIMessageStream(...)` plus `pipeUIMessageStreamToResponse({ response, stream })`.
|
|
96
|
+
- `result.toTextStreamResponse()` -> `toTextStream({ stream: result.stream })` plus `createTextStreamResponse({ stream })`.
|
|
97
|
+
- `result.pipeTextStreamToResponse(response)` -> `toTextStream({ stream: result.stream })` plus `pipeTextStreamToResponse({ response, stream })`.
|
|
98
|
+
|
|
99
|
+
## Package-Specific Checks
|
|
100
|
+
|
|
101
|
+
- MCP: `MCPTransportConfig.redirect` now defaults to `'error'`. Only set `redirect: 'follow'` for trusted MCP servers that rely on redirects.
|
|
102
|
+
- Vue: `@ai-sdk/vue` `Chat` class is deprecated. Prefer `useChat`, including getter/ref init for reactive chat inputs.
|
|
103
|
+
- Anthropic and `@ai-sdk/google-vertex/anthropic`: `providerMetadata.anthropic.cacheCreationInputTokens` was removed. Use `usage.inputTokenDetails.cacheWriteTokens`; raw Anthropic usage remains at `finalStep.providerMetadata?.anthropic?.usage`.
|
|
104
|
+
- Google: rename `GoogleGenerativeAI*` types, classes, and functions to `Google*`, e.g. `createGoogleGenerativeAI` -> `createGoogle`. The `google` entry point is unchanged.
|
|
105
|
+
|
|
106
|
+
## Validation
|
|
107
|
+
|
|
108
|
+
Run the project typecheck after edits, then the smallest relevant test suite. Also smoke-test streaming, chat UI, tool execution, telemetry, and multi-step flows if the migration touched them. If type errors remain, search the migration guide for the exact removed or renamed symbol before inventing a workaround.
|