@salesforce/b2c-cli 2.3.0 → 2.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/dev.js +8 -8
- package/bin/run.js +5 -7
- package/content/guidance/b2c/b2c-business-manager-extensions/SKILL.md +361 -0
- package/content/guidance/b2c/b2c-business-manager-extensions/references/EXTENSIONS-XML.md +458 -0
- package/content/guidance/b2c/b2c-controllers/SKILL.md +301 -0
- package/content/guidance/b2c/b2c-controllers/references/CLASSIC-PATTERNS.md +335 -0
- package/content/guidance/b2c/b2c-controllers/references/SFRA-PATTERNS.md +400 -0
- package/content/guidance/b2c/b2c-custom-api-development/SKILL.md +281 -0
- package/content/guidance/b2c/b2c-custom-api-development/references/CONTRACT.md +142 -0
- package/content/guidance/b2c/b2c-custom-api-development/references/IMPLEMENTATION.md +153 -0
- package/content/guidance/b2c/b2c-custom-api-development/references/TESTING.md +118 -0
- package/content/guidance/b2c/b2c-custom-caches/SKILL.md +279 -0
- package/content/guidance/b2c/b2c-custom-job-steps/SKILL.md +520 -0
- package/content/guidance/b2c/b2c-custom-job-steps/references/CHUNK-ORIENTED.md +377 -0
- package/content/guidance/b2c/b2c-custom-job-steps/references/JOBS-XML.md +212 -0
- package/content/guidance/b2c/b2c-custom-job-steps/references/STEPTYPES-JSON.md +373 -0
- package/content/guidance/b2c/b2c-custom-job-steps/references/TASK-ORIENTED.md +344 -0
- package/content/guidance/b2c/b2c-custom-objects/SKILL.md +327 -0
- package/content/guidance/b2c/b2c-custom-objects/references/OCAPI-SEARCH.md +298 -0
- package/content/guidance/b2c/b2c-forms/SKILL.md +242 -0
- package/content/guidance/b2c/b2c-forms/references/FORM-XML.md +409 -0
- package/content/guidance/b2c/b2c-hooks/SKILL.md +500 -0
- package/content/guidance/b2c/b2c-hooks/references/OCAPI-SCAPI-HOOKS.md +403 -0
- package/content/guidance/b2c/b2c-hooks/references/ORDER-HOOK-LIFECYCLE.md +169 -0
- package/content/guidance/b2c/b2c-hooks/references/SYSTEM-HOOKS.md +433 -0
- package/content/guidance/b2c/b2c-isml/SKILL.md +320 -0
- package/content/guidance/b2c/b2c-isml/references/EXPRESSIONS.md +366 -0
- package/content/guidance/b2c/b2c-isml/references/TAGS.md +443 -0
- package/content/guidance/b2c/b2c-localization/SKILL.md +344 -0
- package/content/guidance/b2c/b2c-localization/references/PATTERNS.md +407 -0
- package/content/guidance/b2c/b2c-logging/SKILL.md +352 -0
- package/content/guidance/b2c/b2c-logging/references/LOG-FILES.md +282 -0
- package/content/guidance/b2c/b2c-metadata/SKILL.md +406 -0
- package/content/guidance/b2c/b2c-metadata/references/SYSTEM-OBJECTS.md +320 -0
- package/content/guidance/b2c/b2c-metadata/references/XML-EXAMPLES.md +366 -0
- package/content/guidance/b2c/b2c-onboarding/SKILL.md +154 -0
- package/content/guidance/b2c/b2c-ordering/SKILL.md +391 -0
- package/content/guidance/b2c/b2c-page-designer/SKILL.md +410 -0
- package/content/guidance/b2c/b2c-page-designer/references/ATTRIBUTE-TYPES.md +436 -0
- package/content/guidance/b2c/b2c-page-designer/references/META-DEFINITIONS.md +340 -0
- package/content/guidance/b2c/b2c-querying-data/SKILL.md +289 -0
- package/content/guidance/b2c/b2c-querying-data/references/PERFORMANCE-APIS.md +74 -0
- package/content/guidance/b2c/b2c-scapi-admin/SKILL.md +53 -0
- package/content/guidance/b2c/b2c-scapi-admin/references/CLIENT-EXAMPLES.md +440 -0
- package/content/guidance/b2c/b2c-scapi-admin/references/INTEGRATION-PATTERNS.md +518 -0
- package/content/guidance/b2c/b2c-scapi-admin/references/OAUTH-SCOPES.md +337 -0
- package/content/guidance/b2c/b2c-scapi-shopper/SKILL.md +56 -0
- package/content/guidance/b2c/b2c-scapi-shopper/references/CHECKOUT-FLOW.md +466 -0
- package/content/guidance/b2c/b2c-scapi-shopper/references/CLIENT-EXAMPLES.md +351 -0
- package/content/guidance/b2c/b2c-scapi-shopper/references/COMMON-PATTERNS.md +390 -0
- package/content/guidance/b2c/b2c-scapi-shopper/references/SCOPES.md +290 -0
- package/content/guidance/b2c/b2c-slas-auth-patterns/SKILL.md +420 -0
- package/content/guidance/b2c/b2c-slas-auth-patterns/references/PASSKEYS.md +126 -0
- package/content/guidance/b2c/b2c-slas-auth-patterns/references/SESSION-BRIDGE.md +267 -0
- package/content/guidance/b2c/b2c-slas-auth-patterns/references/TOKEN-LIFECYCLE.md +367 -0
- package/content/guidance/b2c/b2c-webservices/SKILL.md +318 -0
- package/content/guidance/b2c/b2c-webservices/references/FTP-SERVICES.md +524 -0
- package/content/guidance/b2c/b2c-webservices/references/HTTP-SERVICES.md +578 -0
- package/content/guidance/b2c/b2c-webservices/references/SERVICES-XML.md +351 -0
- package/content/guidance/b2c/b2c-webservices/references/SOAP-SERVICES.md +587 -0
- package/content/guidance/b2c-cli/b2c-am/SKILL.md +277 -0
- package/content/guidance/b2c-cli/b2c-bm-users-roles/SKILL.md +210 -0
- package/content/guidance/b2c-cli/b2c-cap/SKILL.md +131 -0
- package/content/guidance/b2c-cli/b2c-cip/SKILL.md +116 -0
- package/content/guidance/b2c-cli/b2c-cip/references/KNOWN_TABLES.md +105 -0
- package/content/guidance/b2c-cli/b2c-cip/references/SALES_ANALYSIS.md +50 -0
- package/content/guidance/b2c-cli/b2c-cip/references/STARTER_QUERIES.md +147 -0
- package/content/guidance/b2c-cli/b2c-code/SKILL.md +146 -0
- package/content/guidance/b2c-cli/b2c-config/SKILL.md +462 -0
- package/content/guidance/b2c-cli/b2c-content/SKILL.md +176 -0
- package/content/guidance/b2c-cli/b2c-debug/SKILL.md +138 -0
- package/content/guidance/b2c-cli/b2c-docs/SKILL.md +301 -0
- package/content/guidance/b2c-cli/b2c-ecdn/SKILL.md +135 -0
- package/content/guidance/b2c-cli/b2c-ecdn/references/ADVANCED.md +97 -0
- package/content/guidance/b2c-cli/b2c-ecdn/references/SECURITY.md +75 -0
- package/content/guidance/b2c-cli/b2c-import-set-migrations/SKILL.md +265 -0
- package/content/guidance/b2c-cli/b2c-job/SKILL.md +64 -0
- package/content/guidance/b2c-cli/b2c-job/references/EXPORT.md +121 -0
- package/content/guidance/b2c-cli/b2c-job/references/IMPORT.md +55 -0
- package/content/guidance/b2c-cli/b2c-job/references/RUN-AND-MONITOR.md +119 -0
- package/content/guidance/b2c-cli/b2c-logs/SKILL.md +249 -0
- package/content/guidance/b2c-cli/b2c-metrics/SKILL.md +315 -0
- package/content/guidance/b2c-cli/b2c-mrt/SKILL.md +207 -0
- package/content/guidance/b2c-cli/b2c-mrt/references/BUNDLE-COMMANDS.md +203 -0
- package/content/guidance/b2c-cli/b2c-mrt/references/ENVIRONMENT-COMMANDS.md +218 -0
- package/content/guidance/b2c-cli/b2c-mrt/references/PROJECT-COMMANDS.md +154 -0
- package/content/guidance/b2c-cli/b2c-sandbox/SKILL.md +112 -0
- package/content/guidance/b2c-cli/b2c-scapi-custom/SKILL.md +126 -0
- package/content/guidance/b2c-cli/b2c-scapi-schemas/SKILL.md +66 -0
- package/content/guidance/b2c-cli/b2c-scapi-schemas/references/CLI-EXAMPLES.md +108 -0
- package/content/guidance/b2c-cli/b2c-site-import-export/SKILL.md +57 -0
- package/content/guidance/b2c-cli/b2c-site-import-export/references/IMPORT-OPTIONS.md +118 -0
- package/content/guidance/b2c-cli/b2c-site-import-export/references/METADATA-XML.md +381 -0
- package/content/guidance/b2c-cli/b2c-site-import-export/references/WORKFLOWS.md +182 -0
- package/content/guidance/b2c-cli/b2c-sites/SKILL.md +112 -0
- package/content/guidance/b2c-cli/b2c-slas/SKILL.md +182 -0
- package/content/guidance/b2c-cli/b2c-webdav/SKILL.md +186 -0
- package/content/guidance/b2c-ops/b2c-checkout-triage/SKILL.md +68 -0
- package/content/guidance/b2c-ops/b2c-job-health/SKILL.md +75 -0
- package/content/guidance/b2c-ops/b2c-job-health/references/job-logs.md +21 -0
- package/content/guidance/b2c-ops/b2c-order-failure-triage/SKILL.md +66 -0
- package/content/guidance/b2c-ops/b2c-order-failure-triage/references/order-evidence.md +87 -0
- package/content/guidance/b2c-ops/b2c-production-triage/SKILL.md +87 -0
- package/content/guidance/b2c-ops/b2c-production-triage/references/escalation.md +57 -0
- package/content/guidance/index.json +1949 -0
- 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 +127 -0
- 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 +153 -0
- 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 +163 -0
- 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 +140 -0
- 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 +39 -0
- package/content/guidance/storefront-next/sfnext-deployment/SKILL.md +127 -0
- package/content/guidance/storefront-next/sfnext-deployment/references/MRT-DEPLOYMENT.md +59 -0
- package/content/guidance/storefront-next/sfnext-extensions/SKILL.md +118 -0
- package/content/guidance/storefront-next/sfnext-extensions/references/ACTION-HOOKS.md +57 -0
- package/content/guidance/storefront-next/sfnext-extensions/references/BASE-AUDIT.md +68 -0
- 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 +79 -0
- package/content/guidance/storefront-next/sfnext-hybrid-storefronts/SKILL.md +93 -0
- package/content/guidance/storefront-next/sfnext-hybrid-storefronts/references/HYBRID-PROXY-CONFIG.md +86 -0
- package/content/guidance/storefront-next/sfnext-i18n/SKILL.md +152 -0
- 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 +202 -0
- 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 +111 -0
- package/content/guidance/storefront-next/sfnext-page-designer/references/DECORATOR-PATTERNS.md +168 -0
- 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 +102 -0
- 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 +147 -0
- package/content/guidance/storefront-next/sfnext-project-setup/references/PROJECT-STRUCTURE.md +61 -0
- 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 +123 -0
- package/content/guidance/storefront-next/sfnext-routing/references/ROUTE-CONVENTIONS.md +65 -0
- 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 +114 -0
- package/content/guidance/storefront-next/sfnext-state-management/references/PATTERNS.md +45 -0
- package/content/guidance/storefront-next/sfnext-testing/SKILL.md +151 -0
- package/content/guidance/storefront-next/sfnext-testing/references/E2E.md +38 -0
- package/content/guidance/storefront-next/sfnext-testing/references/STORYBOOK-PATTERNS.md +97 -0
- 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/cap/install.d.ts +1 -0
- package/dist/commands/cap/list.d.ts +1 -0
- package/dist/commands/cap/pull.d.ts +1 -0
- package/dist/commands/cap/tasks.d.ts +1 -0
- package/dist/commands/cap/uninstall.d.ts +1 -0
- package/dist/commands/cip/describe.d.ts +1 -0
- package/dist/commands/cip/query.d.ts +1 -0
- package/dist/commands/cip/report/bot-traffic-share.d.ts +1 -0
- package/dist/commands/cip/report/checkout-funnel-dropoff.d.ts +1 -0
- package/dist/commands/cip/report/controller-error-rate-trend.d.ts +1 -0
- package/dist/commands/cip/report/controller-health-scorecard.d.ts +1 -0
- package/dist/commands/cip/report/customer-registration-trends.d.ts +1 -0
- package/dist/commands/cip/report/discount-depth-breakdown.d.ts +1 -0
- package/dist/commands/cip/report/inventory-stockout-by-location.d.ts +1 -0
- package/dist/commands/cip/report/new-vs-returning-buyer-revenue.d.ts +1 -0
- package/dist/commands/cip/report/ocapi-client-usage.d.ts +1 -0
- package/dist/commands/cip/report/ocapi-requests.d.ts +1 -0
- package/dist/commands/cip/report/payment-method-performance.d.ts +1 -0
- package/dist/commands/cip/report/product-co-purchase-analysis.d.ts +1 -0
- package/dist/commands/cip/report/promotion-discount-analysis.d.ts +1 -0
- package/dist/commands/cip/report/promotion-roi-leaderboard.d.ts +1 -0
- package/dist/commands/cip/report/recommender-effectiveness.d.ts +1 -0
- package/dist/commands/cip/report/remote-include-performance.d.ts +1 -0
- package/dist/commands/cip/report/revenue-by-channel.d.ts +1 -0
- package/dist/commands/cip/report/sales-analytics.d.ts +1 -0
- package/dist/commands/cip/report/sales-summary.d.ts +1 -0
- package/dist/commands/cip/report/scapi-cache-hit-ratio.d.ts +1 -0
- package/dist/commands/cip/report/scapi-error-rate-by-status.d.ts +1 -0
- package/dist/commands/cip/report/scapi-latency-distribution.d.ts +1 -0
- package/dist/commands/cip/report/scapi-traffic-latency.d.ts +1 -0
- package/dist/commands/cip/report/search-query-performance.d.ts +1 -0
- package/dist/commands/cip/report/top-referrers.d.ts +1 -0
- package/dist/commands/cip/report/top-selling-products.d.ts +1 -0
- package/dist/commands/cip/report/zero-result-searches.d.ts +1 -0
- package/dist/commands/cip/tables.d.ts +1 -0
- package/dist/commands/code/activate.d.ts +1 -0
- package/dist/commands/code/delete.d.ts +1 -0
- package/dist/commands/code/deploy.d.ts +1 -0
- package/dist/commands/code/download.d.ts +1 -0
- package/dist/commands/code/watch.d.ts +1 -0
- package/dist/commands/commands/search.d.ts +35 -0
- package/dist/commands/commands/search.js +85 -0
- package/dist/commands/commands/search.js.map +1 -0
- package/dist/commands/content/export.d.ts +1 -0
- package/dist/commands/content/list.d.ts +1 -0
- package/dist/commands/content/validate.d.ts +1 -0
- package/dist/commands/debug/cli.d.ts +1 -0
- package/dist/commands/debug/index.d.ts +1 -0
- package/dist/commands/docs/cache.d.ts +1 -0
- package/dist/commands/docs/download.d.ts +1 -0
- package/dist/commands/docs/read.d.ts +1 -0
- package/dist/commands/docs/schema.d.ts +1 -0
- package/dist/commands/docs/search.d.ts +1 -0
- package/dist/commands/docs/skill.d.ts +41 -0
- package/dist/commands/docs/skill.js +183 -0
- package/dist/commands/docs/skill.js.map +1 -0
- package/dist/commands/ecdn/cache/purge.d.ts +1 -0
- package/dist/commands/ecdn/certificates/add.d.ts +1 -0
- package/dist/commands/ecdn/certificates/delete.d.ts +1 -0
- package/dist/commands/ecdn/certificates/list.d.ts +1 -0
- package/dist/commands/ecdn/certificates/update.d.ts +1 -0
- package/dist/commands/ecdn/certificates/validate.d.ts +1 -0
- package/dist/commands/ecdn/cipher-suites/get.d.ts +1 -0
- package/dist/commands/ecdn/cipher-suites/update.d.ts +1 -0
- package/dist/commands/ecdn/firewall/create.d.ts +1 -0
- package/dist/commands/ecdn/firewall/delete.d.ts +1 -0
- package/dist/commands/ecdn/firewall/get.d.ts +1 -0
- package/dist/commands/ecdn/firewall/list.d.ts +1 -0
- package/dist/commands/ecdn/firewall/reorder.d.ts +1 -0
- package/dist/commands/ecdn/firewall/update.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/create.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/delete.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/get.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/list.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/update.d.ts +1 -0
- package/dist/commands/ecdn/logpush/ownership.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/create.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/delete.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/get.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/rules/delete.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/rules/update.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/update.d.ts +1 -0
- package/dist/commands/ecdn/mtls/create.d.ts +1 -0
- package/dist/commands/ecdn/mtls/delete.d.ts +1 -0
- package/dist/commands/ecdn/mtls/get.d.ts +1 -0
- package/dist/commands/ecdn/mtls/issue.d.ts +1 -0
- package/dist/commands/ecdn/mtls/list.d.ts +1 -0
- package/dist/commands/ecdn/mtls/setup.d.ts +1 -0
- package/dist/commands/ecdn/origin-headers/delete.d.ts +1 -0
- package/dist/commands/ecdn/origin-headers/get.d.ts +1 -0
- package/dist/commands/ecdn/origin-headers/set.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/notifications/create.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/notifications/delete.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/notifications/list.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/create.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/delete.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/get.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/list.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/update.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/scripts/get.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/scripts/list.d.ts +1 -0
- package/dist/commands/ecdn/rate-limit/create.d.ts +1 -0
- package/dist/commands/ecdn/rate-limit/delete.d.ts +1 -0
- package/dist/commands/ecdn/rate-limit/get.d.ts +1 -0
- package/dist/commands/ecdn/rate-limit/list.d.ts +1 -0
- package/dist/commands/ecdn/rate-limit/update.d.ts +1 -0
- package/dist/commands/ecdn/security/get.d.ts +1 -0
- package/dist/commands/ecdn/security/update.d.ts +1 -0
- package/dist/commands/ecdn/speed/get.d.ts +1 -0
- package/dist/commands/ecdn/speed/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/groups/list.d.ts +1 -0
- package/dist/commands/ecdn/waf/groups/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/managed-rules/list.d.ts +1 -0
- package/dist/commands/ecdn/waf/managed-rules/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/migrate.d.ts +1 -0
- package/dist/commands/ecdn/waf/owasp/get.d.ts +1 -0
- package/dist/commands/ecdn/waf/owasp/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/rules/get.d.ts +1 -0
- package/dist/commands/ecdn/waf/rules/list.d.ts +1 -0
- package/dist/commands/ecdn/waf/rules/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/rulesets/list.d.ts +1 -0
- package/dist/commands/ecdn/waf/rulesets/update.d.ts +1 -0
- package/dist/commands/ecdn/zones/create.d.ts +1 -0
- package/dist/commands/ecdn/zones/list.d.ts +1 -0
- package/dist/commands/job/execution/delete.d.ts +1 -0
- package/dist/commands/job/export.d.ts +1 -0
- package/dist/commands/job/import-set.d.ts +1 -0
- package/dist/commands/job/import.d.ts +1 -0
- package/dist/commands/job/log.d.ts +1 -0
- package/dist/commands/job/run.d.ts +1 -0
- package/dist/commands/job/search.d.ts +1 -0
- package/dist/commands/job/wait.d.ts +1 -0
- package/dist/commands/logs/get.d.ts +1 -0
- package/dist/commands/logs/list.d.ts +1 -0
- package/dist/commands/logs/tail.d.ts +1 -0
- package/dist/commands/metrics/controller.d.ts +1 -0
- package/dist/commands/metrics/ecdn.d.ts +1 -0
- package/dist/commands/metrics/mrt.d.ts +1 -0
- package/dist/commands/metrics/ocapi.d.ts +1 -0
- package/dist/commands/metrics/overall.d.ts +1 -0
- package/dist/commands/metrics/sales.d.ts +1 -0
- package/dist/commands/metrics/scapi-hooks.d.ts +1 -0
- package/dist/commands/metrics/scapi.d.ts +1 -0
- package/dist/commands/metrics/third-party.d.ts +1 -0
- package/dist/commands/mrt/bundle/delete.d.ts +1 -0
- package/dist/commands/mrt/bundle/deploy.d.ts +1 -0
- package/dist/commands/mrt/bundle/download.d.ts +1 -0
- package/dist/commands/mrt/bundle/history.d.ts +1 -0
- package/dist/commands/mrt/bundle/list.d.ts +1 -0
- package/dist/commands/mrt/bundle/save.d.ts +1 -0
- package/dist/commands/mrt/bundle/upload-v2.d.ts +1 -0
- package/dist/commands/mrt/env/access-control/list.d.ts +1 -0
- package/dist/commands/mrt/env/b2c.d.ts +1 -0
- package/dist/commands/mrt/env/clone.d.ts +1 -0
- package/dist/commands/mrt/env/create.d.ts +1 -0
- package/dist/commands/mrt/env/delete.d.ts +1 -0
- package/dist/commands/mrt/env/get.d.ts +1 -0
- package/dist/commands/mrt/env/invalidate.d.ts +1 -0
- package/dist/commands/mrt/env/list.d.ts +1 -0
- package/dist/commands/mrt/env/redirect/clone.d.ts +1 -0
- package/dist/commands/mrt/env/redirect/create.d.ts +1 -0
- package/dist/commands/mrt/env/redirect/delete.d.ts +1 -0
- package/dist/commands/mrt/env/redirect/list.d.ts +1 -0
- package/dist/commands/mrt/env/update.d.ts +1 -0
- package/dist/commands/mrt/env/var/delete.d.ts +1 -0
- package/dist/commands/mrt/env/var/list.d.ts +1 -0
- package/dist/commands/mrt/env/var/push.d.ts +1 -0
- package/dist/commands/mrt/env/var/set.d.ts +1 -0
- package/dist/commands/mrt/org/b2c.d.ts +1 -0
- package/dist/commands/mrt/org/cert/create.d.ts +1 -0
- package/dist/commands/mrt/org/cert/delete.d.ts +1 -0
- package/dist/commands/mrt/org/cert/get.d.ts +1 -0
- package/dist/commands/mrt/org/cert/list.d.ts +1 -0
- package/dist/commands/mrt/org/cert/restart-validation.d.ts +1 -0
- package/dist/commands/mrt/org/list.d.ts +1 -0
- package/dist/commands/mrt/org/member/add.d.ts +1 -0
- package/dist/commands/mrt/org/member/get.d.ts +1 -0
- package/dist/commands/mrt/org/member/list.d.ts +1 -0
- package/dist/commands/mrt/org/member/remove.d.ts +1 -0
- package/dist/commands/mrt/org/member/update.d.ts +1 -0
- package/dist/commands/mrt/project/create.d.ts +1 -0
- package/dist/commands/mrt/project/delete.d.ts +1 -0
- package/dist/commands/mrt/project/get.d.ts +1 -0
- package/dist/commands/mrt/project/list.d.ts +1 -0
- package/dist/commands/mrt/project/member/add.d.ts +1 -0
- package/dist/commands/mrt/project/member/get.d.ts +1 -0
- package/dist/commands/mrt/project/member/list.d.ts +1 -0
- package/dist/commands/mrt/project/member/remove.d.ts +1 -0
- package/dist/commands/mrt/project/member/update.d.ts +1 -0
- package/dist/commands/mrt/project/notification/delete.d.ts +1 -0
- package/dist/commands/mrt/project/notification/get.d.ts +1 -0
- package/dist/commands/mrt/project/update.d.ts +1 -0
- package/dist/commands/mrt/save-credentials.d.ts +1 -0
- package/dist/commands/mrt/tail-logs.d.ts +1 -0
- package/dist/commands/mrt/user/api-key.d.ts +1 -0
- package/dist/commands/mrt/user/email-prefs.d.ts +1 -0
- package/dist/commands/mrt/user/profile.d.ts +1 -0
- package/dist/commands/scaffold/init.js +2 -1
- package/dist/commands/scaffold/init.js.map +1 -1
- package/dist/commands/scapi/custom/status.d.ts +1 -0
- package/dist/commands/scapi/schemas/get.d.ts +1 -0
- package/dist/commands/scapi/schemas/list.d.ts +1 -0
- package/dist/commands/setup/ide/tsserver-plugin.d.ts +1 -0
- package/dist/commands/setup/ide/vscode-types.d.ts +1 -0
- package/dist/commands/setup/index.js +4 -3
- package/dist/commands/setup/index.js.map +1 -1
- package/dist/commands/setup/inspect.d.ts +1 -0
- package/dist/commands/setup/inspect.js +17 -2
- package/dist/commands/setup/inspect.js.map +1 -1
- package/dist/commands/setup/instance/create.d.ts +1 -0
- package/dist/commands/setup/instance/list.d.ts +1 -0
- package/dist/commands/setup/instance/remove.d.ts +1 -0
- package/dist/commands/setup/instance/set-active.d.ts +1 -0
- package/dist/commands/setup/openshell.d.ts +1 -0
- package/dist/commands/setup/skills.d.ts +1 -0
- package/dist/commands/slas/client/create.d.ts +1 -0
- package/dist/commands/slas/client/delete.d.ts +1 -0
- package/dist/commands/slas/client/get.d.ts +1 -0
- package/dist/commands/slas/client/list.d.ts +1 -0
- package/dist/commands/slas/client/open.d.ts +1 -0
- package/dist/commands/slas/client/update.d.ts +1 -0
- package/dist/commands/slas/token.d.ts +1 -0
- package/dist/commands/slas/token.js +2 -1
- package/dist/commands/slas/token.js.map +1 -1
- package/dist/commands/webdav/get.d.ts +1 -0
- package/dist/commands/webdav/mkdir.d.ts +2 -0
- package/dist/commands/webdav/mkdir.js +5 -3
- package/dist/commands/webdav/mkdir.js.map +1 -1
- package/dist/commands/webdav/put.d.ts +2 -0
- package/dist/commands/webdav/put.js +5 -3
- package/dist/commands/webdav/put.js.map +1 -1
- package/dist/commands/webdav/rm.d.ts +1 -0
- package/dist/help.d.ts +25 -0
- package/dist/help.js +96 -0
- package/dist/help.js.map +1 -0
- package/dist/lib/scaffold/generate-helper.js +3 -2
- package/dist/lib/scaffold/generate-helper.js.map +1 -1
- package/dist/lib/skills.d.ts +19 -0
- package/dist/lib/skills.js +75 -0
- package/dist/lib/skills.js.map +1 -0
- package/dist/utils/cip/command.d.ts +1 -0
- package/dist/utils/ecdn/zone-command.d.ts +1 -0
- package/dist/utils/slas/client.d.ts +1 -0
- package/oclif.manifest.json +10994 -7653
- package/package.json +11 -5
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: b2c-mrt
|
|
3
|
+
description: Deploy and manage Managed Runtime (MRT) storefronts using the b2c CLI. Use this skill whenever the user needs to deploy a PWA Kit bundle, manage MRT environments and projects, set environment variables, configure URL redirects, or manage organization connections — even if they just say "deploy my PWA" or "set up a staging environment".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# B2C MRT Skill
|
|
7
|
+
|
|
8
|
+
Use the `b2c` CLI to manage Managed Runtime (MRT) projects, environments, bundles, and deployments for PWA Kit storefronts.
|
|
9
|
+
|
|
10
|
+
> **Tip:** If `b2c` is not installed globally, use `npx @salesforce/b2c-cli` instead (e.g., `npx @salesforce/b2c-cli mrt bundle deploy`).
|
|
11
|
+
|
|
12
|
+
## Configuration & Authentication
|
|
13
|
+
|
|
14
|
+
The CLI resolves the MRT API key from `MRT_API_KEY` (or `SFCC_MRT_API_KEY`), `dw.json`, `~/.mobify`, or configuration plugins. Project and environment defaults can also come from `package.json` under `b2c` (`mrtProject`, `mrtEnvironment`) or environment variables. `package.json` cannot supply API keys or other secrets. **Flags like `--api-key`, `-p`, and `-e` are usually unnecessary** when defaults are configured — only pass them to override.
|
|
15
|
+
|
|
16
|
+
Run `b2c setup inspect` to see the resolved configuration and which source provided each value (use `--json` for scripting; keep secrets masked unless the user explicitly requests their values). For precedence rules and troubleshooting, see the `b2c-cli:b2c-config` skill.
|
|
17
|
+
|
|
18
|
+
### MRT Backends (legacy vs SCAPI)
|
|
19
|
+
|
|
20
|
+
Most MRT commands run against the legacy MRT Cloud API (API key). Several commands can also run over the SCAPI MRT backend: `mrt bundle history`, `mrt bundle list`, `mrt bundle deploy` (both the local-build push and deploying an existing `<bundleId>`), and the `mrt env var` family (`list` / `set` / `push` / `delete`). Choose with `--mrt-backend` (`MRT_BACKEND` / `SFCC_MRT_BACKEND`, or `mrtBackend` in `dw.json`):
|
|
21
|
+
|
|
22
|
+
- `legacy` (default) — always the MRT Cloud API.
|
|
23
|
+
- `auto` — use SCAPI when it's configured (`--short-code` + `--tenant-id` + client-credentials or JWT Bearer auth), otherwise legacy. Falls back to legacy on safe pre-execution errors. Each command requests its own scopes: bundle commands use `sfcc.storefront.deployments[.rw]`; env var commands use `sfcc.storefront.environments[.rw]` (reads accept either tier, writes require `.rw`).
|
|
24
|
+
- `scapi` — always SCAPI, with no fallback; errors if prerequisites are missing. Also errors on unsupported commands (every MRT command except the bundle and env var commands above).
|
|
25
|
+
|
|
26
|
+
Notes:
|
|
27
|
+
|
|
28
|
+
- Under `--json`, these commands emit the **serving backend's native shape** (e.g. `bundle history` is legacy `{count, next, previous, deployments}` vs SCAPI `{limit, offset, total, data}`; `env var list` is legacy `{count, variables}` vs the SCAPI native environment-variables map). The human table is normalized; `--json` is not. Pin `legacy` or `scapi` when a script needs a stable shape.
|
|
29
|
+
- Env vars over SCAPI use the Storefront Environments API. `set` and `delete` apply a merge-PATCH (only the keys you pass change; `delete` sends the key with a `null` value); values are always masked by both backends. `push` resolves the backend once from its initial read and pins every write to it, so a single `push` never crosses backends.
|
|
30
|
+
- Legacy-only flags (`--api-key`, `--cloud-origin` / `-u`, `--credentials-file` / `-c`) are ignored — with a warning — when SCAPI serves the request.
|
|
31
|
+
- `--storefront` (long) and `-s` (short) are aliases of `--project` / `-p` — the SCAPI storefront ID is the project slug, so all four are interchangeable on every `mrt` command. On `mrt project create` this flag sets the new project's slug (auto-generated from the name if omitted); `mrt bundle save` uses `-d` for `--save-dir`, keeping `-s` free for the storefront alias.
|
|
32
|
+
|
|
33
|
+
## Command Structure
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
mrt
|
|
37
|
+
├── org - Organizations and B2C connections
|
|
38
|
+
│ ├── member - Organization-level member management
|
|
39
|
+
│ └── cert - Custom domain certificates
|
|
40
|
+
├── project - Project management
|
|
41
|
+
│ ├── member - Team member management
|
|
42
|
+
│ └── notification - Deployment notifications
|
|
43
|
+
├── env - Environment management (incl. clone)
|
|
44
|
+
│ ├── var - Environment variables
|
|
45
|
+
│ ├── redirect - URL redirects
|
|
46
|
+
│ └── access-control - Access control headers
|
|
47
|
+
├── bundle - Bundle and deployment management (incl. delete)
|
|
48
|
+
└── user - User profile and settings
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Quick Examples
|
|
52
|
+
|
|
53
|
+
### Deploy a Bundle
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
# Push local build to staging
|
|
57
|
+
b2c mrt bundle deploy -p my-storefront -e staging
|
|
58
|
+
|
|
59
|
+
# Push to production with release message
|
|
60
|
+
b2c mrt bundle deploy -p my-storefront -e production -m "Release v1.0.0"
|
|
61
|
+
|
|
62
|
+
# Deploy existing bundle by ID
|
|
63
|
+
b2c mrt bundle deploy 12345 -p my-storefront -e production
|
|
64
|
+
|
|
65
|
+
# Build and upload a v2-format bundle (upload only; deploy the returned ID separately)
|
|
66
|
+
b2c mrt bundle upload-v2 -p my-storefront
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Manage Environments
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
# List environments
|
|
73
|
+
b2c mrt env list -p my-storefront
|
|
74
|
+
|
|
75
|
+
# Create a new environment
|
|
76
|
+
b2c mrt env create qa -p my-storefront --name "QA Environment"
|
|
77
|
+
|
|
78
|
+
# Clone an existing environment (-e is the source; positional arg is the new slug)
|
|
79
|
+
b2c mrt env clone qa -p my-storefront -e staging --clone-redirects --clone-env-vars
|
|
80
|
+
|
|
81
|
+
# Get environment details
|
|
82
|
+
b2c mrt env get -p my-storefront -e production
|
|
83
|
+
|
|
84
|
+
# Invalidate CDN cache
|
|
85
|
+
b2c mrt env invalidate -p my-storefront -e production
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Environment Variables
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
# List variables
|
|
92
|
+
b2c mrt env var list -p my-storefront -e production
|
|
93
|
+
|
|
94
|
+
# Set variables
|
|
95
|
+
b2c mrt env var set API_KEY=secret DEBUG=true -p my-storefront -e staging
|
|
96
|
+
|
|
97
|
+
# Delete a variable
|
|
98
|
+
b2c mrt env var delete OLD_VAR -p my-storefront -e production
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### View Deployment History
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
# List bundles in project
|
|
105
|
+
b2c mrt bundle list -p my-storefront
|
|
106
|
+
|
|
107
|
+
# View deployment history for environment
|
|
108
|
+
b2c mrt bundle history -p my-storefront -e production
|
|
109
|
+
|
|
110
|
+
# Download a bundle artifact
|
|
111
|
+
b2c mrt bundle download 12345 -p my-storefront
|
|
112
|
+
|
|
113
|
+
# Delete one or more bundles (uses bulk-delete for >1)
|
|
114
|
+
b2c mrt bundle delete 12345 -p my-storefront
|
|
115
|
+
b2c mrt bundle delete 12345 12346 12347 -p my-storefront --force
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Organization Members and Certificates
|
|
119
|
+
|
|
120
|
+
Organization members are distinct from project members; they hold a role at the organization level. Custom-domain certificates are organization-scoped and referenced by `b2c mrt env create`/`update`/`clone` via `--certificate-id`.
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
# List, add, update, remove organization members
|
|
124
|
+
b2c mrt org member list --org my-org
|
|
125
|
+
b2c mrt org member add alice@example.com --org my-org --role member --view-all-projects
|
|
126
|
+
b2c mrt org member update alice@example.com --org my-org --no-cert-permission
|
|
127
|
+
b2c mrt org member remove alice@example.com --org my-org
|
|
128
|
+
|
|
129
|
+
# Manage custom domain certificates
|
|
130
|
+
b2c mrt org cert list --org my-org
|
|
131
|
+
b2c mrt org cert create shop.example.com --org my-org # output includes the DNS validation record
|
|
132
|
+
b2c mrt org cert get 123 --org my-org
|
|
133
|
+
b2c mrt org cert restart-validation 123 --org my-org
|
|
134
|
+
b2c mrt org cert delete 123 --org my-org
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Project Management
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
# List projects
|
|
141
|
+
b2c mrt project list
|
|
142
|
+
|
|
143
|
+
# Get project details
|
|
144
|
+
b2c mrt project get -p my-storefront
|
|
145
|
+
|
|
146
|
+
# List project members
|
|
147
|
+
b2c mrt project member list -p my-storefront
|
|
148
|
+
|
|
149
|
+
# Add a member
|
|
150
|
+
b2c mrt project member add user@example.com -p my-storefront --role developer
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### URL Redirects
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
# List redirects
|
|
157
|
+
b2c mrt env redirect list -p my-storefront -e production
|
|
158
|
+
|
|
159
|
+
# Create a redirect
|
|
160
|
+
b2c mrt env redirect create -p my-storefront -e production \
|
|
161
|
+
--from "/old-path" --to "/new-path"
|
|
162
|
+
|
|
163
|
+
# Clone redirects between environments
|
|
164
|
+
b2c mrt env redirect clone -p my-storefront --source staging --target production
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
## Configuration
|
|
168
|
+
|
|
169
|
+
### dw.json
|
|
170
|
+
|
|
171
|
+
Configure MRT settings in your project's `dw.json`:
|
|
172
|
+
|
|
173
|
+
```json
|
|
174
|
+
{
|
|
175
|
+
"mrtProject": "my-storefront",
|
|
176
|
+
"mrtEnvironment": "staging"
|
|
177
|
+
}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Environment Variables
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
export MRT_API_KEY=your-api-key
|
|
184
|
+
export MRT_PROJECT=my-storefront
|
|
185
|
+
export MRT_ENVIRONMENT=staging
|
|
186
|
+
export MRT_BACKEND=legacy # legacy (default) | auto | scapi
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### ~/.mobify Config
|
|
190
|
+
|
|
191
|
+
Store your API key in `~/.mobify`:
|
|
192
|
+
|
|
193
|
+
```json
|
|
194
|
+
{
|
|
195
|
+
"api_key": "your-mrt-api-key"
|
|
196
|
+
}
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
## Detailed References
|
|
200
|
+
|
|
201
|
+
- [Project Commands](references/PROJECT-COMMANDS.md) - Projects, members, and notifications
|
|
202
|
+
- [Environment Commands](references/ENVIRONMENT-COMMANDS.md) - Environments, variables, redirects
|
|
203
|
+
- [Bundle Commands](references/BUNDLE-COMMANDS.md) - Deployments, history, downloads
|
|
204
|
+
|
|
205
|
+
### More Commands
|
|
206
|
+
|
|
207
|
+
See `b2c mrt --help` for a full list of available commands and options.
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
# MRT Bundle Commands Reference
|
|
2
|
+
|
|
3
|
+
Detailed reference for MRT bundle deployment, listing, history, and download commands.
|
|
4
|
+
|
|
5
|
+
## Bundle Deploy
|
|
6
|
+
|
|
7
|
+
Push a local build or deploy an existing bundle to Managed Runtime.
|
|
8
|
+
|
|
9
|
+
### Push Local Build
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
# Push local build to project (no deployment)
|
|
13
|
+
b2c mrt bundle deploy --project my-storefront
|
|
14
|
+
|
|
15
|
+
# Push and deploy to staging
|
|
16
|
+
b2c mrt bundle deploy -p my-storefront -e staging
|
|
17
|
+
|
|
18
|
+
# Push and deploy to production with message
|
|
19
|
+
b2c mrt bundle deploy -p my-storefront -e production --message "Release v1.0.0"
|
|
20
|
+
|
|
21
|
+
# Push from custom build directory
|
|
22
|
+
b2c mrt bundle deploy -p my-storefront --build-dir ./dist
|
|
23
|
+
|
|
24
|
+
# Specify Node.js version
|
|
25
|
+
b2c mrt bundle deploy -p my-storefront --node-version 20.x
|
|
26
|
+
|
|
27
|
+
# Set SSR parameters
|
|
28
|
+
b2c mrt bundle deploy -p my-storefront --ssr-param SSRProxyPath=/api
|
|
29
|
+
|
|
30
|
+
# Multiple SSR parameters
|
|
31
|
+
b2c mrt bundle deploy -p my-storefront \
|
|
32
|
+
--ssr-param SSRProxyPath=/api \
|
|
33
|
+
--ssr-param SSRTimeout=30000
|
|
34
|
+
|
|
35
|
+
# Push a local build and deploy it via the SCAPI backend
|
|
36
|
+
b2c mrt bundle deploy -p my-storefront -e staging --mrt-backend scapi
|
|
37
|
+
|
|
38
|
+
# Push via SCAPI with a custom v2 archive layout
|
|
39
|
+
b2c mrt bundle deploy -p my-storefront --mrt-backend scapi --root-dir bld --match-mode ignore_missing
|
|
40
|
+
|
|
41
|
+
# Push via the legacy v2 endpoint (opt in with --v2)
|
|
42
|
+
b2c mrt bundle deploy -p my-storefront --mrt-backend legacy --v2 --match-mode ignore_missing
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**Bundle format:** SCAPI always uploads the v2 format. The legacy backend defaults to v1; pass `--v2` to upload through the legacy v2 endpoint (upload, plus a separate deploy when `-e` is given). `--root-dir`, `--config-path`, and `--match-mode` control the v2 archive layout and only take effect on a v2 upload — on a legacy v1 push they are ignored and the command warns (pass `--v2` to enable them). `b2c mrt bundle deploy --v2` performs the same v2 upload as `b2c mrt bundle upload-v2` and can also deploy in one step.
|
|
46
|
+
|
|
47
|
+
### Deploy Existing Bundle
|
|
48
|
+
|
|
49
|
+
Both the local-build push and deploying an existing bundle (with a bundle ID) are backend-aware — they honor `--mrt-backend` (`auto` / `legacy` / `scapi`). For a local-build push under `auto`, a safe SCAPI upload failure falls back to legacy, but once the bundle is uploaded a later deploy failure is not retried on legacy (so a bundle is never uploaded twice). See the "MRT Backends" section in the skill overview.
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# Deploy existing bundle by ID
|
|
53
|
+
b2c mrt bundle deploy 12345 -p my-storefront -e production
|
|
54
|
+
|
|
55
|
+
# Deploy with JSON output
|
|
56
|
+
b2c mrt bundle deploy 12345 -p my-storefront -e staging --json
|
|
57
|
+
|
|
58
|
+
# Deploy via the SCAPI backend and wait for completion
|
|
59
|
+
b2c mrt bundle deploy 12345 -p my-storefront -e production --mrt-backend scapi --wait
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**Flags:**
|
|
63
|
+
| Flag | Description | Default |
|
|
64
|
+
|------|-------------|---------|
|
|
65
|
+
| `--message`, `-m` | Bundle message/description | |
|
|
66
|
+
| `--build-dir`, `-b` | Path to build directory | `build` |
|
|
67
|
+
| `--ssr-only` | Server-only file patterns | `ssr.js,ssr.mjs,server/**/*` |
|
|
68
|
+
| `--ssr-shared` | Shared file patterns | `static/**/*,client/**/*` |
|
|
69
|
+
| `--v2` | Use the v2 bundle format/endpoint (SCAPI always uses v2; opt in on legacy) | `false` |
|
|
70
|
+
| `--root-dir` | Archive path prefix for built files and the config file (v2 uploads only) | `bld` |
|
|
71
|
+
| `--config-path` | In-archive config file path, relative to `--root-dir` (v2 uploads only) | `.mrt/config.json` |
|
|
72
|
+
| `--match-mode` | Handling of SSR patterns matching no files — `strict` or `ignore_missing` (v2 uploads only) | `strict` |
|
|
73
|
+
| `--node-version`, `-n` | Node.js version for SSR | `24.x` |
|
|
74
|
+
| `--ssr-param` | SSR parameters (key=value, can repeat) | |
|
|
75
|
+
|
|
76
|
+
## Bundle Upload (v2)
|
|
77
|
+
|
|
78
|
+
Build and upload a **v2-format** bundle. This is **upload only** — it does not deploy. Deploy the returned bundle ID separately with `b2c mrt bundle deploy <bundleId> -e <env>`.
|
|
79
|
+
|
|
80
|
+
Unlike `deploy` (v1), the v2 archive is a gzip tar whose files live under a root directory (default `bld/`), and the SSR configuration is written **inside** the archive at `{root-dir}/{config-path}` (default `bld/.mrt/config.json`) rather than sent as request fields.
|
|
81
|
+
|
|
82
|
+
The SSR configuration is read from the build's on-disk v2 config file at `{build-dir}/{config-path}` when present. Otherwise it is read from `config.server.ts` in the project directory (`--project-directory`, default the current directory — a compiled `config.server.js`/`config.server.mjs` or the legacy `build/config.server.js` is also accepted), then defaults. Flags override the resolved values per key. If the build already emits the v2 config file, it is excluded from the archive and replaced by the resolved config (no duplicate entry).
|
|
83
|
+
|
|
84
|
+
`config.server.ts` is evaluated from source (via jiti), so keep type-only imports as `import type`. A `config.server.ts` that exists but fails to import errors the command rather than silently falling back to defaults.
|
|
85
|
+
|
|
86
|
+
Both `deploy` (v1) and `upload-v2` record the project's `package.json` dependencies (`dependencies` + `devDependencies`) as bundle metadata (v1 `bundle_metadata.dependencies`; v2 `bundleMetadata.dependencies` inside the archive config), matching pwa-kit/storefront-next. An explicit `--dependencies` (v2) or dependencies already in the v2 config file take precedence; collection is best-effort and never blocks a bundle.
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
# Build and upload from ./build
|
|
90
|
+
b2c mrt bundle upload-v2 --project my-storefront
|
|
91
|
+
|
|
92
|
+
# Upload from a custom build directory
|
|
93
|
+
b2c mrt bundle upload-v2 -p my-storefront --build-dir ./dist
|
|
94
|
+
|
|
95
|
+
# Allow SSR patterns that match no files
|
|
96
|
+
b2c mrt bundle upload-v2 -p my-storefront --match-mode ignore_missing
|
|
97
|
+
|
|
98
|
+
# SSR parameters and bundle metadata
|
|
99
|
+
b2c mrt bundle upload-v2 -p my-storefront --ssr-param EnvBasePath=/mobify --node-version 20.x
|
|
100
|
+
b2c mrt bundle upload-v2 -p my-storefront --dependencies @./deps.json --cc-override plugin-a
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**Flags:**
|
|
104
|
+
| Flag | Description | Default |
|
|
105
|
+
|------|-------------|---------|
|
|
106
|
+
| `--message`, `-m` | Bundle message/description | |
|
|
107
|
+
| `--build-dir`, `-b` | Path to build directory | `build` |
|
|
108
|
+
| `--root-dir` | Archive path prefix for built files and the config file | `bld` |
|
|
109
|
+
| `--config-path` | In-archive config file path, relative to `--root-dir` | `.mrt/config.json` |
|
|
110
|
+
| `--match-mode` | Handling of SSR patterns matching no files (`strict` or `ignore_missing`) | `strict` |
|
|
111
|
+
| `--ssr-only` | Server-only file patterns | `ssr.js,ssr.mjs,server/**/*` |
|
|
112
|
+
| `--ssr-shared` | Shared file patterns | `static/**/*,client/**/*` |
|
|
113
|
+
| `--node-version`, `-n` | Node.js version for SSR | `24.x` |
|
|
114
|
+
| `--ssr-param` | SSR parameters (key=value, can repeat) | |
|
|
115
|
+
| `--dependencies` | Bundle dependencies as inline JSON or a `@path` to a JSON file | |
|
|
116
|
+
| `--cc-override` | Commerce Cloud override identifier (can repeat) | |
|
|
117
|
+
|
|
118
|
+
## Bundle List
|
|
119
|
+
|
|
120
|
+
List bundles in a project. Backend-aware (`--mrt-backend`); under `--json` it returns the serving backend's native response verbatim (legacy vs SCAPI shapes differ).
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
b2c mrt bundle list --project my-storefront
|
|
124
|
+
b2c mrt bundle list -p my-storefront --limit 10
|
|
125
|
+
b2c mrt bundle list -p my-storefront --offset 20
|
|
126
|
+
b2c mrt bundle list -p my-storefront --json
|
|
127
|
+
|
|
128
|
+
# Force the SCAPI backend
|
|
129
|
+
b2c mrt bundle list -p my-storefront --mrt-backend scapi
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
**Output columns:** Bundle ID, Message, Status, User, Created
|
|
133
|
+
|
|
134
|
+
## Bundle History
|
|
135
|
+
|
|
136
|
+
View deployment history for an environment. Backend-aware (`--mrt-backend`); under `--json` it returns the serving backend's native response verbatim (legacy vs SCAPI shapes differ).
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
b2c mrt bundle history -p my-storefront -e production
|
|
140
|
+
b2c mrt bundle history -p my-storefront -e staging --limit 5
|
|
141
|
+
b2c mrt bundle history -p my-storefront -e production --json
|
|
142
|
+
b2c mrt bundle history -p my-storefront -e staging --mrt-backend scapi
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
**Output columns:** Bundle ID, Message, Status, Type, Created
|
|
146
|
+
|
|
147
|
+
## Bundle Download
|
|
148
|
+
|
|
149
|
+
Download a bundle artifact.
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
# Download to current directory (bundle-{id}.tgz)
|
|
153
|
+
b2c mrt bundle download 12345 -p my-storefront
|
|
154
|
+
|
|
155
|
+
# Download to specific path
|
|
156
|
+
b2c mrt bundle download 12345 -p my-storefront -o ./artifacts/bundle.tgz
|
|
157
|
+
|
|
158
|
+
# Get download URL only (for use in scripts)
|
|
159
|
+
b2c mrt bundle download 12345 -p my-storefront --url-only
|
|
160
|
+
|
|
161
|
+
# JSON output with download URL
|
|
162
|
+
b2c mrt bundle download 12345 -p my-storefront --json
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
## Common Workflows
|
|
166
|
+
|
|
167
|
+
### Development to Production Pipeline
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
# 1. Build your PWA Kit application
|
|
171
|
+
npm run build
|
|
172
|
+
|
|
173
|
+
# 2. Push to staging for testing
|
|
174
|
+
b2c mrt bundle deploy -p my-storefront -e staging -m "v1.0.0-rc1"
|
|
175
|
+
|
|
176
|
+
# 3. After testing, deploy same bundle to production
|
|
177
|
+
# First, find the bundle ID from the staging deployment
|
|
178
|
+
b2c mrt bundle list -p my-storefront --limit 1
|
|
179
|
+
|
|
180
|
+
# 4. Deploy that bundle to production
|
|
181
|
+
b2c mrt bundle deploy 12345 -p my-storefront -e production
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### Rollback to Previous Bundle
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
# 1. View deployment history
|
|
188
|
+
b2c mrt bundle history -p my-storefront -e production
|
|
189
|
+
|
|
190
|
+
# 2. Deploy previous bundle
|
|
191
|
+
b2c mrt bundle deploy 12340 -p my-storefront -e production
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### Download and Inspect Bundle
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
# Download the bundle
|
|
198
|
+
b2c mrt bundle download 12345 -p my-storefront -o bundle.tgz
|
|
199
|
+
|
|
200
|
+
# Extract and inspect
|
|
201
|
+
tar -xzf bundle.tgz
|
|
202
|
+
ls -la
|
|
203
|
+
```
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
# MRT Environment Commands Reference
|
|
2
|
+
|
|
3
|
+
Detailed reference for MRT environment, variable, redirect, and access control commands.
|
|
4
|
+
|
|
5
|
+
## Environment Management
|
|
6
|
+
|
|
7
|
+
### List Environments
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
b2c mrt env list --project my-storefront
|
|
11
|
+
b2c mrt env list -p my-storefront --json
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
### Create Environment
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# Basic staging environment
|
|
18
|
+
b2c mrt env create staging --project my-storefront --name "Staging Environment"
|
|
19
|
+
|
|
20
|
+
# Production environment in specific region
|
|
21
|
+
b2c mrt env create production -p my-storefront --name "Production" \
|
|
22
|
+
--production --region eu-west-1
|
|
23
|
+
|
|
24
|
+
# With external hostname configuration
|
|
25
|
+
b2c mrt env create prod -p my-storefront --name "Production" \
|
|
26
|
+
--production \
|
|
27
|
+
--external-hostname www.example.com \
|
|
28
|
+
--external-domain example.com
|
|
29
|
+
|
|
30
|
+
# With cookie forwarding and source maps
|
|
31
|
+
b2c mrt env create dev -p my-storefront --name "Development" \
|
|
32
|
+
--allow-cookies --enable-source-maps
|
|
33
|
+
|
|
34
|
+
# The new environment's slug may be given as the positional OR via --environment / -e
|
|
35
|
+
b2c mrt env create -p my-storefront -e staging --name "Staging Environment"
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
> **Slug as positional or flag:** the environment slug can be supplied as the positional argument **or** via `-e` / `--environment` (also honoring `MRT_ENVIRONMENT` / `dw.json`). An explicit positional wins if both are given.
|
|
39
|
+
|
|
40
|
+
**Flags:**
|
|
41
|
+
| Flag | Description |
|
|
42
|
+
|------|-------------|
|
|
43
|
+
| `--name`, `-n` | Display name (required) |
|
|
44
|
+
| `--region`, `-r` | AWS region for SSR deployment |
|
|
45
|
+
| `--production` | Mark as production environment |
|
|
46
|
+
| `--hostname` | Hostname pattern for V8 Tag loading |
|
|
47
|
+
| `--external-hostname` | Full external hostname (e.g., www.example.com) |
|
|
48
|
+
| `--external-domain` | External domain for Universal PWA SSR |
|
|
49
|
+
| `--allow-cookies` | Forward HTTP cookies to origin |
|
|
50
|
+
| `--enable-source-maps` | Enable source map support |
|
|
51
|
+
|
|
52
|
+
### Get Environment Details
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
b2c mrt env get --project my-storefront --environment staging
|
|
56
|
+
b2c mrt env get -p my-storefront -e production --json
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Update Environment
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
b2c mrt env update -p my-storefront -e staging --name "Updated Staging"
|
|
63
|
+
b2c mrt env update -p my-storefront -e production --allow-cookies
|
|
64
|
+
b2c mrt env update -p my-storefront -e dev --no-enable-source-maps
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Delete Environment
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
b2c mrt env delete staging --project my-storefront
|
|
71
|
+
b2c mrt env delete old-env -p my-storefront --force
|
|
72
|
+
|
|
73
|
+
# The env slug may be given as the positional OR via --environment / -e
|
|
74
|
+
b2c mrt env delete -p my-storefront -e old-env --force
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
> **Slug as positional or flag:** the environment slug can be supplied as the positional argument **or** via `-e` / `--environment` (also honoring `MRT_ENVIRONMENT` / `dw.json`). An explicit positional wins if both are given.
|
|
78
|
+
|
|
79
|
+
### Invalidate Cache
|
|
80
|
+
|
|
81
|
+
Invalidate CDN cached content for an environment.
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
# Invalidate all cached content
|
|
85
|
+
b2c mrt env invalidate -p my-storefront -e production
|
|
86
|
+
|
|
87
|
+
# Invalidate specific paths
|
|
88
|
+
b2c mrt env invalidate -p my-storefront -e production \
|
|
89
|
+
--path "/products/*" --path "/categories/*"
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### B2C Commerce Connection
|
|
93
|
+
|
|
94
|
+
Get or set B2C Commerce instance connection for an environment.
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
# Get current configuration
|
|
98
|
+
b2c mrt env b2c -p my-storefront -e production
|
|
99
|
+
|
|
100
|
+
# Set B2C instance
|
|
101
|
+
b2c mrt env b2c -p my-storefront -e production --instance-id aaaa_prd
|
|
102
|
+
|
|
103
|
+
# Set B2C instance with specific sites
|
|
104
|
+
b2c mrt env b2c -p my-storefront -e production \
|
|
105
|
+
--instance-id aaaa_prd --sites RefArch,SiteGenesis
|
|
106
|
+
|
|
107
|
+
# Clear sites list
|
|
108
|
+
b2c mrt env b2c -p my-storefront -e production --clear-sites
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## Environment Variables
|
|
112
|
+
|
|
113
|
+
The `mrt env var` commands (`list` / `set` / `push` / `delete`) are backend-aware: they honor `--mrt-backend` (`auto` / `legacy` / `scapi`) and, over SCAPI, use the Storefront Environments API (scopes `sfcc.storefront.environments` for reads, `sfcc.storefront.environments.rw` for writes). See the [MRT Backends](../SKILL.md#mrt-backends-legacy-vs-scapi) section for backend selection. Values are always masked by both backends. `set` and `delete` apply a merge-PATCH — only the keys you pass change (`delete` sends the key with a `null` value); other variables are preserved. Under `--json`, each command returns the serving backend's native shape.
|
|
114
|
+
|
|
115
|
+
### List Variables
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
b2c mrt env var list --project my-storefront --environment production
|
|
119
|
+
b2c mrt env var list -p my-storefront -e staging --json
|
|
120
|
+
|
|
121
|
+
# Force the SCAPI backend
|
|
122
|
+
b2c mrt env var list -p my-storefront -e staging --mrt-backend scapi
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Set Variables
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
# Single variable
|
|
129
|
+
b2c mrt env var set MY_VAR=value -p my-storefront -e production
|
|
130
|
+
|
|
131
|
+
# Multiple variables
|
|
132
|
+
b2c mrt env var set API_KEY=secret DEBUG=true FEATURE_FLAG=enabled \
|
|
133
|
+
-p my-storefront -e staging
|
|
134
|
+
|
|
135
|
+
# Value with spaces (use quotes)
|
|
136
|
+
b2c mrt env var set "MESSAGE=hello world" -p my-storefront -e production
|
|
137
|
+
|
|
138
|
+
# Force the SCAPI backend
|
|
139
|
+
b2c mrt env var set API_KEY=secret -p my-storefront -e staging --mrt-backend scapi
|
|
140
|
+
|
|
141
|
+
# Using environment variables for auth
|
|
142
|
+
export MRT_API_KEY=your-api-key
|
|
143
|
+
export MRT_PROJECT=my-storefront
|
|
144
|
+
export MRT_ENVIRONMENT=staging
|
|
145
|
+
b2c mrt env var set MY_VAR=value
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Push Variables from a .env File
|
|
149
|
+
|
|
150
|
+
Diff a local `.env` file against the remote environment and apply the additions/updates (remote-only variables are not deleted). `push` resolves the backend once from its initial read and pins every write to it; over SCAPI the changes are applied as a single merge-PATCH.
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
# Push ./.env, with confirmation prompt
|
|
154
|
+
b2c mrt env var push -p my-storefront -e production
|
|
155
|
+
|
|
156
|
+
# Push a custom file, skipping confirmation, over SCAPI
|
|
157
|
+
b2c mrt env var push -p my-storefront -e staging --file config/.env --yes --mrt-backend scapi
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### Delete Variable
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
b2c mrt env var delete MY_VAR -p my-storefront -e production
|
|
164
|
+
|
|
165
|
+
# Force the SCAPI backend
|
|
166
|
+
b2c mrt env var delete MY_VAR -p my-storefront -e production --mrt-backend scapi
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## URL Redirects
|
|
170
|
+
|
|
171
|
+
### List Redirects
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
b2c mrt env redirect list -p my-storefront -e production
|
|
175
|
+
b2c mrt env redirect list -p my-storefront -e production --limit 50
|
|
176
|
+
b2c mrt env redirect list -p my-storefront -e production --json
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### Create Redirect
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
# Basic redirect
|
|
183
|
+
b2c mrt env redirect create -p my-storefront -e production \
|
|
184
|
+
--from "/old-path" --to "/new-path"
|
|
185
|
+
|
|
186
|
+
# Permanent redirect (301)
|
|
187
|
+
b2c mrt env redirect create -p my-storefront -e production \
|
|
188
|
+
--from "/legacy/*" --to "/modern/$1" --permanent
|
|
189
|
+
|
|
190
|
+
# Temporary redirect (302, default)
|
|
191
|
+
b2c mrt env redirect create -p my-storefront -e production \
|
|
192
|
+
--from "/promo" --to "/sale"
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
### Delete Redirect
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
b2c mrt env redirect delete abc-123 -p my-storefront -e production
|
|
199
|
+
b2c mrt env redirect delete abc-123 -p my-storefront -e production --force
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### Clone Redirects
|
|
203
|
+
|
|
204
|
+
Copy redirects from one environment to another.
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
b2c mrt env redirect clone -p my-storefront \
|
|
208
|
+
--source staging --target production
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
## Access Control Headers
|
|
212
|
+
|
|
213
|
+
### List Access Control Headers
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
b2c mrt env access-control list -p my-storefront -e staging
|
|
217
|
+
b2c mrt env access-control list -p my-storefront -e production --json
|
|
218
|
+
```
|