sfcc-dev-mcp 1.0.15 → 1.0.19

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 (865) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.yml +3 -1
  2. package/.github/ISSUE_TEMPLATE/documentation.yml +2 -2
  3. package/.github/ISSUE_TEMPLATE/question.yml +1 -1
  4. package/.github/PULL_REQUEST_TEMPLATE/documentation.md +1 -1
  5. package/.github/PULL_REQUEST_TEMPLATE/new_tool.md +1 -1
  6. package/.github/agents/official-docs-researcher.agent.md +56 -0
  7. package/.github/instructions/mcp-node-tests.instructions.md +12 -916
  8. package/.github/instructions/mcp-yml-tests.instructions.md +14 -742
  9. package/.github/pull_request_template.md +1 -1
  10. package/.github/skills/agent-authoring/SKILL.md +66 -0
  11. package/.github/skills/mcp-log-debugging/SKILL.md +69 -0
  12. package/.github/skills/mcp-programmatic-testing/SKILL.md +142 -0
  13. package/.github/skills/mcp-yaml-testing/SKILL.md +136 -0
  14. package/.github/skills/salesforce-developer-site-scraper/SKILL.md +102 -0
  15. package/.github/skills/salesforce-developer-site-scraper/scripts/scrape-to-markdown.js +205 -0
  16. package/.github/skills/salesforce-help-site-scraper/SKILL.md +84 -0
  17. package/.github/skills/salesforce-help-site-scraper/scripts/scrape-help-to-markdown.js +212 -0
  18. package/.github/skills/skill-authoring/SKILL.md +228 -0
  19. package/.github/skills/skill-authoring/references/PATTERNS.md +384 -0
  20. package/.github/workflows/ci.yml +3 -3
  21. package/.github/workflows/deploy-pages.yml +9 -19
  22. package/.github/workflows/publish.yml +5 -2
  23. package/.github/workflows/update-docs.yml +1 -1
  24. package/AGENTS.md +140 -286
  25. package/CONTRIBUTING.md +10 -22
  26. package/README.md +48 -16
  27. package/ai-instructions/{github-copilot/copilot-instructions.md → AGENTS.md} +99 -127
  28. package/ai-instructions/skills/sfcc-caching/SKILL.md +89 -0
  29. package/{dist/docs/best-practices/cartridge_creation.md → ai-instructions/skills/sfcc-cartridge-development/SKILL.md} +31 -7
  30. package/ai-instructions/skills/sfcc-forms-development/SKILL.md +261 -0
  31. package/ai-instructions/skills/sfcc-forms-development/references/ARCHITECTURE-SGJC-SFRA.md +143 -0
  32. package/ai-instructions/skills/sfcc-forms-development/references/FORM-XML-CHEATSHEET.md +127 -0
  33. package/ai-instructions/skills/sfcc-fraud-prevention/SKILL.md +95 -0
  34. package/ai-instructions/skills/sfcc-hooks-registration/SKILL.md +39 -0
  35. package/ai-instructions/skills/sfcc-isml-development/SKILL.md +370 -0
  36. package/ai-instructions/skills/sfcc-isml-development/references/REMOTE-INCLUDES.md +116 -0
  37. package/ai-instructions/skills/sfcc-isml-development/references/SFRA-LAYOUTS.md +50 -0
  38. package/ai-instructions/skills/sfcc-isml-development/references/SFRA-PAGES-CART-ACCOUNT-AUTH.md +45 -0
  39. package/ai-instructions/skills/sfcc-isml-development/references/SFRA-PAGES-CATALOG.md +85 -0
  40. package/ai-instructions/skills/sfcc-isml-development/references/SFRA-STRUCTURE-COMPONENTS.md +63 -0
  41. package/ai-instructions/skills/sfcc-isml-development/references/UTILITIES-EXPRESSIONS.md +159 -0
  42. package/ai-instructions/skills/sfcc-isml-development/references/sfra-base-templates-architecture.md +13 -0
  43. package/ai-instructions/skills/sfcc-job-development/SKILL.md +334 -0
  44. package/ai-instructions/skills/sfcc-job-development/references/CHUNK-ORIENTED.md +393 -0
  45. package/ai-instructions/skills/sfcc-job-development/references/STEPTYPES-JSON.md +271 -0
  46. package/ai-instructions/skills/sfcc-job-development/references/TASK-ORIENTED.md +257 -0
  47. package/ai-instructions/skills/sfcc-localization/SKILL.md +92 -0
  48. package/ai-instructions/skills/sfcc-localization/references/CONTROLLERS.md +63 -0
  49. package/ai-instructions/skills/sfcc-localization/references/FORMATTING.md +29 -0
  50. package/ai-instructions/skills/sfcc-localization/references/FORMS-LOCALIZATION.md +33 -0
  51. package/ai-instructions/skills/sfcc-localization/references/JAVASCRIPT-LOCALIZATION.md +41 -0
  52. package/ai-instructions/skills/sfcc-localization/references/LOCALE-SWITCHING.md +35 -0
  53. package/ai-instructions/skills/sfcc-localization/references/PATTERNS.md +740 -0
  54. package/ai-instructions/skills/sfcc-localization/references/PROPERTIES-ENCODING.md +25 -0
  55. package/ai-instructions/skills/sfcc-localization/references/RESOURCE-BUNDLES.md +67 -0
  56. package/ai-instructions/skills/sfcc-localization/references/STATIC-FILES.md +23 -0
  57. package/ai-instructions/skills/sfcc-localization/references/TESTING.md +21 -0
  58. package/{docs/best-practices/localserviceregistry.md → ai-instructions/skills/sfcc-localserviceregistry/SKILL.md} +65 -31
  59. package/ai-instructions/skills/sfcc-logging/SKILL.md +352 -0
  60. package/ai-instructions/skills/sfcc-logging/references/LOG-FILES.md +282 -0
  61. package/{docs/best-practices/ocapi_hooks.md → ai-instructions/skills/sfcc-ocapi-hooks/SKILL.md} +51 -16
  62. package/ai-instructions/skills/sfcc-ocapi-scapi-slas/SKILL.md +108 -0
  63. package/ai-instructions/skills/sfcc-page-designer/SKILL.md +353 -0
  64. package/ai-instructions/skills/sfcc-page-designer/references/ATTRIBUTE-TYPES.md +436 -0
  65. package/ai-instructions/skills/sfcc-page-designer/references/META-DEFINITIONS.md +322 -0
  66. package/{dist/docs/best-practices/performance.md → ai-instructions/skills/sfcc-performance/SKILL.md} +35 -3
  67. package/ai-instructions/skills/sfcc-platform-limits/SKILL.md +89 -0
  68. package/ai-instructions/skills/sfcc-scapi-custom-endpoints/SKILL.md +237 -0
  69. package/ai-instructions/skills/sfcc-scapi-custom-endpoints/references/AUTHENTICATION.md +214 -0
  70. package/ai-instructions/skills/sfcc-scapi-custom-endpoints/references/URL-MAPPING.md +253 -0
  71. package/{docs/best-practices/scapi_hooks.md → ai-instructions/skills/sfcc-scapi-hooks/SKILL.md} +44 -17
  72. package/ai-instructions/skills/sfcc-script-evaluation/SKILL.md +380 -0
  73. package/{docs/best-practices/security.md → ai-instructions/skills/sfcc-security/SKILL.md} +12 -3
  74. package/ai-instructions/skills/sfcc-sfra-client-side-js/SKILL.md +270 -0
  75. package/ai-instructions/skills/sfcc-sfra-client-side-js/references/AJAX-CSRF-VALIDATION.md +285 -0
  76. package/ai-instructions/skills/sfcc-sfra-client-side-js/references/BASE-MODULE-INDEX.md +206 -0
  77. package/ai-instructions/skills/sfcc-sfra-client-side-js/references/EXTENSION-PATTERNS.md +165 -0
  78. package/ai-instructions/skills/sfcc-sfra-client-side-js/references/PLUGIN-PATTERNS.md +185 -0
  79. package/ai-instructions/skills/sfcc-sfra-controllers/SKILL.md +347 -0
  80. package/ai-instructions/skills/sfcc-sfra-controllers/references/MIDDLEWARE-REFERENCE.md +257 -0
  81. package/ai-instructions/skills/sfcc-sfra-controllers/references/REMOTE-INCLUDES.md +193 -0
  82. package/{dist/docs/best-practices/sfra_controllers.md → ai-instructions/skills/sfcc-sfra-controllers/references/standard-sfra-controllers.md} +0 -670
  83. package/ai-instructions/skills/sfcc-sfra-models/SKILL.md +322 -0
  84. package/ai-instructions/skills/sfcc-sfra-models/references/MODEL-PATTERNS.md +530 -0
  85. package/ai-instructions/skills/sfcc-sfra-models/references/MODEL-STRUCTURE.md +234 -0
  86. package/ai-instructions/skills/sfcc-sfra-models/references/TESTING-SECURITY.md +417 -0
  87. package/{dist/docs/best-practices/sfra_scss.md → ai-instructions/skills/sfcc-sfra-scss/SKILL.md} +5 -0
  88. package/ai-instructions/skills/sfcc-webdav-workflows/SKILL.md +111 -0
  89. package/dist/ai-instructions/AGENTS.md +628 -0
  90. package/dist/ai-instructions/skills/sfcc-caching/SKILL.md +89 -0
  91. package/{docs/best-practices/cartridge_creation.md → dist/ai-instructions/skills/sfcc-cartridge-development/SKILL.md} +31 -7
  92. package/dist/ai-instructions/skills/sfcc-forms-development/SKILL.md +261 -0
  93. package/dist/ai-instructions/skills/sfcc-forms-development/references/ARCHITECTURE-SGJC-SFRA.md +143 -0
  94. package/dist/ai-instructions/skills/sfcc-forms-development/references/FORM-XML-CHEATSHEET.md +127 -0
  95. package/dist/ai-instructions/skills/sfcc-fraud-prevention/SKILL.md +95 -0
  96. package/dist/ai-instructions/skills/sfcc-hooks-registration/SKILL.md +39 -0
  97. package/dist/ai-instructions/skills/sfcc-isml-development/SKILL.md +370 -0
  98. package/dist/ai-instructions/skills/sfcc-isml-development/references/REMOTE-INCLUDES.md +116 -0
  99. package/dist/ai-instructions/skills/sfcc-isml-development/references/SFRA-LAYOUTS.md +50 -0
  100. package/dist/ai-instructions/skills/sfcc-isml-development/references/SFRA-PAGES-CART-ACCOUNT-AUTH.md +45 -0
  101. package/dist/ai-instructions/skills/sfcc-isml-development/references/SFRA-PAGES-CATALOG.md +85 -0
  102. package/dist/ai-instructions/skills/sfcc-isml-development/references/SFRA-STRUCTURE-COMPONENTS.md +63 -0
  103. package/dist/ai-instructions/skills/sfcc-isml-development/references/UTILITIES-EXPRESSIONS.md +159 -0
  104. package/dist/ai-instructions/skills/sfcc-isml-development/references/sfra-base-templates-architecture.md +13 -0
  105. package/dist/ai-instructions/skills/sfcc-job-development/SKILL.md +334 -0
  106. package/dist/ai-instructions/skills/sfcc-job-development/references/CHUNK-ORIENTED.md +393 -0
  107. package/dist/ai-instructions/skills/sfcc-job-development/references/STEPTYPES-JSON.md +271 -0
  108. package/dist/ai-instructions/skills/sfcc-job-development/references/TASK-ORIENTED.md +257 -0
  109. package/dist/ai-instructions/skills/sfcc-localization/SKILL.md +92 -0
  110. package/dist/ai-instructions/skills/sfcc-localization/references/CONTROLLERS.md +63 -0
  111. package/dist/ai-instructions/skills/sfcc-localization/references/FORMATTING.md +29 -0
  112. package/dist/ai-instructions/skills/sfcc-localization/references/FORMS-LOCALIZATION.md +33 -0
  113. package/dist/ai-instructions/skills/sfcc-localization/references/JAVASCRIPT-LOCALIZATION.md +41 -0
  114. package/dist/ai-instructions/skills/sfcc-localization/references/LOCALE-SWITCHING.md +35 -0
  115. package/dist/ai-instructions/skills/sfcc-localization/references/PATTERNS.md +740 -0
  116. package/dist/ai-instructions/skills/sfcc-localization/references/PROPERTIES-ENCODING.md +25 -0
  117. package/dist/ai-instructions/skills/sfcc-localization/references/RESOURCE-BUNDLES.md +67 -0
  118. package/dist/ai-instructions/skills/sfcc-localization/references/STATIC-FILES.md +23 -0
  119. package/dist/ai-instructions/skills/sfcc-localization/references/TESTING.md +21 -0
  120. package/dist/{docs/best-practices/localserviceregistry.md → ai-instructions/skills/sfcc-localserviceregistry/SKILL.md} +65 -31
  121. package/dist/ai-instructions/skills/sfcc-logging/SKILL.md +352 -0
  122. package/dist/ai-instructions/skills/sfcc-logging/references/LOG-FILES.md +282 -0
  123. package/dist/{docs/best-practices/ocapi_hooks.md → ai-instructions/skills/sfcc-ocapi-hooks/SKILL.md} +51 -16
  124. package/dist/ai-instructions/skills/sfcc-ocapi-scapi-slas/SKILL.md +108 -0
  125. package/dist/ai-instructions/skills/sfcc-page-designer/SKILL.md +353 -0
  126. package/dist/ai-instructions/skills/sfcc-page-designer/references/ATTRIBUTE-TYPES.md +436 -0
  127. package/dist/ai-instructions/skills/sfcc-page-designer/references/META-DEFINITIONS.md +322 -0
  128. package/{docs/best-practices/performance.md → dist/ai-instructions/skills/sfcc-performance/SKILL.md} +35 -3
  129. package/dist/ai-instructions/skills/sfcc-platform-limits/SKILL.md +89 -0
  130. package/dist/ai-instructions/skills/sfcc-scapi-custom-endpoints/SKILL.md +237 -0
  131. package/dist/ai-instructions/skills/sfcc-scapi-custom-endpoints/references/AUTHENTICATION.md +214 -0
  132. package/dist/ai-instructions/skills/sfcc-scapi-custom-endpoints/references/URL-MAPPING.md +253 -0
  133. package/dist/{docs/best-practices/scapi_hooks.md → ai-instructions/skills/sfcc-scapi-hooks/SKILL.md} +44 -17
  134. package/dist/ai-instructions/skills/sfcc-script-evaluation/SKILL.md +380 -0
  135. package/dist/{docs/best-practices/security.md → ai-instructions/skills/sfcc-security/SKILL.md} +12 -3
  136. package/dist/ai-instructions/skills/sfcc-sfra-client-side-js/SKILL.md +270 -0
  137. package/dist/ai-instructions/skills/sfcc-sfra-client-side-js/references/AJAX-CSRF-VALIDATION.md +285 -0
  138. package/dist/ai-instructions/skills/sfcc-sfra-client-side-js/references/BASE-MODULE-INDEX.md +206 -0
  139. package/dist/ai-instructions/skills/sfcc-sfra-client-side-js/references/EXTENSION-PATTERNS.md +165 -0
  140. package/dist/ai-instructions/skills/sfcc-sfra-client-side-js/references/PLUGIN-PATTERNS.md +185 -0
  141. package/dist/ai-instructions/skills/sfcc-sfra-controllers/SKILL.md +347 -0
  142. package/dist/ai-instructions/skills/sfcc-sfra-controllers/references/MIDDLEWARE-REFERENCE.md +257 -0
  143. package/dist/ai-instructions/skills/sfcc-sfra-controllers/references/REMOTE-INCLUDES.md +193 -0
  144. package/{docs/best-practices/sfra_controllers.md → dist/ai-instructions/skills/sfcc-sfra-controllers/references/standard-sfra-controllers.md} +0 -670
  145. package/dist/ai-instructions/skills/sfcc-sfra-models/SKILL.md +322 -0
  146. package/dist/ai-instructions/skills/sfcc-sfra-models/references/MODEL-PATTERNS.md +530 -0
  147. package/dist/ai-instructions/skills/sfcc-sfra-models/references/MODEL-STRUCTURE.md +234 -0
  148. package/dist/ai-instructions/skills/sfcc-sfra-models/references/TESTING-SECURITY.md +417 -0
  149. package/{docs/best-practices/sfra_scss.md → dist/ai-instructions/skills/sfcc-sfra-scss/SKILL.md} +5 -0
  150. package/dist/ai-instructions/skills/sfcc-webdav-workflows/SKILL.md +111 -0
  151. package/dist/clients/agent-instructions-client.d.ts +66 -0
  152. package/dist/clients/agent-instructions-client.d.ts.map +1 -0
  153. package/dist/clients/agent-instructions-client.js +277 -0
  154. package/dist/clients/agent-instructions-client.js.map +1 -0
  155. package/dist/clients/base/abstract-documentation-client.d.ts +146 -0
  156. package/dist/clients/base/abstract-documentation-client.d.ts.map +1 -0
  157. package/dist/clients/base/abstract-documentation-client.js +265 -0
  158. package/dist/clients/base/abstract-documentation-client.js.map +1 -0
  159. package/dist/clients/base/oauth-token.d.ts +18 -0
  160. package/dist/clients/base/oauth-token.d.ts.map +1 -1
  161. package/dist/clients/base/oauth-token.js +45 -2
  162. package/dist/clients/base/oauth-token.js.map +1 -1
  163. package/dist/clients/cartridge/cartridge-generation-client.d.ts +59 -0
  164. package/dist/clients/cartridge/cartridge-generation-client.d.ts.map +1 -0
  165. package/dist/clients/cartridge/cartridge-generation-client.js +224 -0
  166. package/dist/clients/cartridge/cartridge-generation-client.js.map +1 -0
  167. package/dist/clients/cartridge/cartridge-structure.d.ts +17 -0
  168. package/dist/clients/cartridge/cartridge-structure.d.ts.map +1 -0
  169. package/dist/clients/cartridge/cartridge-structure.js +33 -0
  170. package/dist/clients/cartridge/cartridge-structure.js.map +1 -0
  171. package/dist/clients/cartridge/cartridge-templates.d.ts +22 -0
  172. package/dist/clients/cartridge/cartridge-templates.d.ts.map +1 -0
  173. package/dist/clients/cartridge/cartridge-templates.js +225 -0
  174. package/dist/clients/cartridge/cartridge-templates.js.map +1 -0
  175. package/dist/clients/cartridge/index.d.ts +7 -0
  176. package/dist/clients/cartridge/index.d.ts.map +1 -0
  177. package/dist/clients/cartridge/index.js +7 -0
  178. package/dist/clients/cartridge/index.js.map +1 -0
  179. package/dist/clients/docs/documentation-scanner.d.ts +5 -2
  180. package/dist/clients/docs/documentation-scanner.d.ts.map +1 -1
  181. package/dist/clients/docs/documentation-scanner.js +38 -23
  182. package/dist/clients/docs/documentation-scanner.js.map +1 -1
  183. package/dist/clients/docs-client.d.ts +13 -4
  184. package/dist/clients/docs-client.d.ts.map +1 -1
  185. package/dist/clients/docs-client.js +44 -11
  186. package/dist/clients/docs-client.js.map +1 -1
  187. package/dist/clients/isml-client.d.ts +71 -0
  188. package/dist/clients/isml-client.d.ts.map +1 -0
  189. package/dist/clients/isml-client.js +252 -0
  190. package/dist/clients/isml-client.js.map +1 -0
  191. package/dist/clients/ocapi/code-versions-client.d.ts.map +1 -1
  192. package/dist/clients/ocapi/code-versions-client.js +6 -1
  193. package/dist/clients/ocapi/code-versions-client.js.map +1 -1
  194. package/dist/clients/ocapi-client.d.ts +9 -101
  195. package/dist/clients/ocapi-client.d.ts.map +1 -1
  196. package/dist/clients/ocapi-client.js +11 -93
  197. package/dist/clients/ocapi-client.js.map +1 -1
  198. package/dist/clients/script-debugger/index.d.ts +5 -0
  199. package/dist/clients/script-debugger/index.d.ts.map +1 -0
  200. package/dist/clients/script-debugger/index.js +5 -0
  201. package/dist/clients/script-debugger/index.js.map +1 -0
  202. package/dist/clients/script-debugger/script-debugger-client.d.ts +147 -0
  203. package/dist/clients/script-debugger/script-debugger-client.d.ts.map +1 -0
  204. package/dist/clients/script-debugger/script-debugger-client.js +591 -0
  205. package/dist/clients/script-debugger/script-debugger-client.js.map +1 -0
  206. package/dist/clients/sfra-client.d.ts +13 -62
  207. package/dist/clients/sfra-client.d.ts.map +1 -1
  208. package/dist/clients/sfra-client.js +105 -326
  209. package/dist/clients/sfra-client.js.map +1 -1
  210. package/dist/config/configuration-factory.d.ts +1 -1
  211. package/dist/config/configuration-factory.d.ts.map +1 -1
  212. package/dist/config/configuration-factory.js +5 -1
  213. package/dist/config/configuration-factory.js.map +1 -1
  214. package/dist/config/dw-json-loader.d.ts +7 -0
  215. package/dist/config/dw-json-loader.d.ts.map +1 -1
  216. package/dist/config/dw-json-loader.js +92 -15
  217. package/dist/config/dw-json-loader.js.map +1 -1
  218. package/dist/config/workspace-roots.d.ts +143 -0
  219. package/dist/config/workspace-roots.d.ts.map +1 -0
  220. package/dist/config/workspace-roots.js +448 -0
  221. package/dist/config/workspace-roots.js.map +1 -0
  222. package/dist/constants/index.d.ts +1 -0
  223. package/dist/constants/index.d.ts.map +1 -0
  224. package/dist/constants/index.js +3 -0
  225. package/dist/constants/index.js.map +1 -0
  226. package/dist/core/handlers/abstract-client-handler.d.ts +52 -0
  227. package/dist/core/handlers/abstract-client-handler.d.ts.map +1 -0
  228. package/dist/core/handlers/abstract-client-handler.js +51 -0
  229. package/dist/core/handlers/abstract-client-handler.js.map +1 -0
  230. package/dist/core/handlers/agent-instructions-handler.d.ts +17 -0
  231. package/dist/core/handlers/agent-instructions-handler.d.ts.map +1 -0
  232. package/dist/core/handlers/agent-instructions-handler.js +38 -0
  233. package/dist/core/handlers/agent-instructions-handler.js.map +1 -0
  234. package/dist/core/handlers/base-handler.d.ts +3 -68
  235. package/dist/core/handlers/base-handler.d.ts.map +1 -1
  236. package/dist/core/handlers/base-handler.js +11 -84
  237. package/dist/core/handlers/base-handler.js.map +1 -1
  238. package/dist/core/handlers/cartridge-handler.d.ts +10 -11
  239. package/dist/core/handlers/cartridge-handler.d.ts.map +1 -1
  240. package/dist/core/handlers/cartridge-handler.js +10 -28
  241. package/dist/core/handlers/cartridge-handler.js.map +1 -1
  242. package/dist/core/handlers/client-factory.d.ts +12 -2
  243. package/dist/core/handlers/client-factory.d.ts.map +1 -1
  244. package/dist/core/handlers/client-factory.js +28 -1
  245. package/dist/core/handlers/client-factory.js.map +1 -1
  246. package/dist/core/handlers/code-version-handler.d.ts +11 -11
  247. package/dist/core/handlers/code-version-handler.d.ts.map +1 -1
  248. package/dist/core/handlers/code-version-handler.js +13 -27
  249. package/dist/core/handlers/code-version-handler.js.map +1 -1
  250. package/dist/core/handlers/docs-handler.d.ts +6 -12
  251. package/dist/core/handlers/docs-handler.d.ts.map +1 -1
  252. package/dist/core/handlers/docs-handler.js +11 -36
  253. package/dist/core/handlers/docs-handler.js.map +1 -1
  254. package/dist/core/handlers/isml-handler.d.ts +11 -0
  255. package/dist/core/handlers/isml-handler.d.ts.map +1 -0
  256. package/dist/core/handlers/isml-handler.js +18 -0
  257. package/dist/core/handlers/isml-handler.js.map +1 -0
  258. package/dist/core/handlers/job-log-handler.d.ts +8 -7
  259. package/dist/core/handlers/job-log-handler.d.ts.map +1 -1
  260. package/dist/core/handlers/job-log-handler.js +14 -5
  261. package/dist/core/handlers/job-log-handler.js.map +1 -1
  262. package/dist/core/handlers/log-handler.d.ts +8 -7
  263. package/dist/core/handlers/log-handler.d.ts.map +1 -1
  264. package/dist/core/handlers/log-handler.js +14 -5
  265. package/dist/core/handlers/log-handler.js.map +1 -1
  266. package/dist/core/handlers/script-debugger-handler.d.ts +18 -0
  267. package/dist/core/handlers/script-debugger-handler.d.ts.map +1 -0
  268. package/dist/core/handlers/script-debugger-handler.js +31 -0
  269. package/dist/core/handlers/script-debugger-handler.js.map +1 -0
  270. package/dist/core/handlers/sfra-handler.d.ts +6 -12
  271. package/dist/core/handlers/sfra-handler.d.ts.map +1 -1
  272. package/dist/core/handlers/sfra-handler.js +11 -36
  273. package/dist/core/handlers/sfra-handler.js.map +1 -1
  274. package/dist/core/handlers/simple-client-handler.d.ts +41 -0
  275. package/dist/core/handlers/simple-client-handler.d.ts.map +1 -0
  276. package/dist/core/handlers/simple-client-handler.js +49 -0
  277. package/dist/core/handlers/simple-client-handler.js.map +1 -0
  278. package/dist/core/handlers/system-object-handler.d.ts +11 -11
  279. package/dist/core/handlers/system-object-handler.d.ts.map +1 -1
  280. package/dist/core/handlers/system-object-handler.js +13 -27
  281. package/dist/core/handlers/system-object-handler.js.map +1 -1
  282. package/dist/core/handlers/validation-helpers.d.ts +22 -24
  283. package/dist/core/handlers/validation-helpers.d.ts.map +1 -1
  284. package/dist/core/handlers/validation-helpers.js +89 -39
  285. package/dist/core/handlers/validation-helpers.js.map +1 -1
  286. package/dist/core/instruction-advisor.d.ts +28 -0
  287. package/dist/core/instruction-advisor.d.ts.map +1 -0
  288. package/dist/core/instruction-advisor.js +114 -0
  289. package/dist/core/instruction-advisor.js.map +1 -0
  290. package/dist/core/server.d.ts +25 -0
  291. package/dist/core/server.d.ts.map +1 -1
  292. package/dist/core/server.js +151 -11
  293. package/dist/core/server.js.map +1 -1
  294. package/dist/core/tool-definitions.d.ts +6 -854
  295. package/dist/core/tool-definitions.d.ts.map +1 -1
  296. package/dist/core/tool-definitions.js +8 -1064
  297. package/dist/core/tool-definitions.js.map +1 -1
  298. package/dist/core/tool-schemas/agent-instruction-tools.d.ts +77 -0
  299. package/dist/core/tool-schemas/agent-instruction-tools.d.ts.map +1 -0
  300. package/dist/core/tool-schemas/agent-instruction-tools.js +72 -0
  301. package/dist/core/tool-schemas/agent-instruction-tools.js.map +1 -0
  302. package/dist/core/tool-schemas/cartridge-tools.d.ts +27 -0
  303. package/dist/core/tool-schemas/cartridge-tools.d.ts.map +1 -0
  304. package/dist/core/tool-schemas/cartridge-tools.js +29 -0
  305. package/dist/core/tool-schemas/cartridge-tools.js.map +1 -0
  306. package/dist/core/tool-schemas/code-version-tools.d.ts +28 -0
  307. package/dist/core/tool-schemas/code-version-tools.d.ts.map +1 -0
  308. package/dist/core/tool-schemas/code-version-tools.js +28 -0
  309. package/dist/core/tool-schemas/code-version-tools.js.map +1 -0
  310. package/dist/core/tool-schemas/documentation-tools.d.ts +139 -0
  311. package/dist/core/tool-schemas/documentation-tools.d.ts.map +1 -0
  312. package/dist/core/tool-schemas/documentation-tools.js +104 -0
  313. package/dist/core/tool-schemas/documentation-tools.js.map +1 -0
  314. package/dist/core/tool-schemas/index.d.ts +17 -0
  315. package/dist/core/tool-schemas/index.d.ts.map +1 -0
  316. package/dist/core/tool-schemas/index.js +19 -0
  317. package/dist/core/tool-schemas/index.js.map +1 -0
  318. package/dist/core/tool-schemas/isml-tools.d.ts +98 -0
  319. package/dist/core/tool-schemas/isml-tools.d.ts.map +1 -0
  320. package/dist/core/tool-schemas/isml-tools.js +89 -0
  321. package/dist/core/tool-schemas/isml-tools.js.map +1 -0
  322. package/dist/core/tool-schemas/log-tools.d.ts +221 -0
  323. package/dist/core/tool-schemas/log-tools.d.ts.map +1 -0
  324. package/dist/core/tool-schemas/log-tools.js +180 -0
  325. package/dist/core/tool-schemas/log-tools.js.map +1 -0
  326. package/dist/core/tool-schemas/script-debugger-tools.d.ts +44 -0
  327. package/dist/core/tool-schemas/script-debugger-tools.d.ts.map +1 -0
  328. package/dist/core/tool-schemas/script-debugger-tools.js +83 -0
  329. package/dist/core/tool-schemas/script-debugger-tools.js.map +1 -0
  330. package/dist/core/tool-schemas/sfra-tools.d.ts +63 -0
  331. package/dist/core/tool-schemas/sfra-tools.d.ts.map +1 -0
  332. package/dist/core/tool-schemas/sfra-tools.js +65 -0
  333. package/dist/core/tool-schemas/sfra-tools.js.map +1 -0
  334. package/dist/core/tool-schemas/shared-schemas.d.ts +350 -0
  335. package/dist/core/tool-schemas/shared-schemas.d.ts.map +1 -0
  336. package/dist/core/tool-schemas/shared-schemas.js +153 -0
  337. package/dist/core/tool-schemas/shared-schemas.js.map +1 -0
  338. package/dist/core/tool-schemas/system-object-tools.d.ts +511 -0
  339. package/dist/core/tool-schemas/system-object-tools.d.ts.map +1 -0
  340. package/dist/core/tool-schemas/system-object-tools.js +126 -0
  341. package/dist/core/tool-schemas/system-object-tools.js.map +1 -0
  342. package/dist/docs/dw_net/HTTPClient.md +46 -2
  343. package/dist/docs/dw_net/HTTPClientLoggingConfig.md +296 -0
  344. package/dist/docs/dw_order/Basket.md +7 -7
  345. package/dist/docs/dw_order/BasketMgr.md +22 -6
  346. package/dist/docs/dw_order.hooks/BasketMergeHooks.md +42 -0
  347. package/dist/docs/dw_svc/ServiceCallback.md +2 -2
  348. package/dist/docs/isml/isactivedatacontext.md +382 -0
  349. package/dist/docs/isml/isactivedatahead.md +566 -0
  350. package/dist/docs/isml/isanalyticsoff.md +537 -0
  351. package/dist/docs/isml/isapplepay.md +667 -0
  352. package/dist/docs/isml/isbreak.md +687 -0
  353. package/dist/docs/isml/isbuynow.md +682 -0
  354. package/dist/docs/isml/iscache.md +802 -0
  355. package/dist/docs/isml/iscomment.md +794 -0
  356. package/dist/docs/isml/iscomponent.md +797 -0
  357. package/dist/docs/isml/iscontent.md +594 -0
  358. package/dist/docs/isml/iscontinue.md +563 -0
  359. package/dist/docs/isml/iscookie.md +798 -0
  360. package/dist/docs/isml/isdecorate.md +818 -0
  361. package/dist/docs/isml/isif.md +737 -0
  362. package/dist/docs/isml/isinclude.md +874 -0
  363. package/dist/docs/isml/isloop.md +377 -0
  364. package/dist/docs/isml/ismodule.md +844 -0
  365. package/dist/docs/isml/isnext.md +672 -0
  366. package/dist/docs/isml/isobject.md +760 -0
  367. package/dist/docs/isml/ispayment.md +577 -0
  368. package/dist/docs/isml/ispaymentmessages.md +664 -0
  369. package/dist/docs/isml/isprint.md +875 -0
  370. package/dist/docs/isml/isredirect.md +716 -0
  371. package/dist/docs/isml/isremove.md +725 -0
  372. package/dist/docs/isml/isreplace.md +783 -0
  373. package/dist/docs/isml/isscript.md +859 -0
  374. package/dist/docs/isml/isselect.md +908 -0
  375. package/dist/docs/isml/isset.md +585 -0
  376. package/dist/docs/isml/isslot.md +824 -0
  377. package/dist/docs/isml/isstatus.md +711 -0
  378. package/dist/main.d.ts +16 -0
  379. package/dist/main.d.ts.map +1 -1
  380. package/dist/main.js +60 -28
  381. package/dist/main.js.map +1 -1
  382. package/dist/services/index.d.ts +4 -2
  383. package/dist/services/index.d.ts.map +1 -1
  384. package/dist/services/index.js +2 -2
  385. package/dist/services/index.js.map +1 -1
  386. package/dist/tool-configs/agent-instructions-tool-config.d.ts +6 -0
  387. package/dist/tool-configs/agent-instructions-tool-config.d.ts.map +1 -0
  388. package/dist/tool-configs/agent-instructions-tool-config.js +74 -0
  389. package/dist/tool-configs/agent-instructions-tool-config.js.map +1 -0
  390. package/dist/tool-configs/code-version-tool-config.d.ts.map +1 -1
  391. package/dist/tool-configs/code-version-tool-config.js +0 -5
  392. package/dist/tool-configs/code-version-tool-config.js.map +1 -1
  393. package/dist/tool-configs/docs-tool-config.d.ts.map +1 -1
  394. package/dist/tool-configs/docs-tool-config.js +0 -7
  395. package/dist/tool-configs/docs-tool-config.js.map +1 -1
  396. package/dist/tool-configs/isml-tool-config.d.ts +11 -0
  397. package/dist/tool-configs/isml-tool-config.d.ts.map +1 -0
  398. package/dist/tool-configs/isml-tool-config.js +77 -0
  399. package/dist/tool-configs/isml-tool-config.js.map +1 -0
  400. package/dist/tool-configs/job-log-tool-config.d.ts +1 -2
  401. package/dist/tool-configs/job-log-tool-config.d.ts.map +1 -1
  402. package/dist/tool-configs/job-log-tool-config.js +11 -15
  403. package/dist/tool-configs/job-log-tool-config.js.map +1 -1
  404. package/dist/tool-configs/log-tool-config.d.ts +1 -2
  405. package/dist/tool-configs/log-tool-config.d.ts.map +1 -1
  406. package/dist/tool-configs/log-tool-config.js +35 -51
  407. package/dist/tool-configs/log-tool-config.js.map +1 -1
  408. package/dist/tool-configs/script-debugger-tool-config.d.ts +11 -0
  409. package/dist/tool-configs/script-debugger-tool-config.d.ts.map +1 -0
  410. package/dist/tool-configs/script-debugger-tool-config.js +35 -0
  411. package/dist/tool-configs/script-debugger-tool-config.js.map +1 -0
  412. package/dist/tool-configs/sfra-tool-config.d.ts.map +1 -1
  413. package/dist/tool-configs/sfra-tool-config.js +0 -11
  414. package/dist/tool-configs/sfra-tool-config.js.map +1 -1
  415. package/dist/tool-configs/system-object-tool-config.d.ts.map +1 -1
  416. package/dist/tool-configs/system-object-tool-config.js +0 -5
  417. package/dist/tool-configs/system-object-tool-config.js.map +1 -1
  418. package/dist/types/types.d.ts +2 -0
  419. package/dist/types/types.d.ts.map +1 -1
  420. package/dist/utils/cache.d.ts +12 -10
  421. package/dist/utils/cache.d.ts.map +1 -1
  422. package/dist/utils/cache.js +47 -47
  423. package/dist/utils/cache.js.map +1 -1
  424. package/dist/utils/category-utils.d.ts +31 -0
  425. package/dist/utils/category-utils.d.ts.map +1 -0
  426. package/dist/utils/category-utils.js +45 -0
  427. package/dist/utils/category-utils.js.map +1 -0
  428. package/dist/utils/log-tool-constants.d.ts +16 -13
  429. package/dist/utils/log-tool-constants.d.ts.map +1 -1
  430. package/dist/utils/log-tool-constants.js +10 -11
  431. package/dist/utils/log-tool-constants.js.map +1 -1
  432. package/dist/utils/logger.d.ts +11 -0
  433. package/dist/utils/logger.d.ts.map +1 -1
  434. package/dist/utils/logger.js +35 -1
  435. package/dist/utils/logger.js.map +1 -1
  436. package/dist/utils/markdown-utils.d.ts +60 -0
  437. package/dist/utils/markdown-utils.d.ts.map +1 -0
  438. package/dist/utils/markdown-utils.js +206 -0
  439. package/dist/utils/markdown-utils.js.map +1 -0
  440. package/dist/utils/path-resolver.d.ts +12 -4
  441. package/dist/utils/path-resolver.d.ts.map +1 -1
  442. package/dist/utils/path-resolver.js +22 -8
  443. package/dist/utils/path-resolver.js.map +1 -1
  444. package/dist/utils/path-validation.d.ts +40 -0
  445. package/dist/utils/path-validation.d.ts.map +1 -0
  446. package/dist/utils/path-validation.js +84 -0
  447. package/dist/utils/path-validation.js.map +1 -0
  448. package/docs/dw_net/HTTPClient.md +46 -2
  449. package/docs/dw_net/HTTPClientLoggingConfig.md +296 -0
  450. package/docs/dw_order/Basket.md +7 -7
  451. package/docs/dw_order/BasketMgr.md +22 -6
  452. package/docs/dw_order.hooks/BasketMergeHooks.md +42 -0
  453. package/docs/dw_svc/ServiceCallback.md +2 -2
  454. package/docs/isml/isactivedatacontext.md +382 -0
  455. package/docs/isml/isactivedatahead.md +566 -0
  456. package/docs/isml/isanalyticsoff.md +537 -0
  457. package/docs/isml/isapplepay.md +667 -0
  458. package/docs/isml/isbreak.md +687 -0
  459. package/docs/isml/isbuynow.md +682 -0
  460. package/docs/isml/iscache.md +802 -0
  461. package/docs/isml/iscomment.md +794 -0
  462. package/docs/isml/iscomponent.md +797 -0
  463. package/docs/isml/iscontent.md +594 -0
  464. package/docs/isml/iscontinue.md +563 -0
  465. package/docs/isml/iscookie.md +798 -0
  466. package/docs/isml/isdecorate.md +818 -0
  467. package/docs/isml/isif.md +737 -0
  468. package/docs/isml/isinclude.md +874 -0
  469. package/docs/isml/isloop.md +377 -0
  470. package/docs/isml/ismodule.md +844 -0
  471. package/docs/isml/isnext.md +672 -0
  472. package/docs/isml/isobject.md +760 -0
  473. package/docs/isml/ispayment.md +577 -0
  474. package/docs/isml/ispaymentmessages.md +664 -0
  475. package/docs/isml/isprint.md +875 -0
  476. package/docs/isml/isredirect.md +716 -0
  477. package/docs/isml/isremove.md +725 -0
  478. package/docs/isml/isreplace.md +783 -0
  479. package/docs/isml/isscript.md +859 -0
  480. package/docs/isml/isselect.md +908 -0
  481. package/docs/isml/isset.md +585 -0
  482. package/docs/isml/isslot.md +824 -0
  483. package/docs/isml/isstatus.md +711 -0
  484. package/docs-site-v2/.vitepress/config.mts +190 -0
  485. package/docs-site-v2/.vitepress/theme/components/AssistantTabs.vue +96 -0
  486. package/docs-site-v2/.vitepress/theme/components/Callout.vue +10 -0
  487. package/docs-site-v2/.vitepress/theme/components/Collapsible.vue +14 -0
  488. package/docs-site-v2/.vitepress/theme/components/DwJsonBuilder.vue +82 -0
  489. package/docs-site-v2/.vitepress/theme/components/HomeSections.vue +552 -0
  490. package/docs-site-v2/.vitepress/theme/components/InstructionFilesTabs.vue +87 -0
  491. package/docs-site-v2/.vitepress/theme/components/ModeTabs.vue +70 -0
  492. package/docs-site-v2/.vitepress/theme/components/NewcomerCTA.vue +14 -0
  493. package/docs-site-v2/.vitepress/theme/components/QuickStartCards.vue +20 -0
  494. package/docs-site-v2/.vitepress/theme/components/QuickStartHero.vue +20 -0
  495. package/docs-site-v2/.vitepress/theme/components/SkillsList.vue +48 -0
  496. package/docs-site-v2/.vitepress/theme/components/ToolExplorer.vue +85 -0
  497. package/docs-site-v2/.vitepress/theme/custom.css +1373 -0
  498. package/docs-site-v2/.vitepress/theme/index.ts +39 -0
  499. package/docs-site-v2/data/skills.ts +147 -0
  500. package/docs-site-v2/data/tools.ts +490 -0
  501. package/docs-site-v2/development/index.md +151 -0
  502. package/docs-site-v2/examples/index.md +333 -0
  503. package/docs-site-v2/features/index.md +144 -0
  504. package/docs-site-v2/guide/ai-interfaces.md +58 -0
  505. package/docs-site-v2/guide/configuration.md +208 -0
  506. package/docs-site-v2/guide/index.md +50 -0
  507. package/docs-site-v2/index.md +32 -0
  508. package/docs-site-v2/package-lock.json +2511 -0
  509. package/docs-site-v2/package.json +15 -0
  510. package/docs-site-v2/public/android-chrome-192x192.png +0 -0
  511. package/docs-site-v2/public/android-chrome-512x512.png +0 -0
  512. package/docs-site-v2/public/apple-touch-icon.png +0 -0
  513. package/docs-site-v2/public/favicon-16x16.png +0 -0
  514. package/docs-site-v2/public/favicon-32x32.png +0 -0
  515. package/docs-site-v2/public/favicon.ico +0 -0
  516. package/docs-site-v2/public/index.css +4174 -0
  517. package/docs-site-v2/public/llms.txt +44 -0
  518. package/docs-site-v2/public/logo-dark.svg +8 -0
  519. package/docs-site-v2/public/logo.svg +8 -0
  520. package/{docs-site → docs-site-v2}/public/robots.txt +1 -6
  521. package/{docs-site → docs-site-v2}/public/site.webmanifest +1 -1
  522. package/{docs-site → docs-site-v2}/public/sitemap.xml +33 -12
  523. package/docs-site-v2/script-debugger/index.md +105 -0
  524. package/docs-site-v2/scripts/generate-llms.js +71 -0
  525. package/docs-site-v2/scripts/generate-sitemap.js +97 -0
  526. package/docs-site-v2/security/index.md +115 -0
  527. package/docs-site-v2/skills/index.md +40 -0
  528. package/docs-site-v2/tools/index.md +36 -0
  529. package/docs-site-v2/troubleshooting/index.md +204 -0
  530. package/eslint.config.js +3 -1
  531. package/memories/repo/docs-site-v2-build.json +11 -0
  532. package/package.json +18 -14
  533. package/scripts/validate-server-json.js +68 -0
  534. package/server.json +4 -6
  535. package/src/clients/agent-instructions-client.ts +370 -0
  536. package/src/clients/base/abstract-documentation-client.ts +405 -0
  537. package/src/clients/base/oauth-token.ts +52 -2
  538. package/src/clients/cartridge/cartridge-generation-client.ts +302 -0
  539. package/src/clients/cartridge/cartridge-structure.ts +37 -0
  540. package/src/clients/cartridge/cartridge-templates.ts +246 -0
  541. package/src/clients/cartridge/index.ts +6 -0
  542. package/src/clients/docs/documentation-scanner.ts +44 -28
  543. package/src/clients/docs-client.ts +54 -14
  544. package/src/clients/isml-client.ts +353 -0
  545. package/src/clients/ocapi/code-versions-client.ts +7 -1
  546. package/src/clients/ocapi-client.ts +11 -166
  547. package/src/clients/script-debugger/index.ts +5 -0
  548. package/src/clients/script-debugger/script-debugger-client.ts +754 -0
  549. package/src/clients/sfra-client.ts +134 -397
  550. package/src/config/configuration-factory.ts +6 -1
  551. package/src/config/dw-json-loader.ts +96 -15
  552. package/src/config/workspace-roots.ts +540 -0
  553. package/src/constants/index.ts +1 -0
  554. package/src/core/handlers/abstract-client-handler.ts +85 -0
  555. package/src/core/handlers/agent-instructions-handler.ts +48 -0
  556. package/src/core/handlers/base-handler.ts +17 -127
  557. package/src/core/handlers/cartridge-handler.ts +13 -33
  558. package/src/core/handlers/client-factory.ts +32 -2
  559. package/src/core/handlers/code-version-handler.ts +17 -32
  560. package/src/core/handlers/docs-handler.ts +12 -44
  561. package/src/core/handlers/isml-handler.ts +19 -0
  562. package/src/core/handlers/job-log-handler.ts +19 -8
  563. package/src/core/handlers/log-handler.ts +19 -8
  564. package/src/core/handlers/script-debugger-handler.ts +46 -0
  565. package/src/core/handlers/sfra-handler.ts +12 -44
  566. package/src/core/handlers/simple-client-handler.ts +78 -0
  567. package/src/core/handlers/system-object-handler.ts +17 -32
  568. package/src/core/handlers/validation-helpers.ts +87 -47
  569. package/src/core/instruction-advisor.ts +122 -0
  570. package/src/core/server.ts +178 -13
  571. package/src/core/tool-definitions.ts +25 -1071
  572. package/src/core/tool-schemas/agent-instruction-tools.ts +72 -0
  573. package/src/core/tool-schemas/cartridge-tools.ts +29 -0
  574. package/src/core/tool-schemas/code-version-tools.ts +28 -0
  575. package/src/core/tool-schemas/documentation-tools.ts +104 -0
  576. package/src/core/tool-schemas/index.ts +27 -0
  577. package/src/core/tool-schemas/isml-tools.ts +89 -0
  578. package/src/core/tool-schemas/log-tools.ts +196 -0
  579. package/src/core/tool-schemas/script-debugger-tools.ts +83 -0
  580. package/src/core/tool-schemas/sfra-tools.ts +65 -0
  581. package/src/core/tool-schemas/shared-schemas.ts +158 -0
  582. package/src/core/tool-schemas/system-object-tools.ts +127 -0
  583. package/src/main.ts +63 -30
  584. package/src/services/index.ts +4 -10
  585. package/src/tool-configs/agent-instructions-tool-config.ts +83 -0
  586. package/src/tool-configs/cartridge-tool-config.ts +1 -1
  587. package/src/tool-configs/code-version-tool-config.ts +0 -5
  588. package/src/tool-configs/docs-tool-config.ts +0 -7
  589. package/src/tool-configs/isml-tool-config.ts +87 -0
  590. package/src/tool-configs/job-log-tool-config.ts +18 -17
  591. package/src/tool-configs/log-tool-config.ts +49 -64
  592. package/src/tool-configs/script-debugger-tool-config.ts +69 -0
  593. package/src/tool-configs/sfra-tool-config.ts +0 -11
  594. package/src/tool-configs/system-object-tool-config.ts +0 -5
  595. package/src/types/types.ts +2 -0
  596. package/src/utils/cache.ts +49 -54
  597. package/src/utils/category-utils.ts +70 -0
  598. package/src/utils/log-tool-constants.ts +25 -17
  599. package/src/utils/logger.ts +38 -1
  600. package/src/utils/markdown-utils.ts +280 -0
  601. package/src/utils/path-resolver.ts +25 -9
  602. package/src/utils/path-validation.ts +113 -0
  603. package/tests/base-handler.test.ts +1 -1
  604. package/tests/cache.test.ts +2 -2
  605. package/tests/cartridge-handler.test.ts +4 -4
  606. package/tests/client-factory.test.ts +1 -1
  607. package/tests/code-version-handler.test.ts +3 -3
  608. package/tests/docs-handler.test.ts +2 -2
  609. package/tests/documentation-scanner.test.ts +4 -4
  610. package/tests/isml-client.test.ts +463 -0
  611. package/tests/isml-handler.test.ts +375 -0
  612. package/tests/job-log-handler.test.ts +1 -1
  613. package/tests/log-handler.test.ts +8 -8
  614. package/tests/log-validation.test.ts +149 -0
  615. package/tests/mcp/README.md +22 -18
  616. package/tests/mcp/node/activate-code-version-advanced.full-mode.programmatic.test.js +30 -12
  617. package/tests/mcp/node/evaluate-script.full-mode.programmatic.test.js +387 -0
  618. package/tests/mcp/node/generate-cartridge-structure.docs-only.programmatic.test.js +14 -8
  619. package/tests/mcp/node/get-isml-categories.programmatic.test.js +278 -0
  620. package/tests/mcp/node/get-isml-element.programmatic.test.js +278 -0
  621. package/tests/mcp/node/get-isml-elements-by-category.programmatic.test.js +363 -0
  622. package/tests/mcp/node/get-sfra-categories.docs-only.programmatic.test.js +24 -24
  623. package/tests/mcp/node/get-sfra-document.programmatic.test.js +4 -2
  624. package/tests/mcp/node/list-isml-elements.programmatic.test.js +311 -0
  625. package/tests/mcp/node/list-sfcc-classes.docs-only.programmatic.test.js +2 -33
  626. package/tests/mcp/node/search-isml-elements.programmatic.test.js +325 -0
  627. package/tests/mcp/node/search-sfcc-classes.docs-only.programmatic.test.js +5 -9
  628. package/tests/mcp/node/search-sfcc-methods.docs-only.programmatic.test.js +7 -9
  629. package/tests/mcp/node/tools.docs-only.programmatic.test.js +42 -65
  630. package/tests/mcp/node/tools.full-mode.programmatic.test.js +7 -8
  631. package/tests/mcp/yaml/activate-code-version.full-mode.test.mcp.yml +2 -2
  632. package/tests/mcp/yaml/evaluate-script.full-mode.test.mcp.yml +281 -0
  633. package/tests/mcp/yaml/get-isml-categories.docs-only.test.mcp.yml +330 -0
  634. package/tests/mcp/yaml/get-isml-element.docs-only.test.mcp.yml +294 -0
  635. package/tests/mcp/yaml/get-isml-elements-by-category.docs-only.test.mcp.yml +334 -0
  636. package/tests/mcp/yaml/get-sfcc-class-info.docs-only.test.mcp.yml +2 -2
  637. package/tests/mcp/yaml/get-sfra-categories.docs-only.test.mcp.yml +13 -13
  638. package/tests/mcp/yaml/get-sfra-categories.full-mode.test.mcp.yml +13 -13
  639. package/tests/mcp/yaml/get-system-object-definitions.docs-only.test.mcp.yml +1 -16
  640. package/tests/mcp/yaml/list-isml-elements.docs-only.test.mcp.yml +212 -0
  641. package/tests/mcp/yaml/search-isml-elements.docs-only.test.mcp.yml +312 -0
  642. package/tests/mcp/yaml/search-sfcc-classes.docs-only.test.mcp.yml +1 -1
  643. package/tests/mcp/yaml/search-sfcc-classes.full-mode.test.mcp.yml +1 -1
  644. package/tests/mcp/yaml/search-site-preferences.docs-only.test.mcp.yml +1 -1
  645. package/tests/mcp/yaml/tools.docs-only.test.mcp.yml +3 -57
  646. package/tests/mcp/yaml/tools.full-mode.test.mcp.yml +3 -3
  647. package/tests/oauth-token.test.ts +107 -12
  648. package/tests/ocapi-client.test.ts +53 -106
  649. package/tests/script-debugger-client.test.ts +430 -0
  650. package/tests/servers/sfcc-mock-server/src/app.js +15 -0
  651. package/tests/servers/sfcc-mock-server/src/routes/cartridge-webdav.js +258 -0
  652. package/tests/servers/sfcc-mock-server/src/routes/ocapi/debugger-handler.js +396 -0
  653. package/tests/servers/sfcc-mock-server/src/routes/ocapi.js +5 -0
  654. package/tests/servers/sfcc-mock-server/src/routes/storefront.js +86 -0
  655. package/tests/servers/sfcc-mock-server/src/routes/webdav.js +6 -4
  656. package/tests/validation-helpers.test.ts +0 -31
  657. package/tests/workspace-roots.test.ts +227 -0
  658. package/ai-instructions/claude-desktop/claude_custom_instructions.md +0 -321
  659. package/ai-instructions/cursor/.cursor/rules/debugging-workflows.mdc +0 -171
  660. package/ai-instructions/cursor/.cursor/rules/hooks-development.mdc +0 -168
  661. package/ai-instructions/cursor/.cursor/rules/isml-templates.mdc +0 -209
  662. package/ai-instructions/cursor/.cursor/rules/job-framework.mdc +0 -379
  663. package/ai-instructions/cursor/.cursor/rules/performance-optimization.mdc +0 -215
  664. package/ai-instructions/cursor/.cursor/rules/scapi-endpoints.mdc +0 -98
  665. package/ai-instructions/cursor/.cursor/rules/security-patterns.mdc +0 -375
  666. package/ai-instructions/cursor/.cursor/rules/sfcc-development.mdc +0 -144
  667. package/ai-instructions/cursor/.cursor/rules/sfra-controllers.mdc +0 -376
  668. package/ai-instructions/cursor/.cursor/rules/sfra-models.mdc +0 -412
  669. package/ai-instructions/cursor/.cursor/rules/system-objects.mdc +0 -383
  670. package/ai-instructions/cursor/.cursor/rules/testing-patterns.mdc +0 -418
  671. package/dist/clients/best-practices-client.d.ts +0 -57
  672. package/dist/clients/best-practices-client.d.ts.map +0 -1
  673. package/dist/clients/best-practices-client.js +0 -288
  674. package/dist/clients/best-practices-client.js.map +0 -1
  675. package/dist/clients/cartridge-generation-client.d.ts +0 -57
  676. package/dist/clients/cartridge-generation-client.d.ts.map +0 -1
  677. package/dist/clients/cartridge-generation-client.js +0 -384
  678. package/dist/clients/cartridge-generation-client.js.map +0 -1
  679. package/dist/clients/logs/index.d.ts +0 -13
  680. package/dist/clients/logs/index.d.ts.map +0 -1
  681. package/dist/clients/logs/index.js +0 -15
  682. package/dist/clients/logs/index.js.map +0 -1
  683. package/dist/clients/logs/log-analyzer.d.ts +0 -55
  684. package/dist/clients/logs/log-analyzer.d.ts.map +0 -1
  685. package/dist/clients/logs/log-analyzer.js +0 -228
  686. package/dist/clients/logs/log-analyzer.js.map +0 -1
  687. package/dist/clients/logs/log-client.d.ts +0 -87
  688. package/dist/clients/logs/log-client.d.ts.map +0 -1
  689. package/dist/clients/logs/log-client.js +0 -418
  690. package/dist/clients/logs/log-client.js.map +0 -1
  691. package/dist/clients/logs/log-constants.d.ts +0 -37
  692. package/dist/clients/logs/log-constants.d.ts.map +0 -1
  693. package/dist/clients/logs/log-constants.js +0 -37
  694. package/dist/clients/logs/log-constants.js.map +0 -1
  695. package/dist/clients/logs/log-file-discovery.d.ts +0 -62
  696. package/dist/clients/logs/log-file-discovery.d.ts.map +0 -1
  697. package/dist/clients/logs/log-file-discovery.js +0 -238
  698. package/dist/clients/logs/log-file-discovery.js.map +0 -1
  699. package/dist/clients/logs/log-file-reader.d.ts +0 -53
  700. package/dist/clients/logs/log-file-reader.d.ts.map +0 -1
  701. package/dist/clients/logs/log-file-reader.js +0 -194
  702. package/dist/clients/logs/log-file-reader.js.map +0 -1
  703. package/dist/clients/logs/log-formatter.d.ts +0 -90
  704. package/dist/clients/logs/log-formatter.d.ts.map +0 -1
  705. package/dist/clients/logs/log-formatter.js +0 -189
  706. package/dist/clients/logs/log-formatter.js.map +0 -1
  707. package/dist/clients/logs/log-processor.d.ts +0 -91
  708. package/dist/clients/logs/log-processor.d.ts.map +0 -1
  709. package/dist/clients/logs/log-processor.js +0 -328
  710. package/dist/clients/logs/log-processor.js.map +0 -1
  711. package/dist/clients/logs/log-types.d.ts +0 -69
  712. package/dist/clients/logs/log-types.d.ts.map +0 -1
  713. package/dist/clients/logs/log-types.js +0 -5
  714. package/dist/clients/logs/log-types.js.map +0 -1
  715. package/dist/clients/logs/webdav-client-manager.d.ts +0 -28
  716. package/dist/clients/logs/webdav-client-manager.d.ts.map +0 -1
  717. package/dist/clients/logs/webdav-client-manager.js +0 -77
  718. package/dist/clients/logs/webdav-client-manager.js.map +0 -1
  719. package/dist/core/handlers/abstract-log-tool-handler.d.ts +0 -35
  720. package/dist/core/handlers/abstract-log-tool-handler.d.ts.map +0 -1
  721. package/dist/core/handlers/abstract-log-tool-handler.js +0 -46
  722. package/dist/core/handlers/abstract-log-tool-handler.js.map +0 -1
  723. package/dist/core/handlers/best-practices-handler.d.ts +0 -17
  724. package/dist/core/handlers/best-practices-handler.d.ts.map +0 -1
  725. package/dist/core/handlers/best-practices-handler.js +0 -43
  726. package/dist/core/handlers/best-practices-handler.js.map +0 -1
  727. package/dist/core/handlers/job-log-tool-config.d.ts +0 -8
  728. package/dist/core/handlers/job-log-tool-config.d.ts.map +0 -1
  729. package/dist/core/handlers/job-log-tool-config.js +0 -76
  730. package/dist/core/handlers/job-log-tool-config.js.map +0 -1
  731. package/dist/core/handlers/log-tool-config.d.ts +0 -8
  732. package/dist/core/handlers/log-tool-config.d.ts.map +0 -1
  733. package/dist/core/handlers/log-tool-config.js +0 -73
  734. package/dist/core/handlers/log-tool-config.js.map +0 -1
  735. package/dist/docs/best-practices/isml_templates.md +0 -1933
  736. package/dist/docs/best-practices/job_framework.md +0 -1173
  737. package/dist/docs/best-practices/scapi_custom_endpoint.md +0 -963
  738. package/dist/docs/best-practices/sfra_client_side_js.md +0 -736
  739. package/dist/docs/best-practices/sfra_models.md +0 -1142
  740. package/dist/tool-configs/best-practices-tool-config.d.ts +0 -11
  741. package/dist/tool-configs/best-practices-tool-config.d.ts.map +0 -1
  742. package/dist/tool-configs/best-practices-tool-config.js +0 -59
  743. package/dist/tool-configs/best-practices-tool-config.js.map +0 -1
  744. package/dist/utils/job-log-tool-config.d.ts +0 -8
  745. package/dist/utils/job-log-tool-config.d.ts.map +0 -1
  746. package/dist/utils/job-log-tool-config.js +0 -76
  747. package/dist/utils/job-log-tool-config.js.map +0 -1
  748. package/dist/utils/job-log-utils.d.ts +0 -34
  749. package/dist/utils/job-log-utils.d.ts.map +0 -1
  750. package/dist/utils/job-log-utils.js +0 -60
  751. package/dist/utils/job-log-utils.js.map +0 -1
  752. package/dist/utils/log-cache.d.ts +0 -53
  753. package/dist/utils/log-cache.d.ts.map +0 -1
  754. package/dist/utils/log-cache.js +0 -114
  755. package/dist/utils/log-cache.js.map +0 -1
  756. package/dist/utils/log-tool-config.d.ts +0 -8
  757. package/dist/utils/log-tool-config.d.ts.map +0 -1
  758. package/dist/utils/log-tool-config.js +0 -73
  759. package/dist/utils/log-tool-config.js.map +0 -1
  760. package/dist/utils/log-tool-utils.d.ts +0 -39
  761. package/dist/utils/log-tool-utils.d.ts.map +0 -1
  762. package/dist/utils/log-tool-utils.js +0 -94
  763. package/dist/utils/log-tool-utils.js.map +0 -1
  764. package/docs/best-practices/isml_templates.md +0 -1933
  765. package/docs/best-practices/job_framework.md +0 -1173
  766. package/docs/best-practices/scapi_custom_endpoint.md +0 -963
  767. package/docs/best-practices/sfra_client_side_js.md +0 -736
  768. package/docs/best-practices/sfra_models.md +0 -1142
  769. package/docs-site/App.tsx +0 -103
  770. package/docs-site/README.md +0 -113
  771. package/docs-site/components/Badge.tsx +0 -38
  772. package/docs-site/components/BreadcrumbSchema.tsx +0 -34
  773. package/docs-site/components/CodeBlock.tsx +0 -132
  774. package/docs-site/components/Collapsible.tsx +0 -40
  775. package/docs-site/components/ConfigBuilder.tsx +0 -118
  776. package/docs-site/components/ConfigHero.tsx +0 -19
  777. package/docs-site/components/ConfigModeTabs.tsx +0 -42
  778. package/docs-site/components/Layout.tsx +0 -174
  779. package/docs-site/components/LightCodeContainer.tsx +0 -44
  780. package/docs-site/components/NewcomerCTA.tsx +0 -57
  781. package/docs-site/components/NextStepsStrip.tsx +0 -23
  782. package/docs-site/components/OnThisPage.tsx +0 -91
  783. package/docs-site/components/SEO.tsx +0 -79
  784. package/docs-site/components/Search.tsx +0 -207
  785. package/docs-site/components/Sidebar.tsx +0 -96
  786. package/docs-site/components/StructuredData.tsx +0 -72
  787. package/docs-site/components/ToolCard.tsx +0 -84
  788. package/docs-site/components/ToolFilters.tsx +0 -39
  789. package/docs-site/components/Typography.tsx +0 -30
  790. package/docs-site/components/VersionBadge.tsx +0 -18
  791. package/docs-site/components/icons.tsx +0 -37
  792. package/docs-site/constants.tsx +0 -34
  793. package/docs-site/index.html +0 -62
  794. package/docs-site/main.tsx +0 -16
  795. package/docs-site/metadata.json +0 -5
  796. package/docs-site/package-lock.json +0 -3966
  797. package/docs-site/package.json +0 -35
  798. package/docs-site/pages/AIInterfacesPage.tsx +0 -610
  799. package/docs-site/pages/ConfigurationPage.tsx +0 -315
  800. package/docs-site/pages/DevelopmentPage.tsx +0 -607
  801. package/docs-site/pages/ExamplesPage.tsx +0 -558
  802. package/docs-site/pages/FeaturesPage.tsx +0 -353
  803. package/docs-site/pages/HomePage.tsx +0 -1046
  804. package/docs-site/pages/SecurityPage.tsx +0 -372
  805. package/docs-site/pages/ToolsPage.tsx +0 -205
  806. package/docs-site/pages/TroubleshootingPage.tsx +0 -590
  807. package/docs-site/postcss.config.js +0 -6
  808. package/docs-site/public/.well-known/security.txt +0 -6
  809. package/docs-site/public/android-chrome-192x192.png +0 -0
  810. package/docs-site/public/android-chrome-512x512.png +0 -0
  811. package/docs-site/public/apple-touch-icon.png +0 -0
  812. package/docs-site/public/favicon-16x16.png +0 -0
  813. package/docs-site/public/favicon-32x32.png +0 -0
  814. package/docs-site/public/favicon.ico +0 -0
  815. package/docs-site/public/llms.txt +0 -47
  816. package/docs-site/scripts/generate-search-index.js +0 -323
  817. package/docs-site/scripts/generate-sitemap.js +0 -156
  818. package/docs-site/scripts/search-dev.js +0 -112
  819. package/docs-site/src/styles/input.css +0 -248
  820. package/docs-site/src/styles/prism-theme.css +0 -124
  821. package/docs-site/tailwind.config.js +0 -70
  822. package/docs-site/tsconfig.json +0 -29
  823. package/docs-site/types.ts +0 -16
  824. package/docs-site/utils/search.ts +0 -132
  825. package/docs-site/utils/toolsData.ts +0 -116
  826. package/docs-site/vite.config.ts +0 -63
  827. package/src/clients/best-practices-client.ts +0 -332
  828. package/src/clients/cartridge-generation-client.ts +0 -507
  829. package/src/clients/logs/index.ts +0 -18
  830. package/src/clients/logs/log-analyzer.ts +0 -289
  831. package/src/clients/logs/log-client.ts +0 -540
  832. package/src/clients/logs/log-constants.ts +0 -53
  833. package/src/clients/logs/log-file-discovery.ts +0 -299
  834. package/src/clients/logs/log-file-reader.ts +0 -227
  835. package/src/clients/logs/log-formatter.ts +0 -258
  836. package/src/clients/logs/log-processor.ts +0 -402
  837. package/src/clients/logs/log-types.ts +0 -80
  838. package/src/clients/logs/webdav-client-manager.ts +0 -93
  839. package/src/core/handlers/abstract-log-tool-handler.ts +0 -64
  840. package/src/core/handlers/best-practices-handler.ts +0 -55
  841. package/src/core/handlers/job-log-tool-config.ts +0 -89
  842. package/src/core/handlers/log-tool-config.ts +0 -98
  843. package/src/tool-configs/best-practices-tool-config.ts +0 -68
  844. package/src/utils/job-log-tool-config.ts +0 -89
  845. package/src/utils/job-log-utils.ts +0 -78
  846. package/src/utils/log-cache.ts +0 -134
  847. package/src/utils/log-tool-config.ts +0 -98
  848. package/src/utils/log-tool-utils.ts +0 -122
  849. package/tests/best-practices-handler.test.ts +0 -236
  850. package/tests/job-log-utils.test.ts +0 -182
  851. package/tests/mcp/node/get-available-best-practice-guides.docs-only.programmatic.test.js +0 -516
  852. package/tests/mcp/node/get-best-practice-guide.docs-only.programmatic.test.js +0 -733
  853. package/tests/mcp/node/get-hook-reference.docs-only.programmatic.test.js +0 -185
  854. package/tests/mcp/node/search-best-practices.docs-only.programmatic.test.js +0 -836
  855. package/tests/mcp/yaml/get-available-best-practice-guides.docs-only.test.mcp.yml +0 -885
  856. package/tests/mcp/yaml/get-available-best-practice-guides.full-mode.test.mcp.yml +0 -885
  857. package/tests/mcp/yaml/get-best-practice-guide.docs-only.test.mcp.yml +0 -462
  858. package/tests/mcp/yaml/get-best-practice-guide.full-mode.test.mcp.yml +0 -462
  859. package/tests/mcp/yaml/get-hook-reference.docs-only.test.mcp.yml +0 -321
  860. package/tests/mcp/yaml/get-hook-reference.full-mode.test.mcp.yml +0 -321
  861. package/tests/mcp/yaml/search-best-practices.docs-only.test.mcp.yml +0 -655
  862. package/tests/mcp/yaml/search-best-practices.full-mode.test.mcp.yml +0 -655
  863. /package/{docs-site → docs-site-v2}/public/404.html +0 -0
  864. /package/{docs-site → docs-site-v2}/public/explain-product-pricing-methods-no-mcp.png +0 -0
  865. /package/{docs-site → docs-site-v2}/public/explain-product-pricing-methods.png +0 -0
