@salesforce/b2c-dx-mcp 3.2.1 → 3.4.0
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/bin/run.js +5 -9
- package/content/guidance/b2c/b2c-hooks/references/ORDER-HOOK-LIFECYCLE.md +1 -1
- package/content/guidance/b2c/b2c-onboarding/SKILL.md +4 -4
- package/content/guidance/b2c/b2c-ordering/SKILL.md +2 -2
- package/content/guidance/b2c/b2c-querying-data/SKILL.md +2 -2
- package/content/guidance/b2c/b2c-scapi-admin/SKILL.md +3 -3
- package/content/guidance/b2c/b2c-scapi-admin/references/CLIENT-EXAMPLES.md +4 -4
- package/content/guidance/b2c/b2c-scapi-shopper/SKILL.md +6 -6
- package/content/guidance/b2c/b2c-scapi-shopper/references/CLIENT-EXAMPLES.md +8 -9
- package/content/guidance/b2c-cli/b2c-cip/SKILL.md +3 -3
- package/content/guidance/b2c-cli/b2c-cip/references/SALES_ANALYSIS.md +1 -1
- package/content/guidance/b2c-cli/b2c-config/SKILL.md +54 -25
- package/content/guidance/b2c-cli/b2c-content/SKILL.md +1 -1
- package/content/guidance/b2c-cli/b2c-debug/SKILL.md +1 -1
- package/content/guidance/b2c-cli/b2c-docs/SKILL.md +23 -2
- package/content/guidance/b2c-cli/b2c-ecdn/SKILL.md +2 -0
- package/content/guidance/b2c-cli/b2c-ecdn/references/ADVANCED.md +1 -1
- package/content/guidance/b2c-cli/b2c-job/SKILL.md +9 -3
- package/content/guidance/b2c-cli/b2c-job/references/IMPORT.md +1 -1
- package/content/guidance/b2c-cli/b2c-job/references/RUN-AND-MONITOR.md +35 -6
- package/content/guidance/b2c-cli/b2c-metrics/SKILL.md +1 -1
- package/content/guidance/b2c-cli/b2c-mrt/SKILL.md +3 -3
- package/content/guidance/b2c-cli/b2c-scapi-custom/SKILL.md +1 -1
- package/content/guidance/b2c-cli/b2c-scapi-schemas/SKILL.md +6 -2
- package/content/guidance/b2c-cli/b2c-site-import-export/SKILL.md +1 -1
- package/content/guidance/b2c-cli/b2c-sites/SKILL.md +1 -1
- package/content/guidance/b2c-cli/b2c-slas/SKILL.md +1 -1
- package/content/guidance/b2c-ops/b2c-checkout-triage/SKILL.md +2 -2
- package/content/guidance/b2c-ops/b2c-edge-traffic-triage/SKILL.md +69 -0
- package/content/guidance/b2c-ops/b2c-job-health/SKILL.md +13 -8
- package/content/guidance/b2c-ops/b2c-order-failure-triage/SKILL.md +1 -1
- package/content/guidance/b2c-ops/b2c-order-failure-triage/references/order-evidence.md +2 -2
- package/content/guidance/b2c-ops/b2c-production-triage/SKILL.md +5 -4
- package/content/guidance/index.json +981 -259
- package/content/guidance/mcp/{cip → b2c-mcp-cip}/SKILL.md +10 -8
- package/content/guidance/mcp/{b2c-config → b2c-mcp-config}/SKILL.md +10 -9
- package/content/guidance/mcp/{debugger → b2c-mcp-debugger}/SKILL.md +9 -8
- package/content/guidance/mcp/b2c-mcp-scapi/SKILL.md +98 -0
- package/content/guidance/mcp/b2c-mcp-scapi/references/authentication.md +34 -0
- package/content/guidance/mcp/b2c-mcp-scapi/references/compose-verify.md +25 -0
- package/content/guidance/mcp/b2c-mcp-scapi/references/confirmation.md +30 -0
- package/content/guidance/mcp/b2c-mcp-scapi/references/discover.md +94 -0
- package/content/guidance/mcp/b2c-mcp-scapi/references/jobs.md +72 -0
- package/content/guidance/mcp/b2c-mcp-scapi/references/workflows.md +28 -0
- package/content/guidance/mcp/{server → b2c-mcp-server}/SKILL.md +52 -25
- package/content/guidance/storefront-next/sfnext-accessibility/SKILL.md +103 -0
- package/content/guidance/storefront-next/sfnext-accessibility/references/checklist.md +64 -0
- package/content/guidance/storefront-next/sfnext-analytics-consent/SKILL.md +91 -0
- package/content/guidance/storefront-next/sfnext-analytics-consent/references/CUSTOM-ADAPTER.md +49 -0
- package/content/guidance/storefront-next/sfnext-authentication/SKILL.md +86 -79
- package/content/guidance/storefront-next/sfnext-authentication/references/COOKIES.md +39 -0
- package/content/guidance/storefront-next/sfnext-authentication/references/LOGIN-FLOWS.md +59 -0
- package/content/guidance/storefront-next/sfnext-commerce-features/SKILL.md +67 -0
- package/content/guidance/storefront-next/sfnext-commerce-features/references/FEATURE-PREREQUISITES.md +37 -0
- package/content/guidance/storefront-next/sfnext-components/SKILL.md +98 -136
- package/content/guidance/storefront-next/sfnext-components/references/COMPONENT-AUTHORING.md +118 -0
- package/content/guidance/storefront-next/sfnext-components/references/SHAPE-TOKENS.md +51 -0
- package/content/guidance/storefront-next/sfnext-components/references/STORYBOOK.md +54 -0
- package/content/guidance/storefront-next/sfnext-components/references/TOKEN-SYSTEM.md +53 -0
- package/content/guidance/storefront-next/sfnext-components/references/TROUBLESHOOTING.md +19 -0
- package/content/guidance/storefront-next/sfnext-configuration/SKILL.md +116 -113
- package/content/guidance/storefront-next/sfnext-configuration/references/ENV-VARIABLES.md +55 -0
- package/content/guidance/storefront-next/sfnext-configuration/references/MULTI-SITE-URLS.md +137 -0
- package/content/guidance/storefront-next/sfnext-data-fetching/SKILL.md +100 -150
- package/content/guidance/storefront-next/sfnext-data-fetching/references/ACTIONS.md +53 -0
- package/content/guidance/storefront-next/sfnext-data-fetching/references/API-CLIENTS.md +34 -0
- package/content/guidance/storefront-next/sfnext-data-fetching/references/LOADERS.md +73 -0
- package/content/guidance/storefront-next/sfnext-data-fetching/references/SCAPI-FETCHER.md +23 -77
- package/content/guidance/storefront-next/sfnext-deployment/SKILL.md +83 -97
- package/content/guidance/storefront-next/sfnext-deployment/references/MRT-DEPLOYMENT.md +37 -68
- package/content/guidance/storefront-next/sfnext-extensions/SKILL.md +73 -97
- package/content/guidance/storefront-next/sfnext-extensions/references/ACTION-HOOKS.md +57 -0
- package/content/guidance/storefront-next/sfnext-extensions/references/BASE-AUDIT.md +47 -44
- package/content/guidance/storefront-next/sfnext-extensions/references/CLI-AND-INSTALL.md +58 -0
- package/content/guidance/storefront-next/sfnext-extensions/references/EXTENSION-EXAMPLES.md +49 -86
- package/content/guidance/storefront-next/sfnext-hybrid-storefronts/SKILL.md +59 -114
- package/content/guidance/storefront-next/sfnext-hybrid-storefronts/references/HYBRID-PROXY-CONFIG.md +53 -90
- package/content/guidance/storefront-next/sfnext-i18n/SKILL.md +96 -131
- package/content/guidance/storefront-next/sfnext-i18n/references/locale-config.md +35 -0
- package/content/guidance/storefront-next/sfnext-overview/SKILL.md +101 -0
- package/content/guidance/storefront-next/sfnext-page-designer/SKILL.md +152 -131
- package/content/guidance/storefront-next/sfnext-page-designer/references/BUSINESS-MANAGER.md +46 -0
- package/content/guidance/storefront-next/sfnext-page-designer/references/COMPONENT-REGISTRY.md +86 -53
- package/content/guidance/storefront-next/sfnext-page-designer/references/DECORATOR-PATTERNS.md +119 -131
- package/content/guidance/storefront-next/sfnext-page-designer/references/REVIEW-CHECKLIST.md +83 -0
- package/content/guidance/storefront-next/sfnext-page-designer/references/TROUBLESHOOTING.md +35 -0
- package/content/guidance/storefront-next/sfnext-performance/SKILL.md +75 -105
- package/content/guidance/storefront-next/sfnext-performance/references/PERFORMANCE-REVIEW-CHECKLIST.md +85 -0
- package/content/guidance/storefront-next/sfnext-performance/references/SUSPENSE-AND-STREAMING.md +58 -0
- package/content/guidance/storefront-next/sfnext-project-setup/SKILL.md +103 -116
- package/content/guidance/storefront-next/sfnext-project-setup/references/PROJECT-STRUCTURE.md +61 -99
- package/content/guidance/storefront-next/sfnext-project-setup/references/SCRIPTS.md +47 -0
- package/content/guidance/storefront-next/sfnext-project-setup/references/SFNEXT-CLI.md +63 -0
- package/content/guidance/storefront-next/sfnext-quality-gates/SKILL.md +70 -0
- package/content/guidance/storefront-next/sfnext-quality-gates/references/lint-and-budgets.md +39 -0
- package/content/guidance/storefront-next/sfnext-revalidation/SKILL.md +121 -0
- package/content/guidance/storefront-next/sfnext-revalidation/references/POLICIES-AND-TAGS.md +55 -0
- package/content/guidance/storefront-next/sfnext-routing/SKILL.md +86 -143
- package/content/guidance/storefront-next/sfnext-routing/references/ROUTE-CONVENTIONS.md +51 -51
- package/content/guidance/storefront-next/sfnext-routing/references/URLS-AND-SEO-ROUTES.md +22 -0
- package/content/guidance/storefront-next/sfnext-scapi/SKILL.md +126 -0
- package/content/guidance/storefront-next/sfnext-scapi/references/WORKED-EXAMPLE.md +39 -0
- package/content/guidance/storefront-next/sfnext-security/SKILL.md +129 -0
- package/content/guidance/storefront-next/sfnext-security/references/COOKIE-DOMAIN.md +39 -0
- package/content/guidance/storefront-next/sfnext-security/references/TURNSTILE.md +43 -0
- package/content/guidance/storefront-next/sfnext-seo/SKILL.md +95 -0
- package/content/guidance/storefront-next/sfnext-seo/references/MULTI-DOMAIN-BASE-PATH.md +17 -0
- package/content/guidance/storefront-next/sfnext-seo/references/SEO-ROUTES.md +31 -0
- package/content/guidance/storefront-next/sfnext-state-management/SKILL.md +80 -89
- package/content/guidance/storefront-next/sfnext-state-management/references/PATTERNS.md +45 -0
- package/content/guidance/storefront-next/sfnext-testing/SKILL.md +105 -138
- package/content/guidance/storefront-next/sfnext-testing/references/E2E.md +38 -0
- package/content/guidance/storefront-next/sfnext-testing/references/STORYBOOK-PATTERNS.md +73 -94
- package/content/guidance/storefront-next/sfnext-testing/references/UNIT-AND-ROUTE-TESTS.md +60 -0
- package/content/guidance/storefront-next/sfnext-theming/SKILL.md +104 -0
- package/content/guidance/storefront-next/sfnext-theming/references/REBRAND-CHECKLIST.md +29 -0
- package/dist/commands/mcp.d.ts +8 -2
- package/dist/commands/mcp.js +54 -20
- package/dist/guidance.d.ts +4 -1
- package/dist/guidance.js +23 -5
- package/dist/registry.d.ts +2 -1
- package/dist/registry.js +3 -3
- package/dist/server.d.ts +10 -0
- package/dist/server.js +21 -0
- package/dist/skill-references.js +5 -5
- package/dist/tools/cartridges/index.js +1 -0
- package/dist/tools/cip/index.js +6 -3
- package/dist/tools/diagnostics/debug-capture-at-breakpoint.js +1 -1
- package/dist/tools/diagnostics/debug-set-breakpoints.js +1 -1
- package/dist/tools/diagnostics/debug-start-session.js +1 -1
- package/dist/tools/docs/docs-read.js +4 -2
- package/dist/tools/docs/docs-search.js +10 -8
- package/dist/tools/docs/topics.d.ts +5 -0
- package/dist/tools/docs/topics.js +5 -0
- package/dist/tools/scapi/index.d.ts +4 -1
- package/dist/tools/scapi/index.js +4 -2
- package/dist/tools/scapi/scapi-code.d.ts +2 -2
- package/dist/tools/scapi/scapi-code.js +106 -81
- package/dist/tools/scapi/scapi-schemas-list.js +93 -56
- package/dist/utils/types.d.ts +6 -0
- package/node_modules/@salesforce/b2c-agent-plugins/CHANGELOG.md +32 -0
- package/node_modules/@salesforce/b2c-agent-plugins/README.md +5 -0
- package/node_modules/@salesforce/b2c-agent-plugins/b2c/.codex-plugin/plugin.json +1 -1
- package/node_modules/@salesforce/b2c-agent-plugins/b2c/plugin.json +1 -1
- package/node_modules/@salesforce/b2c-agent-plugins/b2c/skills/b2c-hooks/references/ORDER-HOOK-LIFECYCLE.md +1 -1
- package/node_modules/@salesforce/b2c-agent-plugins/b2c/skills/b2c-onboarding/SKILL.md +4 -4
- package/node_modules/@salesforce/b2c-agent-plugins/b2c/skills/b2c-ordering/SKILL.md +2 -2
- package/node_modules/@salesforce/b2c-agent-plugins/b2c/skills/b2c-querying-data/SKILL.md +2 -2
- package/node_modules/@salesforce/b2c-agent-plugins/b2c/skills/b2c-scapi-admin/SKILL.md +3 -3
- package/node_modules/@salesforce/b2c-agent-plugins/b2c/skills/b2c-scapi-admin/references/CLIENT-EXAMPLES.md +4 -4
- package/node_modules/@salesforce/b2c-agent-plugins/b2c/skills/b2c-scapi-shopper/SKILL.md +6 -6
- package/node_modules/@salesforce/b2c-agent-plugins/b2c/skills/b2c-scapi-shopper/references/CLIENT-EXAMPLES.md +8 -9
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/.codex-plugin/plugin.json +1 -1
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/plugin.json +1 -1
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-cip/SKILL.md +3 -3
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-cip/references/SALES_ANALYSIS.md +1 -1
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-config/SKILL.md +54 -25
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-content/SKILL.md +1 -1
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-debug/SKILL.md +1 -1
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-docs/SKILL.md +23 -2
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-ecdn/SKILL.md +2 -0
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-ecdn/references/ADVANCED.md +1 -1
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-job/SKILL.md +9 -3
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-job/references/IMPORT.md +1 -1
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-job/references/RUN-AND-MONITOR.md +35 -6
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-metrics/SKILL.md +1 -1
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-mrt/SKILL.md +3 -3
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-scapi-custom/SKILL.md +1 -1
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-scapi-schemas/SKILL.md +6 -2
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-site-import-export/SKILL.md +1 -1
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-sites/SKILL.md +1 -1
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-slas/SKILL.md +1 -1
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-ops/.codex-plugin/plugin.json +4 -3
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-ops/README.md +1 -0
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-ops/plugin.json +4 -3
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-ops/skills/b2c-checkout-triage/SKILL.md +2 -2
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-ops/skills/b2c-edge-traffic-triage/SKILL.md +69 -0
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-ops/skills/b2c-job-health/SKILL.md +13 -8
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-ops/skills/b2c-order-failure-triage/SKILL.md +1 -1
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-ops/skills/b2c-order-failure-triage/references/order-evidence.md +2 -2
- package/node_modules/@salesforce/b2c-agent-plugins/b2c-ops/skills/b2c-production-triage/SKILL.md +5 -4
- package/node_modules/@salesforce/b2c-agent-plugins/figma-to-sfnext-pagedesigner/README.md +4 -4
- package/node_modules/@salesforce/b2c-agent-plugins/figma-to-sfnext-pagedesigner/skills/figma-to-sfnext-pagedesigner/SKILL.md +76 -73
- package/node_modules/@salesforce/b2c-agent-plugins/figma-to-sfnext-pagedesigner/skills/figma-to-sfnext-pagedesigner/evals/trigger-evals.json +12 -10
- package/node_modules/@salesforce/b2c-agent-plugins/figma-to-sfnext-pagedesigner/skills/figma-to-sfnext-pagedesigner/references/PAGE-DESIGNER-SFN.md +49 -74
- package/node_modules/@salesforce/b2c-agent-plugins/package.json +1 -1
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/.codex-plugin/plugin.json +9 -6
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/README.md +43 -22
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/plugin.json +9 -6
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-accessibility/SKILL.md +103 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-accessibility/evals/trigger-evals.json +5 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-accessibility/references/checklist.md +64 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-analytics-consent/SKILL.md +91 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-analytics-consent/evals/trigger-evals.json +5 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-analytics-consent/references/CUSTOM-ADAPTER.md +49 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-authentication/SKILL.md +86 -79
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-authentication/evals/trigger-evals.json +5 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-authentication/references/COOKIES.md +39 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-authentication/references/LOGIN-FLOWS.md +59 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-commerce-features/SKILL.md +67 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-commerce-features/evals/trigger-evals.json +5 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-commerce-features/references/FEATURE-PREREQUISITES.md +37 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-components/SKILL.md +98 -136
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-components/evals/trigger-evals.json +5 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-components/references/COMPONENT-AUTHORING.md +118 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-components/references/SHAPE-TOKENS.md +51 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-components/references/STORYBOOK.md +54 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-components/references/TOKEN-SYSTEM.md +53 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-components/references/TROUBLESHOOTING.md +19 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-configuration/SKILL.md +116 -113
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-configuration/evals/trigger-evals.json +5 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-configuration/references/ENV-VARIABLES.md +55 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-configuration/references/MULTI-SITE-URLS.md +137 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-data-fetching/SKILL.md +100 -150
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-data-fetching/evals/trigger-evals.json +5 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-data-fetching/references/ACTIONS.md +53 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-data-fetching/references/API-CLIENTS.md +34 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-data-fetching/references/LOADERS.md +73 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-data-fetching/references/SCAPI-FETCHER.md +23 -77
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-deployment/SKILL.md +83 -97
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-deployment/evals/trigger-evals.json +5 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-deployment/references/MRT-DEPLOYMENT.md +37 -68
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-extensions/SKILL.md +73 -97
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-extensions/evals/trigger-evals.json +5 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-extensions/references/ACTION-HOOKS.md +57 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-extensions/references/BASE-AUDIT.md +47 -44
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-extensions/references/CLI-AND-INSTALL.md +58 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-extensions/references/EXTENSION-EXAMPLES.md +49 -86
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-hybrid-storefronts/SKILL.md +59 -114
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-hybrid-storefronts/evals/trigger-evals.json +5 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-hybrid-storefronts/references/HYBRID-PROXY-CONFIG.md +53 -90
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-i18n/SKILL.md +96 -131
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-i18n/evals/trigger-evals.json +5 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-i18n/references/locale-config.md +35 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-overview/SKILL.md +101 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-overview/evals/trigger-evals.json +5 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-page-designer/SKILL.md +152 -131
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-page-designer/evals/trigger-evals.json +5 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-page-designer/references/BUSINESS-MANAGER.md +46 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-page-designer/references/COMPONENT-REGISTRY.md +86 -53
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-page-designer/references/DECORATOR-PATTERNS.md +119 -131
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-page-designer/references/REVIEW-CHECKLIST.md +83 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-page-designer/references/TROUBLESHOOTING.md +35 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-performance/SKILL.md +75 -105
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-performance/evals/trigger-evals.json +5 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-performance/references/PERFORMANCE-REVIEW-CHECKLIST.md +85 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-performance/references/SUSPENSE-AND-STREAMING.md +58 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-project-setup/SKILL.md +103 -116
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-project-setup/evals/trigger-evals.json +5 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-project-setup/references/PROJECT-STRUCTURE.md +61 -99
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-project-setup/references/SCRIPTS.md +47 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-project-setup/references/SFNEXT-CLI.md +63 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-quality-gates/SKILL.md +70 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-quality-gates/evals/trigger-evals.json +5 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-quality-gates/references/lint-and-budgets.md +39 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-revalidation/SKILL.md +121 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-revalidation/evals/trigger-evals.json +5 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-revalidation/references/POLICIES-AND-TAGS.md +55 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-routing/SKILL.md +86 -143
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-routing/evals/trigger-evals.json +5 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-routing/references/ROUTE-CONVENTIONS.md +51 -51
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-routing/references/URLS-AND-SEO-ROUTES.md +22 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-scapi/SKILL.md +126 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-scapi/evals/trigger-evals.json +5 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-scapi/references/WORKED-EXAMPLE.md +39 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-security/SKILL.md +129 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-security/evals/trigger-evals.json +5 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-security/references/COOKIE-DOMAIN.md +39 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-security/references/TURNSTILE.md +43 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-seo/SKILL.md +95 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-seo/evals/trigger-evals.json +5 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-seo/references/MULTI-DOMAIN-BASE-PATH.md +17 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-seo/references/SEO-ROUTES.md +31 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-state-management/SKILL.md +80 -89
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-state-management/evals/trigger-evals.json +5 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-state-management/references/PATTERNS.md +45 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-testing/SKILL.md +105 -138
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-testing/evals/trigger-evals.json +5 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-testing/references/E2E.md +38 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-testing/references/STORYBOOK-PATTERNS.md +73 -94
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-testing/references/UNIT-AND-ROUTE-TESTS.md +60 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-theming/SKILL.md +104 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-theming/evals/trigger-evals.json +5 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-theming/references/REBRAND-CHECKLIST.md +29 -0
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next-figma/skills/sfnext-create-figma-kit/SKILL.md +3 -3
- package/oclif.manifest.json +21 -4
- package/package.json +4 -4
- package/content/guidance/mcp/scapi/SKILL.md +0 -203
- package/content/guidance/mcp/scapi/references/jobs.md +0 -30
- package/content/guidance/storefront-next/sfnext-create-component/SKILL.md +0 -195
- package/content/guidance/storefront-next/sfnext-create-component/references/COMPONENT-AUTHORING.md +0 -206
- package/content/guidance/storefront-next/sfnext-create-component/references/PROJECT-STRUCTURE.md +0 -43
- package/content/guidance/storefront-next/sfnext-create-component/references/TOKEN-SYSTEM.md +0 -130
- package/content/guidance/storefront-next/sfnext-create-component/references/TROUBLESHOOTING.md +0 -34
- package/content/guidance/storefront-next/sfnext-create-vertical/SKILL.md +0 -135
- package/content/guidance/storefront-next/sfnext-create-vertical/references/COMPONENT-AUTHORING.md +0 -206
- package/content/guidance/storefront-next/sfnext-create-vertical/references/PROJECT-STRUCTURE.md +0 -43
- package/content/guidance/storefront-next/sfnext-create-vertical/references/TOKEN-SYSTEM.md +0 -130
- package/content/guidance/storefront-next/sfnext-create-vertical/references/TROUBLESHOOTING.md +0 -34
- package/content/guidance/storefront-next/sfnext-custom-apis/SKILL.md +0 -221
- package/content/guidance/storefront-next/sfnext-custom-apis/references/WORKFLOW-EXAMPLES.md +0 -294
- package/content/guidance/storefront-next/sfnext-data-fetching/references/LOADER-PATTERNS.md +0 -102
- package/content/guidance/storefront-next/sfnext-project-setup/references/ENV-VARIABLES.md +0 -82
- package/content/guidance/storefront-next/sfnext-scapi-management/SKILL.md +0 -203
- package/content/guidance/storefront-next/sfnext-scapi-management/references/CLI-COMMANDS.md +0 -122
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-create-component/SKILL.md +0 -195
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-create-component/evals/trigger-evals.json +0 -12
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-create-component/references/COMPONENT-AUTHORING.md +0 -206
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-create-component/references/PROJECT-STRUCTURE.md +0 -43
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-create-component/references/TOKEN-SYSTEM.md +0 -130
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-create-component/references/TROUBLESHOOTING.md +0 -34
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-create-vertical/SKILL.md +0 -135
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-create-vertical/evals/trigger-evals.json +0 -12
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-create-vertical/references/COMPONENT-AUTHORING.md +0 -206
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-create-vertical/references/PROJECT-STRUCTURE.md +0 -43
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-create-vertical/references/TOKEN-SYSTEM.md +0 -130
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-create-vertical/references/TROUBLESHOOTING.md +0 -34
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-custom-apis/SKILL.md +0 -221
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-custom-apis/evals/trigger-evals.json +0 -12
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-custom-apis/references/WORKFLOW-EXAMPLES.md +0 -294
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-data-fetching/references/LOADER-PATTERNS.md +0 -102
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-project-setup/references/ENV-VARIABLES.md +0 -82
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-scapi-management/SKILL.md +0 -203
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-scapi-management/evals/trigger-evals.json +0 -12
- package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-scapi-management/references/CLI-COMMANDS.md +0 -122
- /package/content/guidance/mcp/{scapi → b2c-mcp-scapi}/references/custom-apis.md +0 -0
- /package/content/guidance/mcp/{scapi → b2c-mcp-scapi}/references/custom-properties.md +0 -0
- /package/content/guidance/mcp/{scapi → b2c-mcp-scapi}/references/products.md +0 -0
- /package/content/guidance/mcp/{scapi → b2c-mcp-scapi}/references/promotions.md +0 -0
- /package/content/guidance/mcp/{scapi → b2c-mcp-scapi}/references/saving.md +0 -0
- /package/content/guidance/mcp/{scapi → b2c-mcp-scapi}/references/snippets.md +0 -0
- /package/content/guidance/mcp/{scapi → b2c-mcp-scapi}/references/tokens.md +0 -0
- /package/content/guidance/mcp/{server → b2c-mcp-server}/references/files.md +0 -0
package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-theming/SKILL.md
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sfnext-theming
|
|
3
|
+
description: >-
|
|
4
|
+
Re-brand and re-skin a Storefront Next storefront: change the color palette, corner radius and shadows (shape tokens), header and footer colors, typography and web fonts, logo, favicon, hero scrims, and brand copy, with WCAG contrast checks. Use when asked to rebrand or restyle the storefront, change the primary color, swap the font, make the header dark, make cards rounded or flat, replace the logo, edit src/theme, core.css, header.css, brand.css, tailwind.css, base.css, or src/lib/fonts.ts, or verify a theme change in the Design System Storybook stories. Do not use for building or styling an individual component (use `storefront-next:sfnext-components`), Figma kit sync (use `storefront-next-figma:sfnext-create-figma-kit`), or site configuration (use `storefront-next:sfnext-configuration`).
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Theming a Storefront Next Storefront
|
|
8
|
+
|
|
9
|
+
Your storefront has exactly one theme, in `src/theme/`, and it is yours to edit. Rebranding is mostly value changes in a few CSS files; components pick the new look up through token classes. Choose a starting look with `sfnext create-storefront --vertical <id>` (a starter theme) and then customize it as below.
|
|
10
|
+
|
|
11
|
+
## Where things live
|
|
12
|
+
|
|
13
|
+
| Concern | File |
|
|
14
|
+
|---|---|
|
|
15
|
+
| Entry point and Tailwind `@source` scoping | `src/theme/index.css` (imports `shared.css`, which sets import order) |
|
|
16
|
+
| Palette: background, foreground, primary, secondary, accent, muted, border, ring, destructive/success/warning/info | `src/theme/tokens/core.css` |
|
|
17
|
+
| Shape: `--ui-radius`, `--ui-shadow`, `--ui-border-width` | `src/theme/tokens/core.css` |
|
|
18
|
+
| Header, menu, footer, newsletter band, `--header-logo-filter` | `src/theme/tokens/header.css` |
|
|
19
|
+
| Status and feedback colors | `src/theme/tokens/status.css` |
|
|
20
|
+
| Swatches, sidebar, agentic UI, payment and cart extras, focus helpers | `tokens/swatch.css`, `sidebar.css`, `agentic.css`, `components.css`, `custom.css` |
|
|
21
|
+
| `--brand-*` color primitives and hero scrims (`--hero-overlay-*`, `--hero-scrim`) | `src/theme/tokens/brand.css` |
|
|
22
|
+
| Font stacks `--font-sans/-serif/-mono`; token-to-utility bridge | `src/theme/tailwind.css` (`@theme inline`) |
|
|
23
|
+
| `@font-face`, base layer, `.section-container`, section-scoped shape rules | `src/theme/base.css` |
|
|
24
|
+
| Component-level CSS (navigation, cart sheet, toasts, store locator) | `src/theme/overrides/*.css` |
|
|
25
|
+
| Font binding and preload | `public/fonts/*.woff2`, `src/lib/fonts.ts` (used by `src/root.tsx`) |
|
|
26
|
+
| Logo, favicon, hero and payment images | `public/images/`, `public/favicon.ico` |
|
|
27
|
+
| Site name and brand strings | `src/locales/<locale>/translations.json` (`common.defaultSiteName`) |
|
|
28
|
+
|
|
29
|
+
Palette values are not all derived from `brand.css`: `core.css` sets `--primary` and friends directly, so change them there. Token-to-class wiring and the full token file list are covered in `storefront-next:sfnext-components` (token system reference).
|
|
30
|
+
|
|
31
|
+
## Workflow
|
|
32
|
+
|
|
33
|
+
### 1. Read the current theme
|
|
34
|
+
|
|
35
|
+
Open `src/theme/index.css`, `tokens/core.css`, `tokens/header.css`, and `tailwind.css` before editing. Keep variable names; change values.
|
|
36
|
+
|
|
37
|
+
### 2. Palette
|
|
38
|
+
|
|
39
|
+
Edit `:root` in `tokens/core.css`: `--primary`/`--primary-foreground`, `--background`/`--foreground`, `--secondary`, `--accent`, `--muted`, borders, `--ring`. Comments in the file record WCAG contrast ratios for the current values; recompute for yours. Minimums: 4.5:1 for text (`--primary` on `--primary-foreground`, `--foreground` on `--background`, each status color on its `-foreground`), 3:1 for borders and focus rings against the surface.
|
|
40
|
+
|
|
41
|
+
Update `tokens/status.css` if semantic colors clash with the new palette, and `tokens/swatch.css`, `tokens/components.css` where defaults look off.
|
|
42
|
+
|
|
43
|
+
### 3. Header, footer, and newsletter chrome
|
|
44
|
+
|
|
45
|
+
`tokens/header.css` is deliberately decoupled from `--primary`, so changing the primary color does not recolor the header. Set `--header-background`/`--header-foreground`, menu hover/active colors, and `--footer-*` yourself. The logo is an image: for a dark header with a dark logo, set `--header-logo-filter` (for example `brightness(0) invert(1)` turns a black logo white; `none` leaves it alone). `--newsletter-background` defaults to `var(--primary)`.
|
|
46
|
+
|
|
47
|
+
### 4. Shape
|
|
48
|
+
|
|
49
|
+
Set `--ui-radius`, `--ui-shadow`, `--ui-border-width` in `core.css` to re-skin every shadcn primitive at once. Flat and square: `0`, `none`, `0`. Soft and raised: `var(--radius-xl)`, a light shadow, `0`. Do not edit primitives or add `rounded-*`/`shadow-*` classes, and never write `--radius-ui` / `--shadow-ui` (compile-time bridges, silent no-op). Scoped overrides, section rules, and the Card border exception are covered in `storefront-next:sfnext-components` (shape tokens reference). If your default border width is 0, the section rules at the bottom of `base.css` re-enable 1px Card borders on account, auth, and checkout pages; adjust those to taste.
|
|
50
|
+
|
|
51
|
+
### 5. Typography
|
|
52
|
+
|
|
53
|
+
Four touch points, all must agree:
|
|
54
|
+
|
|
55
|
+
1. Put the variable `.woff2` in `public/fonts/`.
|
|
56
|
+
2. `src/lib/fonts.ts`: `import font from '/fonts/<file>.woff2'; export const primaryFont = font;` (`root.tsx` preloads it).
|
|
57
|
+
3. `@font-face` in `src/theme/base.css` (same URL, weight range, `font-display: swap`).
|
|
58
|
+
4. `--font-sans` / `--font-serif` / `--font-mono` in `src/theme/tailwind.css`, with a fallback stack of similar metrics.
|
|
59
|
+
|
|
60
|
+
Self-host fonts (WOFF2, preloaded, no third-party CDN). Remove the old font file if unused.
|
|
61
|
+
|
|
62
|
+
### 6. Assets and copy
|
|
63
|
+
|
|
64
|
+
- Logo: replace `public/images/logo.svg` (the `Logo` component in `src/components/logo` renders it; you can replace that component for an inline-SVG logo).
|
|
65
|
+
- Favicon: `public/favicon.ico`.
|
|
66
|
+
- Hero and promo images: `public/images/` (and the Page Designer content that references them).
|
|
67
|
+
- Brand name: `common.defaultSiteName` in each `src/locales/<locale>/translations.json` you ship (used in page titles).
|
|
68
|
+
- Hero text scrims: `--brand-black`/`--brand-white` in `brand.css` feed `--hero-overlay-dark/-light` and `--hero-scrim`; update them with the brand so hero text stays legible.
|
|
69
|
+
|
|
70
|
+
### 7. Dark mode
|
|
71
|
+
|
|
72
|
+
The shipped theme has one palette and no `.dark` token block. Do not promise dark mode; it would be new work (a `.dark` scope for every token file).
|
|
73
|
+
|
|
74
|
+
### 8. Verify
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
pnpm dev # look at home, PLP, PDP, cart, checkout, account
|
|
78
|
+
pnpm storybook # Design System/Theme/Colors, Typography, Radius, Shadows
|
|
79
|
+
pnpm lint # color-linter flags hard-coded colors
|
|
80
|
+
pnpm typecheck
|
|
81
|
+
pnpm storybook:test --type=snapshot # add --update only after reviewing intended changes
|
|
82
|
+
pnpm storybook:test --type=a11y # contrast and ARIA via axe-core
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
The `Design System/Theme/*` stories (`src/design-system/stories/`) render the live tokens and are the quickest visual check.
|
|
86
|
+
|
|
87
|
+
## Guardrails
|
|
88
|
+
|
|
89
|
+
- Change values in token files; do not sprinkle hex codes or `bg-[#...]` in components.
|
|
90
|
+
- Need a new token? Define it in a `tokens/*.css` file and bridge it in `@theme inline` in `tailwind.css` (see TOKEN-SYSTEM).
|
|
91
|
+
- Component-level CSS goes in `src/theme/overrides/*.css` (import it from `shared.css`) or `base.css`; prefer `[data-slot="..."]` selectors over utility-class selectors.
|
|
92
|
+
|
|
93
|
+
## Design handoff
|
|
94
|
+
|
|
95
|
+
If your designers work in Figma, keep the Figma variables and code tokens aligned with `storefront-next-figma:sfnext-create-figma-kit` (requires the Figma MCP server). Change the tokens in code first, then sync the kit.
|
|
96
|
+
|
|
97
|
+
## Related Skills
|
|
98
|
+
|
|
99
|
+
- `storefront-next:sfnext-components` - Build and style components with token classes and shape tokens
|
|
100
|
+
- `storefront-next:sfnext-accessibility` - Contrast, focus, and accessibility scans
|
|
101
|
+
- `storefront-next:sfnext-i18n` - Locale files that hold brand copy
|
|
102
|
+
- `storefront-next:sfnext-performance` - Font and image loading guidance
|
|
103
|
+
- `storefront-next:sfnext-page-designer` - Content and hero components authored in Page Designer
|
|
104
|
+
- `storefront-next-figma:sfnext-create-figma-kit` - Sync the Figma design kit with your tokens
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
[
|
|
2
|
+
{"query": "Re-skin my Storefront Next storefront: change the primary color to a deep green, swap the font to Inter, and make the header dark.", "should_trigger": true},
|
|
3
|
+
{"query": "Make the cards and buttons rounded with a soft shadow across the whole site. Where do I change that?", "should_trigger": true},
|
|
4
|
+
{"query": "Create a new ProductBadge component with CVA variants and a Storybook story that passes the snapshot tests.", "should_trigger": false}
|
|
5
|
+
]
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Rebrand Checklist
|
|
2
|
+
|
|
3
|
+
Work top to bottom; each item names the file to touch.
|
|
4
|
+
|
|
5
|
+
- [ ] `src/theme/tokens/core.css`: `--primary`, `--primary-foreground`, `--background`, `--foreground`, `--secondary`, `--accent`, `--muted`, `--border`, `--input`, `--ring`
|
|
6
|
+
- [ ] `src/theme/tokens/core.css`: contrast re-checked (text 4.5:1, borders and focus rings 3:1); update the ratio comments
|
|
7
|
+
- [ ] `src/theme/tokens/core.css`: `--ui-radius`, `--ui-shadow`, `--ui-border-width`
|
|
8
|
+
- [ ] `src/theme/base.css`: section-scoped Card border rules still match the chosen border width
|
|
9
|
+
- [ ] `src/theme/tokens/header.css`: header, menu, footer, newsletter colors; `--header-logo-filter`
|
|
10
|
+
- [ ] `src/theme/tokens/status.css`: status colors still readable against the new surfaces
|
|
11
|
+
- [ ] `src/theme/tokens/brand.css`: `--brand-*` primitives and hero scrims
|
|
12
|
+
- [ ] `src/theme/tokens/swatch.css`, `components.css`: swatch and badge defaults
|
|
13
|
+
- [ ] Font: `public/fonts/`, `src/lib/fonts.ts`, `@font-face` in `src/theme/base.css`, `--font-*` in `src/theme/tailwind.css`
|
|
14
|
+
- [ ] `public/images/logo.svg`, `public/favicon.ico`, hero images
|
|
15
|
+
- [ ] `common.defaultSiteName` in `src/locales/*/translations.json`
|
|
16
|
+
- [ ] Page Designer content referencing old imagery or colors
|
|
17
|
+
- [ ] `pnpm lint`, `pnpm typecheck`, `pnpm storybook:test --type=snapshot`, `--type=a11y`
|
|
18
|
+
- [ ] Visual pass: home, PLP, PDP, cart, checkout, account, error pages
|
|
19
|
+
|
|
20
|
+
## Common mistakes
|
|
21
|
+
|
|
22
|
+
| Mistake | Result |
|
|
23
|
+
|---|---|
|
|
24
|
+
| Editing only `brand.css` | Little changes; the palette is in `core.css` |
|
|
25
|
+
| Writing `--radius-ui` or `--shadow-ui` | Silent no-op; use `--ui-radius` / `--ui-shadow` |
|
|
26
|
+
| Changing the font file but not `base.css` `@font-face` | Old font still loads or fallback shows |
|
|
27
|
+
| Forgetting `--header-logo-filter` after a header color change | Logo unreadable |
|
|
28
|
+
| Hard-coding hex in components | `pnpm lint` fails (`custom/color-linter`) and the theme no longer controls it |
|
|
29
|
+
| Changing `--primary` and expecting the header to follow | Header tokens are independent; edit `header.css` |
|
|
@@ -7,7 +7,7 @@ description: Build or sync a Storefront Next vertical's Figma design kit — dup
|
|
|
7
7
|
|
|
8
8
|
This skill is the entrypoint for setting up or syncing the **Figma design kit** for a Storefront Next vertical, so the kit stays aligned with the brand tokens defined in code.
|
|
9
9
|
|
|
10
|
-
It is the design-kit companion to `sfnext-
|
|
10
|
+
It is the design-kit companion to `sfnext-theming` (in the `storefront-next` plugin): create or change the brand tokens in code first, then run this skill to mirror them in Figma.
|
|
11
11
|
|
|
12
12
|
## Step 0 — Verify prerequisites (required)
|
|
13
13
|
|
|
@@ -121,8 +121,8 @@ All three must pass with zero errors and zero warnings.
|
|
|
121
121
|
|
|
122
122
|
## Related Skills
|
|
123
123
|
|
|
124
|
-
- `storefront-next:sfnext-
|
|
125
|
-
- `storefront-next:sfnext-
|
|
124
|
+
- `storefront-next:sfnext-theming` - Define the brand tokens in code (run this first)
|
|
125
|
+
- `storefront-next:sfnext-components` - Author the React component a Code Connect mapping points to
|
|
126
126
|
|
|
127
127
|
## Reference Documentation
|
|
128
128
|
|
package/oclif.manifest.json
CHANGED
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"type": "option"
|
|
82
82
|
},
|
|
83
83
|
"config": {
|
|
84
|
-
"description": "Path to config file (in dw.json format; defaults to ./dw.json)",
|
|
84
|
+
"description": "Path to config file (in dw.json format; defaults to ./dw.json; empty for none)",
|
|
85
85
|
"env": "SFCC_CONFIG",
|
|
86
86
|
"helpGroup": "GLOBAL",
|
|
87
87
|
"name": "config",
|
|
@@ -99,6 +99,15 @@
|
|
|
99
99
|
"multiple": false,
|
|
100
100
|
"type": "option"
|
|
101
101
|
},
|
|
102
|
+
"dotenv-file": {
|
|
103
|
+
"description": "Path to .env file used instead of ./.env (empty for none)",
|
|
104
|
+
"env": "SFCC_DOTENV_FILE",
|
|
105
|
+
"helpGroup": "GLOBAL",
|
|
106
|
+
"name": "dotenv-file",
|
|
107
|
+
"hasDynamicHelp": false,
|
|
108
|
+
"multiple": false,
|
|
109
|
+
"type": "option"
|
|
110
|
+
},
|
|
102
111
|
"project-directory": {
|
|
103
112
|
"aliases": [
|
|
104
113
|
"working-directory"
|
|
@@ -326,7 +335,7 @@
|
|
|
326
335
|
"type": "option"
|
|
327
336
|
},
|
|
328
337
|
"mrt-backend": {
|
|
329
|
-
"description": "MRT backend: auto (prefer SCAPI MRT when configured, else legacy),
|
|
338
|
+
"description": "MRT backend: legacy (default), auto (prefer SCAPI MRT when configured, else legacy), or scapi",
|
|
330
339
|
"env": "MRT_BACKEND",
|
|
331
340
|
"name": "mrt-backend",
|
|
332
341
|
"hasDynamicHelp": false,
|
|
@@ -458,12 +467,20 @@
|
|
|
458
467
|
"type": "option"
|
|
459
468
|
},
|
|
460
469
|
"docs-topics": {
|
|
461
|
-
"description": "Limit the documentation exposed by the docs tools to these categories (comma-separated allowlist). Options: script-api, job-step, commerce-api, pwa-kit-managed-runtime, sfnext, sfra, b2c-commerce, ocapi, tooling, help-admin, help-merchant, help-kb. Bounds the whole docs corpus; per-call category/storefront narrow within it. Unknown names are ignored.",
|
|
470
|
+
"description": "Limit the documentation exposed by the docs tools to these categories (comma-separated allowlist). Options: script-api, job-step, commerce-api, pwa-kit-managed-runtime, sfnext, sfra, b2c-commerce, commerce-solutions, ocapi, tooling, help-admin, help-merchant, help-kb. Bounds the whole docs corpus; per-call category/storefront narrow within it. Unknown names are ignored.",
|
|
462
471
|
"env": "SFCC_DOCS_TOPICS",
|
|
463
472
|
"name": "docs-topics",
|
|
464
473
|
"hasDynamicHelp": false,
|
|
465
474
|
"multiple": false,
|
|
466
475
|
"type": "option"
|
|
476
|
+
},
|
|
477
|
+
"scapi-schemas": {
|
|
478
|
+
"description": "Local SCAPI OpenAPI contracts for scapi_search and scapi_execute (comma-separated JSON files, directories or http(s) URLs). Each replaces the bundled or live contract with the same family/name/version from servers[0].url, or adds an API. Developer option for beta and pre-release APIs. Overrides the project config scapi-schemas (dw.json or project .env).",
|
|
479
|
+
"env": "SFCC_SCAPI_SCHEMAS",
|
|
480
|
+
"name": "scapi-schemas",
|
|
481
|
+
"hasDynamicHelp": false,
|
|
482
|
+
"multiple": false,
|
|
483
|
+
"type": "option"
|
|
467
484
|
}
|
|
468
485
|
},
|
|
469
486
|
"hasDynamicHelp": false,
|
|
@@ -476,5 +493,5 @@
|
|
|
476
493
|
"enableJsonFlag": false
|
|
477
494
|
}
|
|
478
495
|
},
|
|
479
|
-
"version": "3.
|
|
496
|
+
"version": "3.4.0"
|
|
480
497
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/b2c-dx-mcp",
|
|
3
3
|
"description": "MCP server for B2C Commerce developer experience tools",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.4.0",
|
|
5
5
|
"author": "Salesforce",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"repository": "SalesforceCommerceCloud/b2c-developer-tooling",
|
|
@@ -80,8 +80,8 @@
|
|
|
80
80
|
"ts-morph": "27.0.2",
|
|
81
81
|
"yaml": "2.9.0",
|
|
82
82
|
"zod": "4.5.4",
|
|
83
|
-
"@salesforce/b2c-agent-plugins": "1.
|
|
84
|
-
"@salesforce/b2c-tooling-sdk": "2.
|
|
83
|
+
"@salesforce/b2c-agent-plugins": "1.12.0",
|
|
84
|
+
"@salesforce/b2c-tooling-sdk": "2.5.0"
|
|
85
85
|
},
|
|
86
86
|
"bundledDependencies": [
|
|
87
87
|
"@modelcontextprotocol/server",
|
|
@@ -128,7 +128,7 @@
|
|
|
128
128
|
"preinspect": "pnpm run build",
|
|
129
129
|
"inspect": "mcp-inspector node bin/run.js --toolsets all",
|
|
130
130
|
"inspect:dev": "mcp-inspector node --conditions development bin/dev.js --toolsets all",
|
|
131
|
-
"pretest": "tsc --noEmit -p test",
|
|
131
|
+
"pretest": "pnpm run generate:guidance && tsc --noEmit -p test",
|
|
132
132
|
"test": "c8 mocha --forbid-only --ignore \"test/e2e/**\" \"test/**/*.test.ts\"",
|
|
133
133
|
"test:ci": "c8 mocha --forbid-only --reporter json --reporter-option output=test-results.json --ignore \"test/e2e/**\" \"test/**/*.test.ts\"",
|
|
134
134
|
"test:ci:win": "c8 --check-coverage=false mocha --forbid-only --reporter json --reporter-option output=test-results.json --ignore \"test/e2e/**\" \"test/**/*.test.ts\"",
|
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: MCP SCAPI Code Mode
|
|
3
|
-
description: Discover standard and live custom SCAPI contracts, compose Admin requests, and verify changes using configured authentication and safety rules.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# SCAPI Code Mode
|
|
7
|
-
|
|
8
|
-
Prefer dedicated tools. Otherwise discover with `scapi_search`, compose with
|
|
9
|
-
`scapi_execute`. Use JavaScript async arrow functions; no TypeScript or imports.
|
|
10
|
-
Warehouse reports/SQL use `cip_discover` / `cip_query`, not code mode;
|
|
11
|
-
see [CIP analytics](skill://mcp/cip/SKILL.md).
|
|
12
|
-
Use code mode for API discovery, request composition, and result processing.
|
|
13
|
-
Use terminal/file tools for local development, builds, and filesystem work.
|
|
14
|
-
Filesystem APIs, subprocesses, worker threads, and native addons are restricted.
|
|
15
|
-
Read this skill once via resources or `skills_read`,
|
|
16
|
-
then pass `skillRead: true`. This does not authorize mutations.
|
|
17
|
-
|
|
18
|
-
## Discover
|
|
19
|
-
|
|
20
|
-
Discovery defaults to the bundled standard contracts offline; no credentials needed.
|
|
21
|
-
Pass `schemas: "live"` to search the configured tenant's Schemas API contracts
|
|
22
|
-
instead: tenant `c_*` properties, custom APIs, and APIs newer than the bundle.
|
|
23
|
-
Live search needs `sfcc.scapi-schemas`, uses the same project context as
|
|
24
|
-
`scapi_execute`, and caches per tenant for the server session (`refresh: true` refetches). Contracts that
|
|
25
|
-
failed to load are listed in `schemaFailures`. Schemas and responses can be huge.
|
|
26
|
-
Return only what the next decision needs:
|
|
27
|
-
|
|
28
|
-
1. Find APIs/operations through `spec.apis`/`spec.paths`; return method/path/operationId.
|
|
29
|
-
2. Narrow by `api`, path, or `authType`; inspect required inputs and selected fields,
|
|
30
|
-
including `allOf` when present.
|
|
31
|
-
3. Inspect response fields only as needed; avoid whole operations/schema trees.
|
|
32
|
-
|
|
33
|
-
Local refs expand; recursive/deep refs retain `$ref`. `op.auth.executable` means
|
|
34
|
-
runtime support, not configured access; `op.security` gives scopes.
|
|
35
|
-
|
|
36
|
-
### Task map
|
|
37
|
-
|
|
38
|
-
Use these API IDs to narrow discovery; inspect the operation's inputs before calling.
|
|
39
|
-
Snippet names below have the `builtin/` prefix. Describe only the relevant snippet.
|
|
40
|
-
|
|
41
|
-
| Task | API / starting point |
|
|
42
|
-
| --------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
|
|
43
|
-
| Review runs, including successes | `operation/jobs/v1`: `searchJobExecutions`; `job-execution-review` snippet |
|
|
44
|
-
| Inspect steps and exact log path | `operation/jobs/v1`: `getJobExecution`; `job-execution-inspect` snippet |
|
|
45
|
-
| Investigate failures with detail reads | `failed-job-triage` snippet; [jobs](references/jobs.md) |
|
|
46
|
-
| Start a job / stop an execution | `operation/jobs/v1`: `createJobExecution` / `deleteJobExecution`; confirm intent and active runs first |
|
|
47
|
-
| Active/rollback versions, activation metadata | `dx/scripts/v1`: `getCodeVersions`; `code-version-inspect` snippet |
|
|
48
|
-
| Activate/create/delete a code version | `dx/scripts/v1`: `updateCodeVersion` / `createCodeVersion` / `deleteCodeVersion` |
|
|
49
|
-
| Site status, catalog, ordered cartridge path | `site/sites/v1`: `getSiteById`; `site-cartridge-inspect` snippet |
|
|
50
|
-
| Change a site's custom cartridge path | `site/sites/v1`: `replaceSiteCustomCartridges`; preserve order and unrelated entries |
|
|
51
|
-
| Basic product + optional category assignment | `create-product` snippet; [products](references/products.md) |
|
|
52
|
-
| Campaign assignments and promotion details | `campaign-promotions` snippet; [promotions](references/promotions.md) |
|
|
53
|
-
|
|
54
|
-
File content is WebDAV: `webdav_list` / `webdav_get` / `webdav_put`.
|
|
55
|
-
Deploy local cartridge files with `cartridge_deploy`. Job schedules/definitions
|
|
56
|
-
are not execution history; obtain expected schedules from Business Manager/user.
|
|
57
|
-
Do not fall back to a terminal merely because there is no dedicated job/site tool.
|
|
58
|
-
|
|
59
|
-
### Tenant custom properties and APIs
|
|
60
|
-
|
|
61
|
-
Bundled schemas omit tenant `c_*` definitions. Known custom fields can be sent
|
|
62
|
-
directly in standard Admin bodies; schema retrieval is optional. SCAPI validates
|
|
63
|
-
the payload. To discover tenant fields, search with `schemas: "live"` (narrow with
|
|
64
|
-
`api`), or fetch the live schema with `scapi_schemas_list`: `includeSchemas: true`,
|
|
65
|
-
`apiFamily`, `apiName`, `apiVersion`.
|
|
66
|
-
Custom-property expansion defaults to true; disable with `expandCustomProperties: false`.
|
|
67
|
-
`expandAll: true` retains full definitions; it is separate from custom-property
|
|
68
|
-
expansion. Large contracts: fetch through `scapi_execute` and return only relevant
|
|
69
|
-
fields ([example](references/custom-properties.md)). Requires `sfcc.scapi-schemas`.
|
|
70
|
-
Use the same project/instance for schema lookup and writes.
|
|
71
|
-
|
|
72
|
-
Live contracts found by `schemas: "live"` search, expanded `scapi_schemas_list`
|
|
73
|
-
fetches, or Schemas API reads inside `scapi_execute` are cached for that tenant.
|
|
74
|
-
`scapi_execute` then routes to them, replacing bundled versions; they never change
|
|
75
|
-
the offline `spec`. If schema access fails, report it; use
|
|
76
|
-
already-known fields or ask for missing details. The optional CLI equivalent is
|
|
77
|
-
`b2c scapi schemas get`, which also expands custom properties by default.
|
|
78
|
-
|
|
79
|
-
For custom endpoint contracts, search with `schemas: "live"` or use
|
|
80
|
-
`scapi_schemas_list` with `apiFamily: "custom"`; check registration with
|
|
81
|
-
`scapi_custom_apis_get_status` when needed. Custom endpoints found through live
|
|
82
|
-
search are callable from `scapi_execute` for the same tenant. Otherwise fetch the
|
|
83
|
-
live contract through `scapi.request` in the program before making declared calls. `AmOAuth2`
|
|
84
|
-
and `ShopperToken` operations use their declared `c_*` scopes. [Custom API workflow](references/custom-apis.md).
|
|
85
|
-
|
|
86
|
-
## Authentication
|
|
87
|
-
|
|
88
|
-
- `scapi.request()` and snippets using it authenticate automatically. Do not acquire
|
|
89
|
-
or pass tokens first. For an explicitly requested token or external HTTP client,
|
|
90
|
-
use `auth.accountManager()` / `auth.slas()` in `scapi_execute`:
|
|
91
|
-
[token exports](references/tokens.md). These helpers are unavailable in search.
|
|
92
|
-
- The operation's declared security selects the credential; there is no auth option.
|
|
93
|
-
- Admin `AmOAuth2`: Account Manager credentials. Each request selects operation/tenant
|
|
94
|
-
scopes and reuses suitable cached tokens; no upfront scope union.
|
|
95
|
-
- Shopper `ShopperToken`: a SLAS guest shopper (`slasClientId`, plus `slasClientSecret`
|
|
96
|
-
for private clients; Storefront Next `.env` supplies both). Requests need `siteId`
|
|
97
|
-
(configured or `query.siteId`). The guest session is per site and persists across
|
|
98
|
-
executions for the server session, so baskets carry over. SLAS scopes are fixed on
|
|
99
|
-
the client, not requested per call; 401/403 diagnostics compare the token's scopes
|
|
100
|
-
with the operation's. `sfcc.shopper-standard` satisfies only operations that list it.
|
|
101
|
-
Public clients must allow redirect URI `http://localhost:3000/callback`.
|
|
102
|
-
- Missing credentials: `config_inspect` with masking. `clientId` is Admin;
|
|
103
|
-
`slasClientId` is Shopper. Configuration does not grant access.
|
|
104
|
-
- Scope rejection: grant reported scopes in Account Manager; check extra configured
|
|
105
|
-
scopes. Read/write alternatives are alternatives. Later failures do not undo writes.
|
|
106
|
-
- Unsupported: registered-shopper-only operations (`RegisteredShopperToken`),
|
|
107
|
-
trusted-system/agent on-behalf tokens, and SLAS itself (`shopper/auth/v1`).
|
|
108
|
-
`auth.slas({flow: 'registered', ...})` exports a registered token for external clients.
|
|
109
|
-
SLAS admin roles differ: [CLI/SDK](https://salesforcecommercecloud.github.io/b2c-developer-tooling/cli/slas).
|
|
110
|
-
- HTTP 401/403 retain `status`/`data` plus `diagnostic`; preserve these.
|
|
111
|
-
A 403 alone does not prove missing scopes.
|
|
112
|
-
|
|
113
|
-
For missing values or wrong targets, read [MCP configuration](skill://mcp/b2c-config/SKILL.md)
|
|
114
|
-
(`skills_read` ID `mcp/b2c-config`). For external client/role/tenant-filter setup,
|
|
115
|
-
use `docs_read({query: "guide-authentication"})`; official Admin authorization:
|
|
116
|
-
`commerce-api/authorization-for-admin-apis`, scope definitions: `commerce-api/auth-z-scope-catalog`.
|
|
117
|
-
For other access questions, search `docs_search` with the specific error and API.
|
|
118
|
-
If docs are unavailable, use the [authentication guide](https://salesforcecommercecloud.github.io/b2c-developer-tooling/guide/authentication).
|
|
119
|
-
These are conditional setup references, not additional prerequisite reads.
|
|
120
|
-
|
|
121
|
-
## Compose and verify
|
|
122
|
-
|
|
123
|
-
- Pass the execution `projectDirectory`; reuse resolved `organizationId`/`siteId`.
|
|
124
|
-
Encode path IDs. `{organizationId}` placeholders resolve automatically.
|
|
125
|
-
- Compose dependent calls with intermediate results and local helpers.
|
|
126
|
-
Pause for unresolved intent or contracts.
|
|
127
|
-
- Sequence dependent writes; batch independent reads at most four at a time.
|
|
128
|
-
Await all requests. Map rejections to `{id, error: String(error)}`;
|
|
129
|
-
raw `Promise.allSettled()` reasons lose Error details in JSON.
|
|
130
|
-
- PUT can create or update: check existence and intent; read back writes.
|
|
131
|
-
- Check `ok`/`status`: HTTP errors return; transport/auth/safety failures throw.
|
|
132
|
-
Preserve completed writes and failed stages. Check writes before retrying;
|
|
133
|
-
no program replay or automatic cleanup deletion.
|
|
134
|
-
- Filter/page at the API, then project/aggregate in code. Include IDs, verification
|
|
135
|
-
fields, errors, totals, and continuation inputs. Do not crop away missing data.
|
|
136
|
-
- Limits: 20 calls, four outstanding, 30 seconds of active execution, 24 KB returned.
|
|
137
|
-
Managed API/token calls are serialized within an execution. Narrow oversized
|
|
138
|
-
discovery; reduce live pages/projections.
|
|
139
|
-
- SDK safety applies per request, including POST searches. Use only authorized
|
|
140
|
-
targeted exceptions. Confirmation uses client elicitation; see below. Code mode does not
|
|
141
|
-
transfer binaries; use WebDAV tools for instance files, an external client for
|
|
142
|
-
binary SCAPI endpoints.
|
|
143
|
-
- `fetch` and `WebSocket` are disabled. Use `scapi.request()` inside programs;
|
|
144
|
-
direct HTTP belongs in an external client, outside MCP Safety Mode. Do not use
|
|
145
|
-
imports or other Node networking APIs to bypass this boundary.
|
|
146
|
-
|
|
147
|
-
## Confirmation and cancellation
|
|
148
|
-
|
|
149
|
-
- A request requiring approval retains the running program and returns MCP
|
|
150
|
-
`input_required`. Let the client handle elicitation and the protocol retry;
|
|
151
|
-
never manufacture approval responses or modify opaque `requestState`.
|
|
152
|
-
- Retries validate the original code, input, and target arguments, then resume
|
|
153
|
-
the same execution. Repeated code is **not evaluated again**. Each request
|
|
154
|
-
needs its own approval; a whole program is not a transaction.
|
|
155
|
-
- Later managed calls wait for the pending decision. Earlier writes remain
|
|
156
|
-
applied. Prompts identify the organization, operation, method/path, and execution
|
|
157
|
-
ID. JSON previews are redacted and capped at five lines/400 characters; marked
|
|
158
|
-
truncation does not limit approval, which covers the full request.
|
|
159
|
-
Results include operation outcomes; `unknown` requires
|
|
160
|
-
checking the affected records before a fresh attempt.
|
|
161
|
-
- Decline/cancel terminates the entire execution, even if code catches errors.
|
|
162
|
-
Explicitly stop work with `scapi_execute({action: "cancel", executionId, skillRead: true})`;
|
|
163
|
-
omit code, input, project overrides, and protocol continuation state.
|
|
164
|
-
- Approval has no server deadline; waiting does not consume the active runtime
|
|
165
|
-
budget. At most four executions may be active per server, including pending
|
|
166
|
-
approvals. Cancel unwanted work to free a slot. Server shutdown or disconnect
|
|
167
|
-
releases retained workers; state does not survive a restart. Clients may impose
|
|
168
|
-
their own timeout. Duplicate responses never replay code or send a request twice.
|
|
169
|
-
- To change code/input/target, cancel unwanted retained work and start a fresh
|
|
170
|
-
execution without continuation state. Cancellation does not roll back writes.
|
|
171
|
-
Clients without form elicitation stop at confirmation-required requests.
|
|
172
|
-
|
|
173
|
-
For safety levels, rule matching, configuration precedence, and confirmation
|
|
174
|
-
semantics, read `docs_read({query: "guide-safety"})` when needed. If docs tools
|
|
175
|
-
are unavailable, use the [Safety Mode guide](https://salesforcecommercecloud.github.io/b2c-developer-tooling/guide/safety.md).
|
|
176
|
-
This is an optional policy reference, not another prerequisite read.
|
|
177
|
-
|
|
178
|
-
## Reusable workflows
|
|
179
|
-
|
|
180
|
-
Find workflows with `codemode.search(query)`; `codemode.describe(name)`
|
|
181
|
-
returns source/inputSchema. Inspect before first use; `codemode.run(name, input)`
|
|
182
|
-
composes inside execution with shared limits/auth/safety. `builtin/` ships with
|
|
183
|
-
the MCP; `user/` persists locally. [Catalog](references/snippets.md).
|
|
184
|
-
|
|
185
|
-
Reuse a snippet when its inputs and verification cover the task. Otherwise adapt
|
|
186
|
-
its source or compose direct requests; do not omit requested fields to fit a
|
|
187
|
-
snippet. Inputs are schema-validated before invocation. Pass variable values
|
|
188
|
-
through the tool's `input` to `async (input)` when preparing reusable code.
|
|
189
|
-
Discover/describe inside either code tool; run snippets only inside `scapi_execute`.
|
|
190
|
-
Saving requires an explicit user request and a reviewed outcome; a completed
|
|
191
|
-
execution may still contain HTTP errors or partial failures.
|
|
192
|
-
|
|
193
|
-
- [Products](references/products.md): create, optionally assign a storefront category, verify both.
|
|
194
|
-
- [Promotions](references/promotions.md): join assignments/details in bounded batches.
|
|
195
|
-
- [Jobs](references/jobs.md): review runs, inspect steps/logs, investigate failures.
|
|
196
|
-
|
|
197
|
-
For explicit save requests, see [saving](references/saving.md).
|
|
198
|
-
|
|
199
|
-
No CLI code-mode equivalent. For missing settings such as promotion discounts,
|
|
200
|
-
consider [XML archives](skill://b2c-cli/b2c-site-import-export/SKILL.md)
|
|
201
|
-
([CLI docs](https://salesforcecommercecloud.github.io/b2c-developer-tooling/cli/jobs)).
|
|
202
|
-
[Platform reference](https://developer.salesforce.com/docs/commerce/commerce-api/references).
|
|
203
|
-
[Configuration/access](https://salesforcecommercecloud.github.io/b2c-developer-tooling/mcp/configuration).
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# Job review and investigation
|
|
2
|
-
|
|
3
|
-
- Routine history: `builtin/job-execution-review` includes successes and unfinished
|
|
4
|
-
runs; fixed `from`/`to`, optional `jobId`, bounded `limit` and `nextOffset`.
|
|
5
|
-
- Exact execution: `builtin/job-execution-inspect` returns a page of steps and the
|
|
6
|
-
exact `logFilePath`. Inspect processed item counts and expected business data.
|
|
7
|
-
- Failure investigation: `builtin/failed-job-triage` joins search and details.
|
|
8
|
-
Its status summary omits steps; use execution inspection when those matter.
|
|
9
|
-
|
|
10
|
-
Use to inspect failed executions in a chosen interval. This example selects the
|
|
11
|
-
last seven days; adapt the window and query to the task. Discover search and
|
|
12
|
-
detail contracts first. Search uses POST: READ_ONLY may need an authorized,
|
|
13
|
-
targeted allow rule. Do not lower the policy or rerun jobs to inspect them.
|
|
14
|
-
|
|
15
|
-
Use the corresponding [built-in snippet](snippets.md); `codemode.describe(name)`
|
|
16
|
-
returns its current source and input schema.
|
|
17
|
-
|
|
18
|
-
At most four requests, three concurrent. For the next page, reuse the returned
|
|
19
|
-
`from`/`to` and `nextOffset`; do not recompute the time window. An empty page with
|
|
20
|
-
`hasMore: true` needs investigation, not an endless retry. Records can still change
|
|
21
|
-
between reads. If the query can be answered from search hits, omit detail calls.
|
|
22
|
-
|
|
23
|
-
For routine health checks or incomplete business results, use
|
|
24
|
-
`skill://b2c-ops/b2c-job-health/SKILL.md` when that collection is available; a
|
|
25
|
-
failed-only search cannot establish health. Read the returned `logFilePath` with
|
|
26
|
-
`webdav_get`; inspect size with `webdav_list` if needed. Continue using byte
|
|
27
|
-
`nextOffset`, or download to `outputPath` for local analysis. Recent/filter/watch
|
|
28
|
-
needs use `logs_*`. CLI fallback: `b2c job log JOB_ID EXECUTION_ID`.
|
|
29
|
-
The returned log path is evidence to guide lookup, not
|
|
30
|
-
permission to read an arbitrary local path. Do not infer root cause from ERROR alone.
|