@salesforce/b2c-cli 2.3.1 → 2.5.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 (442) 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 +481 -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 +137 -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 +70 -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 +148 -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 +70 -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-edge-traffic-triage/SKILL.md +69 -0
  100. package/content/guidance/b2c-ops/b2c-job-health/SKILL.md +80 -0
  101. package/content/guidance/b2c-ops/b2c-job-health/references/job-logs.md +21 -0
  102. package/content/guidance/b2c-ops/b2c-order-failure-triage/SKILL.md +66 -0
  103. package/content/guidance/b2c-ops/b2c-order-failure-triage/references/order-evidence.md +87 -0
  104. package/content/guidance/b2c-ops/b2c-production-triage/SKILL.md +88 -0
  105. package/content/guidance/b2c-ops/b2c-production-triage/references/escalation.md +57 -0
  106. package/content/guidance/index.json +1969 -0
  107. package/content/guidance/storefront-next/sfnext-accessibility/SKILL.md +103 -0
  108. package/content/guidance/storefront-next/sfnext-accessibility/references/checklist.md +64 -0
  109. package/content/guidance/storefront-next/sfnext-analytics-consent/SKILL.md +91 -0
  110. package/content/guidance/storefront-next/sfnext-analytics-consent/references/CUSTOM-ADAPTER.md +49 -0
  111. package/content/guidance/storefront-next/sfnext-authentication/SKILL.md +127 -0
  112. package/content/guidance/storefront-next/sfnext-authentication/references/COOKIES.md +39 -0
  113. package/content/guidance/storefront-next/sfnext-authentication/references/LOGIN-FLOWS.md +59 -0
  114. package/content/guidance/storefront-next/sfnext-commerce-features/SKILL.md +67 -0
  115. package/content/guidance/storefront-next/sfnext-commerce-features/references/FEATURE-PREREQUISITES.md +37 -0
  116. package/content/guidance/storefront-next/sfnext-components/SKILL.md +153 -0
  117. package/content/guidance/storefront-next/sfnext-components/references/COMPONENT-AUTHORING.md +118 -0
  118. package/content/guidance/storefront-next/sfnext-components/references/SHAPE-TOKENS.md +51 -0
  119. package/content/guidance/storefront-next/sfnext-components/references/STORYBOOK.md +54 -0
  120. package/content/guidance/storefront-next/sfnext-components/references/TOKEN-SYSTEM.md +53 -0
  121. package/content/guidance/storefront-next/sfnext-components/references/TROUBLESHOOTING.md +19 -0
  122. package/content/guidance/storefront-next/sfnext-configuration/SKILL.md +163 -0
  123. package/content/guidance/storefront-next/sfnext-configuration/references/ENV-VARIABLES.md +55 -0
  124. package/content/guidance/storefront-next/sfnext-configuration/references/MULTI-SITE-URLS.md +137 -0
  125. package/content/guidance/storefront-next/sfnext-data-fetching/SKILL.md +140 -0
  126. package/content/guidance/storefront-next/sfnext-data-fetching/references/ACTIONS.md +53 -0
  127. package/content/guidance/storefront-next/sfnext-data-fetching/references/API-CLIENTS.md +34 -0
  128. package/content/guidance/storefront-next/sfnext-data-fetching/references/LOADERS.md +73 -0
  129. package/content/guidance/storefront-next/sfnext-data-fetching/references/SCAPI-FETCHER.md +39 -0
  130. package/content/guidance/storefront-next/sfnext-deployment/SKILL.md +127 -0
  131. package/content/guidance/storefront-next/sfnext-deployment/references/MRT-DEPLOYMENT.md +59 -0
  132. package/content/guidance/storefront-next/sfnext-extensions/SKILL.md +118 -0
  133. package/content/guidance/storefront-next/sfnext-extensions/references/ACTION-HOOKS.md +57 -0
  134. package/content/guidance/storefront-next/sfnext-extensions/references/BASE-AUDIT.md +68 -0
  135. package/content/guidance/storefront-next/sfnext-extensions/references/CLI-AND-INSTALL.md +58 -0
  136. package/content/guidance/storefront-next/sfnext-extensions/references/EXTENSION-EXAMPLES.md +79 -0
  137. package/content/guidance/storefront-next/sfnext-hybrid-storefronts/SKILL.md +93 -0
  138. package/content/guidance/storefront-next/sfnext-hybrid-storefronts/references/HYBRID-PROXY-CONFIG.md +86 -0
  139. package/content/guidance/storefront-next/sfnext-i18n/SKILL.md +152 -0
  140. package/content/guidance/storefront-next/sfnext-i18n/references/locale-config.md +35 -0
  141. package/content/guidance/storefront-next/sfnext-overview/SKILL.md +101 -0
  142. package/content/guidance/storefront-next/sfnext-page-designer/SKILL.md +202 -0
  143. package/content/guidance/storefront-next/sfnext-page-designer/references/BUSINESS-MANAGER.md +46 -0
  144. package/content/guidance/storefront-next/sfnext-page-designer/references/COMPONENT-REGISTRY.md +111 -0
  145. package/content/guidance/storefront-next/sfnext-page-designer/references/DECORATOR-PATTERNS.md +168 -0
  146. package/content/guidance/storefront-next/sfnext-page-designer/references/REVIEW-CHECKLIST.md +83 -0
  147. package/content/guidance/storefront-next/sfnext-page-designer/references/TROUBLESHOOTING.md +35 -0
  148. package/content/guidance/storefront-next/sfnext-performance/SKILL.md +102 -0
  149. package/content/guidance/storefront-next/sfnext-performance/references/PERFORMANCE-REVIEW-CHECKLIST.md +85 -0
  150. package/content/guidance/storefront-next/sfnext-performance/references/SUSPENSE-AND-STREAMING.md +58 -0
  151. package/content/guidance/storefront-next/sfnext-project-setup/SKILL.md +147 -0
  152. package/content/guidance/storefront-next/sfnext-project-setup/references/PROJECT-STRUCTURE.md +61 -0
  153. package/content/guidance/storefront-next/sfnext-project-setup/references/SCRIPTS.md +47 -0
  154. package/content/guidance/storefront-next/sfnext-project-setup/references/SFNEXT-CLI.md +63 -0
  155. package/content/guidance/storefront-next/sfnext-quality-gates/SKILL.md +70 -0
  156. package/content/guidance/storefront-next/sfnext-quality-gates/references/lint-and-budgets.md +39 -0
  157. package/content/guidance/storefront-next/sfnext-revalidation/SKILL.md +121 -0
  158. package/content/guidance/storefront-next/sfnext-revalidation/references/POLICIES-AND-TAGS.md +55 -0
  159. package/content/guidance/storefront-next/sfnext-routing/SKILL.md +123 -0
  160. package/content/guidance/storefront-next/sfnext-routing/references/ROUTE-CONVENTIONS.md +65 -0
  161. package/content/guidance/storefront-next/sfnext-routing/references/URLS-AND-SEO-ROUTES.md +22 -0
  162. package/content/guidance/storefront-next/sfnext-scapi/SKILL.md +126 -0
  163. package/content/guidance/storefront-next/sfnext-scapi/references/WORKED-EXAMPLE.md +39 -0
  164. package/content/guidance/storefront-next/sfnext-security/SKILL.md +129 -0
  165. package/content/guidance/storefront-next/sfnext-security/references/COOKIE-DOMAIN.md +39 -0
  166. package/content/guidance/storefront-next/sfnext-security/references/TURNSTILE.md +43 -0
  167. package/content/guidance/storefront-next/sfnext-seo/SKILL.md +95 -0
  168. package/content/guidance/storefront-next/sfnext-seo/references/MULTI-DOMAIN-BASE-PATH.md +17 -0
  169. package/content/guidance/storefront-next/sfnext-seo/references/SEO-ROUTES.md +31 -0
  170. package/content/guidance/storefront-next/sfnext-state-management/SKILL.md +114 -0
  171. package/content/guidance/storefront-next/sfnext-state-management/references/PATTERNS.md +45 -0
  172. package/content/guidance/storefront-next/sfnext-testing/SKILL.md +151 -0
  173. package/content/guidance/storefront-next/sfnext-testing/references/E2E.md +38 -0
  174. package/content/guidance/storefront-next/sfnext-testing/references/STORYBOOK-PATTERNS.md +97 -0
  175. package/content/guidance/storefront-next/sfnext-testing/references/UNIT-AND-ROUTE-TESTS.md +60 -0
  176. package/content/guidance/storefront-next/sfnext-theming/SKILL.md +104 -0
  177. package/content/guidance/storefront-next/sfnext-theming/references/REBRAND-CHECKLIST.md +29 -0
  178. package/dist/commands/cap/install.d.ts +1 -0
  179. package/dist/commands/cap/list.d.ts +1 -0
  180. package/dist/commands/cap/pull.d.ts +1 -0
  181. package/dist/commands/cap/tasks.d.ts +1 -0
  182. package/dist/commands/cap/uninstall.d.ts +1 -0
  183. package/dist/commands/cip/describe.d.ts +1 -0
  184. package/dist/commands/cip/query.d.ts +1 -0
  185. package/dist/commands/cip/report/bot-traffic-share.d.ts +1 -0
  186. package/dist/commands/cip/report/checkout-funnel-dropoff.d.ts +1 -0
  187. package/dist/commands/cip/report/controller-error-rate-trend.d.ts +1 -0
  188. package/dist/commands/cip/report/controller-health-scorecard.d.ts +1 -0
  189. package/dist/commands/cip/report/customer-registration-trends.d.ts +1 -0
  190. package/dist/commands/cip/report/discount-depth-breakdown.d.ts +1 -0
  191. package/dist/commands/cip/report/inventory-stockout-by-location.d.ts +1 -0
  192. package/dist/commands/cip/report/new-vs-returning-buyer-revenue.d.ts +1 -0
  193. package/dist/commands/cip/report/ocapi-client-usage.d.ts +1 -0
  194. package/dist/commands/cip/report/ocapi-requests.d.ts +1 -0
  195. package/dist/commands/cip/report/payment-method-performance.d.ts +1 -0
  196. package/dist/commands/cip/report/product-co-purchase-analysis.d.ts +1 -0
  197. package/dist/commands/cip/report/promotion-discount-analysis.d.ts +1 -0
  198. package/dist/commands/cip/report/promotion-roi-leaderboard.d.ts +1 -0
  199. package/dist/commands/cip/report/recommender-effectiveness.d.ts +1 -0
  200. package/dist/commands/cip/report/remote-include-performance.d.ts +1 -0
  201. package/dist/commands/cip/report/revenue-by-channel.d.ts +1 -0
  202. package/dist/commands/cip/report/sales-analytics.d.ts +1 -0
  203. package/dist/commands/cip/report/sales-summary.d.ts +1 -0
  204. package/dist/commands/cip/report/scapi-cache-hit-ratio.d.ts +1 -0
  205. package/dist/commands/cip/report/scapi-error-rate-by-status.d.ts +1 -0
  206. package/dist/commands/cip/report/scapi-latency-distribution.d.ts +1 -0
  207. package/dist/commands/cip/report/scapi-traffic-latency.d.ts +1 -0
  208. package/dist/commands/cip/report/search-query-performance.d.ts +1 -0
  209. package/dist/commands/cip/report/top-referrers.d.ts +1 -0
  210. package/dist/commands/cip/report/top-selling-products.d.ts +1 -0
  211. package/dist/commands/cip/report/zero-result-searches.d.ts +1 -0
  212. package/dist/commands/cip/tables.d.ts +1 -0
  213. package/dist/commands/code/activate.d.ts +1 -0
  214. package/dist/commands/code/delete.d.ts +1 -0
  215. package/dist/commands/code/deploy.d.ts +1 -0
  216. package/dist/commands/code/download.d.ts +1 -0
  217. package/dist/commands/code/watch.d.ts +1 -0
  218. package/dist/commands/commands/search.d.ts +35 -0
  219. package/dist/commands/commands/search.js +85 -0
  220. package/dist/commands/commands/search.js.map +1 -0
  221. package/dist/commands/content/export.d.ts +1 -0
  222. package/dist/commands/content/list.d.ts +1 -0
  223. package/dist/commands/content/validate.d.ts +1 -0
  224. package/dist/commands/debug/cli.d.ts +1 -0
  225. package/dist/commands/debug/index.d.ts +1 -0
  226. package/dist/commands/docs/cache.d.ts +1 -0
  227. package/dist/commands/docs/download.d.ts +1 -0
  228. package/dist/commands/docs/read.d.ts +1 -0
  229. package/dist/commands/docs/schema.d.ts +1 -0
  230. package/dist/commands/docs/search.d.ts +1 -0
  231. package/dist/commands/docs/skill.d.ts +41 -0
  232. package/dist/commands/docs/skill.js +183 -0
  233. package/dist/commands/docs/skill.js.map +1 -0
  234. package/dist/commands/ecdn/cache/purge.d.ts +1 -0
  235. package/dist/commands/ecdn/certificates/add.d.ts +1 -0
  236. package/dist/commands/ecdn/certificates/delete.d.ts +1 -0
  237. package/dist/commands/ecdn/certificates/list.d.ts +1 -0
  238. package/dist/commands/ecdn/certificates/update.d.ts +1 -0
  239. package/dist/commands/ecdn/certificates/validate.d.ts +1 -0
  240. package/dist/commands/ecdn/cipher-suites/get.d.ts +1 -0
  241. package/dist/commands/ecdn/cipher-suites/update.d.ts +1 -0
  242. package/dist/commands/ecdn/firewall/create.d.ts +1 -0
  243. package/dist/commands/ecdn/firewall/delete.d.ts +1 -0
  244. package/dist/commands/ecdn/firewall/get.d.ts +1 -0
  245. package/dist/commands/ecdn/firewall/list.d.ts +1 -0
  246. package/dist/commands/ecdn/firewall/reorder.d.ts +1 -0
  247. package/dist/commands/ecdn/firewall/update.d.ts +1 -0
  248. package/dist/commands/ecdn/logpush/jobs/create.d.ts +1 -0
  249. package/dist/commands/ecdn/logpush/jobs/delete.d.ts +1 -0
  250. package/dist/commands/ecdn/logpush/jobs/get.d.ts +1 -0
  251. package/dist/commands/ecdn/logpush/jobs/list.d.ts +1 -0
  252. package/dist/commands/ecdn/logpush/jobs/update.d.ts +1 -0
  253. package/dist/commands/ecdn/logpush/ownership.d.ts +1 -0
  254. package/dist/commands/ecdn/mrt-rules/create.d.ts +1 -0
  255. package/dist/commands/ecdn/mrt-rules/delete.d.ts +1 -0
  256. package/dist/commands/ecdn/mrt-rules/get.d.ts +1 -0
  257. package/dist/commands/ecdn/mrt-rules/rules/delete.d.ts +1 -0
  258. package/dist/commands/ecdn/mrt-rules/rules/update.d.ts +1 -0
  259. package/dist/commands/ecdn/mrt-rules/update.d.ts +1 -0
  260. package/dist/commands/ecdn/mtls/create.d.ts +1 -0
  261. package/dist/commands/ecdn/mtls/delete.d.ts +1 -0
  262. package/dist/commands/ecdn/mtls/get.d.ts +1 -0
  263. package/dist/commands/ecdn/mtls/issue.d.ts +1 -0
  264. package/dist/commands/ecdn/mtls/list.d.ts +1 -0
  265. package/dist/commands/ecdn/mtls/setup.d.ts +1 -0
  266. package/dist/commands/ecdn/origin-headers/delete.d.ts +1 -0
  267. package/dist/commands/ecdn/origin-headers/get.d.ts +1 -0
  268. package/dist/commands/ecdn/origin-headers/set.d.ts +1 -0
  269. package/dist/commands/ecdn/page-shield/notifications/create.d.ts +1 -0
  270. package/dist/commands/ecdn/page-shield/notifications/delete.d.ts +1 -0
  271. package/dist/commands/ecdn/page-shield/notifications/list.d.ts +1 -0
  272. package/dist/commands/ecdn/page-shield/policies/create.d.ts +1 -0
  273. package/dist/commands/ecdn/page-shield/policies/delete.d.ts +1 -0
  274. package/dist/commands/ecdn/page-shield/policies/get.d.ts +1 -0
  275. package/dist/commands/ecdn/page-shield/policies/list.d.ts +1 -0
  276. package/dist/commands/ecdn/page-shield/policies/update.d.ts +1 -0
  277. package/dist/commands/ecdn/page-shield/scripts/get.d.ts +1 -0
  278. package/dist/commands/ecdn/page-shield/scripts/list.d.ts +1 -0
  279. package/dist/commands/ecdn/rate-limit/create.d.ts +1 -0
  280. package/dist/commands/ecdn/rate-limit/delete.d.ts +1 -0
  281. package/dist/commands/ecdn/rate-limit/get.d.ts +1 -0
  282. package/dist/commands/ecdn/rate-limit/list.d.ts +1 -0
  283. package/dist/commands/ecdn/rate-limit/update.d.ts +1 -0
  284. package/dist/commands/ecdn/security/get.d.ts +1 -0
  285. package/dist/commands/ecdn/security/update.d.ts +1 -0
  286. package/dist/commands/ecdn/speed/get.d.ts +1 -0
  287. package/dist/commands/ecdn/speed/update.d.ts +1 -0
  288. package/dist/commands/ecdn/waf/groups/list.d.ts +1 -0
  289. package/dist/commands/ecdn/waf/groups/update.d.ts +1 -0
  290. package/dist/commands/ecdn/waf/managed-rules/list.d.ts +1 -0
  291. package/dist/commands/ecdn/waf/managed-rules/update.d.ts +1 -0
  292. package/dist/commands/ecdn/waf/migrate.d.ts +1 -0
  293. package/dist/commands/ecdn/waf/owasp/get.d.ts +1 -0
  294. package/dist/commands/ecdn/waf/owasp/update.d.ts +1 -0
  295. package/dist/commands/ecdn/waf/rules/get.d.ts +1 -0
  296. package/dist/commands/ecdn/waf/rules/list.d.ts +1 -0
  297. package/dist/commands/ecdn/waf/rules/update.d.ts +1 -0
  298. package/dist/commands/ecdn/waf/rulesets/list.d.ts +1 -0
  299. package/dist/commands/ecdn/waf/rulesets/update.d.ts +1 -0
  300. package/dist/commands/ecdn/zones/create.d.ts +1 -0
  301. package/dist/commands/ecdn/zones/list.d.ts +1 -0
  302. package/dist/commands/job/execution/delete.d.ts +1 -0
  303. package/dist/commands/job/export.d.ts +1 -0
  304. package/dist/commands/job/import-set.d.ts +1 -0
  305. package/dist/commands/job/import.d.ts +1 -0
  306. package/dist/commands/job/log.d.ts +1 -0
  307. package/dist/commands/job/run.d.ts +1 -0
  308. package/dist/commands/job/run.js +1 -1
  309. package/dist/commands/job/run.js.map +1 -1
  310. package/dist/commands/job/search.d.ts +1 -0
  311. package/dist/commands/job/wait.d.ts +1 -0
  312. package/dist/commands/logs/get.d.ts +1 -0
  313. package/dist/commands/logs/list.d.ts +1 -0
  314. package/dist/commands/logs/tail.d.ts +1 -0
  315. package/dist/commands/metrics/controller.d.ts +1 -0
  316. package/dist/commands/metrics/ecdn.d.ts +1 -0
  317. package/dist/commands/metrics/mrt.d.ts +1 -0
  318. package/dist/commands/metrics/ocapi.d.ts +1 -0
  319. package/dist/commands/metrics/overall.d.ts +1 -0
  320. package/dist/commands/metrics/sales.d.ts +1 -0
  321. package/dist/commands/metrics/scapi-hooks.d.ts +1 -0
  322. package/dist/commands/metrics/scapi.d.ts +1 -0
  323. package/dist/commands/metrics/third-party.d.ts +1 -0
  324. package/dist/commands/mrt/bundle/delete.d.ts +1 -0
  325. package/dist/commands/mrt/bundle/deploy.d.ts +1 -0
  326. package/dist/commands/mrt/bundle/download.d.ts +1 -0
  327. package/dist/commands/mrt/bundle/history.d.ts +1 -0
  328. package/dist/commands/mrt/bundle/list.d.ts +1 -0
  329. package/dist/commands/mrt/bundle/save.d.ts +1 -0
  330. package/dist/commands/mrt/bundle/upload-v2.d.ts +1 -0
  331. package/dist/commands/mrt/env/access-control/list.d.ts +1 -0
  332. package/dist/commands/mrt/env/b2c.d.ts +1 -0
  333. package/dist/commands/mrt/env/clone.d.ts +1 -0
  334. package/dist/commands/mrt/env/create.d.ts +1 -0
  335. package/dist/commands/mrt/env/delete.d.ts +1 -0
  336. package/dist/commands/mrt/env/get.d.ts +1 -0
  337. package/dist/commands/mrt/env/invalidate.d.ts +1 -0
  338. package/dist/commands/mrt/env/list.d.ts +1 -0
  339. package/dist/commands/mrt/env/redirect/clone.d.ts +1 -0
  340. package/dist/commands/mrt/env/redirect/create.d.ts +1 -0
  341. package/dist/commands/mrt/env/redirect/delete.d.ts +1 -0
  342. package/dist/commands/mrt/env/redirect/list.d.ts +1 -0
  343. package/dist/commands/mrt/env/update.d.ts +1 -0
  344. package/dist/commands/mrt/env/var/delete.d.ts +1 -0
  345. package/dist/commands/mrt/env/var/list.d.ts +1 -0
  346. package/dist/commands/mrt/env/var/push.d.ts +1 -0
  347. package/dist/commands/mrt/env/var/set.d.ts +1 -0
  348. package/dist/commands/mrt/org/b2c.d.ts +1 -0
  349. package/dist/commands/mrt/org/cert/create.d.ts +1 -0
  350. package/dist/commands/mrt/org/cert/delete.d.ts +1 -0
  351. package/dist/commands/mrt/org/cert/get.d.ts +1 -0
  352. package/dist/commands/mrt/org/cert/list.d.ts +1 -0
  353. package/dist/commands/mrt/org/cert/restart-validation.d.ts +1 -0
  354. package/dist/commands/mrt/org/list.d.ts +1 -0
  355. package/dist/commands/mrt/org/member/add.d.ts +1 -0
  356. package/dist/commands/mrt/org/member/get.d.ts +1 -0
  357. package/dist/commands/mrt/org/member/list.d.ts +1 -0
  358. package/dist/commands/mrt/org/member/remove.d.ts +1 -0
  359. package/dist/commands/mrt/org/member/update.d.ts +1 -0
  360. package/dist/commands/mrt/project/create.d.ts +1 -0
  361. package/dist/commands/mrt/project/delete.d.ts +1 -0
  362. package/dist/commands/mrt/project/get.d.ts +1 -0
  363. package/dist/commands/mrt/project/list.d.ts +1 -0
  364. package/dist/commands/mrt/project/member/add.d.ts +1 -0
  365. package/dist/commands/mrt/project/member/get.d.ts +1 -0
  366. package/dist/commands/mrt/project/member/list.d.ts +1 -0
  367. package/dist/commands/mrt/project/member/remove.d.ts +1 -0
  368. package/dist/commands/mrt/project/member/update.d.ts +1 -0
  369. package/dist/commands/mrt/project/notification/delete.d.ts +1 -0
  370. package/dist/commands/mrt/project/notification/get.d.ts +1 -0
  371. package/dist/commands/mrt/project/update.d.ts +1 -0
  372. package/dist/commands/mrt/save-credentials.d.ts +1 -0
  373. package/dist/commands/mrt/tail-logs.d.ts +1 -0
  374. package/dist/commands/mrt/user/api-key.d.ts +1 -0
  375. package/dist/commands/mrt/user/email-prefs.d.ts +1 -0
  376. package/dist/commands/mrt/user/profile.d.ts +1 -0
  377. package/dist/commands/scaffold/init.js +2 -1
  378. package/dist/commands/scaffold/init.js.map +1 -1
  379. package/dist/commands/scapi/custom/status.d.ts +1 -0
  380. package/dist/commands/scapi/schemas/get.d.ts +9 -0
  381. package/dist/commands/scapi/schemas/get.js +51 -19
  382. package/dist/commands/scapi/schemas/get.js.map +1 -1
  383. package/dist/commands/scapi/schemas/list.d.ts +6 -0
  384. package/dist/commands/scapi/schemas/list.js +28 -18
  385. package/dist/commands/scapi/schemas/list.js.map +1 -1
  386. package/dist/commands/setup/get.d.ts +36 -0
  387. package/dist/commands/setup/get.js +67 -0
  388. package/dist/commands/setup/get.js.map +1 -0
  389. package/dist/commands/setup/ide/tsserver-plugin.d.ts +1 -0
  390. package/dist/commands/setup/ide/vscode-types.d.ts +1 -0
  391. package/dist/commands/setup/index.js +4 -3
  392. package/dist/commands/setup/index.js.map +1 -1
  393. package/dist/commands/setup/inspect.d.ts +1 -0
  394. package/dist/commands/setup/inspect.js +15 -4
  395. package/dist/commands/setup/inspect.js.map +1 -1
  396. package/dist/commands/setup/instance/create.d.ts +9 -0
  397. package/dist/commands/setup/instance/create.js +22 -6
  398. package/dist/commands/setup/instance/create.js.map +1 -1
  399. package/dist/commands/setup/instance/list.d.ts +1 -0
  400. package/dist/commands/setup/instance/list.js +3 -4
  401. package/dist/commands/setup/instance/list.js.map +1 -1
  402. package/dist/commands/setup/instance/remove.d.ts +1 -0
  403. package/dist/commands/setup/instance/remove.js +5 -5
  404. package/dist/commands/setup/instance/remove.js.map +1 -1
  405. package/dist/commands/setup/instance/set-active.d.ts +6 -0
  406. package/dist/commands/setup/instance/set-active.js +20 -5
  407. package/dist/commands/setup/instance/set-active.js.map +1 -1
  408. package/dist/commands/setup/openshell.d.ts +1 -0
  409. package/dist/commands/setup/set.d.ts +37 -0
  410. package/dist/commands/setup/set.js +87 -0
  411. package/dist/commands/setup/set.js.map +1 -0
  412. package/dist/commands/setup/skills.d.ts +1 -0
  413. package/dist/commands/setup/unset.d.ts +37 -0
  414. package/dist/commands/setup/unset.js +55 -0
  415. package/dist/commands/setup/unset.js.map +1 -0
  416. package/dist/commands/slas/client/create.d.ts +1 -0
  417. package/dist/commands/slas/client/delete.d.ts +1 -0
  418. package/dist/commands/slas/client/get.d.ts +1 -0
  419. package/dist/commands/slas/client/list.d.ts +1 -0
  420. package/dist/commands/slas/client/open.d.ts +1 -0
  421. package/dist/commands/slas/client/update.d.ts +1 -0
  422. package/dist/commands/slas/token.d.ts +1 -0
  423. package/dist/commands/slas/token.js +2 -1
  424. package/dist/commands/slas/token.js.map +1 -1
  425. package/dist/commands/webdav/get.d.ts +1 -0
  426. package/dist/commands/webdav/rm.d.ts +1 -0
  427. package/dist/help.d.ts +25 -0
  428. package/dist/help.js +96 -0
  429. package/dist/help.js.map +1 -0
  430. package/dist/lib/scaffold/generate-helper.js +3 -2
  431. package/dist/lib/scaffold/generate-helper.js.map +1 -1
  432. package/dist/lib/skills.d.ts +19 -0
  433. package/dist/lib/skills.js +75 -0
  434. package/dist/lib/skills.js.map +1 -0
  435. package/dist/utils/cip/command.d.ts +1 -0
  436. package/dist/utils/ecdn/zone-command.d.ts +1 -0
  437. package/dist/utils/setup/config-field-command.d.ts +25 -0
  438. package/dist/utils/setup/config-field-command.js +41 -0
  439. package/dist/utils/setup/config-field-command.js.map +1 -0
  440. package/dist/utils/slas/client.d.ts +1 -0
  441. package/oclif.manifest.json +20802 -16968
  442. package/package.json +11 -5
