@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.
Files changed (421) hide show
  1. package/bin/dev.js +8 -8
  2. package/bin/run.js +5 -7
  3. package/content/guidance/b2c/b2c-business-manager-extensions/SKILL.md +361 -0
  4. package/content/guidance/b2c/b2c-business-manager-extensions/references/EXTENSIONS-XML.md +458 -0
  5. package/content/guidance/b2c/b2c-controllers/SKILL.md +301 -0
  6. package/content/guidance/b2c/b2c-controllers/references/CLASSIC-PATTERNS.md +335 -0
  7. package/content/guidance/b2c/b2c-controllers/references/SFRA-PATTERNS.md +400 -0
  8. package/content/guidance/b2c/b2c-custom-api-development/SKILL.md +281 -0
  9. package/content/guidance/b2c/b2c-custom-api-development/references/CONTRACT.md +142 -0
  10. package/content/guidance/b2c/b2c-custom-api-development/references/IMPLEMENTATION.md +153 -0
  11. package/content/guidance/b2c/b2c-custom-api-development/references/TESTING.md +118 -0
  12. package/content/guidance/b2c/b2c-custom-caches/SKILL.md +279 -0
  13. package/content/guidance/b2c/b2c-custom-job-steps/SKILL.md +520 -0
  14. package/content/guidance/b2c/b2c-custom-job-steps/references/CHUNK-ORIENTED.md +377 -0
  15. package/content/guidance/b2c/b2c-custom-job-steps/references/JOBS-XML.md +212 -0
  16. package/content/guidance/b2c/b2c-custom-job-steps/references/STEPTYPES-JSON.md +373 -0
  17. package/content/guidance/b2c/b2c-custom-job-steps/references/TASK-ORIENTED.md +344 -0
  18. package/content/guidance/b2c/b2c-custom-objects/SKILL.md +327 -0
  19. package/content/guidance/b2c/b2c-custom-objects/references/OCAPI-SEARCH.md +298 -0
  20. package/content/guidance/b2c/b2c-forms/SKILL.md +242 -0
  21. package/content/guidance/b2c/b2c-forms/references/FORM-XML.md +409 -0
  22. package/content/guidance/b2c/b2c-hooks/SKILL.md +500 -0
  23. package/content/guidance/b2c/b2c-hooks/references/OCAPI-SCAPI-HOOKS.md +403 -0
  24. package/content/guidance/b2c/b2c-hooks/references/ORDER-HOOK-LIFECYCLE.md +169 -0
  25. package/content/guidance/b2c/b2c-hooks/references/SYSTEM-HOOKS.md +433 -0
  26. package/content/guidance/b2c/b2c-isml/SKILL.md +320 -0
  27. package/content/guidance/b2c/b2c-isml/references/EXPRESSIONS.md +366 -0
  28. package/content/guidance/b2c/b2c-isml/references/TAGS.md +443 -0
  29. package/content/guidance/b2c/b2c-localization/SKILL.md +344 -0
  30. package/content/guidance/b2c/b2c-localization/references/PATTERNS.md +407 -0
  31. package/content/guidance/b2c/b2c-logging/SKILL.md +352 -0
  32. package/content/guidance/b2c/b2c-logging/references/LOG-FILES.md +282 -0
  33. package/content/guidance/b2c/b2c-metadata/SKILL.md +406 -0
  34. package/content/guidance/b2c/b2c-metadata/references/SYSTEM-OBJECTS.md +320 -0
  35. package/content/guidance/b2c/b2c-metadata/references/XML-EXAMPLES.md +366 -0
  36. package/content/guidance/b2c/b2c-onboarding/SKILL.md +154 -0
  37. package/content/guidance/b2c/b2c-ordering/SKILL.md +391 -0
  38. package/content/guidance/b2c/b2c-page-designer/SKILL.md +410 -0
  39. package/content/guidance/b2c/b2c-page-designer/references/ATTRIBUTE-TYPES.md +436 -0
  40. package/content/guidance/b2c/b2c-page-designer/references/META-DEFINITIONS.md +340 -0
  41. package/content/guidance/b2c/b2c-querying-data/SKILL.md +289 -0
  42. package/content/guidance/b2c/b2c-querying-data/references/PERFORMANCE-APIS.md +74 -0
  43. package/content/guidance/b2c/b2c-scapi-admin/SKILL.md +53 -0
  44. package/content/guidance/b2c/b2c-scapi-admin/references/CLIENT-EXAMPLES.md +440 -0
  45. package/content/guidance/b2c/b2c-scapi-admin/references/INTEGRATION-PATTERNS.md +518 -0
  46. package/content/guidance/b2c/b2c-scapi-admin/references/OAUTH-SCOPES.md +337 -0
  47. package/content/guidance/b2c/b2c-scapi-shopper/SKILL.md +56 -0
  48. package/content/guidance/b2c/b2c-scapi-shopper/references/CHECKOUT-FLOW.md +466 -0
  49. package/content/guidance/b2c/b2c-scapi-shopper/references/CLIENT-EXAMPLES.md +351 -0
  50. package/content/guidance/b2c/b2c-scapi-shopper/references/COMMON-PATTERNS.md +390 -0
  51. package/content/guidance/b2c/b2c-scapi-shopper/references/SCOPES.md +290 -0
  52. package/content/guidance/b2c/b2c-slas-auth-patterns/SKILL.md +420 -0
  53. package/content/guidance/b2c/b2c-slas-auth-patterns/references/PASSKEYS.md +126 -0
  54. package/content/guidance/b2c/b2c-slas-auth-patterns/references/SESSION-BRIDGE.md +267 -0
  55. package/content/guidance/b2c/b2c-slas-auth-patterns/references/TOKEN-LIFECYCLE.md +367 -0
  56. package/content/guidance/b2c/b2c-webservices/SKILL.md +318 -0
  57. package/content/guidance/b2c/b2c-webservices/references/FTP-SERVICES.md +524 -0
  58. package/content/guidance/b2c/b2c-webservices/references/HTTP-SERVICES.md +578 -0
  59. package/content/guidance/b2c/b2c-webservices/references/SERVICES-XML.md +351 -0
  60. package/content/guidance/b2c/b2c-webservices/references/SOAP-SERVICES.md +587 -0
  61. package/content/guidance/b2c-cli/b2c-am/SKILL.md +277 -0
  62. package/content/guidance/b2c-cli/b2c-bm-users-roles/SKILL.md +210 -0
  63. package/content/guidance/b2c-cli/b2c-cap/SKILL.md +131 -0
  64. package/content/guidance/b2c-cli/b2c-cip/SKILL.md +116 -0
  65. package/content/guidance/b2c-cli/b2c-cip/references/KNOWN_TABLES.md +105 -0
  66. package/content/guidance/b2c-cli/b2c-cip/references/SALES_ANALYSIS.md +50 -0
  67. package/content/guidance/b2c-cli/b2c-cip/references/STARTER_QUERIES.md +147 -0
  68. package/content/guidance/b2c-cli/b2c-code/SKILL.md +146 -0
  69. package/content/guidance/b2c-cli/b2c-config/SKILL.md +462 -0
  70. package/content/guidance/b2c-cli/b2c-content/SKILL.md +176 -0
  71. package/content/guidance/b2c-cli/b2c-debug/SKILL.md +138 -0
  72. package/content/guidance/b2c-cli/b2c-docs/SKILL.md +301 -0
  73. package/content/guidance/b2c-cli/b2c-ecdn/SKILL.md +135 -0
  74. package/content/guidance/b2c-cli/b2c-ecdn/references/ADVANCED.md +97 -0
  75. package/content/guidance/b2c-cli/b2c-ecdn/references/SECURITY.md +75 -0
  76. package/content/guidance/b2c-cli/b2c-import-set-migrations/SKILL.md +265 -0
  77. package/content/guidance/b2c-cli/b2c-job/SKILL.md +64 -0
  78. package/content/guidance/b2c-cli/b2c-job/references/EXPORT.md +121 -0
  79. package/content/guidance/b2c-cli/b2c-job/references/IMPORT.md +55 -0
  80. package/content/guidance/b2c-cli/b2c-job/references/RUN-AND-MONITOR.md +119 -0
  81. package/content/guidance/b2c-cli/b2c-logs/SKILL.md +249 -0
  82. package/content/guidance/b2c-cli/b2c-metrics/SKILL.md +315 -0
  83. package/content/guidance/b2c-cli/b2c-mrt/SKILL.md +207 -0
  84. package/content/guidance/b2c-cli/b2c-mrt/references/BUNDLE-COMMANDS.md +203 -0
  85. package/content/guidance/b2c-cli/b2c-mrt/references/ENVIRONMENT-COMMANDS.md +218 -0
  86. package/content/guidance/b2c-cli/b2c-mrt/references/PROJECT-COMMANDS.md +154 -0
  87. package/content/guidance/b2c-cli/b2c-sandbox/SKILL.md +112 -0
  88. package/content/guidance/b2c-cli/b2c-scapi-custom/SKILL.md +126 -0
  89. package/content/guidance/b2c-cli/b2c-scapi-schemas/SKILL.md +66 -0
  90. package/content/guidance/b2c-cli/b2c-scapi-schemas/references/CLI-EXAMPLES.md +108 -0
  91. package/content/guidance/b2c-cli/b2c-site-import-export/SKILL.md +57 -0
  92. package/content/guidance/b2c-cli/b2c-site-import-export/references/IMPORT-OPTIONS.md +118 -0
  93. package/content/guidance/b2c-cli/b2c-site-import-export/references/METADATA-XML.md +381 -0
  94. package/content/guidance/b2c-cli/b2c-site-import-export/references/WORKFLOWS.md +182 -0
  95. package/content/guidance/b2c-cli/b2c-sites/SKILL.md +112 -0
  96. package/content/guidance/b2c-cli/b2c-slas/SKILL.md +182 -0
  97. package/content/guidance/b2c-cli/b2c-webdav/SKILL.md +186 -0
  98. package/content/guidance/b2c-ops/b2c-checkout-triage/SKILL.md +68 -0
  99. package/content/guidance/b2c-ops/b2c-job-health/SKILL.md +75 -0
  100. package/content/guidance/b2c-ops/b2c-job-health/references/job-logs.md +21 -0
  101. package/content/guidance/b2c-ops/b2c-order-failure-triage/SKILL.md +66 -0
  102. package/content/guidance/b2c-ops/b2c-order-failure-triage/references/order-evidence.md +87 -0
  103. package/content/guidance/b2c-ops/b2c-production-triage/SKILL.md +87 -0
  104. package/content/guidance/b2c-ops/b2c-production-triage/references/escalation.md +57 -0
  105. package/content/guidance/index.json +1949 -0
  106. package/content/guidance/storefront-next/sfnext-accessibility/SKILL.md +103 -0
  107. package/content/guidance/storefront-next/sfnext-accessibility/references/checklist.md +64 -0
  108. package/content/guidance/storefront-next/sfnext-analytics-consent/SKILL.md +91 -0
  109. package/content/guidance/storefront-next/sfnext-analytics-consent/references/CUSTOM-ADAPTER.md +49 -0
  110. package/content/guidance/storefront-next/sfnext-authentication/SKILL.md +127 -0
  111. package/content/guidance/storefront-next/sfnext-authentication/references/COOKIES.md +39 -0
  112. package/content/guidance/storefront-next/sfnext-authentication/references/LOGIN-FLOWS.md +59 -0
  113. package/content/guidance/storefront-next/sfnext-commerce-features/SKILL.md +67 -0
  114. package/content/guidance/storefront-next/sfnext-commerce-features/references/FEATURE-PREREQUISITES.md +37 -0
  115. package/content/guidance/storefront-next/sfnext-components/SKILL.md +153 -0
  116. package/content/guidance/storefront-next/sfnext-components/references/COMPONENT-AUTHORING.md +118 -0
  117. package/content/guidance/storefront-next/sfnext-components/references/SHAPE-TOKENS.md +51 -0
  118. package/content/guidance/storefront-next/sfnext-components/references/STORYBOOK.md +54 -0
  119. package/content/guidance/storefront-next/sfnext-components/references/TOKEN-SYSTEM.md +53 -0
  120. package/content/guidance/storefront-next/sfnext-components/references/TROUBLESHOOTING.md +19 -0
  121. package/content/guidance/storefront-next/sfnext-configuration/SKILL.md +163 -0
  122. package/content/guidance/storefront-next/sfnext-configuration/references/ENV-VARIABLES.md +55 -0
  123. package/content/guidance/storefront-next/sfnext-configuration/references/MULTI-SITE-URLS.md +137 -0
  124. package/content/guidance/storefront-next/sfnext-data-fetching/SKILL.md +140 -0
  125. package/content/guidance/storefront-next/sfnext-data-fetching/references/ACTIONS.md +53 -0
  126. package/content/guidance/storefront-next/sfnext-data-fetching/references/API-CLIENTS.md +34 -0
  127. package/content/guidance/storefront-next/sfnext-data-fetching/references/LOADERS.md +73 -0
  128. package/content/guidance/storefront-next/sfnext-data-fetching/references/SCAPI-FETCHER.md +39 -0
  129. package/content/guidance/storefront-next/sfnext-deployment/SKILL.md +127 -0
  130. package/content/guidance/storefront-next/sfnext-deployment/references/MRT-DEPLOYMENT.md +59 -0
  131. package/content/guidance/storefront-next/sfnext-extensions/SKILL.md +118 -0
  132. package/content/guidance/storefront-next/sfnext-extensions/references/ACTION-HOOKS.md +57 -0
  133. package/content/guidance/storefront-next/sfnext-extensions/references/BASE-AUDIT.md +68 -0
  134. package/content/guidance/storefront-next/sfnext-extensions/references/CLI-AND-INSTALL.md +58 -0
  135. package/content/guidance/storefront-next/sfnext-extensions/references/EXTENSION-EXAMPLES.md +79 -0
  136. package/content/guidance/storefront-next/sfnext-hybrid-storefronts/SKILL.md +93 -0
  137. package/content/guidance/storefront-next/sfnext-hybrid-storefronts/references/HYBRID-PROXY-CONFIG.md +86 -0
  138. package/content/guidance/storefront-next/sfnext-i18n/SKILL.md +152 -0
  139. package/content/guidance/storefront-next/sfnext-i18n/references/locale-config.md +35 -0
  140. package/content/guidance/storefront-next/sfnext-overview/SKILL.md +101 -0
  141. package/content/guidance/storefront-next/sfnext-page-designer/SKILL.md +202 -0
  142. package/content/guidance/storefront-next/sfnext-page-designer/references/BUSINESS-MANAGER.md +46 -0
  143. package/content/guidance/storefront-next/sfnext-page-designer/references/COMPONENT-REGISTRY.md +111 -0
  144. package/content/guidance/storefront-next/sfnext-page-designer/references/DECORATOR-PATTERNS.md +168 -0
  145. package/content/guidance/storefront-next/sfnext-page-designer/references/REVIEW-CHECKLIST.md +83 -0
  146. package/content/guidance/storefront-next/sfnext-page-designer/references/TROUBLESHOOTING.md +35 -0
  147. package/content/guidance/storefront-next/sfnext-performance/SKILL.md +102 -0
  148. package/content/guidance/storefront-next/sfnext-performance/references/PERFORMANCE-REVIEW-CHECKLIST.md +85 -0
  149. package/content/guidance/storefront-next/sfnext-performance/references/SUSPENSE-AND-STREAMING.md +58 -0
  150. package/content/guidance/storefront-next/sfnext-project-setup/SKILL.md +147 -0
  151. package/content/guidance/storefront-next/sfnext-project-setup/references/PROJECT-STRUCTURE.md +61 -0
  152. package/content/guidance/storefront-next/sfnext-project-setup/references/SCRIPTS.md +47 -0
  153. package/content/guidance/storefront-next/sfnext-project-setup/references/SFNEXT-CLI.md +63 -0
  154. package/content/guidance/storefront-next/sfnext-quality-gates/SKILL.md +70 -0
  155. package/content/guidance/storefront-next/sfnext-quality-gates/references/lint-and-budgets.md +39 -0
  156. package/content/guidance/storefront-next/sfnext-revalidation/SKILL.md +121 -0
  157. package/content/guidance/storefront-next/sfnext-revalidation/references/POLICIES-AND-TAGS.md +55 -0
  158. package/content/guidance/storefront-next/sfnext-routing/SKILL.md +123 -0
  159. package/content/guidance/storefront-next/sfnext-routing/references/ROUTE-CONVENTIONS.md +65 -0
  160. package/content/guidance/storefront-next/sfnext-routing/references/URLS-AND-SEO-ROUTES.md +22 -0
  161. package/content/guidance/storefront-next/sfnext-scapi/SKILL.md +126 -0
  162. package/content/guidance/storefront-next/sfnext-scapi/references/WORKED-EXAMPLE.md +39 -0
  163. package/content/guidance/storefront-next/sfnext-security/SKILL.md +129 -0
  164. package/content/guidance/storefront-next/sfnext-security/references/COOKIE-DOMAIN.md +39 -0
  165. package/content/guidance/storefront-next/sfnext-security/references/TURNSTILE.md +43 -0
  166. package/content/guidance/storefront-next/sfnext-seo/SKILL.md +95 -0
  167. package/content/guidance/storefront-next/sfnext-seo/references/MULTI-DOMAIN-BASE-PATH.md +17 -0
  168. package/content/guidance/storefront-next/sfnext-seo/references/SEO-ROUTES.md +31 -0
  169. package/content/guidance/storefront-next/sfnext-state-management/SKILL.md +114 -0
  170. package/content/guidance/storefront-next/sfnext-state-management/references/PATTERNS.md +45 -0
  171. package/content/guidance/storefront-next/sfnext-testing/SKILL.md +151 -0
  172. package/content/guidance/storefront-next/sfnext-testing/references/E2E.md +38 -0
  173. package/content/guidance/storefront-next/sfnext-testing/references/STORYBOOK-PATTERNS.md +97 -0
  174. package/content/guidance/storefront-next/sfnext-testing/references/UNIT-AND-ROUTE-TESTS.md +60 -0
  175. package/content/guidance/storefront-next/sfnext-theming/SKILL.md +104 -0
  176. package/content/guidance/storefront-next/sfnext-theming/references/REBRAND-CHECKLIST.md +29 -0
  177. package/dist/commands/cap/install.d.ts +1 -0
  178. package/dist/commands/cap/list.d.ts +1 -0
  179. package/dist/commands/cap/pull.d.ts +1 -0
  180. package/dist/commands/cap/tasks.d.ts +1 -0
  181. package/dist/commands/cap/uninstall.d.ts +1 -0
  182. package/dist/commands/cip/describe.d.ts +1 -0
  183. package/dist/commands/cip/query.d.ts +1 -0
  184. package/dist/commands/cip/report/bot-traffic-share.d.ts +1 -0
  185. package/dist/commands/cip/report/checkout-funnel-dropoff.d.ts +1 -0
  186. package/dist/commands/cip/report/controller-error-rate-trend.d.ts +1 -0
  187. package/dist/commands/cip/report/controller-health-scorecard.d.ts +1 -0
  188. package/dist/commands/cip/report/customer-registration-trends.d.ts +1 -0
  189. package/dist/commands/cip/report/discount-depth-breakdown.d.ts +1 -0
  190. package/dist/commands/cip/report/inventory-stockout-by-location.d.ts +1 -0
  191. package/dist/commands/cip/report/new-vs-returning-buyer-revenue.d.ts +1 -0
  192. package/dist/commands/cip/report/ocapi-client-usage.d.ts +1 -0
  193. package/dist/commands/cip/report/ocapi-requests.d.ts +1 -0
  194. package/dist/commands/cip/report/payment-method-performance.d.ts +1 -0
  195. package/dist/commands/cip/report/product-co-purchase-analysis.d.ts +1 -0
  196. package/dist/commands/cip/report/promotion-discount-analysis.d.ts +1 -0
  197. package/dist/commands/cip/report/promotion-roi-leaderboard.d.ts +1 -0
  198. package/dist/commands/cip/report/recommender-effectiveness.d.ts +1 -0
  199. package/dist/commands/cip/report/remote-include-performance.d.ts +1 -0
  200. package/dist/commands/cip/report/revenue-by-channel.d.ts +1 -0
  201. package/dist/commands/cip/report/sales-analytics.d.ts +1 -0
  202. package/dist/commands/cip/report/sales-summary.d.ts +1 -0
  203. package/dist/commands/cip/report/scapi-cache-hit-ratio.d.ts +1 -0
  204. package/dist/commands/cip/report/scapi-error-rate-by-status.d.ts +1 -0
  205. package/dist/commands/cip/report/scapi-latency-distribution.d.ts +1 -0
  206. package/dist/commands/cip/report/scapi-traffic-latency.d.ts +1 -0
  207. package/dist/commands/cip/report/search-query-performance.d.ts +1 -0
  208. package/dist/commands/cip/report/top-referrers.d.ts +1 -0
  209. package/dist/commands/cip/report/top-selling-products.d.ts +1 -0
  210. package/dist/commands/cip/report/zero-result-searches.d.ts +1 -0
  211. package/dist/commands/cip/tables.d.ts +1 -0
  212. package/dist/commands/code/activate.d.ts +1 -0
  213. package/dist/commands/code/delete.d.ts +1 -0
  214. package/dist/commands/code/deploy.d.ts +1 -0
  215. package/dist/commands/code/download.d.ts +1 -0
  216. package/dist/commands/code/watch.d.ts +1 -0
  217. package/dist/commands/commands/search.d.ts +35 -0
  218. package/dist/commands/commands/search.js +85 -0
  219. package/dist/commands/commands/search.js.map +1 -0
  220. package/dist/commands/content/export.d.ts +1 -0
  221. package/dist/commands/content/list.d.ts +1 -0
  222. package/dist/commands/content/validate.d.ts +1 -0
  223. package/dist/commands/debug/cli.d.ts +1 -0
  224. package/dist/commands/debug/index.d.ts +1 -0
  225. package/dist/commands/docs/cache.d.ts +1 -0
  226. package/dist/commands/docs/download.d.ts +1 -0
  227. package/dist/commands/docs/read.d.ts +1 -0
  228. package/dist/commands/docs/schema.d.ts +1 -0
  229. package/dist/commands/docs/search.d.ts +1 -0
  230. package/dist/commands/docs/skill.d.ts +41 -0
  231. package/dist/commands/docs/skill.js +183 -0
  232. package/dist/commands/docs/skill.js.map +1 -0
  233. package/dist/commands/ecdn/cache/purge.d.ts +1 -0
  234. package/dist/commands/ecdn/certificates/add.d.ts +1 -0
  235. package/dist/commands/ecdn/certificates/delete.d.ts +1 -0
  236. package/dist/commands/ecdn/certificates/list.d.ts +1 -0
  237. package/dist/commands/ecdn/certificates/update.d.ts +1 -0
  238. package/dist/commands/ecdn/certificates/validate.d.ts +1 -0
  239. package/dist/commands/ecdn/cipher-suites/get.d.ts +1 -0
  240. package/dist/commands/ecdn/cipher-suites/update.d.ts +1 -0
  241. package/dist/commands/ecdn/firewall/create.d.ts +1 -0
  242. package/dist/commands/ecdn/firewall/delete.d.ts +1 -0
  243. package/dist/commands/ecdn/firewall/get.d.ts +1 -0
  244. package/dist/commands/ecdn/firewall/list.d.ts +1 -0
  245. package/dist/commands/ecdn/firewall/reorder.d.ts +1 -0
  246. package/dist/commands/ecdn/firewall/update.d.ts +1 -0
  247. package/dist/commands/ecdn/logpush/jobs/create.d.ts +1 -0
  248. package/dist/commands/ecdn/logpush/jobs/delete.d.ts +1 -0
  249. package/dist/commands/ecdn/logpush/jobs/get.d.ts +1 -0
  250. package/dist/commands/ecdn/logpush/jobs/list.d.ts +1 -0
  251. package/dist/commands/ecdn/logpush/jobs/update.d.ts +1 -0
  252. package/dist/commands/ecdn/logpush/ownership.d.ts +1 -0
  253. package/dist/commands/ecdn/mrt-rules/create.d.ts +1 -0
  254. package/dist/commands/ecdn/mrt-rules/delete.d.ts +1 -0
  255. package/dist/commands/ecdn/mrt-rules/get.d.ts +1 -0
  256. package/dist/commands/ecdn/mrt-rules/rules/delete.d.ts +1 -0
  257. package/dist/commands/ecdn/mrt-rules/rules/update.d.ts +1 -0
  258. package/dist/commands/ecdn/mrt-rules/update.d.ts +1 -0
  259. package/dist/commands/ecdn/mtls/create.d.ts +1 -0
  260. package/dist/commands/ecdn/mtls/delete.d.ts +1 -0
  261. package/dist/commands/ecdn/mtls/get.d.ts +1 -0
  262. package/dist/commands/ecdn/mtls/issue.d.ts +1 -0
  263. package/dist/commands/ecdn/mtls/list.d.ts +1 -0
  264. package/dist/commands/ecdn/mtls/setup.d.ts +1 -0
  265. package/dist/commands/ecdn/origin-headers/delete.d.ts +1 -0
  266. package/dist/commands/ecdn/origin-headers/get.d.ts +1 -0
  267. package/dist/commands/ecdn/origin-headers/set.d.ts +1 -0
  268. package/dist/commands/ecdn/page-shield/notifications/create.d.ts +1 -0
  269. package/dist/commands/ecdn/page-shield/notifications/delete.d.ts +1 -0
  270. package/dist/commands/ecdn/page-shield/notifications/list.d.ts +1 -0
  271. package/dist/commands/ecdn/page-shield/policies/create.d.ts +1 -0
  272. package/dist/commands/ecdn/page-shield/policies/delete.d.ts +1 -0
  273. package/dist/commands/ecdn/page-shield/policies/get.d.ts +1 -0
  274. package/dist/commands/ecdn/page-shield/policies/list.d.ts +1 -0
  275. package/dist/commands/ecdn/page-shield/policies/update.d.ts +1 -0
  276. package/dist/commands/ecdn/page-shield/scripts/get.d.ts +1 -0
  277. package/dist/commands/ecdn/page-shield/scripts/list.d.ts +1 -0
  278. package/dist/commands/ecdn/rate-limit/create.d.ts +1 -0
  279. package/dist/commands/ecdn/rate-limit/delete.d.ts +1 -0
  280. package/dist/commands/ecdn/rate-limit/get.d.ts +1 -0
  281. package/dist/commands/ecdn/rate-limit/list.d.ts +1 -0
  282. package/dist/commands/ecdn/rate-limit/update.d.ts +1 -0
  283. package/dist/commands/ecdn/security/get.d.ts +1 -0
  284. package/dist/commands/ecdn/security/update.d.ts +1 -0
  285. package/dist/commands/ecdn/speed/get.d.ts +1 -0
  286. package/dist/commands/ecdn/speed/update.d.ts +1 -0
  287. package/dist/commands/ecdn/waf/groups/list.d.ts +1 -0
  288. package/dist/commands/ecdn/waf/groups/update.d.ts +1 -0
  289. package/dist/commands/ecdn/waf/managed-rules/list.d.ts +1 -0
  290. package/dist/commands/ecdn/waf/managed-rules/update.d.ts +1 -0
  291. package/dist/commands/ecdn/waf/migrate.d.ts +1 -0
  292. package/dist/commands/ecdn/waf/owasp/get.d.ts +1 -0
  293. package/dist/commands/ecdn/waf/owasp/update.d.ts +1 -0
  294. package/dist/commands/ecdn/waf/rules/get.d.ts +1 -0
  295. package/dist/commands/ecdn/waf/rules/list.d.ts +1 -0
  296. package/dist/commands/ecdn/waf/rules/update.d.ts +1 -0
  297. package/dist/commands/ecdn/waf/rulesets/list.d.ts +1 -0
  298. package/dist/commands/ecdn/waf/rulesets/update.d.ts +1 -0
  299. package/dist/commands/ecdn/zones/create.d.ts +1 -0
  300. package/dist/commands/ecdn/zones/list.d.ts +1 -0
  301. package/dist/commands/job/execution/delete.d.ts +1 -0
  302. package/dist/commands/job/export.d.ts +1 -0
  303. package/dist/commands/job/import-set.d.ts +1 -0
  304. package/dist/commands/job/import.d.ts +1 -0
  305. package/dist/commands/job/log.d.ts +1 -0
  306. package/dist/commands/job/run.d.ts +1 -0
  307. package/dist/commands/job/search.d.ts +1 -0
  308. package/dist/commands/job/wait.d.ts +1 -0
  309. package/dist/commands/logs/get.d.ts +1 -0
  310. package/dist/commands/logs/list.d.ts +1 -0
  311. package/dist/commands/logs/tail.d.ts +1 -0
  312. package/dist/commands/metrics/controller.d.ts +1 -0
  313. package/dist/commands/metrics/ecdn.d.ts +1 -0
  314. package/dist/commands/metrics/mrt.d.ts +1 -0
  315. package/dist/commands/metrics/ocapi.d.ts +1 -0
  316. package/dist/commands/metrics/overall.d.ts +1 -0
  317. package/dist/commands/metrics/sales.d.ts +1 -0
  318. package/dist/commands/metrics/scapi-hooks.d.ts +1 -0
  319. package/dist/commands/metrics/scapi.d.ts +1 -0
  320. package/dist/commands/metrics/third-party.d.ts +1 -0
  321. package/dist/commands/mrt/bundle/delete.d.ts +1 -0
  322. package/dist/commands/mrt/bundle/deploy.d.ts +1 -0
  323. package/dist/commands/mrt/bundle/download.d.ts +1 -0
  324. package/dist/commands/mrt/bundle/history.d.ts +1 -0
  325. package/dist/commands/mrt/bundle/list.d.ts +1 -0
  326. package/dist/commands/mrt/bundle/save.d.ts +1 -0
  327. package/dist/commands/mrt/bundle/upload-v2.d.ts +1 -0
  328. package/dist/commands/mrt/env/access-control/list.d.ts +1 -0
  329. package/dist/commands/mrt/env/b2c.d.ts +1 -0
  330. package/dist/commands/mrt/env/clone.d.ts +1 -0
  331. package/dist/commands/mrt/env/create.d.ts +1 -0
  332. package/dist/commands/mrt/env/delete.d.ts +1 -0
  333. package/dist/commands/mrt/env/get.d.ts +1 -0
  334. package/dist/commands/mrt/env/invalidate.d.ts +1 -0
  335. package/dist/commands/mrt/env/list.d.ts +1 -0
  336. package/dist/commands/mrt/env/redirect/clone.d.ts +1 -0
  337. package/dist/commands/mrt/env/redirect/create.d.ts +1 -0
  338. package/dist/commands/mrt/env/redirect/delete.d.ts +1 -0
  339. package/dist/commands/mrt/env/redirect/list.d.ts +1 -0
  340. package/dist/commands/mrt/env/update.d.ts +1 -0
  341. package/dist/commands/mrt/env/var/delete.d.ts +1 -0
  342. package/dist/commands/mrt/env/var/list.d.ts +1 -0
  343. package/dist/commands/mrt/env/var/push.d.ts +1 -0
  344. package/dist/commands/mrt/env/var/set.d.ts +1 -0
  345. package/dist/commands/mrt/org/b2c.d.ts +1 -0
  346. package/dist/commands/mrt/org/cert/create.d.ts +1 -0
  347. package/dist/commands/mrt/org/cert/delete.d.ts +1 -0
  348. package/dist/commands/mrt/org/cert/get.d.ts +1 -0
  349. package/dist/commands/mrt/org/cert/list.d.ts +1 -0
  350. package/dist/commands/mrt/org/cert/restart-validation.d.ts +1 -0
  351. package/dist/commands/mrt/org/list.d.ts +1 -0
  352. package/dist/commands/mrt/org/member/add.d.ts +1 -0
  353. package/dist/commands/mrt/org/member/get.d.ts +1 -0
  354. package/dist/commands/mrt/org/member/list.d.ts +1 -0
  355. package/dist/commands/mrt/org/member/remove.d.ts +1 -0
  356. package/dist/commands/mrt/org/member/update.d.ts +1 -0
  357. package/dist/commands/mrt/project/create.d.ts +1 -0
  358. package/dist/commands/mrt/project/delete.d.ts +1 -0
  359. package/dist/commands/mrt/project/get.d.ts +1 -0
  360. package/dist/commands/mrt/project/list.d.ts +1 -0
  361. package/dist/commands/mrt/project/member/add.d.ts +1 -0
  362. package/dist/commands/mrt/project/member/get.d.ts +1 -0
  363. package/dist/commands/mrt/project/member/list.d.ts +1 -0
  364. package/dist/commands/mrt/project/member/remove.d.ts +1 -0
  365. package/dist/commands/mrt/project/member/update.d.ts +1 -0
  366. package/dist/commands/mrt/project/notification/delete.d.ts +1 -0
  367. package/dist/commands/mrt/project/notification/get.d.ts +1 -0
  368. package/dist/commands/mrt/project/update.d.ts +1 -0
  369. package/dist/commands/mrt/save-credentials.d.ts +1 -0
  370. package/dist/commands/mrt/tail-logs.d.ts +1 -0
  371. package/dist/commands/mrt/user/api-key.d.ts +1 -0
  372. package/dist/commands/mrt/user/email-prefs.d.ts +1 -0
  373. package/dist/commands/mrt/user/profile.d.ts +1 -0
  374. package/dist/commands/scaffold/init.js +2 -1
  375. package/dist/commands/scaffold/init.js.map +1 -1
  376. package/dist/commands/scapi/custom/status.d.ts +1 -0
  377. package/dist/commands/scapi/schemas/get.d.ts +1 -0
  378. package/dist/commands/scapi/schemas/list.d.ts +1 -0
  379. package/dist/commands/setup/ide/tsserver-plugin.d.ts +1 -0
  380. package/dist/commands/setup/ide/vscode-types.d.ts +1 -0
  381. package/dist/commands/setup/index.js +4 -3
  382. package/dist/commands/setup/index.js.map +1 -1
  383. package/dist/commands/setup/inspect.d.ts +1 -0
  384. package/dist/commands/setup/inspect.js +17 -2
  385. package/dist/commands/setup/inspect.js.map +1 -1
  386. package/dist/commands/setup/instance/create.d.ts +1 -0
  387. package/dist/commands/setup/instance/list.d.ts +1 -0
  388. package/dist/commands/setup/instance/remove.d.ts +1 -0
  389. package/dist/commands/setup/instance/set-active.d.ts +1 -0
  390. package/dist/commands/setup/openshell.d.ts +1 -0
  391. package/dist/commands/setup/skills.d.ts +1 -0
  392. package/dist/commands/slas/client/create.d.ts +1 -0
  393. package/dist/commands/slas/client/delete.d.ts +1 -0
  394. package/dist/commands/slas/client/get.d.ts +1 -0
  395. package/dist/commands/slas/client/list.d.ts +1 -0
  396. package/dist/commands/slas/client/open.d.ts +1 -0
  397. package/dist/commands/slas/client/update.d.ts +1 -0
  398. package/dist/commands/slas/token.d.ts +1 -0
  399. package/dist/commands/slas/token.js +2 -1
  400. package/dist/commands/slas/token.js.map +1 -1
  401. package/dist/commands/webdav/get.d.ts +1 -0
  402. package/dist/commands/webdav/mkdir.d.ts +2 -0
  403. package/dist/commands/webdav/mkdir.js +5 -3
  404. package/dist/commands/webdav/mkdir.js.map +1 -1
  405. package/dist/commands/webdav/put.d.ts +2 -0
  406. package/dist/commands/webdav/put.js +5 -3
  407. package/dist/commands/webdav/put.js.map +1 -1
  408. package/dist/commands/webdav/rm.d.ts +1 -0
  409. package/dist/help.d.ts +25 -0
  410. package/dist/help.js +96 -0
  411. package/dist/help.js.map +1 -0
  412. package/dist/lib/scaffold/generate-helper.js +3 -2
  413. package/dist/lib/scaffold/generate-helper.js.map +1 -1
  414. package/dist/lib/skills.d.ts +19 -0
  415. package/dist/lib/skills.js +75 -0
  416. package/dist/lib/skills.js.map +1 -0
  417. package/dist/utils/cip/command.d.ts +1 -0
  418. package/dist/utils/ecdn/zone-command.d.ts +1 -0
  419. package/dist/utils/slas/client.d.ts +1 -0
  420. package/oclif.manifest.json +10994 -7653
  421. 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
+ ```