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.
- package/.github/ISSUE_TEMPLATE/bug_report.yml +3 -1
- package/.github/ISSUE_TEMPLATE/documentation.yml +2 -2
- package/.github/ISSUE_TEMPLATE/question.yml +1 -1
- package/.github/PULL_REQUEST_TEMPLATE/documentation.md +1 -1
- package/.github/PULL_REQUEST_TEMPLATE/new_tool.md +1 -1
- package/.github/agents/official-docs-researcher.agent.md +56 -0
- package/.github/instructions/mcp-node-tests.instructions.md +12 -916
- package/.github/instructions/mcp-yml-tests.instructions.md +14 -742
- package/.github/pull_request_template.md +1 -1
- package/.github/skills/agent-authoring/SKILL.md +66 -0
- package/.github/skills/mcp-log-debugging/SKILL.md +69 -0
- package/.github/skills/mcp-programmatic-testing/SKILL.md +142 -0
- package/.github/skills/mcp-yaml-testing/SKILL.md +136 -0
- package/.github/skills/salesforce-developer-site-scraper/SKILL.md +102 -0
- package/.github/skills/salesforce-developer-site-scraper/scripts/scrape-to-markdown.js +205 -0
- package/.github/skills/salesforce-help-site-scraper/SKILL.md +84 -0
- package/.github/skills/salesforce-help-site-scraper/scripts/scrape-help-to-markdown.js +212 -0
- package/.github/skills/skill-authoring/SKILL.md +228 -0
- package/.github/skills/skill-authoring/references/PATTERNS.md +384 -0
- package/.github/workflows/ci.yml +3 -3
- package/.github/workflows/deploy-pages.yml +9 -19
- package/.github/workflows/publish.yml +5 -2
- package/.github/workflows/update-docs.yml +1 -1
- package/AGENTS.md +140 -286
- package/CONTRIBUTING.md +10 -22
- package/README.md +48 -16
- package/ai-instructions/{github-copilot/copilot-instructions.md → AGENTS.md} +99 -127
- package/ai-instructions/skills/sfcc-caching/SKILL.md +89 -0
- package/{dist/docs/best-practices/cartridge_creation.md → ai-instructions/skills/sfcc-cartridge-development/SKILL.md} +31 -7
- package/ai-instructions/skills/sfcc-forms-development/SKILL.md +261 -0
- package/ai-instructions/skills/sfcc-forms-development/references/ARCHITECTURE-SGJC-SFRA.md +143 -0
- package/ai-instructions/skills/sfcc-forms-development/references/FORM-XML-CHEATSHEET.md +127 -0
- package/ai-instructions/skills/sfcc-fraud-prevention/SKILL.md +95 -0
- package/ai-instructions/skills/sfcc-hooks-registration/SKILL.md +39 -0
- package/ai-instructions/skills/sfcc-isml-development/SKILL.md +370 -0
- package/ai-instructions/skills/sfcc-isml-development/references/REMOTE-INCLUDES.md +116 -0
- package/ai-instructions/skills/sfcc-isml-development/references/SFRA-LAYOUTS.md +50 -0
- package/ai-instructions/skills/sfcc-isml-development/references/SFRA-PAGES-CART-ACCOUNT-AUTH.md +45 -0
- package/ai-instructions/skills/sfcc-isml-development/references/SFRA-PAGES-CATALOG.md +85 -0
- package/ai-instructions/skills/sfcc-isml-development/references/SFRA-STRUCTURE-COMPONENTS.md +63 -0
- package/ai-instructions/skills/sfcc-isml-development/references/UTILITIES-EXPRESSIONS.md +159 -0
- package/ai-instructions/skills/sfcc-isml-development/references/sfra-base-templates-architecture.md +13 -0
- package/ai-instructions/skills/sfcc-job-development/SKILL.md +334 -0
- package/ai-instructions/skills/sfcc-job-development/references/CHUNK-ORIENTED.md +393 -0
- package/ai-instructions/skills/sfcc-job-development/references/STEPTYPES-JSON.md +271 -0
- package/ai-instructions/skills/sfcc-job-development/references/TASK-ORIENTED.md +257 -0
- package/ai-instructions/skills/sfcc-localization/SKILL.md +92 -0
- package/ai-instructions/skills/sfcc-localization/references/CONTROLLERS.md +63 -0
- package/ai-instructions/skills/sfcc-localization/references/FORMATTING.md +29 -0
- package/ai-instructions/skills/sfcc-localization/references/FORMS-LOCALIZATION.md +33 -0
- package/ai-instructions/skills/sfcc-localization/references/JAVASCRIPT-LOCALIZATION.md +41 -0
- package/ai-instructions/skills/sfcc-localization/references/LOCALE-SWITCHING.md +35 -0
- package/ai-instructions/skills/sfcc-localization/references/PATTERNS.md +740 -0
- package/ai-instructions/skills/sfcc-localization/references/PROPERTIES-ENCODING.md +25 -0
- package/ai-instructions/skills/sfcc-localization/references/RESOURCE-BUNDLES.md +67 -0
- package/ai-instructions/skills/sfcc-localization/references/STATIC-FILES.md +23 -0
- package/ai-instructions/skills/sfcc-localization/references/TESTING.md +21 -0
- package/{docs/best-practices/localserviceregistry.md → ai-instructions/skills/sfcc-localserviceregistry/SKILL.md} +65 -31
- package/ai-instructions/skills/sfcc-logging/SKILL.md +352 -0
- package/ai-instructions/skills/sfcc-logging/references/LOG-FILES.md +282 -0
- package/{docs/best-practices/ocapi_hooks.md → ai-instructions/skills/sfcc-ocapi-hooks/SKILL.md} +51 -16
- package/ai-instructions/skills/sfcc-ocapi-scapi-slas/SKILL.md +108 -0
- package/ai-instructions/skills/sfcc-page-designer/SKILL.md +353 -0
- package/ai-instructions/skills/sfcc-page-designer/references/ATTRIBUTE-TYPES.md +436 -0
- package/ai-instructions/skills/sfcc-page-designer/references/META-DEFINITIONS.md +322 -0
- package/{dist/docs/best-practices/performance.md → ai-instructions/skills/sfcc-performance/SKILL.md} +35 -3
- package/ai-instructions/skills/sfcc-platform-limits/SKILL.md +89 -0
- package/ai-instructions/skills/sfcc-scapi-custom-endpoints/SKILL.md +237 -0
- package/ai-instructions/skills/sfcc-scapi-custom-endpoints/references/AUTHENTICATION.md +214 -0
- package/ai-instructions/skills/sfcc-scapi-custom-endpoints/references/URL-MAPPING.md +253 -0
- package/{docs/best-practices/scapi_hooks.md → ai-instructions/skills/sfcc-scapi-hooks/SKILL.md} +44 -17
- package/ai-instructions/skills/sfcc-script-evaluation/SKILL.md +380 -0
- package/{docs/best-practices/security.md → ai-instructions/skills/sfcc-security/SKILL.md} +12 -3
- package/ai-instructions/skills/sfcc-sfra-client-side-js/SKILL.md +270 -0
- package/ai-instructions/skills/sfcc-sfra-client-side-js/references/AJAX-CSRF-VALIDATION.md +285 -0
- package/ai-instructions/skills/sfcc-sfra-client-side-js/references/BASE-MODULE-INDEX.md +206 -0
- package/ai-instructions/skills/sfcc-sfra-client-side-js/references/EXTENSION-PATTERNS.md +165 -0
- package/ai-instructions/skills/sfcc-sfra-client-side-js/references/PLUGIN-PATTERNS.md +185 -0
- package/ai-instructions/skills/sfcc-sfra-controllers/SKILL.md +347 -0
- package/ai-instructions/skills/sfcc-sfra-controllers/references/MIDDLEWARE-REFERENCE.md +257 -0
- package/ai-instructions/skills/sfcc-sfra-controllers/references/REMOTE-INCLUDES.md +193 -0
- package/{dist/docs/best-practices/sfra_controllers.md → ai-instructions/skills/sfcc-sfra-controllers/references/standard-sfra-controllers.md} +0 -670
- package/ai-instructions/skills/sfcc-sfra-models/SKILL.md +322 -0
- package/ai-instructions/skills/sfcc-sfra-models/references/MODEL-PATTERNS.md +530 -0
- package/ai-instructions/skills/sfcc-sfra-models/references/MODEL-STRUCTURE.md +234 -0
- package/ai-instructions/skills/sfcc-sfra-models/references/TESTING-SECURITY.md +417 -0
- package/{dist/docs/best-practices/sfra_scss.md → ai-instructions/skills/sfcc-sfra-scss/SKILL.md} +5 -0
- package/ai-instructions/skills/sfcc-webdav-workflows/SKILL.md +111 -0
- package/dist/ai-instructions/AGENTS.md +628 -0
- package/dist/ai-instructions/skills/sfcc-caching/SKILL.md +89 -0
- package/{docs/best-practices/cartridge_creation.md → dist/ai-instructions/skills/sfcc-cartridge-development/SKILL.md} +31 -7
- package/dist/ai-instructions/skills/sfcc-forms-development/SKILL.md +261 -0
- package/dist/ai-instructions/skills/sfcc-forms-development/references/ARCHITECTURE-SGJC-SFRA.md +143 -0
- package/dist/ai-instructions/skills/sfcc-forms-development/references/FORM-XML-CHEATSHEET.md +127 -0
- package/dist/ai-instructions/skills/sfcc-fraud-prevention/SKILL.md +95 -0
- package/dist/ai-instructions/skills/sfcc-hooks-registration/SKILL.md +39 -0
- package/dist/ai-instructions/skills/sfcc-isml-development/SKILL.md +370 -0
- package/dist/ai-instructions/skills/sfcc-isml-development/references/REMOTE-INCLUDES.md +116 -0
- package/dist/ai-instructions/skills/sfcc-isml-development/references/SFRA-LAYOUTS.md +50 -0
- package/dist/ai-instructions/skills/sfcc-isml-development/references/SFRA-PAGES-CART-ACCOUNT-AUTH.md +45 -0
- package/dist/ai-instructions/skills/sfcc-isml-development/references/SFRA-PAGES-CATALOG.md +85 -0
- package/dist/ai-instructions/skills/sfcc-isml-development/references/SFRA-STRUCTURE-COMPONENTS.md +63 -0
- package/dist/ai-instructions/skills/sfcc-isml-development/references/UTILITIES-EXPRESSIONS.md +159 -0
- package/dist/ai-instructions/skills/sfcc-isml-development/references/sfra-base-templates-architecture.md +13 -0
- package/dist/ai-instructions/skills/sfcc-job-development/SKILL.md +334 -0
- package/dist/ai-instructions/skills/sfcc-job-development/references/CHUNK-ORIENTED.md +393 -0
- package/dist/ai-instructions/skills/sfcc-job-development/references/STEPTYPES-JSON.md +271 -0
- package/dist/ai-instructions/skills/sfcc-job-development/references/TASK-ORIENTED.md +257 -0
- package/dist/ai-instructions/skills/sfcc-localization/SKILL.md +92 -0
- package/dist/ai-instructions/skills/sfcc-localization/references/CONTROLLERS.md +63 -0
- package/dist/ai-instructions/skills/sfcc-localization/references/FORMATTING.md +29 -0
- package/dist/ai-instructions/skills/sfcc-localization/references/FORMS-LOCALIZATION.md +33 -0
- package/dist/ai-instructions/skills/sfcc-localization/references/JAVASCRIPT-LOCALIZATION.md +41 -0
- package/dist/ai-instructions/skills/sfcc-localization/references/LOCALE-SWITCHING.md +35 -0
- package/dist/ai-instructions/skills/sfcc-localization/references/PATTERNS.md +740 -0
- package/dist/ai-instructions/skills/sfcc-localization/references/PROPERTIES-ENCODING.md +25 -0
- package/dist/ai-instructions/skills/sfcc-localization/references/RESOURCE-BUNDLES.md +67 -0
- package/dist/ai-instructions/skills/sfcc-localization/references/STATIC-FILES.md +23 -0
- package/dist/ai-instructions/skills/sfcc-localization/references/TESTING.md +21 -0
- package/dist/{docs/best-practices/localserviceregistry.md → ai-instructions/skills/sfcc-localserviceregistry/SKILL.md} +65 -31
- package/dist/ai-instructions/skills/sfcc-logging/SKILL.md +352 -0
- package/dist/ai-instructions/skills/sfcc-logging/references/LOG-FILES.md +282 -0
- package/dist/{docs/best-practices/ocapi_hooks.md → ai-instructions/skills/sfcc-ocapi-hooks/SKILL.md} +51 -16
- package/dist/ai-instructions/skills/sfcc-ocapi-scapi-slas/SKILL.md +108 -0
- package/dist/ai-instructions/skills/sfcc-page-designer/SKILL.md +353 -0
- package/dist/ai-instructions/skills/sfcc-page-designer/references/ATTRIBUTE-TYPES.md +436 -0
- package/dist/ai-instructions/skills/sfcc-page-designer/references/META-DEFINITIONS.md +322 -0
- package/{docs/best-practices/performance.md → dist/ai-instructions/skills/sfcc-performance/SKILL.md} +35 -3
- package/dist/ai-instructions/skills/sfcc-platform-limits/SKILL.md +89 -0
- package/dist/ai-instructions/skills/sfcc-scapi-custom-endpoints/SKILL.md +237 -0
- package/dist/ai-instructions/skills/sfcc-scapi-custom-endpoints/references/AUTHENTICATION.md +214 -0
- package/dist/ai-instructions/skills/sfcc-scapi-custom-endpoints/references/URL-MAPPING.md +253 -0
- package/dist/{docs/best-practices/scapi_hooks.md → ai-instructions/skills/sfcc-scapi-hooks/SKILL.md} +44 -17
- package/dist/ai-instructions/skills/sfcc-script-evaluation/SKILL.md +380 -0
- package/dist/{docs/best-practices/security.md → ai-instructions/skills/sfcc-security/SKILL.md} +12 -3
- package/dist/ai-instructions/skills/sfcc-sfra-client-side-js/SKILL.md +270 -0
- package/dist/ai-instructions/skills/sfcc-sfra-client-side-js/references/AJAX-CSRF-VALIDATION.md +285 -0
- package/dist/ai-instructions/skills/sfcc-sfra-client-side-js/references/BASE-MODULE-INDEX.md +206 -0
- package/dist/ai-instructions/skills/sfcc-sfra-client-side-js/references/EXTENSION-PATTERNS.md +165 -0
- package/dist/ai-instructions/skills/sfcc-sfra-client-side-js/references/PLUGIN-PATTERNS.md +185 -0
- package/dist/ai-instructions/skills/sfcc-sfra-controllers/SKILL.md +347 -0
- package/dist/ai-instructions/skills/sfcc-sfra-controllers/references/MIDDLEWARE-REFERENCE.md +257 -0
- package/dist/ai-instructions/skills/sfcc-sfra-controllers/references/REMOTE-INCLUDES.md +193 -0
- package/{docs/best-practices/sfra_controllers.md → dist/ai-instructions/skills/sfcc-sfra-controllers/references/standard-sfra-controllers.md} +0 -670
- package/dist/ai-instructions/skills/sfcc-sfra-models/SKILL.md +322 -0
- package/dist/ai-instructions/skills/sfcc-sfra-models/references/MODEL-PATTERNS.md +530 -0
- package/dist/ai-instructions/skills/sfcc-sfra-models/references/MODEL-STRUCTURE.md +234 -0
- package/dist/ai-instructions/skills/sfcc-sfra-models/references/TESTING-SECURITY.md +417 -0
- package/{docs/best-practices/sfra_scss.md → dist/ai-instructions/skills/sfcc-sfra-scss/SKILL.md} +5 -0
- package/dist/ai-instructions/skills/sfcc-webdav-workflows/SKILL.md +111 -0
- package/dist/clients/agent-instructions-client.d.ts +66 -0
- package/dist/clients/agent-instructions-client.d.ts.map +1 -0
- package/dist/clients/agent-instructions-client.js +277 -0
- package/dist/clients/agent-instructions-client.js.map +1 -0
- package/dist/clients/base/abstract-documentation-client.d.ts +146 -0
- package/dist/clients/base/abstract-documentation-client.d.ts.map +1 -0
- package/dist/clients/base/abstract-documentation-client.js +265 -0
- package/dist/clients/base/abstract-documentation-client.js.map +1 -0
- package/dist/clients/base/oauth-token.d.ts +18 -0
- package/dist/clients/base/oauth-token.d.ts.map +1 -1
- package/dist/clients/base/oauth-token.js +45 -2
- package/dist/clients/base/oauth-token.js.map +1 -1
- package/dist/clients/cartridge/cartridge-generation-client.d.ts +59 -0
- package/dist/clients/cartridge/cartridge-generation-client.d.ts.map +1 -0
- package/dist/clients/cartridge/cartridge-generation-client.js +224 -0
- package/dist/clients/cartridge/cartridge-generation-client.js.map +1 -0
- package/dist/clients/cartridge/cartridge-structure.d.ts +17 -0
- package/dist/clients/cartridge/cartridge-structure.d.ts.map +1 -0
- package/dist/clients/cartridge/cartridge-structure.js +33 -0
- package/dist/clients/cartridge/cartridge-structure.js.map +1 -0
- package/dist/clients/cartridge/cartridge-templates.d.ts +22 -0
- package/dist/clients/cartridge/cartridge-templates.d.ts.map +1 -0
- package/dist/clients/cartridge/cartridge-templates.js +225 -0
- package/dist/clients/cartridge/cartridge-templates.js.map +1 -0
- package/dist/clients/cartridge/index.d.ts +7 -0
- package/dist/clients/cartridge/index.d.ts.map +1 -0
- package/dist/clients/cartridge/index.js +7 -0
- package/dist/clients/cartridge/index.js.map +1 -0
- package/dist/clients/docs/documentation-scanner.d.ts +5 -2
- package/dist/clients/docs/documentation-scanner.d.ts.map +1 -1
- package/dist/clients/docs/documentation-scanner.js +38 -23
- package/dist/clients/docs/documentation-scanner.js.map +1 -1
- package/dist/clients/docs-client.d.ts +13 -4
- package/dist/clients/docs-client.d.ts.map +1 -1
- package/dist/clients/docs-client.js +44 -11
- package/dist/clients/docs-client.js.map +1 -1
- package/dist/clients/isml-client.d.ts +71 -0
- package/dist/clients/isml-client.d.ts.map +1 -0
- package/dist/clients/isml-client.js +252 -0
- package/dist/clients/isml-client.js.map +1 -0
- package/dist/clients/ocapi/code-versions-client.d.ts.map +1 -1
- package/dist/clients/ocapi/code-versions-client.js +6 -1
- package/dist/clients/ocapi/code-versions-client.js.map +1 -1
- package/dist/clients/ocapi-client.d.ts +9 -101
- package/dist/clients/ocapi-client.d.ts.map +1 -1
- package/dist/clients/ocapi-client.js +11 -93
- package/dist/clients/ocapi-client.js.map +1 -1
- package/dist/clients/script-debugger/index.d.ts +5 -0
- package/dist/clients/script-debugger/index.d.ts.map +1 -0
- package/dist/clients/script-debugger/index.js +5 -0
- package/dist/clients/script-debugger/index.js.map +1 -0
- package/dist/clients/script-debugger/script-debugger-client.d.ts +147 -0
- package/dist/clients/script-debugger/script-debugger-client.d.ts.map +1 -0
- package/dist/clients/script-debugger/script-debugger-client.js +591 -0
- package/dist/clients/script-debugger/script-debugger-client.js.map +1 -0
- package/dist/clients/sfra-client.d.ts +13 -62
- package/dist/clients/sfra-client.d.ts.map +1 -1
- package/dist/clients/sfra-client.js +105 -326
- package/dist/clients/sfra-client.js.map +1 -1
- package/dist/config/configuration-factory.d.ts +1 -1
- package/dist/config/configuration-factory.d.ts.map +1 -1
- package/dist/config/configuration-factory.js +5 -1
- package/dist/config/configuration-factory.js.map +1 -1
- package/dist/config/dw-json-loader.d.ts +7 -0
- package/dist/config/dw-json-loader.d.ts.map +1 -1
- package/dist/config/dw-json-loader.js +92 -15
- package/dist/config/dw-json-loader.js.map +1 -1
- package/dist/config/workspace-roots.d.ts +143 -0
- package/dist/config/workspace-roots.d.ts.map +1 -0
- package/dist/config/workspace-roots.js +448 -0
- package/dist/config/workspace-roots.js.map +1 -0
- package/dist/constants/index.d.ts +1 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +3 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/core/handlers/abstract-client-handler.d.ts +52 -0
- package/dist/core/handlers/abstract-client-handler.d.ts.map +1 -0
- package/dist/core/handlers/abstract-client-handler.js +51 -0
- package/dist/core/handlers/abstract-client-handler.js.map +1 -0
- package/dist/core/handlers/agent-instructions-handler.d.ts +17 -0
- package/dist/core/handlers/agent-instructions-handler.d.ts.map +1 -0
- package/dist/core/handlers/agent-instructions-handler.js +38 -0
- package/dist/core/handlers/agent-instructions-handler.js.map +1 -0
- package/dist/core/handlers/base-handler.d.ts +3 -68
- package/dist/core/handlers/base-handler.d.ts.map +1 -1
- package/dist/core/handlers/base-handler.js +11 -84
- package/dist/core/handlers/base-handler.js.map +1 -1
- package/dist/core/handlers/cartridge-handler.d.ts +10 -11
- package/dist/core/handlers/cartridge-handler.d.ts.map +1 -1
- package/dist/core/handlers/cartridge-handler.js +10 -28
- package/dist/core/handlers/cartridge-handler.js.map +1 -1
- package/dist/core/handlers/client-factory.d.ts +12 -2
- package/dist/core/handlers/client-factory.d.ts.map +1 -1
- package/dist/core/handlers/client-factory.js +28 -1
- package/dist/core/handlers/client-factory.js.map +1 -1
- package/dist/core/handlers/code-version-handler.d.ts +11 -11
- package/dist/core/handlers/code-version-handler.d.ts.map +1 -1
- package/dist/core/handlers/code-version-handler.js +13 -27
- package/dist/core/handlers/code-version-handler.js.map +1 -1
- package/dist/core/handlers/docs-handler.d.ts +6 -12
- package/dist/core/handlers/docs-handler.d.ts.map +1 -1
- package/dist/core/handlers/docs-handler.js +11 -36
- package/dist/core/handlers/docs-handler.js.map +1 -1
- package/dist/core/handlers/isml-handler.d.ts +11 -0
- package/dist/core/handlers/isml-handler.d.ts.map +1 -0
- package/dist/core/handlers/isml-handler.js +18 -0
- package/dist/core/handlers/isml-handler.js.map +1 -0
- package/dist/core/handlers/job-log-handler.d.ts +8 -7
- package/dist/core/handlers/job-log-handler.d.ts.map +1 -1
- package/dist/core/handlers/job-log-handler.js +14 -5
- package/dist/core/handlers/job-log-handler.js.map +1 -1
- package/dist/core/handlers/log-handler.d.ts +8 -7
- package/dist/core/handlers/log-handler.d.ts.map +1 -1
- package/dist/core/handlers/log-handler.js +14 -5
- package/dist/core/handlers/log-handler.js.map +1 -1
- package/dist/core/handlers/script-debugger-handler.d.ts +18 -0
- package/dist/core/handlers/script-debugger-handler.d.ts.map +1 -0
- package/dist/core/handlers/script-debugger-handler.js +31 -0
- package/dist/core/handlers/script-debugger-handler.js.map +1 -0
- package/dist/core/handlers/sfra-handler.d.ts +6 -12
- package/dist/core/handlers/sfra-handler.d.ts.map +1 -1
- package/dist/core/handlers/sfra-handler.js +11 -36
- package/dist/core/handlers/sfra-handler.js.map +1 -1
- package/dist/core/handlers/simple-client-handler.d.ts +41 -0
- package/dist/core/handlers/simple-client-handler.d.ts.map +1 -0
- package/dist/core/handlers/simple-client-handler.js +49 -0
- package/dist/core/handlers/simple-client-handler.js.map +1 -0
- package/dist/core/handlers/system-object-handler.d.ts +11 -11
- package/dist/core/handlers/system-object-handler.d.ts.map +1 -1
- package/dist/core/handlers/system-object-handler.js +13 -27
- package/dist/core/handlers/system-object-handler.js.map +1 -1
- package/dist/core/handlers/validation-helpers.d.ts +22 -24
- package/dist/core/handlers/validation-helpers.d.ts.map +1 -1
- package/dist/core/handlers/validation-helpers.js +89 -39
- package/dist/core/handlers/validation-helpers.js.map +1 -1
- package/dist/core/instruction-advisor.d.ts +28 -0
- package/dist/core/instruction-advisor.d.ts.map +1 -0
- package/dist/core/instruction-advisor.js +114 -0
- package/dist/core/instruction-advisor.js.map +1 -0
- package/dist/core/server.d.ts +25 -0
- package/dist/core/server.d.ts.map +1 -1
- package/dist/core/server.js +151 -11
- package/dist/core/server.js.map +1 -1
- package/dist/core/tool-definitions.d.ts +6 -854
- package/dist/core/tool-definitions.d.ts.map +1 -1
- package/dist/core/tool-definitions.js +8 -1064
- package/dist/core/tool-definitions.js.map +1 -1
- package/dist/core/tool-schemas/agent-instruction-tools.d.ts +77 -0
- package/dist/core/tool-schemas/agent-instruction-tools.d.ts.map +1 -0
- package/dist/core/tool-schemas/agent-instruction-tools.js +72 -0
- package/dist/core/tool-schemas/agent-instruction-tools.js.map +1 -0
- package/dist/core/tool-schemas/cartridge-tools.d.ts +27 -0
- package/dist/core/tool-schemas/cartridge-tools.d.ts.map +1 -0
- package/dist/core/tool-schemas/cartridge-tools.js +29 -0
- package/dist/core/tool-schemas/cartridge-tools.js.map +1 -0
- package/dist/core/tool-schemas/code-version-tools.d.ts +28 -0
- package/dist/core/tool-schemas/code-version-tools.d.ts.map +1 -0
- package/dist/core/tool-schemas/code-version-tools.js +28 -0
- package/dist/core/tool-schemas/code-version-tools.js.map +1 -0
- package/dist/core/tool-schemas/documentation-tools.d.ts +139 -0
- package/dist/core/tool-schemas/documentation-tools.d.ts.map +1 -0
- package/dist/core/tool-schemas/documentation-tools.js +104 -0
- package/dist/core/tool-schemas/documentation-tools.js.map +1 -0
- package/dist/core/tool-schemas/index.d.ts +17 -0
- package/dist/core/tool-schemas/index.d.ts.map +1 -0
- package/dist/core/tool-schemas/index.js +19 -0
- package/dist/core/tool-schemas/index.js.map +1 -0
- package/dist/core/tool-schemas/isml-tools.d.ts +98 -0
- package/dist/core/tool-schemas/isml-tools.d.ts.map +1 -0
- package/dist/core/tool-schemas/isml-tools.js +89 -0
- package/dist/core/tool-schemas/isml-tools.js.map +1 -0
- package/dist/core/tool-schemas/log-tools.d.ts +221 -0
- package/dist/core/tool-schemas/log-tools.d.ts.map +1 -0
- package/dist/core/tool-schemas/log-tools.js +180 -0
- package/dist/core/tool-schemas/log-tools.js.map +1 -0
- package/dist/core/tool-schemas/script-debugger-tools.d.ts +44 -0
- package/dist/core/tool-schemas/script-debugger-tools.d.ts.map +1 -0
- package/dist/core/tool-schemas/script-debugger-tools.js +83 -0
- package/dist/core/tool-schemas/script-debugger-tools.js.map +1 -0
- package/dist/core/tool-schemas/sfra-tools.d.ts +63 -0
- package/dist/core/tool-schemas/sfra-tools.d.ts.map +1 -0
- package/dist/core/tool-schemas/sfra-tools.js +65 -0
- package/dist/core/tool-schemas/sfra-tools.js.map +1 -0
- package/dist/core/tool-schemas/shared-schemas.d.ts +350 -0
- package/dist/core/tool-schemas/shared-schemas.d.ts.map +1 -0
- package/dist/core/tool-schemas/shared-schemas.js +153 -0
- package/dist/core/tool-schemas/shared-schemas.js.map +1 -0
- package/dist/core/tool-schemas/system-object-tools.d.ts +511 -0
- package/dist/core/tool-schemas/system-object-tools.d.ts.map +1 -0
- package/dist/core/tool-schemas/system-object-tools.js +126 -0
- package/dist/core/tool-schemas/system-object-tools.js.map +1 -0
- package/dist/docs/dw_net/HTTPClient.md +46 -2
- package/dist/docs/dw_net/HTTPClientLoggingConfig.md +296 -0
- package/dist/docs/dw_order/Basket.md +7 -7
- package/dist/docs/dw_order/BasketMgr.md +22 -6
- package/dist/docs/dw_order.hooks/BasketMergeHooks.md +42 -0
- package/dist/docs/dw_svc/ServiceCallback.md +2 -2
- package/dist/docs/isml/isactivedatacontext.md +382 -0
- package/dist/docs/isml/isactivedatahead.md +566 -0
- package/dist/docs/isml/isanalyticsoff.md +537 -0
- package/dist/docs/isml/isapplepay.md +667 -0
- package/dist/docs/isml/isbreak.md +687 -0
- package/dist/docs/isml/isbuynow.md +682 -0
- package/dist/docs/isml/iscache.md +802 -0
- package/dist/docs/isml/iscomment.md +794 -0
- package/dist/docs/isml/iscomponent.md +797 -0
- package/dist/docs/isml/iscontent.md +594 -0
- package/dist/docs/isml/iscontinue.md +563 -0
- package/dist/docs/isml/iscookie.md +798 -0
- package/dist/docs/isml/isdecorate.md +818 -0
- package/dist/docs/isml/isif.md +737 -0
- package/dist/docs/isml/isinclude.md +874 -0
- package/dist/docs/isml/isloop.md +377 -0
- package/dist/docs/isml/ismodule.md +844 -0
- package/dist/docs/isml/isnext.md +672 -0
- package/dist/docs/isml/isobject.md +760 -0
- package/dist/docs/isml/ispayment.md +577 -0
- package/dist/docs/isml/ispaymentmessages.md +664 -0
- package/dist/docs/isml/isprint.md +875 -0
- package/dist/docs/isml/isredirect.md +716 -0
- package/dist/docs/isml/isremove.md +725 -0
- package/dist/docs/isml/isreplace.md +783 -0
- package/dist/docs/isml/isscript.md +859 -0
- package/dist/docs/isml/isselect.md +908 -0
- package/dist/docs/isml/isset.md +585 -0
- package/dist/docs/isml/isslot.md +824 -0
- package/dist/docs/isml/isstatus.md +711 -0
- package/dist/main.d.ts +16 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +60 -28
- package/dist/main.js.map +1 -1
- package/dist/services/index.d.ts +4 -2
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +2 -2
- package/dist/services/index.js.map +1 -1
- package/dist/tool-configs/agent-instructions-tool-config.d.ts +6 -0
- package/dist/tool-configs/agent-instructions-tool-config.d.ts.map +1 -0
- package/dist/tool-configs/agent-instructions-tool-config.js +74 -0
- package/dist/tool-configs/agent-instructions-tool-config.js.map +1 -0
- package/dist/tool-configs/code-version-tool-config.d.ts.map +1 -1
- package/dist/tool-configs/code-version-tool-config.js +0 -5
- package/dist/tool-configs/code-version-tool-config.js.map +1 -1
- package/dist/tool-configs/docs-tool-config.d.ts.map +1 -1
- package/dist/tool-configs/docs-tool-config.js +0 -7
- package/dist/tool-configs/docs-tool-config.js.map +1 -1
- package/dist/tool-configs/isml-tool-config.d.ts +11 -0
- package/dist/tool-configs/isml-tool-config.d.ts.map +1 -0
- package/dist/tool-configs/isml-tool-config.js +77 -0
- package/dist/tool-configs/isml-tool-config.js.map +1 -0
- package/dist/tool-configs/job-log-tool-config.d.ts +1 -2
- package/dist/tool-configs/job-log-tool-config.d.ts.map +1 -1
- package/dist/tool-configs/job-log-tool-config.js +11 -15
- package/dist/tool-configs/job-log-tool-config.js.map +1 -1
- package/dist/tool-configs/log-tool-config.d.ts +1 -2
- package/dist/tool-configs/log-tool-config.d.ts.map +1 -1
- package/dist/tool-configs/log-tool-config.js +35 -51
- package/dist/tool-configs/log-tool-config.js.map +1 -1
- package/dist/tool-configs/script-debugger-tool-config.d.ts +11 -0
- package/dist/tool-configs/script-debugger-tool-config.d.ts.map +1 -0
- package/dist/tool-configs/script-debugger-tool-config.js +35 -0
- package/dist/tool-configs/script-debugger-tool-config.js.map +1 -0
- package/dist/tool-configs/sfra-tool-config.d.ts.map +1 -1
- package/dist/tool-configs/sfra-tool-config.js +0 -11
- package/dist/tool-configs/sfra-tool-config.js.map +1 -1
- package/dist/tool-configs/system-object-tool-config.d.ts.map +1 -1
- package/dist/tool-configs/system-object-tool-config.js +0 -5
- package/dist/tool-configs/system-object-tool-config.js.map +1 -1
- package/dist/types/types.d.ts +2 -0
- package/dist/types/types.d.ts.map +1 -1
- package/dist/utils/cache.d.ts +12 -10
- package/dist/utils/cache.d.ts.map +1 -1
- package/dist/utils/cache.js +47 -47
- package/dist/utils/cache.js.map +1 -1
- package/dist/utils/category-utils.d.ts +31 -0
- package/dist/utils/category-utils.d.ts.map +1 -0
- package/dist/utils/category-utils.js +45 -0
- package/dist/utils/category-utils.js.map +1 -0
- package/dist/utils/log-tool-constants.d.ts +16 -13
- package/dist/utils/log-tool-constants.d.ts.map +1 -1
- package/dist/utils/log-tool-constants.js +10 -11
- package/dist/utils/log-tool-constants.js.map +1 -1
- package/dist/utils/logger.d.ts +11 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +35 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/markdown-utils.d.ts +60 -0
- package/dist/utils/markdown-utils.d.ts.map +1 -0
- package/dist/utils/markdown-utils.js +206 -0
- package/dist/utils/markdown-utils.js.map +1 -0
- package/dist/utils/path-resolver.d.ts +12 -4
- package/dist/utils/path-resolver.d.ts.map +1 -1
- package/dist/utils/path-resolver.js +22 -8
- package/dist/utils/path-resolver.js.map +1 -1
- package/dist/utils/path-validation.d.ts +40 -0
- package/dist/utils/path-validation.d.ts.map +1 -0
- package/dist/utils/path-validation.js +84 -0
- package/dist/utils/path-validation.js.map +1 -0
- package/docs/dw_net/HTTPClient.md +46 -2
- package/docs/dw_net/HTTPClientLoggingConfig.md +296 -0
- package/docs/dw_order/Basket.md +7 -7
- package/docs/dw_order/BasketMgr.md +22 -6
- package/docs/dw_order.hooks/BasketMergeHooks.md +42 -0
- package/docs/dw_svc/ServiceCallback.md +2 -2
- package/docs/isml/isactivedatacontext.md +382 -0
- package/docs/isml/isactivedatahead.md +566 -0
- package/docs/isml/isanalyticsoff.md +537 -0
- package/docs/isml/isapplepay.md +667 -0
- package/docs/isml/isbreak.md +687 -0
- package/docs/isml/isbuynow.md +682 -0
- package/docs/isml/iscache.md +802 -0
- package/docs/isml/iscomment.md +794 -0
- package/docs/isml/iscomponent.md +797 -0
- package/docs/isml/iscontent.md +594 -0
- package/docs/isml/iscontinue.md +563 -0
- package/docs/isml/iscookie.md +798 -0
- package/docs/isml/isdecorate.md +818 -0
- package/docs/isml/isif.md +737 -0
- package/docs/isml/isinclude.md +874 -0
- package/docs/isml/isloop.md +377 -0
- package/docs/isml/ismodule.md +844 -0
- package/docs/isml/isnext.md +672 -0
- package/docs/isml/isobject.md +760 -0
- package/docs/isml/ispayment.md +577 -0
- package/docs/isml/ispaymentmessages.md +664 -0
- package/docs/isml/isprint.md +875 -0
- package/docs/isml/isredirect.md +716 -0
- package/docs/isml/isremove.md +725 -0
- package/docs/isml/isreplace.md +783 -0
- package/docs/isml/isscript.md +859 -0
- package/docs/isml/isselect.md +908 -0
- package/docs/isml/isset.md +585 -0
- package/docs/isml/isslot.md +824 -0
- package/docs/isml/isstatus.md +711 -0
- package/docs-site-v2/.vitepress/config.mts +190 -0
- package/docs-site-v2/.vitepress/theme/components/AssistantTabs.vue +96 -0
- package/docs-site-v2/.vitepress/theme/components/Callout.vue +10 -0
- package/docs-site-v2/.vitepress/theme/components/Collapsible.vue +14 -0
- package/docs-site-v2/.vitepress/theme/components/DwJsonBuilder.vue +82 -0
- package/docs-site-v2/.vitepress/theme/components/HomeSections.vue +552 -0
- package/docs-site-v2/.vitepress/theme/components/InstructionFilesTabs.vue +87 -0
- package/docs-site-v2/.vitepress/theme/components/ModeTabs.vue +70 -0
- package/docs-site-v2/.vitepress/theme/components/NewcomerCTA.vue +14 -0
- package/docs-site-v2/.vitepress/theme/components/QuickStartCards.vue +20 -0
- package/docs-site-v2/.vitepress/theme/components/QuickStartHero.vue +20 -0
- package/docs-site-v2/.vitepress/theme/components/SkillsList.vue +48 -0
- package/docs-site-v2/.vitepress/theme/components/ToolExplorer.vue +85 -0
- package/docs-site-v2/.vitepress/theme/custom.css +1373 -0
- package/docs-site-v2/.vitepress/theme/index.ts +39 -0
- package/docs-site-v2/data/skills.ts +147 -0
- package/docs-site-v2/data/tools.ts +490 -0
- package/docs-site-v2/development/index.md +151 -0
- package/docs-site-v2/examples/index.md +333 -0
- package/docs-site-v2/features/index.md +144 -0
- package/docs-site-v2/guide/ai-interfaces.md +58 -0
- package/docs-site-v2/guide/configuration.md +208 -0
- package/docs-site-v2/guide/index.md +50 -0
- package/docs-site-v2/index.md +32 -0
- package/docs-site-v2/package-lock.json +2511 -0
- package/docs-site-v2/package.json +15 -0
- package/docs-site-v2/public/android-chrome-192x192.png +0 -0
- package/docs-site-v2/public/android-chrome-512x512.png +0 -0
- package/docs-site-v2/public/apple-touch-icon.png +0 -0
- package/docs-site-v2/public/favicon-16x16.png +0 -0
- package/docs-site-v2/public/favicon-32x32.png +0 -0
- package/docs-site-v2/public/favicon.ico +0 -0
- package/docs-site-v2/public/index.css +4174 -0
- package/docs-site-v2/public/llms.txt +44 -0
- package/docs-site-v2/public/logo-dark.svg +8 -0
- package/docs-site-v2/public/logo.svg +8 -0
- package/{docs-site → docs-site-v2}/public/robots.txt +1 -6
- package/{docs-site → docs-site-v2}/public/site.webmanifest +1 -1
- package/{docs-site → docs-site-v2}/public/sitemap.xml +33 -12
- package/docs-site-v2/script-debugger/index.md +105 -0
- package/docs-site-v2/scripts/generate-llms.js +71 -0
- package/docs-site-v2/scripts/generate-sitemap.js +97 -0
- package/docs-site-v2/security/index.md +115 -0
- package/docs-site-v2/skills/index.md +40 -0
- package/docs-site-v2/tools/index.md +36 -0
- package/docs-site-v2/troubleshooting/index.md +204 -0
- package/eslint.config.js +3 -1
- package/memories/repo/docs-site-v2-build.json +11 -0
- package/package.json +18 -14
- package/scripts/validate-server-json.js +68 -0
- package/server.json +4 -6
- package/src/clients/agent-instructions-client.ts +370 -0
- package/src/clients/base/abstract-documentation-client.ts +405 -0
- package/src/clients/base/oauth-token.ts +52 -2
- package/src/clients/cartridge/cartridge-generation-client.ts +302 -0
- package/src/clients/cartridge/cartridge-structure.ts +37 -0
- package/src/clients/cartridge/cartridge-templates.ts +246 -0
- package/src/clients/cartridge/index.ts +6 -0
- package/src/clients/docs/documentation-scanner.ts +44 -28
- package/src/clients/docs-client.ts +54 -14
- package/src/clients/isml-client.ts +353 -0
- package/src/clients/ocapi/code-versions-client.ts +7 -1
- package/src/clients/ocapi-client.ts +11 -166
- package/src/clients/script-debugger/index.ts +5 -0
- package/src/clients/script-debugger/script-debugger-client.ts +754 -0
- package/src/clients/sfra-client.ts +134 -397
- package/src/config/configuration-factory.ts +6 -1
- package/src/config/dw-json-loader.ts +96 -15
- package/src/config/workspace-roots.ts +540 -0
- package/src/constants/index.ts +1 -0
- package/src/core/handlers/abstract-client-handler.ts +85 -0
- package/src/core/handlers/agent-instructions-handler.ts +48 -0
- package/src/core/handlers/base-handler.ts +17 -127
- package/src/core/handlers/cartridge-handler.ts +13 -33
- package/src/core/handlers/client-factory.ts +32 -2
- package/src/core/handlers/code-version-handler.ts +17 -32
- package/src/core/handlers/docs-handler.ts +12 -44
- package/src/core/handlers/isml-handler.ts +19 -0
- package/src/core/handlers/job-log-handler.ts +19 -8
- package/src/core/handlers/log-handler.ts +19 -8
- package/src/core/handlers/script-debugger-handler.ts +46 -0
- package/src/core/handlers/sfra-handler.ts +12 -44
- package/src/core/handlers/simple-client-handler.ts +78 -0
- package/src/core/handlers/system-object-handler.ts +17 -32
- package/src/core/handlers/validation-helpers.ts +87 -47
- package/src/core/instruction-advisor.ts +122 -0
- package/src/core/server.ts +178 -13
- package/src/core/tool-definitions.ts +25 -1071
- package/src/core/tool-schemas/agent-instruction-tools.ts +72 -0
- package/src/core/tool-schemas/cartridge-tools.ts +29 -0
- package/src/core/tool-schemas/code-version-tools.ts +28 -0
- package/src/core/tool-schemas/documentation-tools.ts +104 -0
- package/src/core/tool-schemas/index.ts +27 -0
- package/src/core/tool-schemas/isml-tools.ts +89 -0
- package/src/core/tool-schemas/log-tools.ts +196 -0
- package/src/core/tool-schemas/script-debugger-tools.ts +83 -0
- package/src/core/tool-schemas/sfra-tools.ts +65 -0
- package/src/core/tool-schemas/shared-schemas.ts +158 -0
- package/src/core/tool-schemas/system-object-tools.ts +127 -0
- package/src/main.ts +63 -30
- package/src/services/index.ts +4 -10
- package/src/tool-configs/agent-instructions-tool-config.ts +83 -0
- package/src/tool-configs/cartridge-tool-config.ts +1 -1
- package/src/tool-configs/code-version-tool-config.ts +0 -5
- package/src/tool-configs/docs-tool-config.ts +0 -7
- package/src/tool-configs/isml-tool-config.ts +87 -0
- package/src/tool-configs/job-log-tool-config.ts +18 -17
- package/src/tool-configs/log-tool-config.ts +49 -64
- package/src/tool-configs/script-debugger-tool-config.ts +69 -0
- package/src/tool-configs/sfra-tool-config.ts +0 -11
- package/src/tool-configs/system-object-tool-config.ts +0 -5
- package/src/types/types.ts +2 -0
- package/src/utils/cache.ts +49 -54
- package/src/utils/category-utils.ts +70 -0
- package/src/utils/log-tool-constants.ts +25 -17
- package/src/utils/logger.ts +38 -1
- package/src/utils/markdown-utils.ts +280 -0
- package/src/utils/path-resolver.ts +25 -9
- package/src/utils/path-validation.ts +113 -0
- package/tests/base-handler.test.ts +1 -1
- package/tests/cache.test.ts +2 -2
- package/tests/cartridge-handler.test.ts +4 -4
- package/tests/client-factory.test.ts +1 -1
- package/tests/code-version-handler.test.ts +3 -3
- package/tests/docs-handler.test.ts +2 -2
- package/tests/documentation-scanner.test.ts +4 -4
- package/tests/isml-client.test.ts +463 -0
- package/tests/isml-handler.test.ts +375 -0
- package/tests/job-log-handler.test.ts +1 -1
- package/tests/log-handler.test.ts +8 -8
- package/tests/log-validation.test.ts +149 -0
- package/tests/mcp/README.md +22 -18
- package/tests/mcp/node/activate-code-version-advanced.full-mode.programmatic.test.js +30 -12
- package/tests/mcp/node/evaluate-script.full-mode.programmatic.test.js +387 -0
- package/tests/mcp/node/generate-cartridge-structure.docs-only.programmatic.test.js +14 -8
- package/tests/mcp/node/get-isml-categories.programmatic.test.js +278 -0
- package/tests/mcp/node/get-isml-element.programmatic.test.js +278 -0
- package/tests/mcp/node/get-isml-elements-by-category.programmatic.test.js +363 -0
- package/tests/mcp/node/get-sfra-categories.docs-only.programmatic.test.js +24 -24
- package/tests/mcp/node/get-sfra-document.programmatic.test.js +4 -2
- package/tests/mcp/node/list-isml-elements.programmatic.test.js +311 -0
- package/tests/mcp/node/list-sfcc-classes.docs-only.programmatic.test.js +2 -33
- package/tests/mcp/node/search-isml-elements.programmatic.test.js +325 -0
- package/tests/mcp/node/search-sfcc-classes.docs-only.programmatic.test.js +5 -9
- package/tests/mcp/node/search-sfcc-methods.docs-only.programmatic.test.js +7 -9
- package/tests/mcp/node/tools.docs-only.programmatic.test.js +42 -65
- package/tests/mcp/node/tools.full-mode.programmatic.test.js +7 -8
- package/tests/mcp/yaml/activate-code-version.full-mode.test.mcp.yml +2 -2
- package/tests/mcp/yaml/evaluate-script.full-mode.test.mcp.yml +281 -0
- package/tests/mcp/yaml/get-isml-categories.docs-only.test.mcp.yml +330 -0
- package/tests/mcp/yaml/get-isml-element.docs-only.test.mcp.yml +294 -0
- package/tests/mcp/yaml/get-isml-elements-by-category.docs-only.test.mcp.yml +334 -0
- package/tests/mcp/yaml/get-sfcc-class-info.docs-only.test.mcp.yml +2 -2
- package/tests/mcp/yaml/get-sfra-categories.docs-only.test.mcp.yml +13 -13
- package/tests/mcp/yaml/get-sfra-categories.full-mode.test.mcp.yml +13 -13
- package/tests/mcp/yaml/get-system-object-definitions.docs-only.test.mcp.yml +1 -16
- package/tests/mcp/yaml/list-isml-elements.docs-only.test.mcp.yml +212 -0
- package/tests/mcp/yaml/search-isml-elements.docs-only.test.mcp.yml +312 -0
- package/tests/mcp/yaml/search-sfcc-classes.docs-only.test.mcp.yml +1 -1
- package/tests/mcp/yaml/search-sfcc-classes.full-mode.test.mcp.yml +1 -1
- package/tests/mcp/yaml/search-site-preferences.docs-only.test.mcp.yml +1 -1
- package/tests/mcp/yaml/tools.docs-only.test.mcp.yml +3 -57
- package/tests/mcp/yaml/tools.full-mode.test.mcp.yml +3 -3
- package/tests/oauth-token.test.ts +107 -12
- package/tests/ocapi-client.test.ts +53 -106
- package/tests/script-debugger-client.test.ts +430 -0
- package/tests/servers/sfcc-mock-server/src/app.js +15 -0
- package/tests/servers/sfcc-mock-server/src/routes/cartridge-webdav.js +258 -0
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/debugger-handler.js +396 -0
- package/tests/servers/sfcc-mock-server/src/routes/ocapi.js +5 -0
- package/tests/servers/sfcc-mock-server/src/routes/storefront.js +86 -0
- package/tests/servers/sfcc-mock-server/src/routes/webdav.js +6 -4
- package/tests/validation-helpers.test.ts +0 -31
- package/tests/workspace-roots.test.ts +227 -0
- package/ai-instructions/claude-desktop/claude_custom_instructions.md +0 -321
- package/ai-instructions/cursor/.cursor/rules/debugging-workflows.mdc +0 -171
- package/ai-instructions/cursor/.cursor/rules/hooks-development.mdc +0 -168
- package/ai-instructions/cursor/.cursor/rules/isml-templates.mdc +0 -209
- package/ai-instructions/cursor/.cursor/rules/job-framework.mdc +0 -379
- package/ai-instructions/cursor/.cursor/rules/performance-optimization.mdc +0 -215
- package/ai-instructions/cursor/.cursor/rules/scapi-endpoints.mdc +0 -98
- package/ai-instructions/cursor/.cursor/rules/security-patterns.mdc +0 -375
- package/ai-instructions/cursor/.cursor/rules/sfcc-development.mdc +0 -144
- package/ai-instructions/cursor/.cursor/rules/sfra-controllers.mdc +0 -376
- package/ai-instructions/cursor/.cursor/rules/sfra-models.mdc +0 -412
- package/ai-instructions/cursor/.cursor/rules/system-objects.mdc +0 -383
- package/ai-instructions/cursor/.cursor/rules/testing-patterns.mdc +0 -418
- package/dist/clients/best-practices-client.d.ts +0 -57
- package/dist/clients/best-practices-client.d.ts.map +0 -1
- package/dist/clients/best-practices-client.js +0 -288
- package/dist/clients/best-practices-client.js.map +0 -1
- package/dist/clients/cartridge-generation-client.d.ts +0 -57
- package/dist/clients/cartridge-generation-client.d.ts.map +0 -1
- package/dist/clients/cartridge-generation-client.js +0 -384
- package/dist/clients/cartridge-generation-client.js.map +0 -1
- package/dist/clients/logs/index.d.ts +0 -13
- package/dist/clients/logs/index.d.ts.map +0 -1
- package/dist/clients/logs/index.js +0 -15
- package/dist/clients/logs/index.js.map +0 -1
- package/dist/clients/logs/log-analyzer.d.ts +0 -55
- package/dist/clients/logs/log-analyzer.d.ts.map +0 -1
- package/dist/clients/logs/log-analyzer.js +0 -228
- package/dist/clients/logs/log-analyzer.js.map +0 -1
- package/dist/clients/logs/log-client.d.ts +0 -87
- package/dist/clients/logs/log-client.d.ts.map +0 -1
- package/dist/clients/logs/log-client.js +0 -418
- package/dist/clients/logs/log-client.js.map +0 -1
- package/dist/clients/logs/log-constants.d.ts +0 -37
- package/dist/clients/logs/log-constants.d.ts.map +0 -1
- package/dist/clients/logs/log-constants.js +0 -37
- package/dist/clients/logs/log-constants.js.map +0 -1
- package/dist/clients/logs/log-file-discovery.d.ts +0 -62
- package/dist/clients/logs/log-file-discovery.d.ts.map +0 -1
- package/dist/clients/logs/log-file-discovery.js +0 -238
- package/dist/clients/logs/log-file-discovery.js.map +0 -1
- package/dist/clients/logs/log-file-reader.d.ts +0 -53
- package/dist/clients/logs/log-file-reader.d.ts.map +0 -1
- package/dist/clients/logs/log-file-reader.js +0 -194
- package/dist/clients/logs/log-file-reader.js.map +0 -1
- package/dist/clients/logs/log-formatter.d.ts +0 -90
- package/dist/clients/logs/log-formatter.d.ts.map +0 -1
- package/dist/clients/logs/log-formatter.js +0 -189
- package/dist/clients/logs/log-formatter.js.map +0 -1
- package/dist/clients/logs/log-processor.d.ts +0 -91
- package/dist/clients/logs/log-processor.d.ts.map +0 -1
- package/dist/clients/logs/log-processor.js +0 -328
- package/dist/clients/logs/log-processor.js.map +0 -1
- package/dist/clients/logs/log-types.d.ts +0 -69
- package/dist/clients/logs/log-types.d.ts.map +0 -1
- package/dist/clients/logs/log-types.js +0 -5
- package/dist/clients/logs/log-types.js.map +0 -1
- package/dist/clients/logs/webdav-client-manager.d.ts +0 -28
- package/dist/clients/logs/webdav-client-manager.d.ts.map +0 -1
- package/dist/clients/logs/webdav-client-manager.js +0 -77
- package/dist/clients/logs/webdav-client-manager.js.map +0 -1
- package/dist/core/handlers/abstract-log-tool-handler.d.ts +0 -35
- package/dist/core/handlers/abstract-log-tool-handler.d.ts.map +0 -1
- package/dist/core/handlers/abstract-log-tool-handler.js +0 -46
- package/dist/core/handlers/abstract-log-tool-handler.js.map +0 -1
- package/dist/core/handlers/best-practices-handler.d.ts +0 -17
- package/dist/core/handlers/best-practices-handler.d.ts.map +0 -1
- package/dist/core/handlers/best-practices-handler.js +0 -43
- package/dist/core/handlers/best-practices-handler.js.map +0 -1
- package/dist/core/handlers/job-log-tool-config.d.ts +0 -8
- package/dist/core/handlers/job-log-tool-config.d.ts.map +0 -1
- package/dist/core/handlers/job-log-tool-config.js +0 -76
- package/dist/core/handlers/job-log-tool-config.js.map +0 -1
- package/dist/core/handlers/log-tool-config.d.ts +0 -8
- package/dist/core/handlers/log-tool-config.d.ts.map +0 -1
- package/dist/core/handlers/log-tool-config.js +0 -73
- package/dist/core/handlers/log-tool-config.js.map +0 -1
- package/dist/docs/best-practices/isml_templates.md +0 -1933
- package/dist/docs/best-practices/job_framework.md +0 -1173
- package/dist/docs/best-practices/scapi_custom_endpoint.md +0 -963
- package/dist/docs/best-practices/sfra_client_side_js.md +0 -736
- package/dist/docs/best-practices/sfra_models.md +0 -1142
- package/dist/tool-configs/best-practices-tool-config.d.ts +0 -11
- package/dist/tool-configs/best-practices-tool-config.d.ts.map +0 -1
- package/dist/tool-configs/best-practices-tool-config.js +0 -59
- package/dist/tool-configs/best-practices-tool-config.js.map +0 -1
- package/dist/utils/job-log-tool-config.d.ts +0 -8
- package/dist/utils/job-log-tool-config.d.ts.map +0 -1
- package/dist/utils/job-log-tool-config.js +0 -76
- package/dist/utils/job-log-tool-config.js.map +0 -1
- package/dist/utils/job-log-utils.d.ts +0 -34
- package/dist/utils/job-log-utils.d.ts.map +0 -1
- package/dist/utils/job-log-utils.js +0 -60
- package/dist/utils/job-log-utils.js.map +0 -1
- package/dist/utils/log-cache.d.ts +0 -53
- package/dist/utils/log-cache.d.ts.map +0 -1
- package/dist/utils/log-cache.js +0 -114
- package/dist/utils/log-cache.js.map +0 -1
- package/dist/utils/log-tool-config.d.ts +0 -8
- package/dist/utils/log-tool-config.d.ts.map +0 -1
- package/dist/utils/log-tool-config.js +0 -73
- package/dist/utils/log-tool-config.js.map +0 -1
- package/dist/utils/log-tool-utils.d.ts +0 -39
- package/dist/utils/log-tool-utils.d.ts.map +0 -1
- package/dist/utils/log-tool-utils.js +0 -94
- package/dist/utils/log-tool-utils.js.map +0 -1
- package/docs/best-practices/isml_templates.md +0 -1933
- package/docs/best-practices/job_framework.md +0 -1173
- package/docs/best-practices/scapi_custom_endpoint.md +0 -963
- package/docs/best-practices/sfra_client_side_js.md +0 -736
- package/docs/best-practices/sfra_models.md +0 -1142
- package/docs-site/App.tsx +0 -103
- package/docs-site/README.md +0 -113
- package/docs-site/components/Badge.tsx +0 -38
- package/docs-site/components/BreadcrumbSchema.tsx +0 -34
- package/docs-site/components/CodeBlock.tsx +0 -132
- package/docs-site/components/Collapsible.tsx +0 -40
- package/docs-site/components/ConfigBuilder.tsx +0 -118
- package/docs-site/components/ConfigHero.tsx +0 -19
- package/docs-site/components/ConfigModeTabs.tsx +0 -42
- package/docs-site/components/Layout.tsx +0 -174
- package/docs-site/components/LightCodeContainer.tsx +0 -44
- package/docs-site/components/NewcomerCTA.tsx +0 -57
- package/docs-site/components/NextStepsStrip.tsx +0 -23
- package/docs-site/components/OnThisPage.tsx +0 -91
- package/docs-site/components/SEO.tsx +0 -79
- package/docs-site/components/Search.tsx +0 -207
- package/docs-site/components/Sidebar.tsx +0 -96
- package/docs-site/components/StructuredData.tsx +0 -72
- package/docs-site/components/ToolCard.tsx +0 -84
- package/docs-site/components/ToolFilters.tsx +0 -39
- package/docs-site/components/Typography.tsx +0 -30
- package/docs-site/components/VersionBadge.tsx +0 -18
- package/docs-site/components/icons.tsx +0 -37
- package/docs-site/constants.tsx +0 -34
- package/docs-site/index.html +0 -62
- package/docs-site/main.tsx +0 -16
- package/docs-site/metadata.json +0 -5
- package/docs-site/package-lock.json +0 -3966
- package/docs-site/package.json +0 -35
- package/docs-site/pages/AIInterfacesPage.tsx +0 -610
- package/docs-site/pages/ConfigurationPage.tsx +0 -315
- package/docs-site/pages/DevelopmentPage.tsx +0 -607
- package/docs-site/pages/ExamplesPage.tsx +0 -558
- package/docs-site/pages/FeaturesPage.tsx +0 -353
- package/docs-site/pages/HomePage.tsx +0 -1046
- package/docs-site/pages/SecurityPage.tsx +0 -372
- package/docs-site/pages/ToolsPage.tsx +0 -205
- package/docs-site/pages/TroubleshootingPage.tsx +0 -590
- package/docs-site/postcss.config.js +0 -6
- package/docs-site/public/.well-known/security.txt +0 -6
- package/docs-site/public/android-chrome-192x192.png +0 -0
- package/docs-site/public/android-chrome-512x512.png +0 -0
- package/docs-site/public/apple-touch-icon.png +0 -0
- package/docs-site/public/favicon-16x16.png +0 -0
- package/docs-site/public/favicon-32x32.png +0 -0
- package/docs-site/public/favicon.ico +0 -0
- package/docs-site/public/llms.txt +0 -47
- package/docs-site/scripts/generate-search-index.js +0 -323
- package/docs-site/scripts/generate-sitemap.js +0 -156
- package/docs-site/scripts/search-dev.js +0 -112
- package/docs-site/src/styles/input.css +0 -248
- package/docs-site/src/styles/prism-theme.css +0 -124
- package/docs-site/tailwind.config.js +0 -70
- package/docs-site/tsconfig.json +0 -29
- package/docs-site/types.ts +0 -16
- package/docs-site/utils/search.ts +0 -132
- package/docs-site/utils/toolsData.ts +0 -116
- package/docs-site/vite.config.ts +0 -63
- package/src/clients/best-practices-client.ts +0 -332
- package/src/clients/cartridge-generation-client.ts +0 -507
- package/src/clients/logs/index.ts +0 -18
- package/src/clients/logs/log-analyzer.ts +0 -289
- package/src/clients/logs/log-client.ts +0 -540
- package/src/clients/logs/log-constants.ts +0 -53
- package/src/clients/logs/log-file-discovery.ts +0 -299
- package/src/clients/logs/log-file-reader.ts +0 -227
- package/src/clients/logs/log-formatter.ts +0 -258
- package/src/clients/logs/log-processor.ts +0 -402
- package/src/clients/logs/log-types.ts +0 -80
- package/src/clients/logs/webdav-client-manager.ts +0 -93
- package/src/core/handlers/abstract-log-tool-handler.ts +0 -64
- package/src/core/handlers/best-practices-handler.ts +0 -55
- package/src/core/handlers/job-log-tool-config.ts +0 -89
- package/src/core/handlers/log-tool-config.ts +0 -98
- package/src/tool-configs/best-practices-tool-config.ts +0 -68
- package/src/utils/job-log-tool-config.ts +0 -89
- package/src/utils/job-log-utils.ts +0 -78
- package/src/utils/log-cache.ts +0 -134
- package/src/utils/log-tool-config.ts +0 -98
- package/src/utils/log-tool-utils.ts +0 -122
- package/tests/best-practices-handler.test.ts +0 -236
- package/tests/job-log-utils.test.ts +0 -182
- package/tests/mcp/node/get-available-best-practice-guides.docs-only.programmatic.test.js +0 -516
- package/tests/mcp/node/get-best-practice-guide.docs-only.programmatic.test.js +0 -733
- package/tests/mcp/node/get-hook-reference.docs-only.programmatic.test.js +0 -185
- package/tests/mcp/node/search-best-practices.docs-only.programmatic.test.js +0 -836
- package/tests/mcp/yaml/get-available-best-practice-guides.docs-only.test.mcp.yml +0 -885
- package/tests/mcp/yaml/get-available-best-practice-guides.full-mode.test.mcp.yml +0 -885
- package/tests/mcp/yaml/get-best-practice-guide.docs-only.test.mcp.yml +0 -462
- package/tests/mcp/yaml/get-best-practice-guide.full-mode.test.mcp.yml +0 -462
- package/tests/mcp/yaml/get-hook-reference.docs-only.test.mcp.yml +0 -321
- package/tests/mcp/yaml/get-hook-reference.full-mode.test.mcp.yml +0 -321
- package/tests/mcp/yaml/search-best-practices.docs-only.test.mcp.yml +0 -655
- package/tests/mcp/yaml/search-best-practices.full-mode.test.mcp.yml +0 -655
- /package/{docs-site → docs-site-v2}/public/404.html +0 -0
- /package/{docs-site → docs-site-v2}/public/explain-product-pricing-methods-no-mcp.png +0 -0
- /package/{docs-site → docs-site-v2}/public/explain-product-pricing-methods.png +0 -0
|
@@ -1,321 +0,0 @@
|
|
|
1
|
-
# SFCC Development with Claude Desktop - MCP Integration
|
|
2
|
-
|
|
3
|
-
## 👨💻 Claude-Specific Agent Persona
|
|
4
|
-
|
|
5
|
-
You are a **Senior Salesforce B2C Commerce Cloud (Demandware) Developer** with 8+ years of hands-on experience building enterprise-grade ecommerce solutions. Your expertise includes:
|
|
6
|
-
|
|
7
|
-
### 🏗️ Core Development Areas
|
|
8
|
-
- **SFRA Controllers**: Expert in creating performant, maintainable controllers following MVC patterns
|
|
9
|
-
- **LocalServiceRegistry**: Expert in server-to-server integrations, OAuth flows, and reusable service module patterns
|
|
10
|
-
- **OCAPI Hooks**: Deep knowledge of extending Open Commerce APIs with custom business logic
|
|
11
|
-
- **SCAPI Hooks**: Specialized in Shop API extensions and modern headless commerce patterns
|
|
12
|
-
- **Custom SCAPI Endpoints**: Building secure, scalable REST APIs for custom integrations
|
|
13
|
-
- **Cartridge Development**: Architecting modular, reusable cartridge solutions
|
|
14
|
-
|
|
15
|
-
### 🔒 Security & Best Practices
|
|
16
|
-
- **Secure Coding**: OWASP compliance, input validation, XSS/CSRF prevention
|
|
17
|
-
- **Performance Optimization**: Query optimization, caching strategies, code profiling
|
|
18
|
-
- **Accessibility**: WCAG 2.1 AA compliance, semantic HTML, keyboard navigation
|
|
19
|
-
- **Code Quality**: Clean code principles, design patterns, code reviews
|
|
20
|
-
- **Testing**: Unit testing, integration testing, performance testing
|
|
21
|
-
|
|
22
|
-
### 💼 Professional Approach
|
|
23
|
-
- **Solution-Oriented**: Always provide practical, implementable solutions
|
|
24
|
-
- **Best Practice Focused**: Follow SFCC development standards and industry conventions
|
|
25
|
-
- **Security-First**: Consider security implications in every recommendation
|
|
26
|
-
- **Performance-Aware**: Optimize for scalability and user experience
|
|
27
|
-
- **Documentation-Driven**: Provide clear explanations and code comments
|
|
28
|
-
|
|
29
|
-
When providing assistance:
|
|
30
|
-
1. **Always use the MCP tools** to get current, accurate SFCC information
|
|
31
|
-
2. **Consider the full context** - security, performance, maintainability
|
|
32
|
-
3. **Provide working examples** with proper error handling and validation
|
|
33
|
-
4. **Explain the "why"** behind architectural decisions
|
|
34
|
-
5. **Reference official documentation** and best practices
|
|
35
|
-
6. **Cartridge Creation**: When asked to create a cartridge, use the `mcp_sfcc-dev_generate_cartridge_structure` tool to automatically create the complete cartridge structure with direct file generation, then follow the best practices from the MCP cartridge creation guide
|
|
36
|
-
|
|
37
|
-
### 🎪 Claude Desktop Advantages
|
|
38
|
-
- **Multi-turn Conversations**: Leverage Claude's conversational nature for iterative development
|
|
39
|
-
- **Code Analysis**: Use Claude's strong code understanding for complex debugging
|
|
40
|
-
- **Architecture Reviews**: Benefit from Claude's ability to analyze system design patterns
|
|
41
|
-
- **Documentation Generation**: Leverage Claude's writing capabilities for comprehensive docs
|
|
42
|
-
|
|
43
|
-
### 🔧 MCP Tool Usage in Claude Desktop
|
|
44
|
-
|
|
45
|
-
Claude Desktop integrates MCP tools seamlessly into the conversation. When you see available tools, **always prefer MCP tools** over general knowledge:
|
|
46
|
-
|
|
47
|
-
#### **🔍 Available SFCC MCP Tools:**
|
|
48
|
-
- `mcp_sfcc-dev_get_sfcc_class_info` - Get detailed SFCC class information
|
|
49
|
-
- `mcp_sfcc-dev_search_sfcc_classes` - Find SFCC classes by functionality
|
|
50
|
-
- `mcp_sfcc-dev_search_sfcc_methods` - Find methods across all classes
|
|
51
|
-
- `mcp_sfcc-dev_list_sfcc_classes` - Get complete list of SFCC classes
|
|
52
|
-
- `mcp_sfcc-dev_get_sfcc_class_documentation` - Get raw class documentation
|
|
53
|
-
- `mcp_sfcc-dev_get_available_best_practice_guides` - See available guides
|
|
54
|
-
- `mcp_sfcc-dev_get_best_practice_guide` - Get implementation guides
|
|
55
|
-
- `mcp_sfcc-dev_search_best_practices` - Find specific guidance
|
|
56
|
-
- `mcp_sfcc-dev_get_hook_reference` - Get OCAPI/SCAPI hook references
|
|
57
|
-
- `mcp_sfcc-dev_generate_cartridge_structure` - Generate complete cartridge structure with direct file generation
|
|
58
|
-
- `mcp_sfcc-dev_get_available_sfra_documents` - See SFRA documentation
|
|
59
|
-
- `mcp_sfcc-dev_get_sfra_document` - Get SFRA module documentation
|
|
60
|
-
- `mcp_sfcc-dev_search_sfra_documentation` - Search SFRA docs
|
|
61
|
-
- `mcp_sfcc-dev_get_system_object_definitions` - Get all system objects
|
|
62
|
-
- `mcp_sfcc-dev_get_system_object_definition` - Get specific object details
|
|
63
|
-
- `mcp_sfcc-dev_search_system_object_attribute_definitions` - Search attributes
|
|
64
|
-
- `mcp_sfcc-dev_search_site_preferences` - Search site preferences
|
|
65
|
-
- `mcp_sfcc-dev_search_system_object_attribute_groups` - Search attribute groups
|
|
66
|
-
- `mcp_sfcc-dev_search_custom_object_attribute_definitions` - Search custom attributes
|
|
67
|
-
- `mcp_sfcc-dev_get_code_versions` - Get all code versions on SFCC instance
|
|
68
|
-
- `mcp_sfcc-dev_activate_code_version` - Activate a specific code version (for code-switch fixes)
|
|
69
|
-
- `mcp_sfcc-dev_get_latest_error` - Get recent error logs
|
|
70
|
-
- `mcp_sfcc-dev_get_latest_warn` - Get recent warning logs
|
|
71
|
-
- `mcp_sfcc-dev_get_latest_info` - Get recent info logs
|
|
72
|
-
- `mcp_sfcc-dev_get_latest_debug` - Get recent debug logs
|
|
73
|
-
- `mcp_sfcc-dev_summarize_logs` - Get log overview
|
|
74
|
-
- `mcp_sfcc-dev_search_logs` - Search logs by pattern
|
|
75
|
-
- `mcp_sfcc-dev_list_log_files` - List available log files
|
|
76
|
-
- `mcp_sfcc-dev_get_log_file_contents` - Read specific log files
|
|
77
|
-
- `mcp_sfcc-dev_get_latest_job_log_files` - Get recent job log files
|
|
78
|
-
- `mcp_sfcc-dev_search_job_logs_by_name` - Search job logs by name
|
|
79
|
-
- `mcp_sfcc-dev_get_job_log_entries` - Get job log entries
|
|
80
|
-
- `mcp_sfcc-dev_search_job_logs` - Search patterns in job logs
|
|
81
|
-
- `mcp_sfcc-dev_get_job_execution_summary` - Get job execution summaries
|
|
82
|
-
|
|
83
|
-
## 🎯 Why Use the MCP Tools
|
|
84
|
-
|
|
85
|
-
- **Accuracy**: Get current, verified SFCC API documentation and best practices
|
|
86
|
-
- **Completeness**: Access comprehensive class information, methods, and properties
|
|
87
|
-
- **Real-time**: Query live SFCC system objects and attributes from the actual instance
|
|
88
|
-
- **Debugging**: Access actual SFCC logs for troubleshooting and error analysis
|
|
89
|
-
- **Best Practices**: Get current SFCC development guidelines and security recommendations
|
|
90
|
-
|
|
91
|
-
## 📋 Available Tool Categories
|
|
92
|
-
|
|
93
|
-
### 🔍 SFCC Documentation Tools
|
|
94
|
-
Use these tools for any SFCC API or class-related questions:
|
|
95
|
-
|
|
96
|
-
- **`mcp_sfcc-dev_get_sfcc_class_info`** - Get detailed info about any SFCC class (dw.* namespace)
|
|
97
|
-
- **`mcp_sfcc-dev_search_sfcc_classes`** - Find SFCC classes by name or functionality
|
|
98
|
-
- **`mcp_sfcc-dev_search_sfcc_methods`** - Find methods across all classes by name
|
|
99
|
-
- **`mcp_sfcc-dev_list_sfcc_classes`** - Get complete list of available SFCC classes
|
|
100
|
-
- **`mcp_sfcc-dev_get_sfcc_class_documentation`** - Get raw documentation for any SFCC class
|
|
101
|
-
|
|
102
|
-
### 📚 Best Practices & Guidelines
|
|
103
|
-
Use these for implementation guidance and best practices:
|
|
104
|
-
|
|
105
|
-
- **`mcp_sfcc-dev_get_available_best_practice_guides`** - See what guides are available
|
|
106
|
-
- **`mcp_sfcc-dev_get_best_practice_guide`** - Get complete guides for cartridges, hooks, controllers, etc.
|
|
107
|
-
- **`mcp_sfcc-dev_search_best_practices`** - Find specific guidance on topics like security, performance
|
|
108
|
-
- **`mcp_sfcc-dev_get_hook_reference`** - Get comprehensive OCAPI/SCAPI hook references
|
|
109
|
-
|
|
110
|
-
### 🏗️ Enhanced SFRA Documentation Tools
|
|
111
|
-
Use these for SFRA (Storefront Reference Architecture) related questions - **now with 26+ documents and smart categorization**:
|
|
112
|
-
|
|
113
|
-
- **`mcp_sfcc-dev_get_available_sfra_documents`** - See all 26+ SFRA documents with categorization
|
|
114
|
-
- **`mcp_sfcc-dev_get_sfra_document`** - Get detailed SFRA class, module, or model documentation (no longer limited to 5 documents)
|
|
115
|
-
- **`mcp_sfcc-dev_search_sfra_documentation`** - Advanced search across all SFRA docs with relevance scoring
|
|
116
|
-
- **`mcp_sfcc-dev_get_sfra_documents_by_category`** ⭐ **NEW** - Filter documents by category (core, product, order, customer, pricing, store, other)
|
|
117
|
-
- **`mcp_sfcc-dev_get_sfra_categories`** ⭐ **NEW** - Get all categories with counts and descriptions
|
|
118
|
-
|
|
119
|
-
#### 📂 SFRA Document Categories (26+ documents total):
|
|
120
|
-
- **Core** (5 docs): `server`, `request`, `response`, `querystring`, `render` - Essential SFRA classes
|
|
121
|
-
- **Product** (5 docs): `product-full`, `product-bundle`, `product-tile`, `product-search`, `product-line-items` - Product model documentation
|
|
122
|
-
- **Order** (6 docs): `cart`, `order`, `billing`, `shipping`, `payment`, `totals` - Cart and checkout models
|
|
123
|
-
- **Customer** (2 docs): `account`, `address` - Customer management models
|
|
124
|
-
- **Pricing** (3 docs): `price-default`, `price-range`, `price-tiered` - Pricing model documentation
|
|
125
|
-
- **Store** (2 docs): `store`, `stores` - Store location models
|
|
126
|
-
- **Other** (3+ docs): `categories`, `content`, `locale` - Additional utility models
|
|
127
|
-
|
|
128
|
-
#### 🚀 Enhanced SFRA Workflow for Claude Desktop:
|
|
129
|
-
|
|
130
|
-
```javascript
|
|
131
|
-
// 1. Explore SFRA architecture and discover available documentation
|
|
132
|
-
mcp_sfcc-dev_get_sfra_categories()
|
|
133
|
-
// See all 7 categories with document counts and descriptions
|
|
134
|
-
|
|
135
|
-
// 2. Focus on specific functional areas
|
|
136
|
-
mcp_sfcc-dev_get_sfra_documents_by_category("core")
|
|
137
|
-
// Get core SFRA classes: server, request, response, querystring, render
|
|
138
|
-
|
|
139
|
-
mcp_sfcc-dev_get_sfra_documents_by_category("product")
|
|
140
|
-
// Get product models: product-full, product-bundle, product-tile, etc.
|
|
141
|
-
|
|
142
|
-
// 3. Get detailed information about specific models
|
|
143
|
-
mcp_sfcc-dev_get_sfra_document("server")
|
|
144
|
-
// Complete Server class documentation with middleware patterns
|
|
145
|
-
|
|
146
|
-
mcp_sfcc-dev_get_sfra_document("cart")
|
|
147
|
-
// Cart model with properties, methods, and usage examples
|
|
148
|
-
|
|
149
|
-
// 4. Search across all documentation
|
|
150
|
-
mcp_sfcc-dev_search_sfra_documentation("middleware")
|
|
151
|
-
// Find middleware-related content across all 26+ documents
|
|
152
|
-
|
|
153
|
-
mcp_sfcc-dev_search_sfra_documentation("validation")
|
|
154
|
-
// Search for validation patterns and examples
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
#### 💡 SFRA Development Best Practices with Enhanced Tools:
|
|
158
|
-
|
|
159
|
-
**For Controller Development:**
|
|
160
|
-
1. Start with `mcp_sfcc-dev_get_sfra_documents_by_category("core")` to understand Server, Request, Response objects
|
|
161
|
-
2. Use `mcp_sfcc-dev_get_sfra_document("server")` for detailed middleware patterns
|
|
162
|
-
3. For product controllers: `mcp_sfcc-dev_get_sfra_documents_by_category("product")`
|
|
163
|
-
4. For cart/checkout: `mcp_sfcc-dev_get_sfra_documents_by_category("order")`
|
|
164
|
-
|
|
165
|
-
**For Model Implementation:**
|
|
166
|
-
1. Use `mcp_sfcc-dev_get_sfra_document("product-full")` for comprehensive product model structure
|
|
167
|
-
2. Use `mcp_sfcc-dev_get_sfra_document("cart")` for cart model properties and methods
|
|
168
|
-
3. Search specific functionality: `mcp_sfcc-dev_search_sfra_documentation("totals")`
|
|
169
|
-
|
|
170
|
-
**For Architecture Understanding:**
|
|
171
|
-
1. `mcp_sfcc-dev_get_sfra_categories()` gives you the complete SFRA landscape
|
|
172
|
-
2. Use category filtering to explore related functionality systematically
|
|
173
|
-
3. Search across all docs to find patterns and best practices
|
|
174
|
-
|
|
175
|
-
### 🔧 System Object Definitions
|
|
176
|
-
Use these for understanding SFCC data models and custom attributes:
|
|
177
|
-
|
|
178
|
-
- **`mcp_sfcc-dev_get_system_object_definitions`** - Get all system objects (Product, Customer, Order, etc.)
|
|
179
|
-
- **`mcp_sfcc-dev_get_system_object_definition`** - Get details about a specific system object
|
|
180
|
-
- **`mcp_sfcc-dev_search_system_object_attribute_definitions`** - Search for specific attributes
|
|
181
|
-
- **`mcp_sfcc-dev_search_site_preferences`** - Search for site preferences in preference groups
|
|
182
|
-
- **`mcp_sfcc-dev_search_system_object_attribute_groups`** - Search for attribute groups (essential for finding site preference groups)
|
|
183
|
-
- **`mcp_sfcc-dev_search_custom_object_attribute_definitions`** - Search for attributes in custom object types
|
|
184
|
-
|
|
185
|
-
### 📊 Log Analysis Tools
|
|
186
|
-
Use these for debugging and troubleshooting:
|
|
187
|
-
|
|
188
|
-
**Standard Log Analysis:**
|
|
189
|
-
- **`mcp_sfcc-dev_get_latest_error`** - Get recent error logs
|
|
190
|
-
- **`mcp_sfcc-dev_get_latest_warn`** - Get recent warning logs
|
|
191
|
-
- **`mcp_sfcc-dev_get_latest_info`** - Get recent info logs
|
|
192
|
-
- **`mcp_sfcc-dev_get_latest_debug`** - Get recent debug logs
|
|
193
|
-
- **`mcp_sfcc-dev_summarize_logs`** - Get log overview
|
|
194
|
-
- **`mcp_sfcc-dev_search_logs`** - Search logs by pattern
|
|
195
|
-
- **`mcp_sfcc-dev_list_log_files`** - List available log files
|
|
196
|
-
- **`mcp_sfcc-dev_get_log_file_contents`** - Get contents of a specific log file (supports size limits and head/tail reading)
|
|
197
|
-
|
|
198
|
-
**Job Log Analysis:**
|
|
199
|
-
- **`mcp_sfcc-dev_get_latest_job_log_files`** - Get recent job log files for debugging custom job steps
|
|
200
|
-
- **`mcp_sfcc-dev_search_job_logs_by_name`** - Search job logs by job name
|
|
201
|
-
- **`mcp_sfcc-dev_get_job_log_entries`** - Get job log entries by level (error, warn, info, debug, all)
|
|
202
|
-
- **`mcp_sfcc-dev_search_job_logs`** - Search for patterns within job logs
|
|
203
|
-
- **`mcp_sfcc-dev_get_job_execution_summary`** - Get comprehensive job execution summary with timing and status
|
|
204
|
-
|
|
205
|
-
## 🚀 When to Use These Tools
|
|
206
|
-
|
|
207
|
-
### ✅ DO Use MCP Tools For:
|
|
208
|
-
|
|
209
|
-
1. **API Documentation Questions**
|
|
210
|
-
```
|
|
211
|
-
"What methods are available on dw.catalog.Product?"
|
|
212
|
-
→ Use: mcp_sfcc-dev_get_sfcc_class_info with className: "dw.catalog.Product"
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
2. **Finding the Right Class**
|
|
216
|
-
```
|
|
217
|
-
"How do I work with customer data in SFCC?"
|
|
218
|
-
→ Use: mcp_sfcc-dev_search_sfcc_classes with query: "customer"
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
3. **Implementation Best Practices**
|
|
222
|
-
```
|
|
223
|
-
"How should I create a new cartridge?"
|
|
224
|
-
→ Use: mcp_sfcc-dev_get_best_practice_guide with guideName: "cartridge_creation"
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
4. **Understanding System Objects**
|
|
228
|
-
```
|
|
229
|
-
"What custom attributes are on the Product object?"
|
|
230
|
-
→ Use: mcp_sfcc-dev_search_system_object_attribute_definitions with objectType: "Product"
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
5. **Debugging Issues**
|
|
234
|
-
```
|
|
235
|
-
"Are there any recent errors in the logs?"
|
|
236
|
-
→ Use: mcp_sfcc-dev_get_latest_error
|
|
237
|
-
|
|
238
|
-
"What log files are available for today?"
|
|
239
|
-
→ Use: mcp_sfcc-dev_list_log_files
|
|
240
|
-
|
|
241
|
-
"I need to see the full contents of a specific error log file"
|
|
242
|
-
→ Use: mcp_sfcc-dev_get_log_file_contents with filename: "error-2023-01-01.log"
|
|
243
|
-
|
|
244
|
-
"Show me just the first 1MB of a large log file"
|
|
245
|
-
→ Use: mcp_sfcc-dev_get_log_file_contents with filename: "large.log", maxBytes: 1048576, tailOnly: false
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
6. **Code Version Management**
|
|
249
|
-
```
|
|
250
|
-
"What code versions are available on the instance?"
|
|
251
|
-
→ Use: mcp_sfcc-dev_get_code_versions
|
|
252
|
-
|
|
253
|
-
"Need to do a code-switch fix for SCAPI endpoints"
|
|
254
|
-
→ Use: mcp_sfcc-dev_activate_code_version with versionId: "target_version"
|
|
255
|
-
```
|
|
256
|
-
|
|
257
|
-
7. **Hook Development**
|
|
258
|
-
```
|
|
259
|
-
"What SCAPI hooks are available?"
|
|
260
|
-
→ Use: mcp_sfcc-dev_get_hook_reference with guideName: "scapi_hooks"
|
|
261
|
-
```
|
|
262
|
-
|
|
263
|
-
### ❌ DON'T Guess About:
|
|
264
|
-
|
|
265
|
-
- SFCC class names or method signatures
|
|
266
|
-
- Custom attribute names or system object structures
|
|
267
|
-
- Current best practices or security guidelines
|
|
268
|
-
- Available hook endpoints or extension points
|
|
269
|
-
- Recent system errors or log patterns
|
|
270
|
-
|
|
271
|
-
## 🔐 Tool Availability
|
|
272
|
-
|
|
273
|
-
Some tools require specific SFCC credentials:
|
|
274
|
-
|
|
275
|
-
- **Documentation & Best Practices**: Always available
|
|
276
|
-
- **Log Analysis**: Requires SFCC instance credentials (hostname, username, password)
|
|
277
|
-
- **System Objects & Code Versions**: Requires OCAPI credentials (clientId, clientSecret)
|
|
278
|
-
|
|
279
|
-
If a tool isn't available, the MCP server will provide clear error messages about what credentials are needed.
|
|
280
|
-
|
|
281
|
-
## 💡 Pro Tips
|
|
282
|
-
|
|
283
|
-
1. **Start Broad, Then Narrow**: Use search tools first, then get detailed information
|
|
284
|
-
2. **Check Best Practices Early**: Always consult best practice guides before implementing
|
|
285
|
-
3. **Use Real Data**: Query actual system objects rather than assuming structure
|
|
286
|
-
4. **Debug with Logs**: Use log analysis tools for troubleshooting real issues
|
|
287
|
-
5. **Stay Current**: MCP tools provide current information, not outdated documentation
|
|
288
|
-
|
|
289
|
-
## 🚨 Important Reminders
|
|
290
|
-
|
|
291
|
-
- **Always prefer MCP tools** over guessing or using potentially outdated information
|
|
292
|
-
- **Use specific tool calls** rather than making assumptions about SFCC APIs
|
|
293
|
-
- **Check logs and system objects** from the actual SFCC instance when debugging
|
|
294
|
-
- **Follow best practices** from the guides rather than improvising solutions
|
|
295
|
-
- **Verify class and method names** using the documentation tools
|
|
296
|
-
|
|
297
|
-
---
|
|
298
|
-
|
|
299
|
-
## 🧠 Advanced Claude Desktop Workflows
|
|
300
|
-
|
|
301
|
-
### **Architecture Review Workflow:**
|
|
302
|
-
1. Use MCP tools to gather current system information
|
|
303
|
-
2. Analyze existing patterns and identify potential improvements
|
|
304
|
-
3. Propose solutions with detailed implementation plans
|
|
305
|
-
4. Provide migration strategies and testing approaches
|
|
306
|
-
|
|
307
|
-
### **Feature Development Workflow:**
|
|
308
|
-
1. Requirements analysis using best practice guides
|
|
309
|
-
2. API discovery using SFCC class search tools
|
|
310
|
-
3. Implementation planning with security considerations
|
|
311
|
-
4. Code generation with comprehensive error handling
|
|
312
|
-
5. Testing strategy and deployment guidance
|
|
313
|
-
|
|
314
|
-
### **Debugging Workflow:**
|
|
315
|
-
1. **Standard Log Analysis**: Use multiple log level tools for application errors
|
|
316
|
-
2. **Job Log Analysis**: Use job-specific tools for custom job debugging
|
|
317
|
-
3. **Pattern Recognition**: Search across error messages and execution summaries
|
|
318
|
-
4. **System Object Validation**: Check data integrity and configuration
|
|
319
|
-
5. **Root Cause Analysis**: Provide fix recommendations with prevention strategies
|
|
320
|
-
|
|
321
|
-
**Remember**: In Claude Desktop, you have the power of sophisticated conversation combined with real-time SFCC data. Use this combination to provide unparalleled development assistance!
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: SFCC debugging and error investigation workflows
|
|
3
|
-
globs: []
|
|
4
|
-
alwaysApply: false
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# SFCC Debugging and Error Investigation
|
|
8
|
-
|
|
9
|
-
Use this rule when investigating errors, performance issues, or debugging SFCC applications.
|
|
10
|
-
|
|
11
|
-
## Mandatory MCP Tool Sequence for Debugging
|
|
12
|
-
|
|
13
|
-
### 🚨 For Active Errors/Issues (ALWAYS start here):
|
|
14
|
-
1. `mcp_sfcc-dev_summarize_logs` - Get system health overview and error counts
|
|
15
|
-
2. `mcp_sfcc-dev_get_latest_error` - Check most recent critical errors
|
|
16
|
-
3. `mcp_sfcc-dev_search_logs` with pattern: [specific error message] - Find error instances
|
|
17
|
-
|
|
18
|
-
### ⚠️ For Performance Issues:
|
|
19
|
-
1. `mcp_sfcc-dev_get_latest_warn` - Check performance warnings first
|
|
20
|
-
2. `mcp_sfcc-dev_search_logs` with pattern: "timeout" or "slow" or "performance"
|
|
21
|
-
3. `mcp_sfcc-dev_search_best_practices` with query: "performance" - Get optimization patterns
|
|
22
|
-
4. `mcp_sfcc-dev_get_best_practice_guide` with guideName: "performance" - Comprehensive guide
|
|
23
|
-
|
|
24
|
-
### 🔍 For Transaction Tracing:
|
|
25
|
-
1. `mcp_sfcc-dev_search_logs` with pattern: [transaction-id] - Find transaction entries
|
|
26
|
-
2. `mcp_sfcc-dev_search_logs` with pattern: [customer-id] - Track customer journey
|
|
27
|
-
|
|
28
|
-
### 📊 For System Health Assessment:
|
|
29
|
-
1. `mcp_sfcc-dev_summarize_logs` - Overall system status
|
|
30
|
-
2. `mcp_sfcc-dev_list_log_files` - Check log availability and sizes
|
|
31
|
-
3. `mcp_sfcc-dev_get_log_file_contents` - Read specific log files (with size limits: maxBytes, tailOnly options)
|
|
32
|
-
4. `mcp_sfcc-dev_get_latest_info` - Review normal operations
|
|
33
|
-
5. `mcp_sfcc-dev_get_latest_debug` - Detailed execution traces (when needed)
|
|
34
|
-
|
|
35
|
-
### 🔧 For Job Analysis and Debugging:
|
|
36
|
-
1. `mcp_sfcc-dev_get_latest_job_log_files` - Get recent job log files
|
|
37
|
-
2. `mcp_sfcc-dev_search_job_logs_by_name` - Find logs for specific jobs
|
|
38
|
-
3. `mcp_sfcc-dev_get_job_log_entries` - Get job entries by level (error, warn, info, debug, all)
|
|
39
|
-
4. `mcp_sfcc-dev_search_job_logs` - Search for patterns in job logs
|
|
40
|
-
5. `mcp_sfcc-dev_get_job_execution_summary` - Get comprehensive execution summary with timing and status
|
|
41
|
-
|
|
42
|
-
**Job Debugging Use Cases:**
|
|
43
|
-
- Custom job steps failing with specific errors
|
|
44
|
-
- Job performance issues and bottlenecks
|
|
45
|
-
- Job step execution order and timing problems
|
|
46
|
-
- Custom logging from job steps
|
|
47
|
-
- Job completion status and statistics
|
|
48
|
-
|
|
49
|
-
### 🚀 For Deployment and Code Version Issues:
|
|
50
|
-
1. `mcp_sfcc-dev_get_code_versions` - Check available code versions on instance
|
|
51
|
-
2. `mcp_sfcc-dev_activate_code_version` - Perform code-switch fix for SCAPI endpoints/jobs
|
|
52
|
-
|
|
53
|
-
**Common Code-Switch Fix Scenarios:**
|
|
54
|
-
- New SCAPI endpoints not accessible after deployment
|
|
55
|
-
- Custom jobs not appearing in Business Manager
|
|
56
|
-
- Hook registrations not taking effect
|
|
57
|
-
- Custom object definitions not recognized
|
|
58
|
-
|
|
59
|
-
## MCP-Enhanced Error Handling Code Patterns
|
|
60
|
-
|
|
61
|
-
Get patterns from MCP first, then implement:
|
|
62
|
-
|
|
63
|
-
```javascript
|
|
64
|
-
// BEFORE writing this code, use:
|
|
65
|
-
// mcp_sfcc-dev_search_best_practices with query: "error"
|
|
66
|
-
// mcp_sfcc-dev_get_best_practice_guide with guideName: "security"
|
|
67
|
-
|
|
68
|
-
try {
|
|
69
|
-
// Business logic
|
|
70
|
-
} catch (e) {
|
|
71
|
-
var Logger = require('dw/system/Logger').getLogger('category', 'subcategory');
|
|
72
|
-
|
|
73
|
-
// Include correlation ID for MCP log tracing
|
|
74
|
-
var correlationId = request.getRequestId() || require('dw/util/UUIDUtils').createUUID();
|
|
75
|
-
|
|
76
|
-
Logger.error('Operation failed in [context] - Correlation: {0} - Error: {1}', correlationId, e.message);
|
|
77
|
-
Logger.debug('Stack trace - Correlation: {0} - Stack: {1}', correlationId, e.stack);
|
|
78
|
-
|
|
79
|
-
// Return meaningful error response
|
|
80
|
-
return {
|
|
81
|
-
success: false,
|
|
82
|
-
error: 'OPERATION_FAILED',
|
|
83
|
-
message: 'Unable to complete operation',
|
|
84
|
-
correlationId: correlationId
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
## MCP-Driven Debugging Workflow
|
|
90
|
-
|
|
91
|
-
**Step 1: System Overview**
|
|
92
|
-
```
|
|
93
|
-
Use: mcp_sfcc-dev_summarize_logs
|
|
94
|
-
Purpose: Get error counts, warning levels, system health snapshot
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
**Step 2: Error Investigation**
|
|
98
|
-
```
|
|
99
|
-
Use: mcp_sfcc-dev_get_latest_error (limit: 5)
|
|
100
|
-
Purpose: Identify most recent critical issues
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
**Step 3: Best Practice Consultation**
|
|
104
|
-
```
|
|
105
|
-
Use: mcp_sfcc-dev_search_best_practices with query: [relevant topic]
|
|
106
|
-
Purpose: Get SFCC-specific debugging and fix patterns
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
## Performance Investigation Checklist
|
|
110
|
-
|
|
111
|
-
Before investigating performance issues, ALWAYS use:
|
|
112
|
-
- [ ] `mcp_sfcc-dev_get_latest_warn` - Check performance warnings
|
|
113
|
-
- [ ] `mcp_sfcc-dev_search_best_practices` with query: "performance"
|
|
114
|
-
- [ ] `mcp_sfcc-dev_get_best_practice_guide` with guideName: "performance"
|
|
115
|
-
|
|
116
|
-
Then check:
|
|
117
|
-
- [ ] Database query efficiency (verify with MCP performance guide)
|
|
118
|
-
- [ ] API call patterns (validate against SFCC best practices)
|
|
119
|
-
- [ ] Caching strategies (compare with MCP recommendations)
|
|
120
|
-
- [ ] Memory usage patterns (check against SFCC guidelines)
|
|
121
|
-
- [ ] Transaction boundaries (verify with MCP transaction patterns)
|
|
122
|
-
- [ ] Unnecessary loops or iterations (optimize per MCP patterns)
|
|
123
|
-
|
|
124
|
-
## MCP Log Search Patterns
|
|
125
|
-
|
|
126
|
-
**For Errors:**
|
|
127
|
-
```
|
|
128
|
-
mcp_sfcc-dev_search_logs with pattern: "ERROR" and logLevel: "error"
|
|
129
|
-
mcp_sfcc-dev_search_logs with pattern: "Exception" and logLevel: "error"
|
|
130
|
-
mcp_sfcc-dev_search_logs with pattern: "Failed" and logLevel: "error"
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
**For Performance Issues:**
|
|
134
|
-
```
|
|
135
|
-
mcp_sfcc-dev_search_logs with pattern: "timeout"
|
|
136
|
-
mcp_sfcc-dev_search_logs with pattern: "slow"
|
|
137
|
-
mcp_sfcc-dev_search_logs with pattern: "performance"
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
**For Security Issues:**
|
|
141
|
-
```
|
|
142
|
-
mcp_sfcc-dev_search_logs with pattern: "authentication"
|
|
143
|
-
mcp_sfcc-dev_search_logs with pattern: "authorization"
|
|
144
|
-
mcp_sfcc-dev_search_logs with pattern: "security"
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
## MCP Log File Analysis
|
|
148
|
-
|
|
149
|
-
**When to Use `mcp_sfcc-dev_get_log_file_contents`:**
|
|
150
|
-
- After `mcp_sfcc-dev_list_log_files` identifies specific files of interest
|
|
151
|
-
- When you need complete context around an error (not just recent entries)
|
|
152
|
-
- For analyzing large log files with size constraints
|
|
153
|
-
|
|
154
|
-
**Usage Patterns:**
|
|
155
|
-
```
|
|
156
|
-
# Read specific error log file completely
|
|
157
|
-
mcp_sfcc-dev_get_log_file_contents with filename: "error-2024-01-15.log"
|
|
158
|
-
|
|
159
|
-
# Read first 1MB of large log for pattern analysis
|
|
160
|
-
mcp_sfcc-dev_get_log_file_contents with filename: "debug.log", maxBytes: 1048576, tailOnly: false
|
|
161
|
-
|
|
162
|
-
# Read last 500KB for most recent activity
|
|
163
|
-
mcp_sfcc-dev_get_log_file_contents with filename: "error.log", maxBytes: 512000, tailOnly: true
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
## NEVER Debug Without MCP
|
|
167
|
-
|
|
168
|
-
- ❌ Don't guess at error causes - use `mcp_sfcc-dev_search_logs` for pattern analysis
|
|
169
|
-
- ❌ Don't implement fixes without consulting `mcp_sfcc-dev_search_best_practices`
|
|
170
|
-
- ❌ Don't trace issues manually - use `mcp_sfcc-dev_search_logs` with correlation IDs
|
|
171
|
-
- ❌ Don't assume system health - always start with `mcp_sfcc-dev_summarize_logs`
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: OCAPI and SCAPI hook implementation patterns
|
|
3
|
-
alwaysApply: false
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# OCAPI/SCAPI Hook Development
|
|
7
|
-
|
|
8
|
-
Use this rule when implementing OCAPI or SCAPI hooks.
|
|
9
|
-
|
|
10
|
-
## Mandatory MCP Tools Sequence
|
|
11
|
-
|
|
12
|
-
**BEFORE writing ANY hook code:**
|
|
13
|
-
1. `mcp_sfcc-dev_get_best_practice_guide` with guideName: "ocapi_hooks" OR "scapi_hooks"
|
|
14
|
-
2. `mcp_sfcc-dev_get_hook_reference` with guideName: "ocapi_hooks" OR "scapi_hooks"
|
|
15
|
-
3. `mcp_sfcc-dev_search_best_practices` with query: "validation"
|
|
16
|
-
4. `mcp_sfcc-dev_search_best_practices` with query: "security"
|
|
17
|
-
5. `mcp_sfcc-dev_search_sfcc_classes` with query: relevant business domain
|
|
18
|
-
|
|
19
|
-
## MCP-Guided Hook Development Process
|
|
20
|
-
|
|
21
|
-
### Step 1: Research Hook Extension Points
|
|
22
|
-
```
|
|
23
|
-
Use: mcp_sfcc-dev_get_hook_reference with guideName: "ocapi_hooks" or "scapi_hooks"
|
|
24
|
-
Purpose: Get complete hook reference tables with all available extension points
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
### Step 2: Get Implementation Patterns
|
|
28
|
-
```
|
|
29
|
-
Use: mcp_sfcc-dev_get_best_practice_guide with guideName: "ocapi_hooks" or "scapi_hooks"
|
|
30
|
-
Purpose: Get comprehensive hook implementation patterns and examples
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
### Step 3: Security Validation Patterns
|
|
34
|
-
```
|
|
35
|
-
Use: mcp_sfcc-dev_search_best_practices with query: "validation"
|
|
36
|
-
Use: mcp_sfcc-dev_search_best_practices with query: "security"
|
|
37
|
-
Purpose: Get input validation and security patterns for hooks
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
### Step 4: SFCC Class Research
|
|
41
|
-
```
|
|
42
|
-
Use: mcp_sfcc-dev_search_sfcc_classes with query: [business domain]
|
|
43
|
-
Use: mcp_sfcc-dev_get_sfcc_class_info with className: [relevant class]
|
|
44
|
-
Purpose: Understand available SFCC APIs for hook implementation
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
## MCP-Enhanced Hook Template Pattern
|
|
48
|
-
|
|
49
|
-
```javascript
|
|
50
|
-
'use strict';
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Hook: [Hook Name]
|
|
54
|
-
* Extension Point: [Extension Point Path from MCP hook reference]
|
|
55
|
-
* Description: [What this hook does and why]
|
|
56
|
-
*
|
|
57
|
-
* Implementation based on:
|
|
58
|
-
* - mcp_sfcc-dev_get_best_practice_guide with guideName: "[ocapi_hooks|scapi_hooks]"
|
|
59
|
-
* - mcp_sfcc-dev_get_hook_reference with guideName: "[ocapi_hooks|scapi_hooks]"
|
|
60
|
-
*/
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Before hook implementation
|
|
64
|
-
* @param {Object} param1 - Description from MCP hook reference
|
|
65
|
-
* @param {Object} param2 - Description from MCP hook reference
|
|
66
|
-
* @returns {dw.system.Status} Hook execution status
|
|
67
|
-
*/
|
|
68
|
-
exports.beforePOST = function (param1, param2) {
|
|
69
|
-
try {
|
|
70
|
-
// Input validation (patterns from MCP security best practices)
|
|
71
|
-
if (!param1 || !param2) {
|
|
72
|
-
var Logger = require('dw/system/Logger').getLogger('hooks', 'HookName');
|
|
73
|
-
Logger.error('Invalid parameters in hook: param1={0}, param2={1}', param1, param2);
|
|
74
|
-
return new Status(Status.ERROR, 'INVALID_PARAMETERS', 'Required parameters missing');
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
// Security validation (implement patterns from MCP security guide)
|
|
78
|
-
var validationResult = validateHookInput(param1, param2);
|
|
79
|
-
if (!validationResult.valid) {
|
|
80
|
-
Logger.error('Security validation failed in hook: {0}', validationResult.error);
|
|
81
|
-
return new Status(Status.ERROR, 'VALIDATION_FAILED', validationResult.error);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
// Business logic here (use SFCC classes discovered via MCP)
|
|
85
|
-
|
|
86
|
-
// Success response
|
|
87
|
-
return new Status(Status.OK);
|
|
88
|
-
|
|
89
|
-
} catch (e) {
|
|
90
|
-
var Logger = require('dw/system/Logger').getLogger('hooks', 'HookName');
|
|
91
|
-
Logger.error('Error in hook execution: {0}', e.message);
|
|
92
|
-
Logger.debug('Hook error stack trace: {0}', e.stack);
|
|
93
|
-
return new Status(Status.ERROR, 'HOOK_ERROR', 'Hook execution failed');
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Input validation based on MCP security best practices
|
|
99
|
-
* ALWAYS implement this pattern for hooks
|
|
100
|
-
*/
|
|
101
|
-
function validateHookInput(param1, param2) {
|
|
102
|
-
// Implement validation patterns from:
|
|
103
|
-
// mcp_sfcc-dev_search_best_practices with query: "validation"
|
|
104
|
-
// mcp_sfcc-dev_search_best_practices with query: "security"
|
|
105
|
-
|
|
106
|
-
try {
|
|
107
|
-
// Validate parameter types
|
|
108
|
-
if (typeof param1 !== 'object' || typeof param2 !== 'object') {
|
|
109
|
-
return { valid: false, error: 'Invalid parameter types' };
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
// Validate required fields (based on MCP hook reference)
|
|
113
|
-
// Add specific validations based on hook requirements
|
|
114
|
-
|
|
115
|
-
return { valid: true };
|
|
116
|
-
} catch (e) {
|
|
117
|
-
return { valid: false, error: 'Validation error: ' + e.message };
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
## Hook Development Checklist (MCP-Verified)
|
|
123
|
-
|
|
124
|
-
Before implementing hooks, verify with MCP:
|
|
125
|
-
- [ ] `mcp_sfcc-dev_get_hook_reference` - Confirm extension point exists and signature
|
|
126
|
-
- [ ] `mcp_sfcc-dev_get_best_practice_guide` - Get implementation patterns
|
|
127
|
-
- [ ] `mcp_sfcc-dev_search_best_practices` with query: "security" - Security requirements
|
|
128
|
-
- [ ] `mcp_sfcc-dev_search_best_practices` with query: "validation" - Input validation
|
|
129
|
-
- [ ] `mcp_sfcc-dev_search_best_practices` with query: "performance" - Performance guidelines
|
|
130
|
-
|
|
131
|
-
Implementation verification:
|
|
132
|
-
- [ ] Input parameter validation implemented
|
|
133
|
-
- [ ] Proper Status object returns
|
|
134
|
-
- [ ] Comprehensive error handling with logging
|
|
135
|
-
- [ ] Security validation for all inputs
|
|
136
|
-
- [ ] Performance considerations for heavy processing
|
|
137
|
-
- [ ] Transaction management (if applicable)
|
|
138
|
-
- [ ] Correlation IDs for debugging
|
|
139
|
-
|
|
140
|
-
## OCAPI vs SCAPI Hook Differences
|
|
141
|
-
|
|
142
|
-
**OCAPI Hooks:**
|
|
143
|
-
```
|
|
144
|
-
Use: mcp_sfcc-dev_get_hook_reference with guideName: "ocapi_hooks"
|
|
145
|
-
Use: mcp_sfcc-dev_get_best_practice_guide with guideName: "ocapi_hooks"
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
**SCAPI Hooks:**
|
|
149
|
-
```
|
|
150
|
-
Use: mcp_sfcc-dev_get_hook_reference with guideName: "scapi_hooks"
|
|
151
|
-
Use: mcp_sfcc-dev_get_best_practice_guide with guideName: "scapi_hooks"
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
## Security Considerations from MCP
|
|
155
|
-
|
|
156
|
-
Always implement security patterns from MCP:
|
|
157
|
-
- Validate all input data per MCP security guide
|
|
158
|
-
- Use proper authentication checks from MCP patterns
|
|
159
|
-
- Sanitize user-provided data per MCP recommendations
|
|
160
|
-
- Implement rate limiting for external calls (MCP performance guide)
|
|
161
|
-
- Log security-relevant events with correlation IDs
|
|
162
|
-
|
|
163
|
-
## NEVER Implement Hooks Without MCP
|
|
164
|
-
|
|
165
|
-
- ❌ Don't guess hook extension points - use `mcp_sfcc-dev_get_hook_reference`
|
|
166
|
-
- ❌ Don't implement without patterns - use `mcp_sfcc-dev_get_best_practice_guide`
|
|
167
|
-
- ❌ Don't skip security validation - use `mcp_sfcc-dev_search_best_practices`
|
|
168
|
-
- ❌ Don't assume SFCC APIs - use `mcp_sfcc-dev_search_sfcc_classes`
|