@@ -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
+ ```
@@ -0,0 +1,154 @@
1
+ # MRT Project Commands Reference
2
+
3
+ Detailed reference for MRT project, member, and notification commands.
4
+
5
+ > **`storefront` alias:** `mrt storefront` is an alias for `mrt project` (including `member` and `notification` subtopics), and `--storefront` / `-s` are aliases for `--project` / `-p` on every command that accepts it — all four are interchangeable. The `MRT_STOREFRONT` / `SFCC_MRT_STOREFRONT` environment variables work as fallbacks for `MRT_PROJECT` / `SFCC_MRT_PROJECT`. The alias matches SCAPI MRT API terminology; the `project` forms continue to work unchanged. Examples below use `project`, but `storefront` is interchangeable. On `mrt project create`, this flag sets the new project's slug (auto-generated from the name if omitted).
6
+
7
+ ## Project Management
8
+
9
+ ### List Projects
10
+
11
+ ```bash
12
+ b2c mrt project list
13
+ b2c mrt project list --limit 10 --offset 0
14
+ b2c mrt project list --json
15
+ ```
16
+
17
+ ### Create Project
18
+
19
+ The positional argument is the project **name**; `--organization` / `-o` is required. Choose the new project's slug with `--project` / `--storefront` (`-p` / `-s`); when omitted, MRT auto-generates it from the name.
20
+
21
+ ```bash
22
+ b2c mrt project create "My Storefront" --organization my-org
23
+ b2c mrt project create "My Storefront" -o my-org --storefront my-storefront
24
+ b2c mrt project create "My Storefront" -o my-org -s my-storefront --region us-east-1
25
+ ```
26
+
27
+ > **Slug as positional or flag:** `get`, `update`, and `delete` accept the project slug **either** as a positional argument **or** via `-p` / `-s` / `--project` / `--storefront` (or `MRT_PROJECT` / `dw.json`). An explicit positional wins if both are given; at least one source must resolve.
28
+
29
+ ### Get Project Details
30
+
31
+ ```bash
32
+ b2c mrt project get my-storefront # positional
33
+ b2c mrt project get --project my-storefront # flag
34
+ b2c mrt project get -p my-storefront --json
35
+ ```
36
+
37
+ ### Update Project
38
+
39
+ ```bash
40
+ b2c mrt project update my-storefront --name "Updated Name"
41
+ b2c mrt project update --project my-storefront --name "Updated Name"
42
+ ```
43
+
44
+ ### Delete Project
45
+
46
+ ```bash
47
+ b2c mrt project delete my-storefront
48
+ b2c mrt project delete --project my-storefront
49
+ b2c mrt project delete -p my-storefront --force # skip confirmation
50
+ ```
51
+
52
+ ## Member Management
53
+
54
+ Members can have one of three roles: `admin`, `developer`, or `viewer`.
55
+
56
+ ### List Members
57
+
58
+ ```bash
59
+ b2c mrt project member list --project my-storefront
60
+ b2c mrt project member list -p my-storefront --json
61
+ ```
62
+
63
+ ### Add Member
64
+
65
+ ```bash
66
+ b2c mrt project member add user@example.com --project my-storefront --role admin
67
+ b2c mrt project member add user@example.com -p my-storefront --role developer
68
+ b2c mrt project member add user@example.com -p my-storefront --role viewer
69
+ ```
70
+
71
+ ### Get Member Details
72
+
73
+ ```bash
74
+ b2c mrt project member get user@example.com --project my-storefront
75
+ ```
76
+
77
+ ### Update Member Role
78
+
79
+ ```bash
80
+ b2c mrt project member update user@example.com --project my-storefront --role viewer
81
+ ```
82
+
83
+ ### Remove Member
84
+
85
+ ```bash
86
+ b2c mrt project member remove user@example.com --project my-storefront
87
+ b2c mrt project member remove user@example.com -p my-storefront --force
88
+ ```
89
+
90
+ ## Deployment Notifications
91
+
92
+ Configure email notifications for deployment events (start, success, failure).
93
+
94
+ ### List Notifications
95
+
96
+ ```bash
97
+ b2c mrt project notification list --project my-storefront
98
+ b2c mrt project notification list -p my-storefront --json
99
+ ```
100
+
101
+ ### Create Notification
102
+
103
+ ```bash
104
+ # Notify on deployment failures only
105
+ b2c mrt project notification create -p my-storefront \
106
+ --target staging --target production \
107
+ --recipient ops@example.com \
108
+ --on-failed
109
+
110
+ # Notify on all deployment events
111
+ b2c mrt project notification create -p my-storefront \
112
+ --target production \
113
+ --recipient team@example.com \
114
+ --on-start --on-success --on-failed
115
+
116
+ # Multiple recipients
117
+ b2c mrt project notification create -p my-storefront \
118
+ --target production \
119
+ --recipient dev@example.com --recipient ops@example.com \
120
+ --on-failed
121
+ ```
122
+
123
+ **Flags:**
124
+ | Flag | Description |
125
+ |------|-------------|
126
+ | `--target`, `-t` | Target environment (can specify multiple). Aliases: `--environment`, `-e`. |
127
+ | `--recipient`, `-r` | Email recipient (can specify multiple) |
128
+ | `--on-start` | Notify when deployment starts |
129
+ | `--on-success` | Notify when deployment succeeds |
130
+ | `--on-failed` | Notify when deployment fails |
131
+
132
+ ### Get Notification Details
133
+
134
+ ```bash
135
+ b2c mrt project notification get abc-123 --project my-storefront
136
+ b2c mrt project notification get abc-123 -p my-storefront --json
137
+ ```
138
+
139
+ ### Update Notification
140
+
141
+ ```bash
142
+ # Change notification events
143
+ b2c mrt project notification update abc-123 -p my-storefront --on-start --no-on-failed
144
+
145
+ # Update recipients
146
+ b2c mrt project notification update abc-123 -p my-storefront --recipient new-team@example.com
147
+ ```
148
+
149
+ ### Delete Notification
150
+
151
+ ```bash
152
+ b2c mrt project notification delete abc-123 --project my-storefront
153
+ b2c mrt project notification delete abc-123 -p my-storefront --force
154
+ ```
@@ -0,0 +1,112 @@
1
+ ---
2
+ name: b2c-sandbox
3
+ description: Create and manage on-demand sandboxes (ODS) for B2C Commerce using the b2c CLI. Use this skill whenever the user needs to spin up a new development sandbox, list running sandboxes, start/stop/restart an instance, or manage sandbox lifecycle — even if they just say "I need a sandbox" or "restart my instance".
4
+ ---
5
+
6
+ # B2C Sandbox Skill
7
+
8
+ Only create or delete sandboxes when explicitly requested. Always confirm destructive actions.
9
+
10
+ Use the `b2c` CLI plugin to manage Salesforce B2C Commerce On-demand sandboxes (ODS). Only create or delete a sandbox if explicitly asked as this may be a billable or destructible action.
11
+
12
+ > **Tip:** If `b2c` is not installed globally, use `npx @salesforce/b2c-cli` instead (e.g., `npx @salesforce/b2c-cli sandbox list`).
13
+
14
+ > **Alias:** The `ods` prefix is still supported as a backward-compatible alias (e.g., `b2c ods list` works the same as `b2c sandbox list`).
15
+
16
+ ## Configuration & Authentication
17
+
18
+ The CLI auto-discovers credentials from `SFCC_*` environment variables (including project `.env`), the selected project-local or shared `dw.json`, and configuration plugins. `package.json` supplies only non-sensitive defaults. **Flags like `--client-id` and `--client-secret` are usually unnecessary** — only pass them to override what's auto-detected. Use `--user-auth` only when you need browser-based login (e.g., no client secret, or interactive use).
19
+
20
+ Run `b2c setup inspect` to see the resolved configuration and which source provided each value (use `--json` for scripting; secrets stay masked by default). For precedence rules and troubleshooting, see the `b2c-cli:b2c-config` skill.
21
+
22
+ ## Sandbox ID Formats
23
+
24
+ Commands that operate on a specific sandbox accept two ID formats:
25
+
26
+ - **UUID**: The full sandbox UUID (e.g., `abc12345-1234-1234-1234-abc123456789`)
27
+ - **Realm-instance**: The realm-instance format (e.g., `zzzv-123` or `zzzv_123`)
28
+
29
+ The realm-instance format uses the 4-character realm code followed by a dash or underscore and the instance number. When using a realm-instance format, the CLI will automatically look up the corresponding UUID.
30
+
31
+ ## Examples
32
+
33
+ ### List Sandboxes
34
+
35
+ ```bash
36
+ b2c sandbox list
37
+
38
+ # for realm zzpq with JSON output
39
+ b2c sandbox list --realm zzpq --json
40
+
41
+ # filter by status and those created by a specific user, only print the columns id,state,hostname
42
+ b2c sandbox list --filter-params 'state=started,creating&createdBy=clavery@salesforce.com' --realm zzpq --columns id,state,hostname
43
+ ```
44
+
45
+ ### Create Sandbox
46
+
47
+ Only create a sandbox if explicitly asked as this may be a billable action.
48
+
49
+ ```bash
50
+ # create in realm zzpq with 4 hour TTL (0 = infinite); json output and wait for completion (this may take 5-10 minutes; timeout is 10 minutes)
51
+ b2c sandbox create --realm zzpq --ttl 4 --json --wait
52
+
53
+ # create in realm zzpq with large profile (medium is default)
54
+ b2c sandbox create --realm zzpq --profile large
55
+
56
+ # create without automatic OCAPI/WebDAV permissions
57
+ b2c sandbox create --realm zzpq --no-set-permissions
58
+
59
+ # use a different client ID for default permissions
60
+ b2c sandbox create --realm zzpq --permissions-client-id my-other-client
61
+
62
+ # custom OCAPI settings (replaces defaults)
63
+ b2c sandbox create --realm zzpq --ocapi-settings '[{"client_id":"my-client","resources":[{"resource_id":"/code_versions","methods":["get"]}]}]'
64
+
65
+ # with start/stop scheduler
66
+ b2c sandbox create --realm zzpq --start-scheduler '{"weekdays":["MONDAY","TUESDAY"],"time":"08:00:00Z"}' --stop-scheduler '{"weekdays":["MONDAY","TUESDAY"],"time":"19:00:00Z"}'
67
+
68
+ # get full log trace output to debug
69
+ b2c sandbox create --realm zzpq --log-level trace
70
+ ```
71
+
72
+ ### Get/Start/Stop/Restart/Delete Sandbox
73
+
74
+ Commands that operate on a specific sandbox support both UUID and realm-instance formats:
75
+
76
+ ```bash
77
+ # Using UUID
78
+ b2c sandbox get abc12345-1234-1234-1234-abc123456789
79
+ b2c sandbox start abc12345-1234-1234-1234-abc123456789
80
+ b2c sandbox stop abc12345-1234-1234-1234-abc123456789
81
+
82
+ # Using realm-instance format
83
+ b2c sandbox get zzzv-123
84
+ b2c sandbox start zzzv_123
85
+ b2c sandbox stop zzzv-123
86
+ b2c sandbox restart zzzv-123
87
+ b2c sandbox delete zzzv-123 --force
88
+ ```
89
+
90
+ ### Clone Sandbox
91
+
92
+ ```bash
93
+ # clone a sandbox (defaults to source profile, 24h TTL)
94
+ b2c sandbox clone create zzzv-123
95
+
96
+ # clone with a different profile and wait for completion
97
+ b2c sandbox clone create zzzv-123 --target-profile large --wait
98
+
99
+ # create 3 clones from the same source in one request (1 to many cloning), and wait for all of them
100
+ b2c sandbox clone create zzzv-123 --target-count 3 --wait
101
+
102
+ # list clones for a sandbox, optionally filtered to a specific 1 to many batch
103
+ b2c sandbox clone list zzzv-123
104
+ b2c sandbox clone list zzzv-123 --batch-id batch-abcd-002-1700000000000-a1b2c3d4
105
+
106
+ # get details for a specific clone
107
+ b2c sandbox clone get zzzv-123 aaaa-002-1642780893121
108
+ ```
109
+
110
+ ### More Commands
111
+
112
+ See `b2c sandbox --help` for a full list of available commands and options in the `sandbox` topic.