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
package/CONTRIBUTING.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Contributing to SFCC Development MCP Server
|
|
2
2
|
|
|
3
|
-
Thank you for your interest in contributing to the SFCC Development MCP Server! This project provides MCP tools for Salesforce B2C Commerce Cloud development assistance, including documentation access,
|
|
3
|
+
Thank you for your interest in contributing to the SFCC Development MCP Server! This project provides MCP tools for Salesforce B2C Commerce Cloud development assistance, including documentation access, bundled agent skills, log analysis, and system object definitions.
|
|
4
4
|
|
|
5
5
|
## Table of Contents
|
|
6
6
|
|
|
@@ -75,23 +75,11 @@ For testing full mode features, create a `dw.json` file in the project root:
|
|
|
75
75
|
## Project Structure
|
|
76
76
|
|
|
77
77
|
```
|
|
78
|
-
src/
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
├── config.ts # Configuration management
|
|
84
|
-
├── best-practices-client.ts # Best practices guide client
|
|
85
|
-
├── docs-client.ts # SFCC documentation client
|
|
86
|
-
├── log-client.ts # SFCC log analysis client
|
|
87
|
-
├── ocapi-client.ts # OCAPI system object client
|
|
88
|
-
└── utils.ts # Utility functions
|
|
89
|
-
|
|
90
|
-
docs/
|
|
91
|
-
├── best-practices/ # Best practice guides
|
|
92
|
-
└── dw_*/ # SFCC API documentation
|
|
93
|
-
|
|
94
|
-
tests/ # Test files
|
|
78
|
+
src/ # TypeScript MCP server
|
|
79
|
+
docs/ # SFCC docs sources (dw_* namespaces, sfra, isml)
|
|
80
|
+
ai-instructions/ # AGENTS.md + bundled skills (ai-instructions/skills/*/SKILL.md)
|
|
81
|
+
docs-site/ # React + Vite documentation site
|
|
82
|
+
tests/ # Jest + MCP (Aegis) tests
|
|
95
83
|
scripts/ # Build and utility scripts
|
|
96
84
|
```
|
|
97
85
|
|
|
@@ -125,7 +113,7 @@ scripts/ # Build and utility scripts
|
|
|
125
113
|
|
|
126
114
|
### 3. Documentation
|
|
127
115
|
|
|
128
|
-
- Update
|
|
116
|
+
- Update bundled skills (ai-instructions/skills/*/SKILL.md)
|
|
129
117
|
- Add new SFCC API documentation
|
|
130
118
|
- Improve code comments and README
|
|
131
119
|
|
|
@@ -243,11 +231,11 @@ npm run lint:fix
|
|
|
243
231
|
|
|
244
232
|
## Documentation
|
|
245
233
|
|
|
246
|
-
###
|
|
234
|
+
### Agent Skills
|
|
247
235
|
|
|
248
|
-
When adding or updating
|
|
236
|
+
When adding or updating skills in `ai-instructions/skills/<skill>/SKILL.md`:
|
|
249
237
|
|
|
250
|
-
1.
|
|
238
|
+
1. Include frontmatter (`name`, `description`)
|
|
251
239
|
2. Include practical examples
|
|
252
240
|
3. Reference relevant SFCC APIs
|
|
253
241
|
4. Provide security considerations
|
package/README.md
CHANGED
|
@@ -10,9 +10,11 @@ An AI-powered Model Context Protocol (MCP) server that provides comprehensive ac
|
|
|
10
10
|
- **🔍 Complete SFCC Documentation Access** - Search and explore all SFCC API classes and methods
|
|
11
11
|
- **📚 Best Practices Guides** - Curated development guidelines for cartridges, hooks, controllers, client-side JavaScript, and more
|
|
12
12
|
- **🏗️ SFRA Documentation** - Enhanced access to Storefront Reference Architecture documentation
|
|
13
|
-
-
|
|
13
|
+
- **� ISML Template Reference** - Complete ISML element documentation with examples and best practices
|
|
14
|
+
- **�📊 Log Analysis Tools** - Real-time error monitoring, debugging, and job log analysis for SFCC instances
|
|
14
15
|
- **⚙️ System Object Definitions** - Explore custom attributes and site preferences
|
|
15
16
|
- **🚀 Cartridge Generation** - Automated cartridge structure creation
|
|
17
|
+
- **🧩 Agent Skill Bootstrap** - Install or merge AGENTS.md and bundled skills into the current project or a temp directory for AI assistants
|
|
16
18
|
|
|
17
19
|
## 🚀 Quick Start
|
|
18
20
|
|
|
@@ -51,35 +53,62 @@ Create a `dw.json` file with your SFCC credentials:
|
|
|
51
53
|
}
|
|
52
54
|
```
|
|
53
55
|
|
|
56
|
+
### Option 3: Auto-Discovery (Recommended for VS Code users)
|
|
57
|
+
Simply open a VS Code workspace that contains a `dw.json` file - the server will automatically discover and use it:
|
|
58
|
+
```json
|
|
59
|
+
{
|
|
60
|
+
"mcpServers": {
|
|
61
|
+
"sfcc-dev": {
|
|
62
|
+
"command": "npx",
|
|
63
|
+
"args": ["sfcc-dev-mcp"]
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## 🔧 Configuration Discovery Priority
|
|
70
|
+
|
|
71
|
+
The server discovers SFCC credentials in this order (highest priority first):
|
|
72
|
+
|
|
73
|
+
| Priority | Source | Description |
|
|
74
|
+
|----------|--------|-------------|
|
|
75
|
+
| **1** | `--dw-json` CLI parameter | Explicit path to dw.json file |
|
|
76
|
+
| **2** | Environment variables | `SFCC_HOSTNAME`, `SFCC_USERNAME`, `SFCC_PASSWORD`, `SFCC_CLIENT_ID`, `SFCC_CLIENT_SECRET` |
|
|
77
|
+
| **3** | MCP workspace roots | Automatically discovers dw.json in your VS Code workspace folder(s) |
|
|
78
|
+
|
|
79
|
+
> **Note**: The server no longer searches the current working directory by default, as MCP servers often start with `cwd` set to the user's home directory. The MCP workspace roots mechanism provides reliable project context.
|
|
80
|
+
|
|
54
81
|
## 🎯 Operating Modes
|
|
55
82
|
|
|
56
83
|
| Mode | Tools Available | SFCC Credentials Required |
|
|
57
84
|
|------|----------------|---------------------------|
|
|
58
|
-
| **Documentation-Only** |
|
|
59
|
-
| **Full Mode** |
|
|
85
|
+
| **Documentation-Only** | 21 tools | ❌ No |
|
|
86
|
+
| **Full Mode** | 38 tools | ✅ Yes |
|
|
60
87
|
|
|
61
88
|
### Documentation-Only Mode
|
|
62
89
|
Perfect for learning and development - no SFCC instance required:
|
|
63
90
|
- Complete SFCC API documentation (5 tools)
|
|
64
91
|
- Best practices guides (4 tools) – cartridges, client-side JavaScript, controllers, hooks, security/performance
|
|
65
92
|
- SFRA documentation (5 tools)
|
|
93
|
+
- ISML template documentation (5 tools)
|
|
66
94
|
- Cartridge generation (1 tool)
|
|
95
|
+
- Agent instruction bootstrap (1 tool) to copy/merge AGENTS.md and skills
|
|
67
96
|
|
|
68
97
|
### Full Mode
|
|
69
98
|
Complete development experience with live SFCC instance access:
|
|
70
|
-
- All documentation-only features (
|
|
99
|
+
- All documentation-only features (21 tools)
|
|
71
100
|
- Real-time log analysis (13 tools)
|
|
72
101
|
- System object definitions (6 tools)
|
|
73
102
|
- Code version management (2 tools)
|
|
74
103
|
|
|
75
|
-
##
|
|
104
|
+
## 🏗️ Architecture Overview
|
|
76
105
|
|
|
77
106
|
This server is built around a **capability-gated, modular handler architecture** that cleanly separates tool routing from domain logic:
|
|
78
107
|
|
|
79
108
|
### Core Layers
|
|
80
|
-
- **Tool
|
|
81
|
-
- **Handlers** (`src/core/handlers
|
|
82
|
-
- **Clients** (`src/clients/`): Encapsulate domain operations (OCAPI, SFRA docs, best practices, modular log analysis). Handlers delegate to these so orchestration and computation remain separate.
|
|
109
|
+
- **Tool Schemas** (`src/core/tool-schemas/`): Modular, category-based tool definitions (documentation, best practices, SFRA, ISML, logs, job logs, system objects, cartridge, code versions). Re-exported via `tool-definitions.ts`.
|
|
110
|
+
- **Handlers** (`src/core/handlers/`): Each category has a handler extending a common base for timing, structured logging, and error normalization (e.g. `log-handler`, `docs-handler`, `isml-handler`, `system-object-handler`).
|
|
111
|
+
- **Clients** (`src/clients/`): Encapsulate domain operations (OCAPI, SFRA docs, ISML docs, best practices, modular log analysis, cartridge generation). Handlers delegate to these so orchestration and computation remain separate.
|
|
83
112
|
- **Services** (`src/services/`): Dependency-injected abstractions for filesystem and path operations — improves testability and isolates side effects.
|
|
84
113
|
- **Modular Log System** (`src/clients/logs/`): Reader (range/tail optimization), discovery, processor (line → structured entry), analyzer (patterns & health), formatter (human output) for maintainable evolution.
|
|
85
114
|
- **Configuration Factory** (`src/config/configuration-factory.ts`): Determines capabilities (`canAccessLogs`, `canAccessOCAPI`) based on provided credentials and filters exposed tools accordingly (principle of least privilege).
|
|
@@ -91,17 +120,18 @@ This server is built around a **capability-gated, modular handler architecture**
|
|
|
91
120
|
- **Performance**: Tail log reads + lightweight caching (`cache.ts`, `log-cache.ts`) reduce unnecessary I/O.
|
|
92
121
|
|
|
93
122
|
### Adding a New Tool (High-Level)
|
|
94
|
-
1. Add schema
|
|
95
|
-
2.
|
|
96
|
-
3.
|
|
97
|
-
4.
|
|
98
|
-
5.
|
|
99
|
-
6.
|
|
100
|
-
7.
|
|
123
|
+
1. Add schema to the appropriate file in `src/core/tool-schemas/` (or create new file for new category).
|
|
124
|
+
2. Export new schema from `src/core/tool-schemas/index.ts` if adding a new file.
|
|
125
|
+
3. Implement domain logic in a client/service (avoid bloating handlers).
|
|
126
|
+
4. Extend an existing handler or create a new one if it's a new category.
|
|
127
|
+
5. (Only for a new category) register the new handler inside `registerHandlers()` in `server.ts`.
|
|
128
|
+
6. Discover actual response shape with `npx aegis query` before writing tests.
|
|
129
|
+
7. Add Jest unit tests + YAML MCP tests (docs vs full mode if credentials required).
|
|
130
|
+
8. Update documentation (AGENTS.md + README counts if changed).
|
|
101
131
|
|
|
102
132
|
> For a deeper internal view, see the Development Guide in the docs site.
|
|
103
133
|
|
|
104
|
-
##
|
|
134
|
+
## 🤖 AI Interface Setup
|
|
105
135
|
|
|
106
136
|
Choose your preferred AI assistant:
|
|
107
137
|
|
|
@@ -163,6 +193,8 @@ node -e "console.log(require('os').tmpdir() + '/sfcc-mcp-logs')"
|
|
|
163
193
|
|
|
164
194
|
**📚 [Complete Documentation](https://taurgis.github.io/sfcc-dev-mcp/)** - Comprehensive guides and references
|
|
165
195
|
|
|
196
|
+
Documentation source lives in `docs-site-v2/` (VitePress). The legacy React site remains in `docs-site/`.
|
|
197
|
+
|
|
166
198
|
Quick Links:
|
|
167
199
|
- **[Installation Guide](https://taurgis.github.io/sfcc-dev-mcp/installation)** - Detailed installation options
|
|
168
200
|
- **[AI Interface Setup](https://taurgis.github.io/sfcc-dev-mcp/ai-interfaces)** - Configure Claude Desktop, GitHub Copilot, or Cursor
|
|
@@ -57,11 +57,11 @@ This project uses the **SFCC Development MCP Server** to provide accurate, up-to
|
|
|
57
57
|
|
|
58
58
|
## 🎯 Why Use the MCP Tools
|
|
59
59
|
|
|
60
|
-
- **Accuracy**: Get current, verified SFCC API documentation and
|
|
60
|
+
- **Accuracy**: Get current, verified SFCC API documentation and skills
|
|
61
61
|
- **Completeness**: Access comprehensive class information, methods, and properties
|
|
62
62
|
- **Real-time**: Query live SFCC system objects and attributes from the actual instance
|
|
63
63
|
- **Debugging**: Access actual SFCC logs for troubleshooting and error analysis
|
|
64
|
-
- **
|
|
64
|
+
- **Skills**: Get current SFCC development guidelines and security recommendations
|
|
65
65
|
|
|
66
66
|
## 📋 Available Tool Categories
|
|
67
67
|
|
|
@@ -74,20 +74,30 @@ Use these tools for any SFCC API or class-related questions:
|
|
|
74
74
|
- **`list_sfcc_classes`** - Get complete list of available SFCC classes
|
|
75
75
|
- **`get_sfcc_class_documentation`** - Get raw documentation for any SFCC class
|
|
76
76
|
|
|
77
|
-
### 📚 Best Practices & Guidelines
|
|
78
|
-
Use these for implementation guidance and best practices:
|
|
79
|
-
|
|
80
|
-
- **`get_available_best_practice_guides`** - See what guides are available
|
|
81
|
-
- **`get_best_practice_guide`** - Get complete guides for cartridges, hooks, controllers, etc.
|
|
82
|
-
- **`search_best_practices`** - Find specific guidance on topics like security, performance
|
|
83
|
-
- **`get_hook_reference`** - Get comprehensive OCAPI/SCAPI hook references
|
|
84
|
-
|
|
85
77
|
### 🏗️ SFRA Documentation Tools
|
|
86
78
|
Use these for SFRA (Storefront Reference Architecture) related questions:
|
|
87
79
|
|
|
88
80
|
- **`get_available_sfra_documents`** - See what SFRA documents are available
|
|
89
81
|
- **`get_sfra_document`** - Get complete SFRA class/module documentation (includes all properties and methods)
|
|
90
82
|
- **`search_sfra_documentation`** - Search across all SFRA documentation
|
|
83
|
+
- **`get_sfra_categories`** - Get all SFRA document categories with counts
|
|
84
|
+
- **`get_sfra_documents_by_category`** - Get SFRA documents filtered by category
|
|
85
|
+
|
|
86
|
+
### 📄 ISML Documentation Tools
|
|
87
|
+
Use these for ISML (Internet Store Markup Language) template development:
|
|
88
|
+
|
|
89
|
+
- **`list_isml_elements`** - Get list of all available ISML elements with summaries
|
|
90
|
+
- **`get_isml_element`** - Get detailed documentation for a specific ISML element (syntax, attributes, examples)
|
|
91
|
+
- **`search_isml_elements`** - Search across ISML element documentation
|
|
92
|
+
- **`get_isml_elements_by_category`** - Get ISML elements filtered by category (control-flow, output, includes, scripting, cache, etc.)
|
|
93
|
+
- **`get_isml_categories`** - Get all ISML element categories with descriptions and counts
|
|
94
|
+
|
|
95
|
+
### 🧩 Agent Instructions / Skills
|
|
96
|
+
Use this to install or merge bundled instructions (AGENTS.md + skills) into a workspace, user home, or temp directory.
|
|
97
|
+
**IMPORTANT**: Always ask the user for permission before calling sync_agent_instructions. If they decline, call disable_agent_sync instead.
|
|
98
|
+
|
|
99
|
+
- **`sync_agent_instructions`** - Copy/merge bundled AGENTS.md + skills into the chosen destination (ask user first!)
|
|
100
|
+
- **`disable_agent_sync`** - Create mcp-dev.json with {"disableAgentSync": true} to permanently disable sync suggestions
|
|
91
101
|
|
|
92
102
|
### 🔧 System Object Definitions
|
|
93
103
|
Use these for understanding SFCC data models and custom attributes:
|
|
@@ -99,17 +109,19 @@ Use these for understanding SFCC data models and custom attributes:
|
|
|
99
109
|
- **`search_system_object_attribute_groups`** - Search for attribute groups (essential for finding site preference groups)
|
|
100
110
|
- **`search_custom_object_attribute_definitions`** - Search for attributes in custom object types
|
|
101
111
|
|
|
102
|
-
###
|
|
112
|
+
### 🔁 Code Version Management
|
|
103
113
|
Use these for deployment and code version operations:
|
|
104
114
|
|
|
105
115
|
- **`get_code_versions`** - Get all code versions on the SFCC instance
|
|
106
116
|
- **`activate_code_version`** - Activate a specific code version (useful for code-switch fixes)
|
|
107
117
|
|
|
108
|
-
###
|
|
118
|
+
### 📊 Log Analysis Tools
|
|
109
119
|
Use these for debugging and troubleshooting:
|
|
110
120
|
|
|
111
|
-
- **`
|
|
112
|
-
- **`
|
|
121
|
+
- **`get_latest_error`** - Get recent error messages from SFCC logs
|
|
122
|
+
- **`get_latest_warn`** - Get recent warnings from SFCC logs
|
|
123
|
+
- **`get_latest_info`** - Get recent info messages from SFCC logs
|
|
124
|
+
- **`get_latest_debug`** - Get recent debug messages from SFCC logs
|
|
113
125
|
- **`search_logs`** - Search logs for specific patterns or keywords
|
|
114
126
|
- **`summarize_logs`** - Get overview of log activity and issues
|
|
115
127
|
- **`list_log_files`** - List available log files with metadata
|
|
@@ -122,7 +134,7 @@ Use these for debugging and troubleshooting:
|
|
|
122
134
|
1. **API Documentation Questions**
|
|
123
135
|
```
|
|
124
136
|
"What methods are available on dw.catalog.Product?"
|
|
125
|
-
→ Use:
|
|
137
|
+
→ Use: get_sfcc_class_info with className: "dw.catalog.Product"
|
|
126
138
|
```
|
|
127
139
|
|
|
128
140
|
2. **Finding the Right Class**
|
|
@@ -132,21 +144,18 @@ Use these for debugging and troubleshooting:
|
|
|
132
144
|
```
|
|
133
145
|
|
|
134
146
|
3. **Implementation Best Practices**
|
|
135
|
-
|
|
136
|
-
"How should I create a new cartridge?"
|
|
137
|
-
→ Use: get_best_practice_guide with guideName: "cartridge_creation"
|
|
138
|
-
```
|
|
147
|
+
Consult relevant bundled skills and documentation before implementing features.
|
|
139
148
|
|
|
140
149
|
4. **Understanding System Objects**
|
|
141
150
|
```
|
|
142
151
|
"What custom attributes are on the Product object?"
|
|
143
|
-
→ Use:
|
|
152
|
+
→ Use: search_system_object_attribute_definitions with objectType: "Product" and a searchRequest (e.g., match_all_query)
|
|
144
153
|
```
|
|
145
154
|
|
|
146
155
|
5. **Debugging Issues**
|
|
147
156
|
```
|
|
148
157
|
"Are there any recent errors in the logs?"
|
|
149
|
-
→ Use:
|
|
158
|
+
→ Use: get_latest_error
|
|
150
159
|
|
|
151
160
|
"What log files are available for today?"
|
|
152
161
|
→ Use: list_log_files
|
|
@@ -167,13 +176,7 @@ Use these for debugging and troubleshooting:
|
|
|
167
176
|
→ Use: get_code_versions
|
|
168
177
|
|
|
169
178
|
"Need to do a code-switch fix for SCAPI endpoints"
|
|
170
|
-
→ Use: activate_code_version with
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
7. **Hook Development**
|
|
174
|
-
```
|
|
175
|
-
"What SCAPI hooks are available?"
|
|
176
|
-
→ Use: get_hook_reference with guideName: "scapi_hooks"
|
|
179
|
+
→ Use: activate_code_version with codeVersionId: "target_version"
|
|
177
180
|
```
|
|
178
181
|
|
|
179
182
|
### ❌ DON'T Guess About:
|
|
@@ -195,19 +198,22 @@ Use these for debugging and troubleshooting:
|
|
|
195
198
|
→ get_sfcc_class_info with className: "dw.order.Order"
|
|
196
199
|
|
|
197
200
|
3. Explore specific methods or properties:
|
|
198
|
-
→
|
|
201
|
+
→ get_sfcc_class_info with className: "dw.order.Order"
|
|
199
202
|
```
|
|
200
203
|
|
|
201
|
-
###
|
|
204
|
+
### Understanding ISML Elements
|
|
202
205
|
```markdown
|
|
203
|
-
1.
|
|
204
|
-
→
|
|
206
|
+
1. First list available ISML elements:
|
|
207
|
+
→ list_isml_elements
|
|
208
|
+
|
|
209
|
+
2. Get detailed documentation for a specific element:
|
|
210
|
+
→ get_isml_element with elementName: "isloop"
|
|
205
211
|
|
|
206
|
-
|
|
207
|
-
→
|
|
212
|
+
3. Search for elements by functionality:
|
|
213
|
+
→ search_isml_elements with query: "cache"
|
|
208
214
|
|
|
209
|
-
|
|
210
|
-
→
|
|
215
|
+
4. Browse elements by category:
|
|
216
|
+
→ get_isml_elements_by_category with category: "control-flow"
|
|
211
217
|
```
|
|
212
218
|
|
|
213
219
|
### Debugging Problems
|
|
@@ -240,16 +246,16 @@ Use these for debugging and troubleshooting:
|
|
|
240
246
|
|
|
241
247
|
Some tools require specific SFCC credentials:
|
|
242
248
|
|
|
243
|
-
- **Documentation
|
|
244
|
-
- **Log Analysis**: Requires
|
|
245
|
-
- **System Objects & Code Versions**: Requires OCAPI credentials (clientId, clientSecret)
|
|
249
|
+
- **Documentation, SFRA, ISML, Agent Instructions**: Always available
|
|
250
|
+
- **Log Analysis + Job Logs**: Requires hostname + WebDAV credentials (username/password OR clientId/clientSecret)
|
|
251
|
+
- **System Objects & Code Versions**: Requires hostname + OCAPI credentials (clientId, clientSecret)
|
|
246
252
|
|
|
247
253
|
If a tool isn't available, the MCP server will provide clear error messages about what credentials are needed.
|
|
248
254
|
|
|
249
255
|
## 💡 Pro Tips
|
|
250
256
|
|
|
251
257
|
1. **Start Broad, Then Narrow**: Use search tools first, then get detailed information
|
|
252
|
-
2. **Check
|
|
258
|
+
2. **Check Skills Early**: Consult relevant skill packs before implementing
|
|
253
259
|
3. **Use Real Data**: Query actual system objects rather than assuming structure
|
|
254
260
|
4. **Debug with Logs**: Use log analysis tools for troubleshooting real issues
|
|
255
261
|
5. **Stay Current**: MCP tools provide current information, not outdated documentation
|
|
@@ -259,7 +265,7 @@ If a tool isn't available, the MCP server will provide clear error messages abou
|
|
|
259
265
|
- **Always prefer MCP tools** over guessing or using potentially outdated information
|
|
260
266
|
- **Use specific tool calls** rather than making assumptions about SFCC APIs
|
|
261
267
|
- **Check logs and system objects** from the actual SFCC instance when debugging
|
|
262
|
-
- **Follow
|
|
268
|
+
- **Follow skills + docs** rather than improvising solutions
|
|
263
269
|
- **Verify class and method names** using the documentation tools
|
|
264
270
|
|
|
265
271
|
---
|
|
@@ -283,21 +289,6 @@ Question Type: "How do I work with [X] in SFCC?"
|
|
|
283
289
|
└── → get_sfcc_class_documentation (className: "dw.namespace.Class")
|
|
284
290
|
```
|
|
285
291
|
|
|
286
|
-
#### **When User Asks About Implementation**
|
|
287
|
-
```
|
|
288
|
-
Implementation Question
|
|
289
|
-
├── "How to create/build [X]?"
|
|
290
|
-
│ ├── → get_available_best_practice_guides (discover available guides)
|
|
291
|
-
│ └── → get_best_practice_guide (guideName: specific guide)
|
|
292
|
-
├── "Best way to [X]?"
|
|
293
|
-
│ └── → search_best_practices (query: key concept)
|
|
294
|
-
├── "What hooks are available for [X]?"
|
|
295
|
-
│ └── → get_hook_reference (guideName: "ocapi_hooks" or "scapi_hooks")
|
|
296
|
-
└── "SFRA related question?"
|
|
297
|
-
├── → get_available_sfra_documents (discover what's available)
|
|
298
|
-
└── → get_sfra_document (documentName: specific module)
|
|
299
|
-
```
|
|
300
|
-
|
|
301
292
|
#### **When User Reports Problems/Errors**
|
|
302
293
|
```
|
|
303
294
|
Problem/Error Scenario
|
|
@@ -306,8 +297,7 @@ Problem/Error Scenario
|
|
|
306
297
|
│ ├── → get_latest_error (check recent errors)
|
|
307
298
|
│ └── → search_logs (pattern: error keywords)
|
|
308
299
|
└── "Performance issues"
|
|
309
|
-
|
|
310
|
-
└── → search_best_practices (query: "performance")
|
|
300
|
+
└── → get_latest_warn (check warnings)
|
|
311
301
|
```
|
|
312
302
|
|
|
313
303
|
#### **When User Asks About Data Models/Objects**
|
|
@@ -326,27 +316,6 @@ Data Model Questions
|
|
|
326
316
|
|
|
327
317
|
### 🎪 Common Usage Scenarios & Tool Chains
|
|
328
318
|
|
|
329
|
-
#### **Scenario 1: Creating a New Controller**
|
|
330
|
-
```markdown
|
|
331
|
-
Sequential Tool Chain:
|
|
332
|
-
1. → get_best_practice_guide (guideName: "sfra_controllers")
|
|
333
|
-
2. → get_sfra_document (documentName: "server")
|
|
334
|
-
3. → get_sfra_document (documentName: "request")
|
|
335
|
-
4. → get_sfra_document (documentName: "response")
|
|
336
|
-
5. → search_best_practices (query: "security") // for validation patterns
|
|
337
|
-
6. → search_best_practices (query: "performance") // for optimization
|
|
338
|
-
```
|
|
339
|
-
|
|
340
|
-
#### **Scenario 2: Implementing OCAPI Hook**
|
|
341
|
-
```markdown
|
|
342
|
-
Sequential Tool Chain:
|
|
343
|
-
1. → get_best_practice_guide (guideName: "ocapi_hooks")
|
|
344
|
-
2. → get_hook_reference (guideName: "ocapi_hooks")
|
|
345
|
-
3. → search_sfcc_classes (query: relevant domain like "order", "customer")
|
|
346
|
-
4. → get_sfcc_class_info (className: discovered class)
|
|
347
|
-
5. → search_best_practices (query: "validation")
|
|
348
|
-
```
|
|
349
|
-
|
|
350
319
|
#### **Scenario 3: Debugging Cart Issues**
|
|
351
320
|
```markdown
|
|
352
321
|
Parallel Information Gathering:
|
|
@@ -357,25 +326,6 @@ Parallel Information Gathering:
|
|
|
357
326
|
5. → get_latest_error (date: today)
|
|
358
327
|
```
|
|
359
328
|
|
|
360
|
-
#### **Scenario 4: Building Custom SCAPI Endpoint**
|
|
361
|
-
```markdown
|
|
362
|
-
Sequential Tool Chain:
|
|
363
|
-
1. → get_best_practice_guide (guideName: "scapi_custom_endpoint")
|
|
364
|
-
2. → get_hook_reference (guideName: "scapi_hooks")
|
|
365
|
-
3. → search_best_practices (query: "security")
|
|
366
|
-
4. → search_sfcc_classes (query: relevant business domain)
|
|
367
|
-
5. → get_sfcc_class_info (className: discovered classes)
|
|
368
|
-
```
|
|
369
|
-
|
|
370
|
-
#### **Scenario 5: Working with Site Preferences**
|
|
371
|
-
```markdown
|
|
372
|
-
Sequential Discovery Chain:
|
|
373
|
-
1. → search_system_object_attribute_groups (objectType: "SitePreferences")
|
|
374
|
-
2. → search_site_preferences (groupId: discovered group, instanceType: "sandbox")
|
|
375
|
-
3. → search_best_practices (query: "configuration")
|
|
376
|
-
4. → get_sfcc_class_info (className: "dw.system.Site")
|
|
377
|
-
```
|
|
378
|
-
|
|
379
329
|
### 🔍 Advanced Tool Usage Patterns
|
|
380
330
|
|
|
381
331
|
#### **Complex Query Building for System Objects**
|
|
@@ -410,18 +360,15 @@ For Performance Investigation:
|
|
|
410
360
|
#### **Information Layering Strategy**
|
|
411
361
|
```markdown
|
|
412
362
|
1. **Start with Overview Tools**
|
|
413
|
-
- get_available_best_practice_guides
|
|
414
363
|
- list_sfcc_classes
|
|
415
364
|
- get_system_object_definitions
|
|
416
365
|
|
|
417
366
|
2. **Narrow to Specific Tools**
|
|
418
|
-
- get_best_practice_guide
|
|
419
367
|
- get_sfcc_class_info
|
|
420
368
|
- search_system_object_attribute_definitions
|
|
421
369
|
|
|
422
370
|
3. **Deep Dive with Detail Tools**
|
|
423
371
|
- get_sfcc_class_documentation
|
|
424
|
-
- search_best_practices
|
|
425
372
|
- search_logs
|
|
426
373
|
```
|
|
427
374
|
|
|
@@ -444,7 +391,7 @@ Use SEQUENTIALLY when:
|
|
|
444
391
|
```markdown
|
|
445
392
|
Always Include:
|
|
446
393
|
- Practical code examples using the discovered information
|
|
447
|
-
- Security considerations from
|
|
394
|
+
- Security considerations from relevant skills/guidelines
|
|
448
395
|
- Performance implications
|
|
449
396
|
- Error handling patterns
|
|
450
397
|
- Related classes/methods that might be relevant
|
|
@@ -497,7 +444,7 @@ Measure success by:
|
|
|
497
444
|
#### **Tool Usage Analytics**
|
|
498
445
|
```markdown
|
|
499
446
|
Track which combinations work well:
|
|
500
|
-
- Documentation →
|
|
447
|
+
- Documentation → Implementation
|
|
501
448
|
- Error Investigation → System Analysis → Solution
|
|
502
449
|
- Planning → Research → Validation → Implementation
|
|
503
450
|
|
|
@@ -523,43 +470,68 @@ Signs to update tool usage patterns:
|
|
|
523
470
|
|
|
524
471
|
**MANDATORY**: Before generating ANY SFCC code involving ISML templates or models, you MUST use these MCP tools to ensure correct override paths and patterns:
|
|
525
472
|
|
|
473
|
+
### 🚨 CRITICAL: Read ALL Relevant Skills
|
|
474
|
+
|
|
475
|
+
**A single task often involves MULTIPLE skills.** For example, creating a controller that renders a template requires reading BOTH the controller skill AND the ISML skill.
|
|
476
|
+
|
|
477
|
+
**Before writing ANY code, identify ALL artifact types being created/modified:**
|
|
478
|
+
- Creating a controller? → Read `sfcc-sfra-controllers` skill
|
|
479
|
+
- Creating/modifying ISML template? → Read `sfcc-isml-development` skill
|
|
480
|
+
- Creating/modifying storefront forms (XML + handling + CSRF)? → Read `sfcc-forms-development` skill
|
|
481
|
+
- Creating/modifying a model? → Read `sfcc-sfra-models` skill
|
|
482
|
+
- Adding client-side JS? → Read `sfcc-sfra-client-side-js` skill
|
|
483
|
+
- Adding SCSS/styles? → Read `sfcc-sfra-scss` skill
|
|
484
|
+
- Creating a service? → Read `sfcc-localserviceregistry` skill
|
|
485
|
+
- Creating a job? → Read `sfcc-job-development` skill
|
|
486
|
+
- Adding OCAPI hooks? → Read `sfcc-ocapi-hooks` skill
|
|
487
|
+
- Adding SCAPI hooks? → Read `sfcc-scapi-hooks` skill
|
|
488
|
+
- Implementing multi-language support? → Read `sfcc-localization` skill
|
|
489
|
+
|
|
490
|
+
**Example:** User asks "Create a controller that shows a hello world page"
|
|
491
|
+
- ✅ CORRECT: Read `sfcc-sfra-controllers` AND `sfcc-isml-development` skills
|
|
492
|
+
- ❌ WRONG: Only read `sfcc-sfra-controllers` skill
|
|
493
|
+
|
|
494
|
+
**Read skills in PARALLEL when possible to save time.**
|
|
495
|
+
|
|
526
496
|
### **Required MCP Tool Chain for SFCC Override Code**
|
|
527
497
|
|
|
528
498
|
#### **For ISML Template Generation**:
|
|
529
499
|
```
|
|
530
|
-
MANDATORY
|
|
531
|
-
1.
|
|
532
|
-
2.
|
|
533
|
-
3.
|
|
534
|
-
4.
|
|
500
|
+
MANDATORY steps before creating any ISML template:
|
|
501
|
+
1. Review the ISML templates guidance from the bundled skills.
|
|
502
|
+
2. Review the localization skill for resource bundle patterns.
|
|
503
|
+
3. Analyze the "Template Directory Structure" section.
|
|
504
|
+
4. Confirm exact override path from the relevant skill guidance.
|
|
505
|
+
5. Ensure all visible text uses Resource.msg() - never hardcode strings.
|
|
506
|
+
6. Generate code only after path verification.
|
|
535
507
|
```
|
|
536
508
|
|
|
537
509
|
#### **For Model Generation**:
|
|
538
510
|
```
|
|
539
|
-
MANDATORY
|
|
540
|
-
1.
|
|
541
|
-
2.
|
|
542
|
-
3.
|
|
543
|
-
4.
|
|
511
|
+
MANDATORY steps before creating any SFRA model:
|
|
512
|
+
1. Review the SFRA models guidance from the bundled skills.
|
|
513
|
+
2. Analyze the "Model Customization Strategies" section.
|
|
514
|
+
3. Confirm proper superModule usage patterns.
|
|
515
|
+
4. Generate code only after pattern verification.
|
|
544
516
|
```
|
|
545
517
|
|
|
546
518
|
#### **For Controller Generation**:
|
|
547
519
|
```
|
|
548
|
-
MANDATORY
|
|
549
|
-
1.
|
|
550
|
-
2.
|
|
551
|
-
3.
|
|
552
|
-
4.
|
|
520
|
+
MANDATORY steps before creating any controller:
|
|
521
|
+
1. Review the SFRA controllers guidance from the bundled skills.
|
|
522
|
+
2. Analyze controller extension patterns.
|
|
523
|
+
3. Confirm proper server.extend() usage.
|
|
524
|
+
4. Generate code only after pattern verification.
|
|
553
525
|
```
|
|
554
526
|
|
|
555
527
|
### **Override Path Verification Process**
|
|
556
528
|
|
|
557
529
|
**NEVER generate SFCC override code without completing this checklist**:
|
|
558
530
|
|
|
559
|
-
1. ✅ **Used MCP
|
|
531
|
+
1. ✅ **Used MCP Guidance**: Reviewed the relevant skill content
|
|
560
532
|
2. ✅ **Path Confirmed**: Verified exact directory structure from guide
|
|
561
533
|
3. ✅ **Pattern Validated**: Confirmed proper extension patterns (superModule, server.extend)
|
|
562
|
-
4. ✅ **Security Checked**: Reviewed security
|
|
534
|
+
4. ✅ **Security Checked**: Reviewed security guidance from skills
|
|
563
535
|
5. ✅ **Structure Match**: Ensured override path exactly matches base cartridge structure
|
|
564
536
|
|
|
565
537
|
### **Common Override Mistakes - Prevent with MCP Tools**
|
|
@@ -572,9 +544,9 @@ function Account() {
|
|
|
572
544
|
}
|
|
573
545
|
```
|
|
574
546
|
|
|
575
|
-
✅ **CORRECT - Generated after
|
|
547
|
+
✅ **CORRECT - Generated after skill review**:
|
|
576
548
|
```javascript
|
|
577
|
-
// Proper pattern from
|
|
549
|
+
// Proper pattern from the SFRA models skill
|
|
578
550
|
var base = module.superModule;
|
|
579
551
|
function Account() {
|
|
580
552
|
base.call(this, ...arguments);
|
|
@@ -596,8 +568,8 @@ function Account() {
|
|
|
596
568
|
**Before providing any SFCC code that involves templates or models**:
|
|
597
569
|
|
|
598
570
|
1. **Check Path Structure**: Verify the override path matches the base cartridge exactly
|
|
599
|
-
2. **Consult
|
|
600
|
-
3. **Use MCP
|
|
571
|
+
2. **Consult Skills**: Reference the ISML and SFRA skills for override patterns
|
|
572
|
+
3. **Use MCP Guidance**: Review the ISML and SFRA skills
|
|
601
573
|
4. **Validate Override Pattern**: Ensure proper use of `module.superModule` for models and `server.extend()` for controllers
|
|
602
574
|
5. **Confirm Directory Structure**: Verify the complete directory path from cartridge root
|
|
603
575
|
|
|
@@ -617,7 +589,7 @@ cartridges/app_custom_mybrand/cartridge/templates/default/product/productDetails
|
|
|
617
589
|
cartridges/app_custom_mybrand/cartridge/models/product/fullProduct.js
|
|
618
590
|
```
|
|
619
591
|
|
|
620
|
-
**Remember**: Always consult the ISML
|
|
592
|
+
**Remember**: Always consult the ISML and SFRA skill content before generating any override code to ensure proper patterns and security practices.
|
|
621
593
|
|
|
622
594
|
---
|
|
623
595
|
|
|
@@ -630,14 +602,14 @@ cartridges/app_custom_mybrand/cartridge/models/product/fullProduct.js
|
|
|
630
602
|
- [ ] Planned information layering strategy
|
|
631
603
|
|
|
632
604
|
### When Providing Implementation Guidance:
|
|
633
|
-
- [ ] Started with
|
|
605
|
+
- [ ] Started with relevant skills
|
|
634
606
|
- [ ] Retrieved current SFCC API information
|
|
635
607
|
- [ ] Included security considerations
|
|
636
608
|
- [ ] Added performance optimization notes
|
|
637
609
|
- [ ] Included proper error handling
|
|
638
610
|
|
|
639
611
|
### When Debugging/Troubleshooting:
|
|
640
|
-
- [ ] Checked system logs for actual errors (use `get_latest_error`, `get_latest_warn`)
|
|
612
|
+
- [ ] Checked system logs for actual errors (use `get_latest_error`, `get_latest_warn`)
|
|
641
613
|
- [ ] Listed available log files to understand scope (use `list_log_files`)
|
|
642
614
|
- [ ] Analyzed specific log files for detailed context (use `get_log_file_contents`)
|
|
643
615
|
- [ ] Searched logs for patterns related to the issue (use `search_logs`)
|