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