@@ -1,1046 +0,0 @@
1
- import React, { useState, useRef, useCallback } from 'react';
2
- import { NavLink } from 'react-router-dom';
3
- import SEO from '../components/SEO';
4
- import BreadcrumbSchema from '../components/BreadcrumbSchema';
5
- import StructuredData from '../components/StructuredData';
6
- import { H1, H2, H3, PageSubtitle } from '../components/Typography';
7
- import CodeBlock, { InlineCode } from '../components/CodeBlock';
8
- import LightCodeContainer from '../components/LightCodeContainer';
9
- import NewcomerCTA from '../components/NewcomerCTA';
10
-
11
- const HomePage: React.FC = () => {
12
- const [isWithoutMcpModalOpen, setIsWithoutMcpModalOpen] = useState(false);
13
- const [isWithMcpModalOpen, setIsWithMcpModalOpen] = useState(false);
14
- const [zoomPosition1, setZoomPosition1] = useState({ x: 0, y: 0 });
15
- const [isZooming1, setIsZooming1] = useState(false);
16
- const [zoomPosition2, setZoomPosition2] = useState({ x: 0, y: 0 });
17
- const [isZooming2, setIsZooming2] = useState(false);
18
- const imageRef1 = useRef<HTMLImageElement>(null);
19
- const imageRef2 = useRef<HTMLImageElement>(null);
20
-
21
- const handleMouseMove1 = useCallback((e: React.MouseEvent<HTMLImageElement>) => {
22
- if (!imageRef1.current) return;
23
-
24
- const rect = imageRef1.current.getBoundingClientRect();
25
- const x = e.clientX - rect.left;
26
- const y = e.clientY - rect.top;
27
-
28
- setZoomPosition1({ x, y });
29
- }, []);
30
-
31
- const handleMouseEnter1 = useCallback(() => {
32
- setIsZooming1(true);
33
- }, []);
34
-
35
- const handleMouseLeave1 = useCallback(() => {
36
- setIsZooming1(false);
37
- }, []);
38
-
39
- const handleMouseMove2 = useCallback((e: React.MouseEvent<HTMLImageElement>) => {
40
- if (!imageRef2.current) return;
41
-
42
- const rect = imageRef2.current.getBoundingClientRect();
43
- const x = e.clientX - rect.left;
44
- const y = e.clientY - rect.top;
45
-
46
- setZoomPosition2({ x, y });
47
- }, []);
48
-
49
- const handleMouseEnter2 = useCallback(() => {
50
- setIsZooming2(true);
51
- }, []);
52
-
53
- const handleMouseLeave2 = useCallback(() => {
54
- setIsZooming2(false);
55
- }, []);
56
-
57
- const homePageStructuredData = {
58
- "@context": "https://schema.org",
59
- "@type": "WebPage",
60
- "name": "SFCC Development MCP Server - AI-Powered Commerce Cloud Development Tools",
61
- "description": "Model Context Protocol server for Salesforce B2C Commerce Cloud development with comprehensive documentation access, log analysis, and development best practices.",
62
- "url": "https://sfcc-mcp-dev.rhino-inquisitor.com/",
63
- "mainEntity": {
64
- "@type": "SoftwareApplication",
65
- "name": "SFCC Development MCP Server",
66
- "applicationCategory": "DeveloperApplication",
67
- "description": "A comprehensive MCP server providing AI assistants with direct access to SFCC development tools, documentation, and debugging capabilities.",
68
- "operatingSystem": "Node.js",
69
- "downloadUrl": "https://www.npmjs.com/package/sfcc-dev-mcp",
70
- "offers": {
71
- "@type": "Offer",
72
- "price": "0",
73
- "priceCurrency": "USD",
74
- "availability": "https://schema.org/InStock"
75
- }
76
- },
77
- "breadcrumb": {
78
- "@type": "BreadcrumbList",
79
- "itemListElement": [{
80
- "@type": "ListItem",
81
- "position": 1,
82
- "name": "Home",
83
- "item": "https://sfcc-mcp-dev.rhino-inquisitor.com/"
84
- }]
85
- }
86
- };
87
-
88
- return (
89
- <div className="max-w-6xl mx-auto px-6 py-8">
90
- <SEO
91
- title="SFCC Development MCP Server - AI-Powered Commerce Cloud Development Tools"
92
- description="Model Context Protocol server for Salesforce B2C Commerce Cloud development. Access comprehensive documentation, analyze logs, explore system objects, and get best practices with AI assistance."
93
- keywords="SFCC, Salesforce Commerce Cloud, Model Context Protocol, MCP server, AI development tools, SFCC documentation, Commerce Cloud development, SFCC debugging, AI-assisted development, SFCC best practices"
94
- canonical="/"
95
- ogType="website"
96
- />
97
- <BreadcrumbSchema items={[
98
- { name: "Home", url: "/" }
99
- ]} />
100
- <StructuredData structuredData={homePageStructuredData} />
101
-
102
- {/* Hero Section */}
103
- <div className="text-center mb-16">
104
- <div className="inline-flex items-center gap-3 bg-gradient-to-r from-blue-600 to-purple-600 text-white px-4 py-2 rounded-full text-sm font-medium mb-6">
105
- <span className="bg-white/20 rounded-full p-1">
106
- <svg className="w-4 h-4" fill="currentColor" viewBox="0 0 20 20">
107
- <path fillRule="evenodd" d="M11.49 3.17c-.38-1.56-2.6-1.56-2.98 0a1.532 1.532 0 01-2.286.948c-1.372-.836-2.942.734-2.106 2.106.54.886.061 2.042-.947 2.287-1.561.379-1.561 2.6 0 2.978a1.532 1.532 0 01.947 2.287c-.836 1.372.734 2.942 2.106 2.106a1.532 1.532 0 012.287.947c.379 1.561 2.6 1.561 2.978 0a1.533 1.533 0 012.287-.947c1.372.836 2.942-.734 2.106-2.106a1.533 1.533 0 01.947-2.287c1.561-.379 1.561-2.6 0-2.978a1.532 1.532 0 01-.947-2.287c.836-1.372-.734-2.942-2.106-2.106a1.532 1.532 0 01-2.287-.947zM10 13a3 3 0 100-6 3 3 0 000 6z" clipRule="evenodd" />
108
- </svg>
109
- </span>
110
- AI-Powered Development Tools for SFCC
111
- </div>
112
-
113
- <H1 id="sfcc-development-mcp-server" className="text-5xl md:text-6xl font-extrabold bg-gradient-to-r from-gray-900 via-blue-900 to-purple-900 bg-clip-text text-transparent mb-6">
114
- SFCC Development MCP Server
115
- </H1>
116
-
117
- <PageSubtitle className="text-xl md:text-2xl text-gray-600 max-w-4xl mx-auto leading-relaxed">
118
- Supercharge your Salesforce B2C Commerce Cloud development with AI-powered documentation access,
119
- real-time log analysis, and intelligent best practices guidance
120
- </PageSubtitle>
121
- </div>
122
- {/* Quick Start Section */}
123
- <div className="mb-16 bg-gradient-to-r from-blue-50 via-indigo-50 to-purple-50 rounded-2xl p-8 shadow-xl border border-blue-100">
124
- <div className="text-center mb-8">
125
- <div className="inline-flex items-center gap-2 bg-green-100 text-green-800 px-4 py-2 rounded-full text-sm font-medium mb-4">
126
- <svg className="w-4 h-4" fill="currentColor" viewBox="0 0 20 20">
127
- <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
128
- </svg>
129
- No Credentials Required
130
- </div>
131
- <H2 id="quick-start" className="text-3xl font-bold mb-4">🚀 Zero-Config Quick Start</H2>
132
- <p className="text-lg text-gray-700 max-w-3xl mx-auto">
133
- Jump straight into SFCC development with AI assistance. Get access to comprehensive documentation,
134
- best practices, and cartridge generation tools instantly.
135
- </p>
136
- </div>
137
-
138
- {/* Newcomer CTA */}
139
- <NewcomerCTA className="mb-8" />
140
-
141
- <div className="grid md:grid-cols-2 gap-8 items-center">
142
- <div>
143
- <h3 className="text-lg font-semibold text-gray-900 mb-4">Add to your AI client:</h3>
144
- <LightCodeContainer>
145
- <CodeBlock language="json" code={`{
146
- "mcpServers": {
147
- "sfcc-dev": {
148
- "command": "npx",
149
- "args": ["sfcc-dev-mcp"]
150
- }
151
- }
152
- }`} />
153
- </LightCodeContainer>
154
- </div>
155
-
156
- <div className="space-y-4">
157
- <div className="flex items-start gap-3 md:mt-24">
158
- <div className="bg-blue-100 rounded-full p-2 mt-1">
159
- <svg className="w-5 h-5 text-blue-600" fill="currentColor" viewBox="0 0 20 20">
160
- <path fillRule="evenodd" d="M6.267 3.455a3.066 3.066 0 001.745-.723 3.066 3.066 0 013.976 0 3.066 3.066 0 001.745.723 3.066 3.066 0 012.812 2.812c.051.643.304 1.254.723 1.745a3.066 3.066 0 010 3.976 3.066 3.066 0 00-.723 1.745 3.066 3.066 0 01-2.812 2.812 3.066 3.066 0 00-1.745.723 3.066 3.066 0 01-3.976 0 3.066 3.066 0 00-1.745-.723 3.066 3.066 0 01-2.812-2.812 3.066 3.066 0 00-.723-1.745 3.066 3.066 0 010-3.976 3.066 3.066 0 00.723-1.745 3.066 3.066 0 012.812-2.812zm7.44 5.252a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
161
- </svg>
162
- </div>
163
- <div>
164
- <h4 className="font-semibold text-gray-900 mt-0">Instant Access</h4>
165
- <p className="text-gray-600 text-sm">Start using SFCC documentation and tools immediately</p>
166
- </div>
167
- </div>
168
-
169
- <div className="flex items-start gap-3">
170
- <div className="bg-green-100 rounded-full p-2 mt-1">
171
- <svg className="w-5 h-5 text-green-600" fill="currentColor" viewBox="0 0 20 20">
172
- <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
173
- </svg>
174
- </div>
175
- <div>
176
- <h4 className="font-semibold text-gray-900 mt-0">No Setup Required</h4>
177
- <p className="text-gray-600 text-sm">Works out of the box with documentation-only mode</p>
178
- </div>
179
- </div>
180
-
181
- <div className="flex items-start gap-3">
182
- <div className="bg-purple-100 rounded-full p-2 mt-1">
183
- <svg className="w-5 h-5 text-purple-600" fill="currentColor" viewBox="0 0 20 20">
184
- <path fillRule="evenodd" d="M4 4a2 2 0 012-2h4.586A2 2 0 0112 2.586L15.414 6A2 2 0 0116 7.414V16a2 2 0 01-2 2H6a2 2 0 01-2-2V4zm2 6a1 1 0 011-1h6a1 1 0 110 2H7a1 1 0 01-1-1zm1 3a1 1 0 100 2h6a1 1 0 100-2H7z" clipRule="evenodd" />
185
- </svg>
186
- </div>
187
- <div>
188
- <h4 className="font-semibold text-gray-900 mt-0">Full Documentation</h4>
189
- <p className="text-gray-600 text-sm">Complete SFCC API docs, SFRA guides, and best practices</p>
190
- </div>
191
- </div>
192
- </div>
193
- </div>
194
-
195
- <div className="mt-6 p-4 bg-blue-50 border border-blue-200 rounded-lg">
196
- <p className="text-sm text-blue-800 text-center">
197
- 💡 <strong>Want more features?</strong> Add SFCC credentials via <InlineCode>--dw-json</InlineCode> for
198
- real-time log analysis, system & custom object exploration, and advanced debugging tools.
199
- </p>
200
- </div>
201
- </div>
202
-
203
- {/* CTA Buttons */}
204
- <div className="flex flex-col sm:flex-row gap-4 justify-center mt-8 mb-8">
205
- <NavLink
206
- to="/ai-interfaces/"
207
- className="group bg-gradient-to-r from-blue-600 to-purple-600 text-white px-8 py-4 rounded-xl font-semibold text-lg shadow-lg hover:shadow-xl transition-all duration-300 transform hover:-translate-y-1 no-underline hover:no-underline focus:no-underline"
208
- >
209
- Get Started in 2 Minutes
210
- <span className="ml-2 group-hover:translate-x-1 inline-block transition-transform">→</span>
211
- </NavLink>
212
- <NavLink
213
- to="/examples/"
214
- className="border-2 border-gray-300 text-gray-700 px-8 py-4 rounded-xl font-semibold text-lg hover:border-blue-500 hover:text-blue-600 transition-all duration-300 no-underline hover:no-underline focus:no-underline"
215
- >
216
- See Examples
217
- </NavLink>
218
- </div>
219
-
220
- {/* AI Instructions Warning */}
221
- <div className="mb-16 bg-gradient-to-r from-red-100 to-orange-100 border-l-4 border-red-500 rounded-xl p-6 shadow-lg">
222
- <div className="flex items-start gap-4">
223
- <div className="bg-red-100 rounded-full p-3 flex-shrink-0">
224
- <svg className="w-6 h-6 text-red-600" fill="currentColor" viewBox="0 0 20 20">
225
- <path fillRule="evenodd" d="M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z" clipRule="evenodd" />
226
- </svg>
227
- </div>
228
- <div className="flex-1">
229
- <H3 id="important-ai-instructions" className="text-red-800 text-xl font-bold mb-3">
230
- ⚠️ Essential: AI Instructions Required
231
- </H3>
232
- <p className="text-red-800 mb-4">
233
- Your AI needs specific instructions to use the MCP server effectively. We've created ready-to-use
234
- instruction files for GitHub Copilot, Claude, and Cursor.
235
- </p>
236
- <div className="flex items-center gap-4">
237
- <a
238
- href="https://github.com/taurgis/sfcc-dev-mcp/tree/main/ai-instructions"
239
- className="inline-flex items-center gap-2 bg-red-600 text-white px-4 py-2 rounded-lg font-medium hover:bg-red-700 transition-colors no-underline hover:no-underline focus:no-underline"
240
- target="_blank"
241
- rel="noopener noreferrer"
242
- >
243
- <svg className="w-4 h-4" fill="currentColor" viewBox="0 0 20 20">
244
- <path fillRule="evenodd" d="M3 4a1 1 0 011-1h4a1 1 0 010 2H6.414l2.293 2.293a1 1 0 01-1.414 1.414L5 6.414V8a1 1 0 01-2 0V4zm9 1a1 1 0 010-2h4a1 1 0 011 1v4a1 1 0 01-2 0V6.414l-2.293 2.293a1 1 0 11-1.414-1.414L13.586 5H12zm-9 7a1 1 0 012 0v1.586l2.293-2.293a1 1 0 111.414 1.414L6.414 15H8a1 1 0 010 2H4a1 1 0 01-1-1v-4zm13-1a1 1 0 011 1v4a1 1 0 01-1 1h-4a1 1 0 010-2h1.586l-2.293-2.293a1 1 0 111.414-1.414L15 13.586V12a1 1 0 011-1z" clipRule="evenodd" />
245
- </svg>
246
- Download AI Instructions
247
- </a>
248
- <NavLink
249
- to="/ai-interfaces/"
250
- className="inline-flex no-underline items-center gap-1 text-red-600 hover:text-red-800 font-medium transition-colors"
251
- >
252
- 📖 Setup Guide
253
- <svg className="w-3 h-3" fill="currentColor" viewBox="0 0 20 20">
254
- <path fillRule="evenodd" d="M10.293 3.293a1 1 0 011.414 0l6 6a1 1 0 010 1.414l-6 6a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-4.293-4.293a1 1 0 010-1.414z" clipRule="evenodd" />
255
- </svg>
256
- </NavLink>
257
- </div>
258
- </div>
259
- </div>
260
- </div>
261
-
262
- {/* Value Proposition Section */}
263
- <div className="mb-16">
264
- <div className="text-center mb-12">
265
- <H2 id="why-use-this" className="text-4xl font-bold mb-6">
266
- <span className="bg-gradient-to-r from-gray-900 via-blue-900 to-purple-900 bg-clip-text text-transparent">
267
- Stop Fighting Documentation
268
- </span>
269
- </H2>
270
- <p className="text-xl text-gray-600 max-w-4xl mx-auto leading-relaxed">
271
- Transform your SFCC development workflow from manual documentation hunting to AI-powered assistance
272
- </p>
273
- </div>
274
-
275
- {/* Before/After Comparison */}
276
- <div className="mb-12 bg-gradient-to-r from-blue-50/50 via-purple-50/50 to-pink-50/50 rounded-3xl p-8 shadow-2xl border border-gray-200">
277
-
278
- {/* Timeline Header */}
279
- <div className="text-center mb-8">
280
- <div className="inline-flex items-center gap-4 bg-gradient-to-r from-gray-800 to-gray-900 text-white px-6 py-3 rounded-full text-sm font-medium">
281
- <span className="bg-white/20 rounded-full p-1">
282
- <svg className="w-4 h-4" fill="currentColor" viewBox="0 0 20 20">
283
- <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm1-12a1 1 0 10-2 0v4a1 1 0 00.293.707l2.828 2.829a1 1 0 101.415-1.415L11 9.586V6z" clipRule="evenodd" />
284
- </svg>
285
- </span>
286
- Development Timeline Comparison
287
- </div>
288
- </div>
289
-
290
- <div className="grid lg:grid-cols-2 gap-8 relative">
291
- {/* Connecting Line */}
292
- <div className="hidden lg:block absolute left-1/2 top-16 bottom-16 w-px bg-gradient-to-b from-red-300 via-yellow-300 to-green-300 transform -translate-x-1/2"></div>
293
-
294
- {/* Before Timeline */}
295
- <div className="relative">
296
- <div className="flex items-center gap-3 mb-6">
297
- <div className="bg-gradient-to-r from-red-500 to-orange-500 rounded-xl p-3 shadow-lg">
298
- <svg className="w-6 h-6 text-white" fill="currentColor" viewBox="0 0 20 20">
299
- <path fillRule="evenodd" d="M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z" clipRule="evenodd" />
300
- </svg>
301
- </div>
302
- <div>
303
- <h3 className="text-2xl font-bold text-gray-900">Traditional</h3>
304
- <p className="text-red-600 font-medium">Frustrating & Time-Consuming</p>
305
- </div>
306
- </div>
307
-
308
- {/* Timeline Steps */}
309
- <div className="space-y-4">
310
- <div className="flex gap-4 p-4 bg-red-50 border border-red-200 rounded-xl transition-all hover:shadow-md">
311
- <div className="bg-red-100 rounded-full p-2 mt-1 flex-shrink-0">
312
- <span className="text-red-600 font-bold text-sm">1</span>
313
- </div>
314
- <div>
315
- <h4 className="font-semibold text-gray-900 mb-1">Documentation Hunt</h4>
316
- <p className="text-sm text-gray-600">Open 10+ browser tabs searching for method signatures</p>
317
- <div className="text-xs text-red-600 font-medium mt-1">⏱️ 15-30 minutes</div>
318
- </div>
319
- </div>
320
-
321
- <div className="flex gap-4 p-4 bg-red-50 border border-red-200 rounded-xl transition-all hover:shadow-md">
322
- <div className="bg-red-100 rounded-full p-2 mt-1 flex-shrink-0">
323
- <span className="text-red-600 font-bold text-sm">2</span>
324
- </div>
325
- <div>
326
- <h4 className="font-semibold text-gray-900 mb-1">Copy-Paste Engineering</h4>
327
- <p className="text-sm text-gray-600">Hunt for code examples across forums and docs</p>
328
- <div className="text-xs text-red-600 font-medium mt-1">⏱️ 20-45 minutes</div>
329
- </div>
330
- </div>
331
-
332
- <div className="flex gap-4 p-4 bg-red-50 border border-red-200 rounded-xl transition-all hover:shadow-md">
333
- <div className="bg-red-100 rounded-full p-2 mt-1 flex-shrink-0">
334
- <span className="text-red-600 font-bold text-sm">3</span>
335
- </div>
336
- <div>
337
- <h4 className="font-semibold text-gray-900 mb-1">Debug Blindly</h4>
338
- <p className="text-sm text-gray-600">Manual log analysis without proper context</p>
339
- <div className="text-xs text-red-600 font-medium mt-1">⏱️ 1-3 hours</div>
340
- </div>
341
- </div>
342
-
343
- <div className="flex gap-4 p-4 bg-red-50 border border-red-200 rounded-xl transition-all hover:shadow-md">
344
- <div className="bg-red-100 rounded-full p-2 mt-1 flex-shrink-0">
345
- <span className="text-red-600 font-bold text-sm">4</span>
346
- </div>
347
- <div>
348
- <h4 className="font-semibold text-gray-900 mb-1">Feature Scaffolding</h4>
349
- <p className="text-sm text-gray-600">Manually create cartridge structures and boilerplate code for new cartridges, new SCAPI endpoints, ...</p>
350
- <div className="text-xs text-red-600 font-medium mt-1">⏱️ 30-60 minutes</div>
351
- </div>
352
- </div>
353
-
354
- <div className="flex gap-4 p-4 bg-red-50 border border-red-200 rounded-xl transition-all hover:shadow-md">
355
- <div className="bg-red-100 rounded-full p-2 mt-1 flex-shrink-0">
356
- <span className="text-red-600 font-bold text-sm">5</span>
357
- </div>
358
- <div>
359
- <h4 className="font-semibold text-gray-900 mb-1">Context Switching</h4>
360
- <p className="text-sm text-gray-600">Jump between IDE, browser, logs, and documentation</p>
361
- <div className="text-xs text-red-600 font-medium mt-1">⏱️ Constant overhead</div>
362
- </div>
363
- </div>
364
- </div>
365
-
366
- <div className="mt-6 p-4 bg-red-100 border border-red-300 rounded-xl">
367
- <div className="flex items-center gap-2 text-red-800">
368
- <svg className="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
369
- <path fillRule="evenodd" d="M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z" clipRule="evenodd" />
370
- </svg>
371
- <span className="font-bold">Total Time Lost: 2-4 hours daily</span>
372
- </div>
373
- </div>
374
- </div>
375
-
376
- {/* After Timeline */}
377
- <div className="relative">
378
- <div className="flex items-center gap-3 mb-6">
379
- <div className="bg-gradient-to-r from-green-500 to-emerald-500 rounded-xl p-3 shadow-lg">
380
- <svg className="w-6 h-6 text-white" fill="currentColor" viewBox="0 0 20 20">
381
- <path fillRule="evenodd" d="M11.49 3.17c-.38-1.56-2.6-1.56-2.98 0a1.532 1.532 0 01-2.286.948c-1.372-.836-2.942.734-2.106 2.106.54.886.061 2.042-.947 2.287-1.561.379-1.561 2.6 0 2.978a1.532 1.532 0 01.947 2.287c-.836 1.372.734 2.942 2.106 2.106a1.532 1.532 0 012.287.947c.379 1.561 2.6 1.561 2.978 0a1.533 1.533 0 012.287-.947c1.372.836 2.942-.734 2.106-2.106a1.533 1.533 0 01.947-2.287c1.561-.379 1.561-2.6 0-2.978a1.532 1.532 0 01-.947-2.287c.836-1.372-.734-2.942-2.106-2.106a1.532 1.532 0 01-2.287-.947zM10 13a3 3 0 100-6 3 3 0 000 6z" clipRule="evenodd" />
382
- </svg>
383
- </div>
384
- <div>
385
- <h3 className="text-2xl font-bold text-gray-900">AI-Enhanced</h3>
386
- <p className="text-green-600 font-medium">Efficient & Intelligent</p>
387
- </div>
388
- </div>
389
-
390
- {/* Timeline Steps */}
391
- <div className="space-y-4">
392
- <div className="flex gap-4 p-4 bg-green-50 border border-green-200 rounded-xl transition-all hover:shadow-md">
393
- <div className="bg-green-100 rounded-full p-2 mt-1 flex-shrink-0">
394
- <span className="text-green-600 font-bold text-sm">1</span>
395
- </div>
396
- <div>
397
- <h4 className="font-semibold text-gray-900 mb-1">Ask AI Directly</h4>
398
- <p className="text-sm text-gray-600">"Show me Product pricing methods" → instant comprehensive answer</p>
399
- <div className="text-xs text-green-600 font-medium mt-1">⏱️ 30 seconds</div>
400
- </div>
401
- </div>
402
-
403
- <div className="flex gap-4 p-4 bg-green-50 border border-green-200 rounded-xl transition-all hover:shadow-md">
404
- <div className="bg-green-100 rounded-full p-2 mt-1 flex-shrink-0">
405
- <span className="text-green-600 font-bold text-sm">2</span>
406
- </div>
407
- <div>
408
- <h4 className="font-semibold text-gray-900 mb-1">Get Complete Examples</h4>
409
- <p className="text-sm text-gray-600">AI generates proper SFCC patterns with best practices</p>
410
- <div className="text-xs text-green-600 font-medium mt-1">⏱️ 1-2 minutes</div>
411
- </div>
412
- </div>
413
-
414
- <div className="flex gap-4 p-4 bg-green-50 border border-green-200 rounded-xl transition-all hover:shadow-md">
415
- <div className="bg-green-100 rounded-full p-2 mt-1 flex-shrink-0">
416
- <span className="text-green-600 font-bold text-sm">3</span>
417
- </div>
418
- <div>
419
- <h4 className="font-semibold text-gray-900 mb-1">Smart Debugging</h4>
420
- <p className="text-sm text-gray-600">"Find errors from last 24h" → AI analyzes and filters logs</p>
421
- <div className="text-xs text-green-600 font-medium mt-1">⏱️ 2-5 minutes</div>
422
- </div>
423
- </div>
424
-
425
- <div className="flex gap-4 p-4 bg-green-50 border border-green-200 rounded-xl transition-all hover:shadow-md">
426
- <div className="bg-green-100 rounded-full p-2 mt-1 flex-shrink-0">
427
- <span className="text-green-600 font-bold text-sm">4</span>
428
- </div>
429
- <div>
430
- <h4 className="font-semibold text-gray-900 mb-1">Instant Scaffolding</h4>
431
- <p className="text-sm text-gray-600">"Create custom SCAPI endpoint for wishlist" → complete cartridge with routes</p>
432
- <div className="text-xs text-green-600 font-medium mt-1">⏱️ 1-2 minutes</div>
433
- </div>
434
- </div>
435
-
436
- <div className="flex gap-4 p-4 bg-green-50 border border-green-200 rounded-xl transition-all hover:shadow-md">
437
- <div className="bg-green-100 rounded-full p-2 mt-1 flex-shrink-0">
438
- <span className="text-green-600 font-bold text-sm">5</span>
439
- </div>
440
- <div>
441
- <h4 className="font-semibold text-gray-900 mb-1">Stay in Flow</h4>
442
- <p className="text-sm text-gray-600">All SFCC knowledge accessible within your editor</p>
443
- <div className="text-xs text-green-600 font-medium mt-1">⏱️ Zero context switching</div>
444
- </div>
445
- </div>
446
- </div>
447
-
448
- <div className="mt-6 p-4 bg-green-100 border border-green-300 rounded-xl">
449
- <div className="flex items-center gap-2 text-green-800">
450
- <svg className="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
451
- <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
452
- </svg>
453
- <span className="font-bold">Total Time Saved: 2-3 hours daily</span>
454
- </div>
455
- </div>
456
- </div>
457
- </div>
458
-
459
- {/* Bottom CTA */}
460
- <div className="mt-10 text-center">
461
- <div className="inline-flex items-center gap-4 bg-gradient-to-r from-blue-600 via-purple-600 to-pink-600 text-white px-8 py-4 rounded-2xl shadow-lg">
462
- <svg className="w-6 h-6" fill="currentColor" viewBox="0 0 20 20">
463
- <path fillRule="evenodd" d="M11.3 1.046A1 1 0 0112 2v5h4a1 1 0 01.82 1.573l-7 10A1 1 0 018 18v-5H4a1 1 0 01-.82-1.573l7-10a1 1 0 011.12-.38z" clipRule="evenodd" />
464
- </svg>
465
- <div className="text-left">
466
- <div className="font-bold text-lg">Ready to 10x your SFCC productivity?</div>
467
- <div className="text-blue-100 text-sm">Set up in under 2 minutes • No SFCC credentials required to start</div>
468
- </div>
469
- </div>
470
- </div>
471
- </div>
472
- </div>
473
-
474
- {/* What You Get */}
475
- <div className="mb-16">
476
- <div className="text-center mb-10">
477
- <H2 id="what-you-get" className="text-3xl font-bold mb-4">🎯 What You Get</H2>
478
- <p className="text-lg text-gray-600 max-w-3xl mx-auto">
479
- Two modes to match your needs: start instantly with documentation-only mode,
480
- then upgrade to full mode for live data analysis
481
- </p>
482
- </div>
483
-
484
- <div className="grid lg:grid-cols-2 gap-8">
485
- {/* Documentation Mode */}
486
- <div className="bg-gradient-to-br from-green-50 to-emerald-50 rounded-2xl p-8 border border-green-200">
487
- <div className="flex items-center gap-3 mb-6">
488
- <div className="bg-green-500 rounded-full p-3">
489
- <svg className="w-6 h-6 text-white" fill="currentColor" viewBox="0 0 20 20">
490
- <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
491
- </svg>
492
- </div>
493
- <div>
494
- <H3 id="documentation-mode" className="text-2xl font-bold text-green-800">Documentation Mode</H3>
495
- <p className="text-green-600 font-medium" style={{
496
- marginTop: '-12px'
497
- }}>Zero setup required</p>
498
- </div>
499
- </div>
500
-
501
- <ul className="space-y-3">
502
- <li className="flex items-center gap-3">
503
- <svg className="w-5 h-5 text-green-500 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
504
- <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
505
- </svg>
506
- <span className="text-gray-700">Complete SFCC API documentation</span>
507
- </li>
508
- <li className="flex items-center gap-3">
509
- <svg className="w-5 h-5 text-green-500 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
510
- <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
511
- </svg>
512
- <span className="text-gray-700">SFRA guides and best practices</span>
513
- </li>
514
- <li className="flex items-center gap-3">
515
- <svg className="w-5 h-5 text-green-500 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
516
- <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
517
- </svg>
518
- <span className="text-gray-700">Cartridge generation tools</span>
519
- </li>
520
- <li className="flex items-center gap-3">
521
- <svg className="w-5 h-5 text-green-500 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
522
- <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
523
- </svg>
524
- <span className="text-gray-700">Security and performance guidance</span>
525
- </li>
526
- </ul>
527
- </div>
528
-
529
- {/* Full Mode */}
530
- <div className="bg-gradient-to-br from-blue-50 to-purple-50 rounded-2xl p-8 border border-blue-200">
531
- <div className="flex items-center gap-3 mb-6">
532
- <div className="bg-gradient-to-r from-blue-500 to-purple-500 rounded-full p-3">
533
- <svg className="w-6 h-6 text-white" fill="currentColor" viewBox="0 0 20 20">
534
- <path fillRule="evenodd" d="M11.49 3.17c-.38-1.56-2.6-1.56-2.98 0a1.532 1.532 0 01-2.286.948c-1.372-.836-2.942.734-2.106 2.106.54.886.061 2.042-.947 2.287-1.561.379-1.561 2.6 0 2.978a1.532 1.532 0 01.947 2.287c-.836 1.372.734 2.942 2.106 2.106a1.532 1.532 0 012.287.947c.379 1.561 2.6 1.561 2.978 0a1.533 1.533 0 012.287-.947c1.372.836 2.942-.734 2.106-2.106a1.533 1.533 0 01.947-2.287c1.561-.379 1.561-2.6 0-2.978a1.532 1.532 0 01-.947-2.287c.836-1.372-.734-2.942-2.106-2.106a1.532 1.532 0 01-2.287-.947zM10 13a3 3 0 100-6 3 3 0 000 6z" clipRule="evenodd" />
535
- </svg>
536
- </div>
537
- <div>
538
- <H3 id="full-mode" className="text-2xl font-bold text-blue-800 mb-">Full Mode</H3>
539
- <p className="text-blue-600 font-medium" style={{
540
- marginTop: '-12px'
541
- }}>Everything + live data</p>
542
- </div>
543
- </div>
544
-
545
- <ul className="space-y-3">
546
- <li className="flex items-center gap-3">
547
- <svg className="w-5 h-5 text-blue-500 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
548
- <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
549
- </svg>
550
- <span className="text-gray-700">All documentation features</span>
551
- </li>
552
- <li className="flex items-center gap-3">
553
- <svg className="w-5 h-5 text-blue-500 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
554
- <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
555
- </svg>
556
- <span className="text-gray-700">Real-time log analysis</span>
557
- </li>
558
- <li className="flex items-center gap-3">
559
- <svg className="w-5 h-5 text-blue-500 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
560
- <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
561
- </svg>
562
- <span className="text-gray-700">System & custom object exploration</span>
563
- </li>
564
- <li className="flex items-center gap-3">
565
- <svg className="w-5 h-5 text-blue-500 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
566
- <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
567
- </svg>
568
- <span className="text-gray-700">Code version management</span>
569
- </li>
570
- </ul>
571
-
572
- <div className="mt-6 p-4 bg-blue-100 rounded-lg">
573
- <p className="text-blue-800 text-sm font-medium">🔐 Requires SFCC credentials</p>
574
- </div>
575
- </div>
576
- </div>
577
- </div>
578
-
579
- {/* Key Features Overview */}
580
- <div className="mb-16">
581
- <div className="text-center mb-8">
582
- <H2 id="key-features" className="text-3xl font-bold mb-4">✨ Everything You Need</H2>
583
- <p className="text-lg text-gray-600 max-w-3xl mx-auto">
584
- 36+ specialized tools for comprehensive SFCC development support
585
- </p>
586
- </div>
587
-
588
- <div className="grid grid-cols-2 md:grid-cols-5 gap-6">
589
- <div className="text-center">
590
- <div className="bg-blue-100 rounded-full p-4 w-16 h-16 mx-auto mb-3">
591
- <svg className="w-8 h-8 text-blue-600" fill="currentColor" viewBox="0 0 20 20">
592
- <path d="M9 4.804A7.968 7.968 0 005.5 4c-1.255 0-2.443.29-3.5.804v10A7.969 7.969 0 005.5 14c1.669 0 3.218.51 4.5 1.385A7.962 7.962 0 0114.5 14c1.255 0 2.443.29 3.5.804v-10A7.968 7.968 0 0014.5 4c-1.255 0-2.443.29-3.5.804V12a1 1 0 11-2 0V4.804z" />
593
- </svg>
594
- </div>
595
- <h3 className="font-semibold text-gray-900">Documentation</h3>
596
- <p className="text-sm text-gray-600">Complete API docs</p>
597
- </div>
598
-
599
- <div className="text-center">
600
- <div className="bg-green-100 rounded-full p-4 w-16 h-16 mx-auto mb-3">
601
- <svg className="w-8 h-8 text-green-600" fill="currentColor" viewBox="0 0 20 20">
602
- <path fillRule="evenodd" d="M3 3a1 1 0 000 2v8a2 2 0 002 2h2.586l-1.293 1.293a1 1 0 101.414 1.414L10 15.414l2.293 2.293a1 1 0 001.414-1.414L12.414 15H15a2 2 0 002-2V5a1 1 0 100-2H3zm11.707 4.707a1 1 0 00-1.414-1.414L10 9.586 8.707 8.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
603
- </svg>
604
- </div>
605
- <h3 className="font-semibold text-gray-900">Log Analysis</h3>
606
- <p className="text-sm text-gray-600">Real-time monitoring</p>
607
- </div>
608
-
609
- <div className="text-center">
610
- <div className="bg-purple-100 rounded-full p-4 w-16 h-16 mx-auto mb-3">
611
- <svg className="w-8 h-8 text-purple-600" fill="currentColor" viewBox="0 0 20 20">
612
- <path fillRule="evenodd" d="M4 4a2 2 0 00-2 2v8a2 2 0 002 2h12a2 2 0 002-2V6a2 2 0 00-2-2H4zm2 6a2 2 0 104 0 2 2 0 00-4 0zm6 0a2 2 0 104 0 2 2 0 00-4 0z" clipRule="evenodd" />
613
- </svg>
614
- </div>
615
- <h3 className="font-semibold text-gray-900">System Objects</h3>
616
- <p className="text-sm text-gray-600">Live exploration</p>
617
- </div>
618
-
619
- <div className="text-center">
620
- <div className="bg-orange-100 rounded-full p-4 w-16 h-16 mx-auto mb-3">
621
- <svg className="w-8 h-8 text-orange-600" fill="currentColor" viewBox="0 0 20 20">
622
- <path d="M3 4a1 1 0 011-1h12a1 1 0 011 1v2a1 1 0 01-1 1H4a1 1 0 01-1-1V4zm0 4a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H4a1 1 0 01-1-1V8zm8 0a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1h-6a1 1 0 01-1-1V8z" />
623
- </svg>
624
- </div>
625
- <h3 className="font-semibold text-gray-900">Cartridges</h3>
626
- <p className="text-sm text-gray-600">Auto generation</p>
627
- </div>
628
- <div className="text-center">
629
- <div className="bg-yellow-100 rounded-full p-4 w-16 h-16 mx-auto mb-3">
630
- <svg className="w-8 h-8 text-yellow-600" fill="currentColor" viewBox="0 0 20 20">
631
- <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3-9a1 1 0 00-1-1H8a1 1 0 100 2h1v3a1 1 0 102 0v-3h1a1 1 0 001-1z" clipRule="evenodd" />
632
- </svg>
633
- </div>
634
- <h3 className="font-semibold text-gray-900">Job Logs</h3>
635
- <p className="text-sm text-gray-600">Execution insights</p>
636
- </div>
637
- </div>
638
- </div>
639
-
640
- {/* Quick Test Drive Section */}
641
- <div className="mb-16 bg-gradient-to-r from-emerald-50 via-teal-50 to-cyan-50 rounded-2xl p-8 shadow-xl border border-emerald-200">
642
- <div className="text-center mb-8">
643
- <div className="inline-flex items-center gap-2 bg-emerald-100 text-emerald-800 px-4 py-2 rounded-full text-sm font-medium mb-4">
644
- <svg className="w-4 h-4" fill="currentColor" viewBox="0 0 20 20">
645
- <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
646
- </svg>
647
- Test Drive
648
- </div>
649
- <H2 id="quick-test-drive" className="text-3xl font-bold mb-4">🧪 Try It Right Now</H2>
650
- <p className="text-lg text-gray-600 max-w-3xl mx-auto">
651
- After setup, ask your AI assistant this question to see the MCP server in action. No SFCC credentials needed.
652
- </p>
653
- </div>
654
-
655
- <div className="space-y-8">
656
- <div>
657
- <h3 className="text-lg font-semibold text-gray-900 mb-4 text-center">Ask Your AI This</h3>
658
- <div className="bg-gradient-to-r from-blue-50 to-indigo-50 border border-blue-200 rounded-xl p-6">
659
- <div className="flex items-start gap-4">
660
- <div className="flex-1">
661
- <p className="font-medium text-blue-900 mb-3">Copy this prompt:</p>
662
- <div className="bg-white rounded-lg p-4 border border-blue-200">
663
- <p className="text-base font-mono text-gray-800 leading-relaxed">
664
- "Explain how to get the sale price for a product variant in SFCC. Keep it short and a quick example"
665
- </p>
666
- </div>
667
- <div className="mt-3 flex justify-center gap-2 flex-wrap">
668
- <button
669
- onClick={() => navigator.clipboard.writeText('Explain how to get the sale price for a product variant in SFCC. Keep it short and a quick example')}
670
- className="inline-flex items-center gap-2 bg-blue-600 hover:bg-blue-700 text-white px-4 py-2 rounded-lg transition font-medium text-sm"
671
- >
672
- <svg className="w-4 h-4" fill="currentColor" viewBox="0 0 20 20">
673
- <path d="M8 3a1 1 0 011-1h2a1 1 0 110 2H9a1 1 0 01-1-1z" />
674
- <path d="M6 3a2 2 0 00-2 2v11a2 2 0 002 2h8a2 2 0 002-2V5a2 2 0 00-2-2 3 3 0 01-3 3H9a3 3 0 01-3-3z" />
675
- </svg>
676
- Copy Prompt
677
- </button>
678
- <button
679
- onClick={() => setIsWithoutMcpModalOpen(true)}
680
- className="inline-flex items-center gap-2 bg-red-600 hover:bg-red-700 text-white px-4 py-2 rounded-lg transition font-medium text-sm"
681
- >
682
- <svg className="w-4 h-4" fill="currentColor" viewBox="0 0 20 20">
683
- <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" />
684
- </svg>
685
- View Without MCP
686
- </button>
687
- <button
688
- onClick={() => setIsWithMcpModalOpen(true)}
689
- className="inline-flex items-center gap-2 bg-green-600 hover:bg-green-700 text-white px-4 py-2 rounded-lg transition font-medium text-sm"
690
- >
691
- <svg className="w-4 h-4" fill="currentColor" viewBox="0 0 20 20">
692
- <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
693
- </svg>
694
- View With MCP
695
- </button>
696
- </div>
697
- </div>
698
- </div>
699
- </div>
700
- </div>
701
-
702
- <div>
703
- <h3 className="text-lg font-semibold text-gray-900 mb-4 text-center">What You Should See</h3>
704
- <div className="grid md:grid-cols-3 gap-4">
705
- <div className="bg-green-50 border border-green-200 rounded-lg p-4 flex flex-col h-full">
706
- <div className="grid grid-cols-[auto_1fr] gap-2 items-center mb-3">
707
- <div className="bg-green-100 rounded-full p-1">
708
- <svg className="w-4 h-4 text-green-600" fill="currentColor" viewBox="0 0 20 20">
709
- <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
710
- </svg>
711
- </div>
712
- <p className="font-medium text-green-800">SFCC Methods</p>
713
- </div>
714
- <p className="text-sm text-green-700 flex-grow">Lists actual methods like getPriceModel(), getVariationModel()</p>
715
- </div>
716
-
717
- <div className="bg-green-50 border border-green-200 rounded-lg p-4 flex flex-col h-full">
718
- <div className="grid grid-cols-[auto_1fr] gap-2 items-center mb-3">
719
- <div className="bg-green-100 rounded-full p-1">
720
- <svg className="w-4 h-4 text-green-600" fill="currentColor" viewBox="0 0 20 20">
721
- <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
722
- </svg>
723
- </div>
724
- <p className="font-medium text-green-800">Code Examples</p>
725
- </div>
726
- <p className="text-sm text-green-700 flex-grow">Shows real SFCC code patterns with proper syntax</p>
727
- </div>
728
-
729
- <div className="bg-green-50 border border-green-200 rounded-lg p-4 flex flex-col h-full">
730
- <div className="grid grid-cols-[auto_1fr] gap-2 items-center mb-3">
731
- <div className="bg-green-100 rounded-full p-1">
732
- <svg className="w-4 h-4 text-green-600" fill="currentColor" viewBox="0 0 20 20">
733
- <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
734
- </svg>
735
- </div>
736
- <p className="font-medium text-green-800">Documentation</p>
737
- </div>
738
- <p className="text-sm text-green-700 flex-grow">References accurate SFCC API information</p>
739
- </div>
740
- </div>
741
- </div>
742
- </div> <div className="mt-8 p-4 bg-yellow-50 border border-yellow-200 rounded-lg">
743
- <div className="flex items-start gap-3">
744
- <div className="bg-yellow-100 rounded-full p-1 mt-0.5">
745
- <svg className="w-4 h-4 text-yellow-600" fill="currentColor" viewBox="0 0 20 20">
746
- <path fillRule="evenodd" d="M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z" clipRule="evenodd" />
747
- </svg>
748
- </div>
749
- <div className="flex-1">
750
- <p className="font-medium text-yellow-800 mb-1">Without MCP Server</p>
751
- <p className="text-sm text-yellow-700">
752
- Your AI would give generic responses or outdated information. With MCP, it accesses live SFCC documentation and provides accurate, specific answers.
753
- </p>
754
- </div>
755
- </div>
756
- </div>
757
-
758
- <div className="mt-8 text-center">
759
- <p className="text-gray-600 mb-4">✅ Getting SFCC-specific answers? Your setup is working perfectly!</p>
760
- <div className="flex flex-col sm:flex-row gap-3 justify-center">
761
- <NavLink to="/examples/" className="inline-flex items-center justify-center px-6 py-3 rounded-full text-sm font-semibold bg-emerald-600 text-white shadow hover:bg-emerald-700 transition group no-underline hover:no-underline focus:no-underline">
762
- Try More Examples
763
- <span className="ml-2 transition group-hover:translate-x-0.5">→</span>
764
- </NavLink>
765
- <NavLink to="/configuration/" className="inline-flex items-center justify-center px-6 py-3 rounded-full text-sm font-semibold bg-white text-gray-800 border border-gray-300 hover:border-gray-400 hover:bg-gray-50 transition no-underline hover:no-underline focus:no-underline">
766
- Add Full Mode
767
- </NavLink>
768
- </div>
769
- </div>
770
- </div>
771
-
772
- {/* Final CTA */}
773
- <div className="text-center">
774
- <div className="bg-gradient-to-r from-gray-50 to-blue-50 rounded-2xl p-8 border border-gray-200 mb-8">
775
- <p className="text-lg text-gray-700 italic leading-relaxed max-w-4xl mx-auto mb-6">
776
- "Empower your AI assistant with comprehensive SFCC knowledge for faster, more accurate development assistance."
777
- </p>
778
- <div className="flex flex-col sm:flex-row gap-4 justify-center">
779
- <NavLink
780
- to="/ai-interfaces/"
781
- className="group bg-gradient-to-r from-blue-600 to-purple-600 text-white px-8 py-4 rounded-xl font-semibold text-lg shadow-lg hover:shadow-xl transition-all duration-300 transform hover:-translate-y-1 no-underline hover:no-underline focus:no-underline"
782
- >
783
- Get Started Now
784
- <span className="ml-2 group-hover:translate-x-1 inline-block transition-transform">→</span>
785
- </NavLink>
786
- <NavLink
787
- to="/features/"
788
- className="border-2 border-gray-300 text-gray-700 px-8 py-4 rounded-xl font-semibold text-lg hover:border-blue-500 hover:text-blue-600 transition-all duration-300 no-underline hover:no-underline focus:no-underline"
789
- >
790
- Explore Features
791
- </NavLink>
792
- </div>
793
- </div>
794
- </div>
795
-
796
- {/* Modal for WITHOUT MCP screenshot */}
797
- {isWithoutMcpModalOpen && (
798
- <div
799
- className="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center p-4 z-50"
800
- onClick={() => setIsWithoutMcpModalOpen(false)}
801
- >
802
- <div
803
- className="bg-white rounded-2xl shadow-2xl max-w-5xl max-h-[90vh] overflow-auto"
804
- onClick={(e) => e.stopPropagation()}
805
- >
806
- <div className="sticky top-0 bg-white border-b border-gray-200 px-6 py-4 rounded-t-2xl">
807
- <div className="flex items-center justify-between">
808
- <h3 className="text-xl font-semibold text-gray-900 flex items-center gap-2">
809
- <svg className="w-5 h-5 text-red-600" fill="currentColor" viewBox="0 0 20 20">
810
- <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" />
811
- </svg>
812
- AI Response Without MCP Server
813
- </h3>
814
- <button
815
- onClick={() => setIsWithoutMcpModalOpen(false)}
816
- className="text-gray-400 hover:text-gray-600 transition-colors"
817
- aria-label="Close modal"
818
- >
819
- <svg className="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
820
- <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M6 18L18 6M6 6l12 12" />
821
- </svg>
822
- </button>
823
- </div>
824
- </div>
825
- <div className="p-6">
826
- <div className="mb-6 relative">
827
- <div className="relative overflow-hidden rounded-lg shadow-lg border border-gray-200">
828
- <img
829
- ref={imageRef1}
830
- src="/explain-product-pricing-methods-no-mcp.png"
831
- alt="AI response without MCP server - generic and potentially inaccurate information"
832
- className="w-full h-auto cursor-crosshair"
833
- onMouseMove={handleMouseMove1}
834
- onMouseEnter={handleMouseEnter1}
835
- onMouseLeave={handleMouseLeave1}
836
- />
837
-
838
- {/* Zoom circle */}
839
- {isZooming1 && (
840
- <div
841
- className="absolute pointer-events-none border-4 border-white shadow-lg rounded-full overflow-hidden"
842
- style={{
843
- width: '300px',
844
- height: '300px',
845
- left: `${zoomPosition1.x - 150}px`,
846
- top: `${zoomPosition1.y - 150}px`,
847
- backgroundImage: `url('/explain-product-pricing-methods-no-mcp.png')`,
848
- backgroundSize: `${imageRef1.current ? imageRef1.current.offsetWidth * 2 : 0}px ${imageRef1.current ? imageRef1.current.offsetHeight * 2 : 0}px`,
849
- backgroundPosition: `-${zoomPosition1.x * 2 - 150}px -${zoomPosition1.y * 2 - 150}px`,
850
- backgroundRepeat: 'no-repeat',
851
- transform: 'translate(0, 0)',
852
- zIndex: 1000
853
- }}
854
- >
855
- <div className="absolute inset-0 ring-2 ring-red-500 ring-opacity-50 rounded-full"></div>
856
- </div>
857
- )}
858
- </div>
859
- </div>
860
-
861
- <div className="bg-red-50 border border-red-200 rounded-xl p-6">
862
- <h4 className="text-lg font-semibold text-red-900 mb-4 flex items-center gap-2">
863
- <svg className="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
864
- <path fillRule="evenodd" d="M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z" clipRule="evenodd" />
865
- </svg>
866
- Problems with This Response
867
- </h4>
868
- <div className="space-y-4">
869
- <div className="p-4 bg-white border border-red-300 rounded-lg">
870
- <p className="font-semibold text-red-800 mb-2">🎯 Wrong API Usage:</p>
871
- <p className="text-sm text-red-700">
872
- Suggests non-existent methods like <code className="bg-red-200 px-1 rounded font-mono">product.getVariant('variant-id')</code>
873
- and shows client-side fetch to non-standard endpoints. These approaches don't exist in SFCC
874
- and would cause runtime errors in production.
875
- </p>
876
- </div>
877
- <div className="p-4 bg-white border border-red-300 rounded-lg">
878
- <p className="font-semibold text-red-800 mb-2">📚 Outdated Patterns:</p>
879
- <p className="text-sm text-red-700">
880
- Shows generic client-side fetch patterns to non-standard endpoints like
881
- <code className="bg-red-200 px-1 rounded font-mono">/on/demandware.store/Sites-SiteGenesis-Site/</code>
882
- instead of current SFRA controller patterns. This leads developers down the wrong implementation path.
883
- </p>
884
- </div>
885
- <div className="p-4 bg-white border border-red-300 rounded-lg">
886
- <p className="font-semibold text-red-800 mb-2">🤔 Generic Assumptions:</p>
887
- <p className="text-sm text-red-700">
888
- Makes assumptions about SFCC architecture without understanding the actual API structure.
889
- Provides general e-commerce patterns that don't align with SFCC's specific implementation.
890
- </p>
891
- </div>
892
- <div className="grid md:grid-cols-2 gap-4">
893
- <div>
894
- <h5 className="font-semibold text-red-800 mb-2">Other Issues:</h5>
895
- <ul className="text-sm text-red-700 space-y-1">
896
- <li>Non-existent API methods suggested</li>
897
- <li>Generic client-side fetch patterns</li>
898
- <li>Broken endpoint examples</li>
899
- <li>Generic assumptions about SFCC</li>
900
- </ul>
901
- </div>
902
- <div>
903
- <h5 className="font-semibold text-red-800 mb-2">Developer Impact:</h5>
904
- <ul className="text-sm text-red-700 space-y-1">
905
- <li>Runtime errors from wrong API calls</li>
906
- <li>Time wasted on deprecated patterns</li>
907
- <li>Following incorrect implementation paths</li>
908
- <li>Loss of confidence in AI guidance</li>
909
- </ul>
910
- </div>
911
- </div>
912
- </div>
913
- </div>
914
- </div>
915
- </div>
916
- </div>
917
- )}
918
-
919
- {/* Modal for WITH MCP screenshot */}
920
- {isWithMcpModalOpen && (
921
- <div
922
- className="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center p-4 z-50"
923
- onClick={() => setIsWithMcpModalOpen(false)}
924
- >
925
- <div
926
- className="bg-white rounded-2xl shadow-2xl max-w-5xl max-h-[90vh] overflow-auto"
927
- onClick={(e) => e.stopPropagation()}
928
- >
929
- <div className="sticky top-0 bg-white border-b border-gray-200 px-6 py-4 rounded-t-2xl">
930
- <div className="flex items-center justify-between">
931
- <h3 className="text-xl font-semibold text-gray-900 flex items-center gap-2">
932
- <svg className="w-5 h-5 text-green-600" fill="currentColor" viewBox="0 0 20 20">
933
- <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
934
- </svg>
935
- AI Response With MCP Server
936
- </h3>
937
- <button
938
- onClick={() => setIsWithMcpModalOpen(false)}
939
- className="text-gray-400 hover:text-gray-600 transition-colors"
940
- aria-label="Close modal"
941
- >
942
- <svg className="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
943
- <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M6 18L18 6M6 6l12 12" />
944
- </svg>
945
- </button>
946
- </div>
947
- </div>
948
- <div className="p-6">
949
- <div className="mb-6 relative">
950
- <div className="relative overflow-hidden rounded-lg shadow-lg border border-gray-200">
951
- <img
952
- ref={imageRef2}
953
- src="/explain-product-pricing-methods.png"
954
- alt="AI response with MCP server - accurate SFCC-specific information and code examples"
955
- className="w-full h-auto cursor-crosshair"
956
- onMouseMove={handleMouseMove2}
957
- onMouseEnter={handleMouseEnter2}
958
- onMouseLeave={handleMouseLeave2}
959
- />
960
-
961
- {/* Zoom circle */}
962
- {isZooming2 && (
963
- <div
964
- className="absolute pointer-events-none border-4 border-white shadow-lg rounded-full overflow-hidden"
965
- style={{
966
- width: '300px',
967
- height: '300px',
968
- left: `${zoomPosition2.x - 150}px`,
969
- top: `${zoomPosition2.y - 150}px`,
970
- backgroundImage: `url('/explain-product-pricing-methods.png')`,
971
- backgroundSize: `${imageRef2.current ? imageRef2.current.offsetWidth * 2 : 0}px ${imageRef2.current ? imageRef2.current.offsetHeight * 2 : 0}px`,
972
- backgroundPosition: `-${zoomPosition2.x * 2 - 150}px -${zoomPosition2.y * 2 - 150}px`,
973
- backgroundRepeat: 'no-repeat',
974
- transform: 'translate(0, 0)',
975
- zIndex: 1000
976
- }}
977
- >
978
- <div className="absolute inset-0 ring-2 ring-green-500 ring-opacity-50 rounded-full"></div>
979
- </div>
980
- )}
981
- </div>
982
- </div>
983
-
984
- <div className="bg-green-50 border border-green-200 rounded-xl p-6">
985
- <h4 className="text-lg font-semibold text-green-900 mb-4 flex items-center gap-2">
986
- <svg className="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
987
- <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
988
- </svg>
989
- Why This Response is Accurate
990
- </h4>
991
- <div className="space-y-4">
992
- <div className="p-4 bg-white border border-green-300 rounded-lg">
993
- <p className="font-semibold text-green-800 mb-2">✅ Accurate SFCC Implementation:</p>
994
- <p className="text-sm text-green-700">
995
- The AI correctly uses <code className="bg-green-200 px-1 rounded font-mono">ProductMgr.getProduct()</code>
996
- and <code className="bg-green-200 px-1 rounded font-mono">getPriceModel().getPrice()</code> with
997
- proper syntax. It also mentions the correct <code className="bg-green-200 px-1 rounded font-mono">Money</code>
998
- object return type and <code className="bg-green-200 px-1 rounded font-mono">toFormattedString()</code> method.
999
- </p>
1000
- </div>
1001
- <div className="p-4 bg-white border border-green-300 rounded-lg">
1002
- <p className="font-semibold text-green-800 mb-2">🔍 Comprehensive Context:</p>
1003
- <p className="text-sm text-green-700">
1004
- Explains important details like <code className="bg-green-200 px-1 rounded font-mono">Money.NOT_AVAILABLE</code>
1005
- handling, quantity-based pricing options, and <code className="bg-green-200 px-1 rounded font-mono">getPriceInfo()</code>
1006
- for additional price book details. Shows understanding of SFCC pricing architecture.
1007
- </p>
1008
- </div>
1009
- <div className="p-4 bg-white border border-green-300 rounded-lg">
1010
- <p className="font-semibold text-green-800 mb-2">🎯 Real-World Ready:</p>
1011
- <p className="text-sm text-green-700">
1012
- Code examples are production-ready and follow current SFRA patterns. The AI shows
1013
- MCP server integration by using actual SFCC documentation tools during the response.
1014
- </p>
1015
- </div>
1016
- <div className="grid md:grid-cols-2 gap-4">
1017
- <div>
1018
- <h5 className="font-semibold text-green-800 mb-2">Key Benefits:</h5>
1019
- <ul className="text-sm text-green-700 space-y-1">
1020
- <li>Syntactically correct SFCC code</li>
1021
- <li>Proper ProductPriceModel usage</li>
1022
- <li>Current SFRA best practices</li>
1023
- <li>Real-time documentation access</li>
1024
- </ul>
1025
- </div>
1026
- <div>
1027
- <h5 className="font-semibold text-green-800 mb-2">Developer Impact:</h5>
1028
- <ul className="text-sm text-green-700 space-y-1">
1029
- <li>Copy-paste ready code examples</li>
1030
- <li>Production-ready implementations</li>
1031
- <li>Comprehensive error handling info</li>
1032
- <li>Advanced API usage patterns</li>
1033
- </ul>
1034
- </div>
1035
- </div>
1036
- </div>
1037
- </div>
1038
- </div>
1039
- </div>
1040
- </div>
1041
- )}
1042
- </div>
1043
- );
1044
- };
1045
-
1046
- export default HomePage;