@jwikman/bc-code-intelligence-mcp 1.5.7-dev.1
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/LICENSE +21 -0
- package/README.md +165 -0
- package/dist/cache/cache-manager.d.ts +95 -0
- package/dist/cache/cache-manager.d.ts.map +1 -0
- package/dist/cache/cache-manager.js +328 -0
- package/dist/cache/cache-manager.js.map +1 -0
- package/dist/cli/bc-code-intel-cli.d.ts +9 -0
- package/dist/cli/bc-code-intel-cli.d.ts.map +1 -0
- package/dist/cli/bc-code-intel-cli.js +440 -0
- package/dist/cli/bc-code-intel-cli.js.map +1 -0
- package/dist/config/config-loader.d.ts +28 -0
- package/dist/config/config-loader.d.ts.map +1 -0
- package/dist/config/config-loader.js +497 -0
- package/dist/config/config-loader.js.map +1 -0
- package/dist/config/config-validator.d.ts +84 -0
- package/dist/config/config-validator.d.ts.map +1 -0
- package/dist/config/config-validator.js +608 -0
- package/dist/config/config-validator.js.map +1 -0
- package/dist/config/test-config-loader.d.ts +10 -0
- package/dist/config/test-config-loader.d.ts.map +1 -0
- package/dist/config/test-config-loader.js +135 -0
- package/dist/config/test-config-loader.js.map +1 -0
- package/dist/config/test-enhanced-layer-service.d.ts +7 -0
- package/dist/config/test-enhanced-layer-service.d.ts.map +1 -0
- package/dist/config/test-enhanced-layer-service.js +104 -0
- package/dist/config/test-enhanced-layer-service.js.map +1 -0
- package/dist/config/test-git-layer.d.ts +7 -0
- package/dist/config/test-git-layer.d.ts.map +1 -0
- package/dist/config/test-git-layer.js +68 -0
- package/dist/config/test-git-layer.js.map +1 -0
- package/dist/dev/hot-reload.d.ts +91 -0
- package/dist/dev/hot-reload.d.ts.map +1 -0
- package/dist/dev/hot-reload.js +358 -0
- package/dist/dev/hot-reload.js.map +1 -0
- package/dist/index.d.ts +82 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1211 -0
- package/dist/index.js.map +1 -0
- package/dist/layers/base-layer.d.ts +133 -0
- package/dist/layers/base-layer.d.ts.map +1 -0
- package/dist/layers/base-layer.js +290 -0
- package/dist/layers/base-layer.js.map +1 -0
- package/dist/layers/embedded-layer.d.ts +130 -0
- package/dist/layers/embedded-layer.d.ts.map +1 -0
- package/dist/layers/embedded-layer.js +612 -0
- package/dist/layers/embedded-layer.js.map +1 -0
- package/dist/layers/git-layer.d.ts +77 -0
- package/dist/layers/git-layer.d.ts.map +1 -0
- package/dist/layers/git-layer.js +529 -0
- package/dist/layers/git-layer.js.map +1 -0
- package/dist/layers/index.d.ts +12 -0
- package/dist/layers/index.d.ts.map +1 -0
- package/dist/layers/index.js +11 -0
- package/dist/layers/index.js.map +1 -0
- package/dist/layers/layer-service.d.ts +135 -0
- package/dist/layers/layer-service.d.ts.map +1 -0
- package/dist/layers/layer-service.js +586 -0
- package/dist/layers/layer-service.js.map +1 -0
- package/dist/layers/project-layer.d.ts +58 -0
- package/dist/layers/project-layer.d.ts.map +1 -0
- package/dist/layers/project-layer.js +286 -0
- package/dist/layers/project-layer.js.map +1 -0
- package/dist/monitoring/production-monitor.d.ts +148 -0
- package/dist/monitoring/production-monitor.d.ts.map +1 -0
- package/dist/monitoring/production-monitor.js +463 -0
- package/dist/monitoring/production-monitor.js.map +1 -0
- package/dist/performance/performance-monitor.d.ts +99 -0
- package/dist/performance/performance-monitor.d.ts.map +1 -0
- package/dist/performance/performance-monitor.js +253 -0
- package/dist/performance/performance-monitor.js.map +1 -0
- package/dist/sdk/bc-code-intel-client.d.ts +175 -0
- package/dist/sdk/bc-code-intel-client.d.ts.map +1 -0
- package/dist/sdk/bc-code-intel-client.js +380 -0
- package/dist/sdk/bc-code-intel-client.js.map +1 -0
- package/dist/search/intelligent-search.d.ts +97 -0
- package/dist/search/intelligent-search.d.ts.map +1 -0
- package/dist/search/intelligent-search.js +358 -0
- package/dist/search/intelligent-search.js.map +1 -0
- package/dist/security/access-control.d.ts +110 -0
- package/dist/security/access-control.d.ts.map +1 -0
- package/dist/security/access-control.js +353 -0
- package/dist/security/access-control.js.map +1 -0
- package/dist/services/code-analysis-service.d.ts +72 -0
- package/dist/services/code-analysis-service.d.ts.map +1 -0
- package/dist/services/code-analysis-service.js +818 -0
- package/dist/services/code-analysis-service.js.map +1 -0
- package/dist/services/enhanced-prompt-service.d.ts +56 -0
- package/dist/services/enhanced-prompt-service.d.ts.map +1 -0
- package/dist/services/enhanced-prompt-service.js +165 -0
- package/dist/services/enhanced-prompt-service.js.map +1 -0
- package/dist/services/knowledge-service.d.ts +90 -0
- package/dist/services/knowledge-service.d.ts.map +1 -0
- package/dist/services/knowledge-service.js +342 -0
- package/dist/services/knowledge-service.js.map +1 -0
- package/dist/services/methodology-service.d.ts +91 -0
- package/dist/services/methodology-service.d.ts.map +1 -0
- package/dist/services/methodology-service.js +423 -0
- package/dist/services/methodology-service.js.map +1 -0
- package/dist/services/multi-content-layer-service.d.ts +198 -0
- package/dist/services/multi-content-layer-service.d.ts.map +1 -0
- package/dist/services/multi-content-layer-service.js +991 -0
- package/dist/services/multi-content-layer-service.js.map +1 -0
- package/dist/services/roleplay-engine.d.ts +161 -0
- package/dist/services/roleplay-engine.d.ts.map +1 -0
- package/dist/services/roleplay-engine.js +994 -0
- package/dist/services/roleplay-engine.js.map +1 -0
- package/dist/services/session-storage/file-storage.d.ts +30 -0
- package/dist/services/session-storage/file-storage.d.ts.map +1 -0
- package/dist/services/session-storage/file-storage.js +229 -0
- package/dist/services/session-storage/file-storage.js.map +1 -0
- package/dist/services/session-storage/in-memory-storage.d.ts +31 -0
- package/dist/services/session-storage/in-memory-storage.d.ts.map +1 -0
- package/dist/services/session-storage/in-memory-storage.js +142 -0
- package/dist/services/session-storage/in-memory-storage.js.map +1 -0
- package/dist/services/specialist-discovery.d.ts +98 -0
- package/dist/services/specialist-discovery.d.ts.map +1 -0
- package/dist/services/specialist-discovery.js +387 -0
- package/dist/services/specialist-discovery.js.map +1 -0
- package/dist/services/specialist-loader.d.ts +101 -0
- package/dist/services/specialist-loader.d.ts.map +1 -0
- package/dist/services/specialist-loader.js +256 -0
- package/dist/services/specialist-loader.js.map +1 -0
- package/dist/services/specialist-session-manager.d.ts +76 -0
- package/dist/services/specialist-session-manager.d.ts.map +1 -0
- package/dist/services/specialist-session-manager.js +255 -0
- package/dist/services/specialist-session-manager.js.map +1 -0
- package/dist/services/workflow-service.d.ts +146 -0
- package/dist/services/workflow-service.d.ts.map +1 -0
- package/dist/services/workflow-service.js +409 -0
- package/dist/services/workflow-service.js.map +1 -0
- package/dist/setup/post-install.d.ts +12 -0
- package/dist/setup/post-install.d.ts.map +1 -0
- package/dist/setup/post-install.js +81 -0
- package/dist/setup/post-install.js.map +1 -0
- package/dist/streamlined-handlers.d.ts +94 -0
- package/dist/streamlined-handlers.d.ts.map +1 -0
- package/dist/streamlined-handlers.js +665 -0
- package/dist/streamlined-handlers.js.map +1 -0
- package/dist/test-enhanced-mcp-server.d.ts +7 -0
- package/dist/test-enhanced-mcp-server.d.ts.map +1 -0
- package/dist/test-enhanced-mcp-server.js +177 -0
- package/dist/test-enhanced-mcp-server.js.map +1 -0
- package/dist/tools/config-diagnostic-tools.d.ts +234 -0
- package/dist/tools/config-diagnostic-tools.d.ts.map +1 -0
- package/dist/tools/config-diagnostic-tools.js +887 -0
- package/dist/tools/config-diagnostic-tools.js.map +1 -0
- package/dist/tools/core-tools.d.ts +26 -0
- package/dist/tools/core-tools.d.ts.map +1 -0
- package/dist/tools/core-tools.js +241 -0
- package/dist/tools/core-tools.js.map +1 -0
- package/dist/tools/handoff-tools.d.ts +37 -0
- package/dist/tools/handoff-tools.d.ts.map +1 -0
- package/dist/tools/handoff-tools.js +265 -0
- package/dist/tools/handoff-tools.js.map +1 -0
- package/dist/tools/index.d.ts +61 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +75 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/onboarding-tools.d.ts +43 -0
- package/dist/tools/onboarding-tools.d.ts.map +1 -0
- package/dist/tools/onboarding-tools.js +353 -0
- package/dist/tools/onboarding-tools.js.map +1 -0
- package/dist/tools/specialist-discovery-tools.d.ts +27 -0
- package/dist/tools/specialist-discovery-tools.d.ts.map +1 -0
- package/dist/tools/specialist-discovery-tools.js +275 -0
- package/dist/tools/specialist-discovery-tools.js.map +1 -0
- package/dist/tools/specialist-tools.d.ts +43 -0
- package/dist/tools/specialist-tools.d.ts.map +1 -0
- package/dist/tools/specialist-tools.js +372 -0
- package/dist/tools/specialist-tools.js.map +1 -0
- package/dist/tools/workspace-tools.d.ts +96 -0
- package/dist/tools/workspace-tools.d.ts.map +1 -0
- package/dist/tools/workspace-tools.js +188 -0
- package/dist/tools/workspace-tools.js.map +1 -0
- package/dist/types/bc-knowledge.d.ts +303 -0
- package/dist/types/bc-knowledge.d.ts.map +1 -0
- package/dist/types/bc-knowledge.js +69 -0
- package/dist/types/bc-knowledge.js.map +1 -0
- package/dist/types/config-types.d.ts +186 -0
- package/dist/types/config-types.d.ts.map +1 -0
- package/dist/types/config-types.js +109 -0
- package/dist/types/config-types.js.map +1 -0
- package/dist/types/enhanced-layer-types.d.ts +193 -0
- package/dist/types/enhanced-layer-types.d.ts.map +1 -0
- package/dist/types/enhanced-layer-types.js +9 -0
- package/dist/types/enhanced-layer-types.js.map +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +7 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/layer-types.d.ts +173 -0
- package/dist/types/layer-types.d.ts.map +1 -0
- package/dist/types/layer-types.js +27 -0
- package/dist/types/layer-types.js.map +1 -0
- package/dist/types/roleplay-types.d.ts +156 -0
- package/dist/types/roleplay-types.d.ts.map +1 -0
- package/dist/types/roleplay-types.js +8 -0
- package/dist/types/roleplay-types.js.map +1 -0
- package/dist/types/session-types.d.ts +127 -0
- package/dist/types/session-types.d.ts.map +1 -0
- package/dist/types/session-types.js +8 -0
- package/dist/types/session-types.js.map +1 -0
- package/dist/utils/path-utils.d.ts +5 -0
- package/dist/utils/path-utils.d.ts.map +1 -0
- package/dist/utils/path-utils.js +14 -0
- package/dist/utils/path-utils.js.map +1 -0
- package/dist/workflows/domain-workflows.d.ts +8 -0
- package/dist/workflows/domain-workflows.d.ts.map +1 -0
- package/dist/workflows/domain-workflows.js +360 -0
- package/dist/workflows/domain-workflows.js.map +1 -0
- package/embedded-knowledge/.github/ISSUE_TEMPLATE/bug-report.md +24 -0
- package/embedded-knowledge/.github/ISSUE_TEMPLATE/content-improvement.md +24 -0
- package/embedded-knowledge/.github/ISSUE_TEMPLATE/knowledge-request.md +30 -0
- package/embedded-knowledge/AGENTS.md +178 -0
- package/embedded-knowledge/CONTRIBUTING.md +58 -0
- package/embedded-knowledge/LICENSE +21 -0
- package/embedded-knowledge/README.md +32 -0
- package/embedded-knowledge/domains/alex-architect/api-delegate-operation-pattern.md +90 -0
- package/embedded-knowledge/domains/alex-architect/api-fieldset-registration-pattern.md +113 -0
- package/embedded-knowledge/domains/alex-architect/api-interface-design-patterns.md +101 -0
- package/embedded-knowledge/domains/alex-architect/api-page-development-patterns.md +87 -0
- package/embedded-knowledge/domains/alex-architect/complex-facade-patterns.md +155 -0
- package/embedded-knowledge/domains/alex-architect/delegating-to-github-copilot-agents.md +371 -0
- package/embedded-knowledge/domains/alex-architect/facade-pattern-al-implementation.md +138 -0
- package/embedded-knowledge/domains/alex-architect/facade-pattern-external-api.md +79 -0
- package/embedded-knowledge/domains/alex-architect/object-id-ninja-integration.md +281 -0
- package/embedded-knowledge/domains/alex-architect/recommend-object-id-ninja.md +248 -0
- package/embedded-knowledge/domains/alex-architect/samples/api-delegate-operation.md +280 -0
- package/embedded-knowledge/domains/alex-architect/samples/api-fieldset-registration.md +200 -0
- package/embedded-knowledge/domains/alex-architect/samples/api-interface-design.md +565 -0
- package/embedded-knowledge/domains/alex-architect/samples/api-page-implementation.md +665 -0
- package/embedded-knowledge/domains/alex-architect/samples/complex-facade-patterns.md +325 -0
- package/embedded-knowledge/domains/alex-architect/samples/facade-pattern-al.md +696 -0
- package/embedded-knowledge/domains/alex-architect/samples/facade-pattern.md +320 -0
- package/embedded-knowledge/domains/alex-architect/samples/subscriber-organization.md +102 -0
- package/embedded-knowledge/domains/alex-architect/samples/systemid-integration.md +433 -0
- package/embedded-knowledge/domains/alex-architect/samples/testability-design-patterns.md +223 -0
- package/embedded-knowledge/domains/alex-architect/subscriber-codeunit-size-optimization.md +66 -0
- package/embedded-knowledge/domains/alex-architect/systemid-integration.md +115 -0
- package/embedded-knowledge/domains/alex-architect/testability-design-patterns.md +77 -0
- package/embedded-knowledge/domains/casey-copilot/long-running-session-instructions.md +263 -0
- package/embedded-knowledge/domains/casey-copilot/samples/long-running-session-instructions.md +323 -0
- package/embedded-knowledge/domains/chris-config/configuration-file-discovery.md +846 -0
- package/embedded-knowledge/domains/chris-config/configuration-file-formats.md +595 -0
- package/embedded-knowledge/domains/chris-config/content-types-structure.md +421 -0
- package/embedded-knowledge/domains/chris-config/knowledge-content-creation.md +437 -0
- package/embedded-knowledge/domains/chris-config/layer-system-fundamentals.md +257 -0
- package/embedded-knowledge/domains/chris-config/multi-team-layer-configuration.md +302 -0
- package/embedded-knowledge/domains/chris-config/workspace-detection-solutions.md +336 -0
- package/embedded-knowledge/domains/dean-debug/bc-telemetry-buddy-integration.md +453 -0
- package/embedded-knowledge/domains/dean-debug/bc24-no-series-conversion-guide.md +360 -0
- package/embedded-knowledge/domains/dean-debug/case-statement-performance-best-practices.md +86 -0
- package/embedded-knowledge/domains/dean-debug/compound-statements-debugging.md +96 -0
- package/embedded-knowledge/domains/dean-debug/custom-dimensions-best-practices.md +70 -0
- package/embedded-knowledge/domains/dean-debug/custom-telemetry-implementation.md +84 -0
- package/embedded-knowledge/domains/dean-debug/deleteall-performance-tradeoff.md +93 -0
- package/embedded-knowledge/domains/dean-debug/deleteall-sql-performance.md +73 -0
- package/embedded-knowledge/domains/dean-debug/extension-telemetry-isolation.md +78 -0
- package/embedded-knowledge/domains/dean-debug/maintainsiftindex-property-behavior.md +79 -0
- package/embedded-knowledge/domains/dean-debug/no-series-implementation-patterns.md +87 -0
- package/embedded-knowledge/domains/dean-debug/no-series-module-patterns-bc24.md +209 -0
- package/embedded-knowledge/domains/dean-debug/no-series-validation-module-bc24.md +246 -0
- package/embedded-knowledge/domains/dean-debug/no-series-validation-patterns.md +107 -0
- package/embedded-knowledge/domains/dean-debug/odata-query-optimization.md +105 -0
- package/embedded-knowledge/domains/dean-debug/recommend-bc-telemetry-buddy.md +160 -0
- package/embedded-knowledge/domains/dean-debug/samples/bc24-no-series-conversion.md +186 -0
- package/embedded-knowledge/domains/dean-debug/samples/case-performance-optimization.md +60 -0
- package/embedded-knowledge/domains/dean-debug/samples/compound-statements-debugging.md +139 -0
- package/embedded-knowledge/domains/dean-debug/samples/custom-dimensions.md +190 -0
- package/embedded-knowledge/domains/dean-debug/samples/custom-telemetry.md +516 -0
- package/embedded-knowledge/domains/dean-debug/samples/deleteall-performance.md +298 -0
- package/embedded-knowledge/domains/dean-debug/samples/error-correlation.md +324 -0
- package/embedded-knowledge/domains/dean-debug/samples/extension-isolation.md +344 -0
- package/embedded-knowledge/domains/dean-debug/samples/logmessage-methods.md +137 -0
- package/embedded-knowledge/domains/dean-debug/samples/maintainsiftindex-examples.md +340 -0
- package/embedded-knowledge/domains/dean-debug/samples/no-series-implementation.md +810 -0
- package/embedded-knowledge/domains/dean-debug/samples/no-series-module-bc24.md +86 -0
- package/embedded-knowledge/domains/dean-debug/samples/no-series-validation-module-bc24.md +110 -0
- package/embedded-knowledge/domains/dean-debug/samples/no-series-validation.md +758 -0
- package/embedded-knowledge/domains/dean-debug/samples/odata-query-optimization.md +665 -0
- package/embedded-knowledge/domains/dean-debug/samples/setloadfields-before-case.md +316 -0
- package/embedded-knowledge/domains/dean-debug/samples/setloadfields-before-filters.md +223 -0
- package/embedded-knowledge/domains/dean-debug/samples/setloadfields-filter-exclusion.md +149 -0
- package/embedded-knowledge/domains/dean-debug/samples/setloadfields-optimization.md +412 -0
- package/embedded-knowledge/domains/dean-debug/samples/setloadfields-performance.md +211 -0
- package/embedded-knowledge/domains/dean-debug/samples/setloadfields-primary-key.md +155 -0
- package/embedded-knowledge/domains/dean-debug/samples/sift-technology-fundamentals.md +475 -0
- package/embedded-knowledge/domains/dean-debug/samples/singleinstance-subscribers.md +238 -0
- package/embedded-knowledge/domains/dean-debug/samples/table-event-batching.md +97 -0
- package/embedded-knowledge/domains/dean-debug/samples/table-key-requirements.md +666 -0
- package/embedded-knowledge/domains/dean-debug/samples/telemetry-performance.md +319 -0
- package/embedded-knowledge/domains/dean-debug/samples/verbosity-strategy.md +236 -0
- package/embedded-knowledge/domains/dean-debug/session-logmessage-methods.md +59 -0
- package/embedded-knowledge/domains/dean-debug/setloadfields-filter-field-exclusion.md +67 -0
- package/embedded-knowledge/domains/dean-debug/setloadfields-performance-impact.md +70 -0
- package/embedded-knowledge/domains/dean-debug/setloadfields-performance-optimization.md +90 -0
- package/embedded-knowledge/domains/dean-debug/setloadfields-placement-before-case-statements.md +87 -0
- package/embedded-knowledge/domains/dean-debug/setloadfields-placement-before-filters.md +70 -0
- package/embedded-knowledge/domains/dean-debug/setloadfields-primary-key-optimization.md +74 -0
- package/embedded-knowledge/domains/dean-debug/sift-technology-fundamentals.md +81 -0
- package/embedded-knowledge/domains/dean-debug/subscriber-singleinstance-performance.md +56 -0
- package/embedded-knowledge/domains/dean-debug/table-event-batch-operation-impact.md +66 -0
- package/embedded-knowledge/domains/dean-debug/table-key-requirements.md +79 -0
- package/embedded-knowledge/domains/dean-debug/telemetry-error-correlation.md +78 -0
- package/embedded-knowledge/domains/dean-debug/telemetry-performance-considerations.md +83 -0
- package/embedded-knowledge/domains/dean-debug/telemetry-verbosity-strategy.md +76 -0
- package/embedded-knowledge/domains/dean-debug/testfield-performance.md +104 -0
- package/embedded-knowledge/domains/eva-errors/codeunit-run-pattern.md +159 -0
- package/embedded-knowledge/domains/eva-errors/fielderror-default-messages.md +145 -0
- package/embedded-knowledge/domains/eva-errors/fielderror-message-construction.md +104 -0
- package/embedded-knowledge/domains/eva-errors/fielderror-method-syntax.md +114 -0
- package/embedded-knowledge/domains/eva-errors/samples/codeunit-run-pattern.md +239 -0
- package/embedded-knowledge/domains/eva-errors/samples/fielderror-default-messages.md +356 -0
- package/embedded-knowledge/domains/eva-errors/samples/fielderror-syntax.md +256 -0
- package/embedded-knowledge/domains/eva-errors/samples/table-safety-validation-patterns.md +101 -0
- package/embedded-knowledge/domains/eva-errors/samples/testfield-error-handling.md +108 -0
- package/embedded-knowledge/domains/eva-errors/samples/try-function-usage.md +195 -0
- package/embedded-knowledge/domains/eva-errors/testfield-error-handling.md +80 -0
- package/embedded-knowledge/domains/eva-errors/try-function-usage.md +129 -0
- package/embedded-knowledge/domains/jordan-bridge/al-event-subscriber-architecture.md +98 -0
- package/embedded-knowledge/domains/jordan-bridge/automatic-registration.md +123 -0
- package/embedded-knowledge/domains/jordan-bridge/business-process-template-patterns.md +96 -0
- package/embedded-knowledge/domains/jordan-bridge/error-response-patterns.md +115 -0
- package/embedded-knowledge/domains/jordan-bridge/etag-implementation.md +115 -0
- package/embedded-knowledge/domains/jordan-bridge/field-control-selection.md +114 -0
- package/embedded-knowledge/domains/jordan-bridge/samples/al-event-subscriber-architecture.md +395 -0
- package/embedded-knowledge/domains/jordan-bridge/samples/api-error-responses.md +479 -0
- package/embedded-knowledge/domains/jordan-bridge/samples/api-field-control.md +548 -0
- package/embedded-knowledge/domains/jordan-bridge/samples/api-url-naming.md +287 -0
- package/embedded-knowledge/domains/jordan-bridge/samples/business-process-templates.md +434 -0
- package/embedded-knowledge/domains/jordan-bridge/samples/etag-implementation.md +508 -0
- package/embedded-knowledge/domains/jordan-bridge/samples/task-scheduler-pattern.md +615 -0
- package/embedded-knowledge/domains/jordan-bridge/task-scheduler-pattern-implementation.md +144 -0
- package/embedded-knowledge/domains/jordan-bridge/url-structure-naming-patterns.md +96 -0
- package/embedded-knowledge/domains/maya-mentor/case-multiple-conditions-ranges.md +124 -0
- package/embedded-knowledge/domains/maya-mentor/case-statement-syntax-structure.md +84 -0
- package/embedded-knowledge/domains/maya-mentor/fielderror-syntax-usage.md +75 -0
- package/embedded-knowledge/domains/maya-mentor/fielderror-vs-testfield.md +96 -0
- package/embedded-knowledge/domains/maya-mentor/samples/case-statement-multiple-conditions.md +385 -0
- package/embedded-knowledge/domains/maya-mentor/samples/case-statement-syntax-structure.md +72 -0
- package/embedded-knowledge/domains/maya-mentor/samples/fielderror-syntax-usage.md +48 -0
- package/embedded-knowledge/domains/maya-mentor/samples/testfield-basic-syntax.md +49 -0
- package/embedded-knowledge/domains/maya-mentor/testfield-basic-syntax.md +67 -0
- package/embedded-knowledge/domains/morgan-market/partner-readiness-analysis.md +201 -0
- package/embedded-knowledge/domains/morgan-market/samples/partner-readiness-checklist.md +288 -0
- package/embedded-knowledge/domains/parker-pragmatic/README.md +39 -0
- package/embedded-knowledge/domains/parker-pragmatic/proposal-workflows/creating-effective-proposals.md +583 -0
- package/embedded-knowledge/domains/parker-pragmatic/trust-building/working-with-ai-skeptics.md +587 -0
- package/embedded-knowledge/domains/quinn-tester/fielderror-validation-patterns.md +119 -0
- package/embedded-knowledge/domains/quinn-tester/isolation-testing-patterns.md +82 -0
- package/embedded-knowledge/domains/quinn-tester/rule-execution.md +123 -0
- package/embedded-knowledge/domains/quinn-tester/samples/case-error-handling.md +64 -0
- package/embedded-knowledge/domains/quinn-tester/samples/fielderror-message-construction.md +60 -0
- package/embedded-knowledge/domains/quinn-tester/samples/fielderror-validation-patterns.md +83 -0
- package/embedded-knowledge/domains/quinn-tester/samples/isolation-testing-patterns.md +424 -0
- package/embedded-knowledge/domains/quinn-tester/samples/rule-execution.md +716 -0
- package/embedded-knowledge/domains/quinn-tester/samples/table-safety-validation-patterns.md +101 -0
- package/embedded-knowledge/domains/quinn-tester/samples/temporary-table-operation-validation.md +91 -0
- package/embedded-knowledge/domains/quinn-tester/table-safety-validation-patterns.md +79 -0
- package/embedded-knowledge/domains/quinn-tester/temporary-table-operation-validation.md +79 -0
- package/embedded-knowledge/domains/roger-reviewer/al-begin-end-block-structure.md +89 -0
- package/embedded-knowledge/domains/roger-reviewer/al-binary-operator-spacing.md +76 -0
- package/embedded-knowledge/domains/roger-reviewer/al-blank-line-organization.md +76 -0
- package/embedded-knowledge/domains/roger-reviewer/al-case-action-formatting.md +76 -0
- package/embedded-knowledge/domains/roger-reviewer/al-code-spacing-conventions.md +81 -0
- package/embedded-knowledge/domains/roger-reviewer/al-comment-spacing-standards.md +76 -0
- package/embedded-knowledge/domains/roger-reviewer/al-end-else-pairing.md +75 -0
- package/embedded-knowledge/domains/roger-reviewer/al-keyword-indentation-rules.md +76 -0
- package/embedded-knowledge/domains/roger-reviewer/al-line-start-keyword-positioning.md +76 -0
- package/embedded-knowledge/domains/roger-reviewer/al-separate-if-else-formatting.md +76 -0
- package/embedded-knowledge/domains/roger-reviewer/al-standard-abbreviations.md +96 -0
- package/embedded-knowledge/domains/roger-reviewer/al-statement-per-line-rule.md +76 -0
- package/embedded-knowledge/domains/roger-reviewer/al-unnecessary-else-elimination.md +86 -0
- package/embedded-knowledge/domains/roger-reviewer/al-variable-declaration-order.md +90 -0
- package/embedded-knowledge/domains/roger-reviewer/al-variable-naming-conventions.md +82 -0
- package/embedded-knowledge/domains/roger-reviewer/begin-block-statement-clarity.md +78 -0
- package/embedded-knowledge/domains/roger-reviewer/begin-end-positioning-patterns.md +76 -0
- package/embedded-knowledge/domains/roger-reviewer/binary-operator-line-positioning.md +78 -0
- package/embedded-knowledge/domains/roger-reviewer/boolean-expression-simplification-al.md +100 -0
- package/embedded-knowledge/domains/roger-reviewer/case-statement-error-handling-troubleshooting.md +115 -0
- package/embedded-knowledge/domains/roger-reviewer/compound-statement-readability.md +124 -0
- package/embedded-knowledge/domains/roger-reviewer/lonely-repeat-statement-pattern.md +110 -0
- package/embedded-knowledge/domains/roger-reviewer/samples/al-begin-end-blocks.md +438 -0
- package/embedded-knowledge/domains/roger-reviewer/samples/al-binary-operator-spacing.md +255 -0
- package/embedded-knowledge/domains/roger-reviewer/samples/al-comment-spacing-standards.md +209 -0
- package/embedded-knowledge/domains/roger-reviewer/samples/al-keyword-indentation-rules.md +218 -0
- package/embedded-knowledge/domains/roger-reviewer/samples/al-line-start-keyword-positioning.md +218 -0
- package/embedded-knowledge/domains/roger-reviewer/samples/al-separate-if-else-formatting.md +280 -0
- package/embedded-knowledge/domains/roger-reviewer/samples/al-statement-per-line-rule.md +188 -0
- package/embedded-knowledge/domains/roger-reviewer/samples/al-unnecessary-else-elimination.md +245 -0
- package/embedded-knowledge/domains/roger-reviewer/samples/al-variable-declaration-order.md +244 -0
- package/embedded-knowledge/domains/roger-reviewer/samples/begin-end-positioning.md +278 -0
- package/embedded-knowledge/domains/roger-reviewer/samples/boolean-simplification-examples.md +484 -0
- package/embedded-knowledge/domains/roger-reviewer/samples/case-error-handling.md +64 -0
- package/embedded-knowledge/domains/roger-reviewer/samples/compound-statement-readability.md +107 -0
- package/embedded-knowledge/domains/roger-reviewer/samples/lonely-repeat-examples.md +280 -0
- package/embedded-knowledge/domains/roger-reviewer/samples/testability-code-smells.md +256 -0
- package/embedded-knowledge/domains/roger-reviewer/testability-code-smells.md +67 -0
- package/embedded-knowledge/domains/sam-coder/al-formatting-consistency-patterns.md +75 -0
- package/embedded-knowledge/domains/sam-coder/al-line-comment-formatting.md +67 -0
- package/embedded-knowledge/domains/sam-coder/al-lonely-repeat-pattern.md +76 -0
- package/embedded-knowledge/domains/sam-coder/al-named-parameter-pattern.md +98 -0
- package/embedded-knowledge/domains/sam-coder/al-object-navigation-shortcuts.md +128 -0
- package/embedded-knowledge/domains/sam-coder/al-readability-optimization.md +75 -0
- package/embedded-knowledge/domains/sam-coder/al-record-find-early-exit.md +95 -0
- package/embedded-knowledge/domains/sam-coder/command-queue-pattern-al.md +141 -0
- package/embedded-knowledge/domains/sam-coder/deleteall-alternative-implementation.md +91 -0
- package/embedded-knowledge/domains/sam-coder/deleteall-method-usage.md +118 -0
- package/embedded-knowledge/domains/sam-coder/deleteall-trigger-execution.md +111 -0
- package/embedded-knowledge/domains/sam-coder/event-bridge-pattern-al.md +113 -0
- package/embedded-knowledge/domains/sam-coder/event-payload-design-patterns.md +127 -0
- package/embedded-knowledge/domains/sam-coder/generic-method-patterns-al.md +141 -0
- package/embedded-knowledge/domains/sam-coder/manual-binding-conditional-subscribers.md +66 -0
- package/embedded-knowledge/domains/sam-coder/nested-compound-best-practices.md +96 -0
- package/embedded-knowledge/domains/sam-coder/samples/al-blank-line-organization.md +161 -0
- package/embedded-knowledge/domains/sam-coder/samples/al-case-action-formatting.md +177 -0
- package/embedded-knowledge/domains/sam-coder/samples/al-lonely-repeat-pattern.md +239 -0
- package/embedded-knowledge/domains/sam-coder/samples/al-named-parameter-pattern.md +346 -0
- package/embedded-knowledge/domains/sam-coder/samples/al-record-find-early-exit.md +298 -0
- package/embedded-knowledge/domains/sam-coder/samples/command-queue-pattern.md +677 -0
- package/embedded-knowledge/domains/sam-coder/samples/deleteall-alternative-implementation.md +117 -0
- package/embedded-knowledge/domains/sam-coder/samples/deleteall-triggers.md +75 -0
- package/embedded-knowledge/domains/sam-coder/samples/deleteall-usage.md +169 -0
- package/embedded-knowledge/domains/sam-coder/samples/event-bridge-pattern.md +399 -0
- package/embedded-knowledge/domains/sam-coder/samples/event-payload-design.md +356 -0
- package/embedded-knowledge/domains/sam-coder/samples/generic-method-patterns.md +889 -0
- package/embedded-knowledge/domains/sam-coder/samples/manual-binding.md +84 -0
- package/embedded-knowledge/domains/sam-coder/samples/nested-compound-best-practices.md +127 -0
- package/embedded-knowledge/domains/sam-coder/samples/single-to-compound-conversion.md +89 -0
- package/embedded-knowledge/domains/sam-coder/samples/template-method-pattern.md +516 -0
- package/embedded-knowledge/domains/sam-coder/samples/testfield-patterns.md +61 -0
- package/embedded-knowledge/domains/sam-coder/samples/type-safe-operations.md +427 -0
- package/embedded-knowledge/domains/sam-coder/single-to-compound-conversion.md +122 -0
- package/embedded-knowledge/domains/sam-coder/template-method-pattern-al.md +96 -0
- package/embedded-knowledge/domains/sam-coder/testfield-patterns.md +101 -0
- package/embedded-knowledge/domains/sam-coder/type-safe-operations-al.md +149 -0
- package/embedded-knowledge/domains/sam-coder/vs-code-al-keyboard-shortcuts.md +107 -0
- package/embedded-knowledge/domains/seth-security/al-temporary-table-safety.md +95 -0
- package/embedded-knowledge/domains/seth-security/api-permission-model.md +115 -0
- package/embedded-knowledge/domains/seth-security/istemporary-safeguard-pattern.md +78 -0
- package/embedded-knowledge/domains/seth-security/samples/al-temporary-table-safety.md +373 -0
- package/embedded-knowledge/domains/seth-security/samples/api-permission-model.md +308 -0
- package/embedded-knowledge/domains/shared/al-file-naming-conventions.md +146 -0
- package/embedded-knowledge/domains/taylor-docs/al-xml-documentation-structure.md +79 -0
- package/embedded-knowledge/domains/uma-ux/bc-action-shortcuts-syntax.md +78 -0
- package/embedded-knowledge/domains/uma-ux/shortcut-key-user-experience-design.md +81 -0
- package/embedded-knowledge/indexes/bc-version-matrix.json +188 -0
- package/embedded-knowledge/indexes/domain-catalog.json +106 -0
- package/embedded-knowledge/indexes/tags/abbreviations.json +1 -0
- package/embedded-knowledge/indexes/tags/abstraction.json +1 -0
- package/embedded-knowledge/indexes/tags/access-control.json +1 -0
- package/embedded-knowledge/indexes/tags/accessibility.json +1 -0
- package/embedded-knowledge/indexes/tags/actions.json +1 -0
- package/embedded-knowledge/indexes/tags/advanced-patterns.json +1 -0
- package/embedded-knowledge/indexes/tags/advanced.json +1 -0
- package/embedded-knowledge/indexes/tags/al-extension.json +1 -0
- package/embedded-knowledge/indexes/tags/al-generics.json +1 -0
- package/embedded-knowledge/indexes/tags/al-objects.json +1 -0
- package/embedded-knowledge/indexes/tags/al-syntax.json +1 -0
- package/embedded-knowledge/indexes/tags/algorithm-structure.json +1 -0
- package/embedded-knowledge/indexes/tags/alternatives.json +1 -0
- package/embedded-knowledge/indexes/tags/analytics.json +1 -0
- package/embedded-knowledge/indexes/tags/api-delegates.json +1 -0
- package/embedded-knowledge/indexes/tags/api-design.json +1 -0
- package/embedded-knowledge/indexes/tags/api-documentation.json +1 -0
- package/embedded-knowledge/indexes/tags/api-endpoints.json +1 -0
- package/embedded-knowledge/indexes/tags/api-extensibility.json +1 -0
- package/embedded-knowledge/indexes/tags/api-fieldsets.json +1 -0
- package/embedded-knowledge/indexes/tags/api-integration.json +1 -0
- package/embedded-knowledge/indexes/tags/api-interfaces.json +1 -0
- package/embedded-knowledge/indexes/tags/api-optimization.json +1 -0
- package/embedded-knowledge/indexes/tags/api-pages.json +1 -0
- package/embedded-knowledge/indexes/tags/api-patterns.json +1 -0
- package/embedded-knowledge/indexes/tags/api-permissions.json +1 -0
- package/embedded-knowledge/indexes/tags/api-responses.json +1 -0
- package/embedded-knowledge/indexes/tags/api-simplification.json +1 -0
- package/embedded-knowledge/indexes/tags/api.json +1 -0
- package/embedded-knowledge/indexes/tags/architecture.json +1 -0
- package/embedded-knowledge/indexes/tags/async-patterns.json +1 -0
- package/embedded-knowledge/indexes/tags/async-processing.json +1 -0
- package/embedded-knowledge/indexes/tags/automatic-registration.json +1 -0
- package/embedded-knowledge/indexes/tags/batch-operations.json +1 -0
- package/embedded-knowledge/indexes/tags/bc24-migration.json +1 -0
- package/embedded-knowledge/indexes/tags/begin-blocks.json +1 -0
- package/embedded-knowledge/indexes/tags/begin-end.json +1 -0
- package/embedded-knowledge/indexes/tags/behavioral-patterns.json +1 -0
- package/embedded-knowledge/indexes/tags/best-practices.json +1 -0
- package/embedded-knowledge/indexes/tags/binding.json +1 -0
- package/embedded-knowledge/indexes/tags/block-structure.json +1 -0
- package/embedded-knowledge/indexes/tags/blocks.json +1 -0
- package/embedded-knowledge/indexes/tags/boolean-expressions.json +1 -0
- package/embedded-knowledge/indexes/tags/branching.json +1 -0
- package/embedded-knowledge/indexes/tags/breaking-changes.json +1 -0
- package/embedded-knowledge/indexes/tags/breakpoints.json +1 -0
- package/embedded-knowledge/indexes/tags/business-foundation.json +1 -0
- package/embedded-knowledge/indexes/tags/business-infrastructure.json +1 -0
- package/embedded-knowledge/indexes/tags/business-process.json +1 -0
- package/embedded-knowledge/indexes/tags/business-rules.json +1 -0
- package/embedded-knowledge/indexes/tags/caching.json +1 -0
- package/embedded-knowledge/indexes/tags/case-statements.json +1 -0
- package/embedded-knowledge/indexes/tags/case.json +1 -0
- package/embedded-knowledge/indexes/tags/code-analysis.json +1 -0
- package/embedded-knowledge/indexes/tags/code-clarity.json +1 -0
- package/embedded-knowledge/indexes/tags/code-comprehension.json +1 -0
- package/embedded-knowledge/indexes/tags/code-conversion.json +1 -0
- package/embedded-knowledge/indexes/tags/code-formatting.json +1 -0
- package/embedded-knowledge/indexes/tags/code-organization.json +1 -0
- package/embedded-knowledge/indexes/tags/code-patterns.json +1 -0
- package/embedded-knowledge/indexes/tags/code-quality.json +1 -0
- package/embedded-knowledge/indexes/tags/code-reuse.json +1 -0
- package/embedded-knowledge/indexes/tags/code-simplification.json +1 -0
- package/embedded-knowledge/indexes/tags/code-standards.json +1 -0
- package/embedded-knowledge/indexes/tags/code-structure.json +1 -0
- package/embedded-knowledge/indexes/tags/code-style.json +1 -0
- package/embedded-knowledge/indexes/tags/codeunit-design.json +1 -0
- package/embedded-knowledge/indexes/tags/command-queue.json +1 -0
- package/embedded-knowledge/indexes/tags/comments.json +1 -0
- package/embedded-knowledge/indexes/tags/compile-time-validation.json +1 -0
- package/embedded-knowledge/indexes/tags/complex-facade.json +1 -0
- package/embedded-knowledge/indexes/tags/complexity-hiding.json +1 -0
- package/embedded-knowledge/indexes/tags/complexity-management.json +1 -0
- package/embedded-knowledge/indexes/tags/compound-statements.json +1 -0
- package/embedded-knowledge/indexes/tags/concurrency.json +1 -0
- package/embedded-knowledge/indexes/tags/conditional-logic.json +1 -0
- package/embedded-knowledge/indexes/tags/conditional.json +1 -0
- package/embedded-knowledge/indexes/tags/conflict-resolution.json +1 -0
- package/embedded-knowledge/indexes/tags/consistency.json +1 -0
- package/embedded-knowledge/indexes/tags/contract-design.json +1 -0
- package/embedded-knowledge/indexes/tags/control-flow.json +1 -0
- package/embedded-knowledge/indexes/tags/conversion-guide.json +1 -0
- package/embedded-knowledge/indexes/tags/correlation.json +1 -0
- package/embedded-knowledge/indexes/tags/custom-messages.json +1 -0
- package/embedded-knowledge/indexes/tags/data-access.json +1 -0
- package/embedded-knowledge/indexes/tags/data-exposure.json +1 -0
- package/embedded-knowledge/indexes/tags/data-integrity.json +1 -0
- package/embedded-knowledge/indexes/tags/data-loading.json +1 -0
- package/embedded-knowledge/indexes/tags/data-manipulation.json +1 -0
- package/embedded-knowledge/indexes/tags/data-modeling.json +1 -0
- package/embedded-knowledge/indexes/tags/data-patterns.json +1 -0
- package/embedded-knowledge/indexes/tags/data-protection.json +1 -0
- package/embedded-knowledge/indexes/tags/data-validation.json +1 -0
- package/embedded-knowledge/indexes/tags/database.json +1 -0
- package/embedded-knowledge/indexes/tags/debugging.json +1 -0
- package/embedded-knowledge/indexes/tags/decision-making.json +1 -0
- package/embedded-knowledge/indexes/tags/declaration.json +1 -0
- package/embedded-knowledge/indexes/tags/default-messages.json +1 -0
- package/embedded-knowledge/indexes/tags/defensive-programming.json +1 -0
- package/embedded-knowledge/indexes/tags/deleteall.json +1 -0
- package/embedded-knowledge/indexes/tags/dependencies.json +1 -0
- package/embedded-knowledge/indexes/tags/deployment.json +1 -0
- package/embedded-knowledge/indexes/tags/developer-productivity.json +1 -0
- package/embedded-knowledge/indexes/tags/development-workflow.json +1 -0
- package/embedded-knowledge/indexes/tags/diagnostics.json +1 -0
- package/embedded-knowledge/indexes/tags/dimensions.json +1 -0
- package/embedded-knowledge/indexes/tags/documentation.json +1 -0
- package/embedded-knowledge/indexes/tags/early-exit.json +1 -0
- package/embedded-knowledge/indexes/tags/else-clauses.json +1 -0
- package/embedded-knowledge/indexes/tags/end-statements.json +1 -0
- package/embedded-knowledge/indexes/tags/enterprise-patterns.json +1 -0
- package/embedded-knowledge/indexes/tags/entity-relationships.json +1 -0
- package/embedded-knowledge/indexes/tags/error-handling.json +1 -0
- package/embedded-knowledge/indexes/tags/error-messages.json +1 -0
- package/embedded-knowledge/indexes/tags/error-prevention.json +1 -0
- package/embedded-knowledge/indexes/tags/error-text.json +1 -0
- package/embedded-knowledge/indexes/tags/etag.json +1 -0
- package/embedded-knowledge/indexes/tags/event-bridge.json +1 -0
- package/embedded-knowledge/indexes/tags/event-payload.json +1 -0
- package/embedded-knowledge/indexes/tags/event-routing.json +1 -0
- package/embedded-knowledge/indexes/tags/events.json +1 -0
- package/embedded-knowledge/indexes/tags/execution-flow.json +1 -0
- package/embedded-knowledge/indexes/tags/expressions.json +1 -0
- package/embedded-knowledge/indexes/tags/extensibility.json +1 -0
- package/embedded-knowledge/indexes/tags/extensions.json +1 -0
- package/embedded-knowledge/indexes/tags/facade-composition.json +1 -0
- package/embedded-knowledge/indexes/tags/facade-pattern.json +1 -0
- package/embedded-knowledge/indexes/tags/field-control.json +1 -0
- package/embedded-knowledge/indexes/tags/field-exclusion.json +1 -0
- package/embedded-knowledge/indexes/tags/field-registration.json +1 -0
- package/embedded-knowledge/indexes/tags/field-state.json +1 -0
- package/embedded-knowledge/indexes/tags/field-validation.json +1 -0
- package/embedded-knowledge/indexes/tags/fielderror.json +1 -0
- package/embedded-knowledge/indexes/tags/fields.json +1 -0
- package/embedded-knowledge/indexes/tags/filtering.json +1 -0
- package/embedded-knowledge/indexes/tags/filters.json +1 -0
- package/embedded-knowledge/indexes/tags/formatting.json +1 -0
- package/embedded-knowledge/indexes/tags/generic-methods.json +1 -0
- package/embedded-knowledge/indexes/tags/http-status.json +1 -0
- package/embedded-knowledge/indexes/tags/if-statements.json +1 -0
- package/embedded-knowledge/indexes/tags/implementation.json +1 -0
- package/embedded-knowledge/indexes/tags/indentation.json +1 -0
- package/embedded-knowledge/indexes/tags/index-summary.json +277 -0
- package/embedded-knowledge/indexes/tags/indexing.json +1 -0
- package/embedded-knowledge/indexes/tags/inheritance.json +1 -0
- package/embedded-knowledge/indexes/tags/integration.json +1 -0
- package/embedded-knowledge/indexes/tags/integrity-checking.json +1 -0
- package/embedded-knowledge/indexes/tags/intellisense.json +1 -0
- package/embedded-knowledge/indexes/tags/interface-design.json +1 -0
- package/embedded-knowledge/indexes/tags/interface-segregation.json +1 -0
- package/embedded-knowledge/indexes/tags/isolation.json +1 -0
- package/embedded-knowledge/indexes/tags/job-processing.json +1 -0
- package/embedded-knowledge/indexes/tags/keyboard-navigation.json +1 -0
- package/embedded-knowledge/indexes/tags/keywords.json +1 -0
- package/embedded-knowledge/indexes/tags/legacy-modernization.json +1 -0
- package/embedded-knowledge/indexes/tags/line-breaks.json +1 -0
- package/embedded-knowledge/indexes/tags/line-organization.json +1 -0
- package/embedded-knowledge/indexes/tags/line-positioning.json +1 -0
- package/embedded-knowledge/indexes/tags/localization.json +1 -0
- package/embedded-knowledge/indexes/tags/logging.json +1 -0
- package/embedded-knowledge/indexes/tags/loose-coupling.json +1 -0
- package/embedded-knowledge/indexes/tags/maintainability.json +1 -0
- package/embedded-knowledge/indexes/tags/memory-management.json +1 -0
- package/embedded-knowledge/indexes/tags/memory-optimization.json +1 -0
- package/embedded-knowledge/indexes/tags/memory.json +1 -0
- package/embedded-knowledge/indexes/tags/message-design.json +1 -0
- package/embedded-knowledge/indexes/tags/message-formatting.json +1 -0
- package/embedded-knowledge/indexes/tags/message-patterns.json +1 -0
- package/embedded-knowledge/indexes/tags/metadata-driven.json +1 -0
- package/embedded-knowledge/indexes/tags/method-comparison.json +1 -0
- package/embedded-knowledge/indexes/tags/module-architecture.json +1 -0
- package/embedded-knowledge/indexes/tags/module-validation.json +1 -0
- package/embedded-knowledge/indexes/tags/monitoring.json +1 -0
- package/embedded-knowledge/indexes/tags/multi-layer-facade.json +1 -0
- package/embedded-knowledge/indexes/tags/multi-tenancy.json +1 -0
- package/embedded-knowledge/indexes/tags/multiple-values.json +1 -0
- package/embedded-knowledge/indexes/tags/naming-conventions.json +1 -0
- package/embedded-knowledge/indexes/tags/naming.json +1 -0
- package/embedded-knowledge/indexes/tags/navigation.json +1 -0
- package/embedded-knowledge/indexes/tags/nested-statements.json +1 -0
- package/embedded-knowledge/indexes/tags/no-series-conversion.json +1 -0
- package/embedded-knowledge/indexes/tags/no-series-validation.json +1 -0
- package/embedded-knowledge/indexes/tags/no-series.json +1 -0
- package/embedded-knowledge/indexes/tags/number-generation.json +1 -0
- package/embedded-knowledge/indexes/tags/object-documentation.json +1 -0
- package/embedded-knowledge/indexes/tags/odata.json +1 -0
- package/embedded-knowledge/indexes/tags/ondelete.json +1 -0
- package/embedded-knowledge/indexes/tags/onvalidate.json +1 -0
- package/embedded-knowledge/indexes/tags/operation-delegation.json +1 -0
- package/embedded-knowledge/indexes/tags/operation-safety.json +1 -0
- package/embedded-knowledge/indexes/tags/operators.json +1 -0
- package/embedded-knowledge/indexes/tags/optimization.json +1 -0
- package/embedded-knowledge/indexes/tags/order.json +1 -0
- package/embedded-knowledge/indexes/tags/organization.json +1 -0
- package/embedded-knowledge/indexes/tags/pages.json +1 -0
- package/embedded-knowledge/indexes/tags/parameters.json +1 -0
- package/embedded-knowledge/indexes/tags/patterns.json +1 -0
- package/embedded-knowledge/indexes/tags/performance-optimization.json +1 -0
- package/embedded-knowledge/indexes/tags/performance.json +1 -0
- package/embedded-knowledge/indexes/tags/placement.json +1 -0
- package/embedded-knowledge/indexes/tags/posting-codeunits.json +1 -0
- package/embedded-knowledge/indexes/tags/posting.json +1 -0
- package/embedded-knowledge/indexes/tags/preconditions.json +1 -0
- package/embedded-knowledge/indexes/tags/primary-key.json +1 -0
- package/embedded-knowledge/indexes/tags/privacy.json +1 -0
- package/embedded-knowledge/indexes/tags/process-automation.json +1 -0
- package/embedded-knowledge/indexes/tags/production.json +1 -0
- package/embedded-knowledge/indexes/tags/productivity.json +1 -0
- package/embedded-knowledge/indexes/tags/query-performance.json +1 -0
- package/embedded-knowledge/indexes/tags/queue-management.json +1 -0
- package/embedded-knowledge/indexes/tags/ranges.json +1 -0
- package/embedded-knowledge/indexes/tags/readability.json +1 -0
- package/embedded-knowledge/indexes/tags/record-access.json +1 -0
- package/embedded-knowledge/indexes/tags/record-methods.json +1 -0
- package/embedded-knowledge/indexes/tags/refactoring.json +1 -0
- package/embedded-knowledge/indexes/tags/reference.json +1 -0
- package/embedded-knowledge/indexes/tags/repeat-loops.json +1 -0
- package/embedded-knowledge/indexes/tags/repeat-statement.json +1 -0
- package/embedded-knowledge/indexes/tags/runtime-errors.json +1 -0
- package/embedded-knowledge/indexes/tags/runtime.json +1 -0
- package/embedded-knowledge/indexes/tags/safeguards.json +1 -0
- package/embedded-knowledge/indexes/tags/security.json +1 -0
- package/embedded-knowledge/indexes/tags/sequence-management.json +1 -0
- package/embedded-knowledge/indexes/tags/serialization.json +1 -0
- package/embedded-knowledge/indexes/tags/session-logmessage.json +1 -0
- package/embedded-knowledge/indexes/tags/session.json +1 -0
- package/embedded-knowledge/indexes/tags/setloadfields.json +1 -0
- package/embedded-knowledge/indexes/tags/shortcuts.json +1 -0
- package/embedded-knowledge/indexes/tags/sift.json +1 -0
- package/embedded-knowledge/indexes/tags/singleinstance.json +1 -0
- package/embedded-knowledge/indexes/tags/spacing.json +1 -0
- package/embedded-knowledge/indexes/tags/sql-translation.json +1 -0
- package/embedded-knowledge/indexes/tags/standards.json +1 -0
- package/embedded-knowledge/indexes/tags/statements.json +1 -0
- package/embedded-knowledge/indexes/tags/streaming.json +1 -0
- package/embedded-knowledge/indexes/tags/strong-typing.json +1 -0
- package/embedded-knowledge/indexes/tags/structural-patterns.json +1 -0
- package/embedded-knowledge/indexes/tags/structure.json +1 -0
- package/embedded-knowledge/indexes/tags/subscribers.json +1 -0
- package/embedded-knowledge/indexes/tags/switch.json +1 -0
- package/embedded-knowledge/indexes/tags/symbol-search.json +1 -0
- package/embedded-knowledge/indexes/tags/syntax.json +1 -0
- package/embedded-knowledge/indexes/tags/systemid.json +1 -0
- package/embedded-knowledge/indexes/tags/table-configuration.json +1 -0
- package/embedded-knowledge/indexes/tags/table-events.json +1 -0
- package/embedded-knowledge/indexes/tags/table-keys.json +1 -0
- package/embedded-knowledge/indexes/tags/table-safety.json +1 -0
- package/embedded-knowledge/indexes/tags/task-scheduler.json +1 -0
- package/embedded-knowledge/indexes/tags/telemetry.json +1 -0
- package/embedded-knowledge/indexes/tags/template-method.json +1 -0
- package/embedded-knowledge/indexes/tags/temporary-tables.json +1 -0
- package/embedded-knowledge/indexes/tags/testfield.json +1 -0
- package/embedded-knowledge/indexes/tags/tradeoffs.json +1 -0
- package/embedded-knowledge/indexes/tags/triggers.json +1 -0
- package/embedded-knowledge/indexes/tags/troubleshooting.json +1 -0
- package/embedded-knowledge/indexes/tags/type-safety.json +1 -0
- package/embedded-knowledge/indexes/tags/url-structure.json +1 -0
- package/embedded-knowledge/indexes/tags/user-experience.json +1 -0
- package/embedded-knowledge/indexes/tags/user-feedback.json +1 -0
- package/embedded-knowledge/indexes/tags/user-interface.json +1 -0
- package/embedded-knowledge/indexes/tags/validation-feedback.json +1 -0
- package/embedded-knowledge/indexes/tags/validation.json +1 -0
- package/embedded-knowledge/indexes/tags/variables.json +1 -0
- package/embedded-knowledge/indexes/tags/verbosity.json +1 -0
- package/embedded-knowledge/indexes/tags/vs-code.json +1 -0
- package/embedded-knowledge/indexes/tags/web-services.json +1 -0
- package/embedded-knowledge/indexes/tags/workflow-management.json +1 -0
- package/embedded-knowledge/indexes/tags/workflow-optimization.json +1 -0
- package/embedded-knowledge/indexes/tags/workflow-templates.json +1 -0
- package/embedded-knowledge/indexes/tags/workspace.json +1 -0
- package/embedded-knowledge/indexes/tags/xml-documentation.json +1 -0
- package/embedded-knowledge/indexes/topic-relationships.json +128 -0
- package/embedded-knowledge/methodologies/index.json +81 -0
- package/embedded-knowledge/methodologies/phases/analysis-full.md +208 -0
- package/embedded-knowledge/methodologies/phases/analysis-quick.md +44 -0
- package/embedded-knowledge/methodologies/phases/analysis.md +182 -0
- package/embedded-knowledge/methodologies/phases/execution-validation-full.md +174 -0
- package/embedded-knowledge/methodologies/phases/execution-validation-quick.md +31 -0
- package/embedded-knowledge/methodologies/phases/execution-validation.md +174 -0
- package/embedded-knowledge/methodologies/phases/performance-full.md +211 -0
- package/embedded-knowledge/methodologies/phases/performance-quick.md +32 -0
- package/embedded-knowledge/methodologies/phases/performance.md +211 -0
- package/embedded-knowledge/methodologies/phases/verification-full.md +162 -0
- package/embedded-knowledge/methodologies/phases/verification-quick.md +48 -0
- package/embedded-knowledge/methodologies/phases/verification.md +146 -0
- package/embedded-knowledge/methodologies/workflow-enforcement.md +142 -0
- package/embedded-knowledge/methodologies/workflows/code-review-workflow.md +99 -0
- package/embedded-knowledge/methodologies/workflows/proposal-review-workflow.md +535 -0
- package/embedded-knowledge/specialists/alex-architect.md +305 -0
- package/embedded-knowledge/specialists/casey-copilot.md +314 -0
- package/embedded-knowledge/specialists/chris-config.md +226 -0
- package/embedded-knowledge/specialists/dean-debug.md +365 -0
- package/embedded-knowledge/specialists/eva-errors.md +291 -0
- package/embedded-knowledge/specialists/jordan-bridge.md +291 -0
- package/embedded-knowledge/specialists/logan-legacy.md +265 -0
- package/embedded-knowledge/specialists/maya-mentor.md +299 -0
- package/embedded-knowledge/specialists/morgan-market.md +281 -0
- package/embedded-knowledge/specialists/parker-pragmatic.md +564 -0
- package/embedded-knowledge/specialists/quinn-tester.md +323 -0
- package/embedded-knowledge/specialists/roger-reviewer.md +317 -0
- package/embedded-knowledge/specialists/sam-coder.md +342 -0
- package/embedded-knowledge/specialists/seth-security.md +290 -0
- package/embedded-knowledge/specialists/taylor-docs.md +312 -0
- package/embedded-knowledge/specialists/uma-ux.md +291 -0
- package/package.json +82 -0
|
@@ -0,0 +1,437 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Creating Custom BC Knowledge Content"
|
|
3
|
+
domain: "chris-config"
|
|
4
|
+
difficulty: "intermediate"
|
|
5
|
+
bc_versions: "14+"
|
|
6
|
+
tags: ["knowledge-creation", "content-authoring", "yaml-frontmatter", "markdown", "overrides"]
|
|
7
|
+
related_topics: ["multi-team-layer-configuration", "content-quality-standards"]
|
|
8
|
+
applies_to: ["Knowledge Base", "Team Documentation", "Project Customization"]
|
|
9
|
+
last_updated: "2025-01-01"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Creating Custom BC Knowledge Content
|
|
13
|
+
|
|
14
|
+
## Overview
|
|
15
|
+
|
|
16
|
+
Learn to create high-quality BC knowledge content that perfectly fits your organization's needs. This guide covers writing, structuring, and maintaining knowledge overrides that enhance the embedded knowledge base through the layer system.
|
|
17
|
+
|
|
18
|
+
**Key Benefit**: Custom knowledge content allows teams to capture specialized patterns, company standards, and project-specific requirements while maintaining compatibility with the broader BC knowledge ecosystem.
|
|
19
|
+
|
|
20
|
+
## Knowledge Topic Structure
|
|
21
|
+
|
|
22
|
+
Every knowledge topic follows a consistent structure with YAML frontmatter and organized markdown content:
|
|
23
|
+
|
|
24
|
+
```yaml
|
|
25
|
+
---
|
|
26
|
+
# Required Metadata
|
|
27
|
+
title: "Descriptive Topic Title"
|
|
28
|
+
domain: "performance|api-design|security|etc"
|
|
29
|
+
bc_versions: "20+"
|
|
30
|
+
difficulty: "beginner|intermediate|advanced|expert"
|
|
31
|
+
tags: ["tag1", "tag2", "tag3"]
|
|
32
|
+
|
|
33
|
+
# Override Configuration (if applicable)
|
|
34
|
+
overrides: ["embedded-topic-id"]
|
|
35
|
+
merge_strategy: "replace|overlay|smart|append"
|
|
36
|
+
|
|
37
|
+
# Organization Context
|
|
38
|
+
organization_level: "company|team|project"
|
|
39
|
+
author: "your.email@company.com"
|
|
40
|
+
created: "2025-01-15"
|
|
41
|
+
last_modified: "2025-01-20"
|
|
42
|
+
|
|
43
|
+
# Cross-References
|
|
44
|
+
related_topics: ["topic-id-1", "topic-id-2"]
|
|
45
|
+
prerequisites: ["prerequisite-topic-id"]
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
# Topic Title
|
|
49
|
+
|
|
50
|
+
Brief introduction explaining what this topic covers and why it matters.
|
|
51
|
+
|
|
52
|
+
## Overview
|
|
53
|
+
Clear explanation of the concept, pattern, or practice including:
|
|
54
|
+
- What it is and when to use it
|
|
55
|
+
- Why it's important
|
|
56
|
+
- Key benefits for BC development
|
|
57
|
+
|
|
58
|
+
## Business Central Context
|
|
59
|
+
BC-specific considerations:
|
|
60
|
+
- Platform integration points
|
|
61
|
+
- Version compatibility notes
|
|
62
|
+
- Related BC features or modules
|
|
63
|
+
|
|
64
|
+
## Implementation
|
|
65
|
+
Step-by-step guidance with clear instructions:
|
|
66
|
+
|
|
67
|
+
### Prerequisites
|
|
68
|
+
- Required setup or dependencies
|
|
69
|
+
- Assumed knowledge or skills
|
|
70
|
+
|
|
71
|
+
### Step-by-Step Guide
|
|
72
|
+
1. **Step 1**: Detailed instruction
|
|
73
|
+
```al
|
|
74
|
+
// Clear, compilable AL code example
|
|
75
|
+
table 50100 ExampleTable
|
|
76
|
+
{
|
|
77
|
+
DataClassification = CustomerContent;
|
|
78
|
+
|
|
79
|
+
fields
|
|
80
|
+
{
|
|
81
|
+
field(1; "Entry No."; Integer)
|
|
82
|
+
{
|
|
83
|
+
AutoIncrement = true;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Best Practices
|
|
90
|
+
Proven recommendations:
|
|
91
|
+
- ✅ Use clear, descriptive naming conventions
|
|
92
|
+
- ✅ Implement proper error handling
|
|
93
|
+
- ✅ Follow BC coding standards
|
|
94
|
+
- ❌ Avoid hard-coded values
|
|
95
|
+
- ❌ Don't skip validation
|
|
96
|
+
|
|
97
|
+
## Version Considerations
|
|
98
|
+
BC version compatibility and migration notes
|
|
99
|
+
|
|
100
|
+
## Troubleshooting
|
|
101
|
+
Common issues and solutions
|
|
102
|
+
|
|
103
|
+
## Related Topics
|
|
104
|
+
Links to related knowledge content
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## YAML Frontmatter Reference
|
|
108
|
+
|
|
109
|
+
### Required Fields
|
|
110
|
+
```yaml
|
|
111
|
+
---
|
|
112
|
+
title: "Descriptive Topic Title" # Clear, specific title
|
|
113
|
+
domain: "performance" # Domain classification
|
|
114
|
+
bc_versions: "20+" # Version compatibility
|
|
115
|
+
difficulty: "intermediate" # Complexity level
|
|
116
|
+
tags: ["tag1", "tag2"] # Minimum 2 descriptive tags
|
|
117
|
+
---
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Domain Classifications
|
|
121
|
+
Choose the most appropriate domain for your content:
|
|
122
|
+
|
|
123
|
+
```yaml
|
|
124
|
+
# Technical domains
|
|
125
|
+
domain: "performance" # Optimization, SIFT, query tuning
|
|
126
|
+
domain: "api-design" # REST, OData, authentication
|
|
127
|
+
domain: "security" # Access control, data protection
|
|
128
|
+
domain: "architecture" # System design, patterns
|
|
129
|
+
domain: "data-architecture" # Tables, relationships
|
|
130
|
+
domain: "debugging" # Troubleshooting, diagnostics
|
|
131
|
+
|
|
132
|
+
# Process domains
|
|
133
|
+
domain: "best-practices" # General guidelines
|
|
134
|
+
domain: "error-handling" # Exception management
|
|
135
|
+
domain: "testing" # Quality assurance
|
|
136
|
+
domain: "deployment" # Release management
|
|
137
|
+
|
|
138
|
+
# Specialist domains
|
|
139
|
+
domain: "alex-architect" # Architecture and design
|
|
140
|
+
domain: "dean-debug" # Performance and debugging
|
|
141
|
+
domain: "sam-coder" # Implementation patterns
|
|
142
|
+
domain: "chris-config" # Configuration and customization
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Difficulty Level Guidelines
|
|
146
|
+
```yaml
|
|
147
|
+
difficulty: "beginner" # Basic concepts, getting started
|
|
148
|
+
# - Assumes minimal BC knowledge
|
|
149
|
+
# - Step-by-step instructions
|
|
150
|
+
# - Explains basic concepts
|
|
151
|
+
|
|
152
|
+
difficulty: "intermediate" # Practical implementation
|
|
153
|
+
# - Assumes basic BC development knowledge
|
|
154
|
+
# - Real-world scenarios
|
|
155
|
+
# - Best practices focus
|
|
156
|
+
|
|
157
|
+
difficulty: "advanced" # Complex patterns, optimization
|
|
158
|
+
# - Assumes solid BC experience
|
|
159
|
+
# - Performance considerations
|
|
160
|
+
# - Integration challenges
|
|
161
|
+
|
|
162
|
+
difficulty: "expert" # Cutting-edge, specialized
|
|
163
|
+
# - Assumes deep BC expertise
|
|
164
|
+
# - Advanced patterns
|
|
165
|
+
# - Platform limitations
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### Effective Tagging Strategy
|
|
169
|
+
```yaml
|
|
170
|
+
# Performance-related tags
|
|
171
|
+
tags: ["sift", "optimization", "query-performance", "memory-management"]
|
|
172
|
+
|
|
173
|
+
# API and integration tags
|
|
174
|
+
tags: ["rest", "odata", "authentication", "integration", "webhooks"]
|
|
175
|
+
|
|
176
|
+
# Architecture and design tags
|
|
177
|
+
tags: ["design-patterns", "microservices", "event-driven", "scalability"]
|
|
178
|
+
|
|
179
|
+
# Development process tags
|
|
180
|
+
tags: ["testing", "debugging", "devops", "code-review"]
|
|
181
|
+
|
|
182
|
+
# Business domain tags
|
|
183
|
+
tags: ["manufacturing", "retail", "financial", "healthcare"]
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
## Override Configuration
|
|
187
|
+
|
|
188
|
+
### Simple Content Override
|
|
189
|
+
Replace embedded content completely:
|
|
190
|
+
```yaml
|
|
191
|
+
---
|
|
192
|
+
title: "Company SIFT Optimization Standards"
|
|
193
|
+
domain: "performance"
|
|
194
|
+
overrides: ["sift-technology-fundamentals"]
|
|
195
|
+
merge_strategy: "replace"
|
|
196
|
+
organization_level: "company"
|
|
197
|
+
---
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
### Content Enhancement
|
|
201
|
+
Add to existing embedded content:
|
|
202
|
+
```yaml
|
|
203
|
+
---
|
|
204
|
+
title: "Team-Specific API Authentication Patterns"
|
|
205
|
+
domain: "api-design"
|
|
206
|
+
overrides: ["api-authentication-patterns"]
|
|
207
|
+
merge_strategy: "append"
|
|
208
|
+
organization_level: "team"
|
|
209
|
+
sections_to_enhance: ["implementation", "examples"]
|
|
210
|
+
---
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### Conditional Overrides
|
|
214
|
+
Apply overrides based on conditions:
|
|
215
|
+
```yaml
|
|
216
|
+
---
|
|
217
|
+
title: "Production Environment Security Standards"
|
|
218
|
+
domain: "security"
|
|
219
|
+
override_conditions:
|
|
220
|
+
environment: ["production"]
|
|
221
|
+
bc_version: "23+"
|
|
222
|
+
---
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
## Code Example Standards
|
|
226
|
+
|
|
227
|
+
### AL Code Examples
|
|
228
|
+
```al
|
|
229
|
+
// Always include context comments
|
|
230
|
+
table 50100 "Customer Analytics"
|
|
231
|
+
{
|
|
232
|
+
// Purpose: Store customer performance metrics
|
|
233
|
+
DataClassification = CustomerContent;
|
|
234
|
+
|
|
235
|
+
fields
|
|
236
|
+
{
|
|
237
|
+
field(1; "Customer No."; Code[20])
|
|
238
|
+
{
|
|
239
|
+
// Links to standard Customer table
|
|
240
|
+
TableRelation = Customer."No.";
|
|
241
|
+
Caption = 'Customer No.';
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
field(10; "Total Sales Amount"; Decimal)
|
|
245
|
+
{
|
|
246
|
+
// Calculated via SIFT for performance
|
|
247
|
+
FieldClass = FlowField;
|
|
248
|
+
CalcFormula = Sum("Sales Line".Amount WHERE("Sell-to Customer No." = FIELD("Customer No.")));
|
|
249
|
+
Caption = 'Total Sales Amount';
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
keys
|
|
254
|
+
{
|
|
255
|
+
key(PK; "Customer No.")
|
|
256
|
+
{
|
|
257
|
+
Clustered = true;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
// SIFT key for aggregation performance
|
|
261
|
+
key(SalesAnalysis; "Customer No.")
|
|
262
|
+
{
|
|
263
|
+
SumIndexFields = "Total Sales Amount";
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
### Configuration Examples
|
|
270
|
+
```json
|
|
271
|
+
// JSON configuration with explanatory comments
|
|
272
|
+
{
|
|
273
|
+
"performance_settings": {
|
|
274
|
+
"enable_sift": true, // Enables SIFT optimization
|
|
275
|
+
"max_records": 10000, // Prevents memory issues
|
|
276
|
+
"timeout_seconds": 30 // Query timeout protection
|
|
277
|
+
},
|
|
278
|
+
"cache_settings": {
|
|
279
|
+
"enabled": true,
|
|
280
|
+
"ttl_minutes": 15 // Cache expiration time
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
## Content Development Workflow
|
|
286
|
+
|
|
287
|
+
### 1. Planning Phase
|
|
288
|
+
```markdown
|
|
289
|
+
## Topic Planning Checklist
|
|
290
|
+
- [ ] Identify knowledge gap or override need
|
|
291
|
+
- [ ] Define target audience and use case
|
|
292
|
+
- [ ] Research existing related topics
|
|
293
|
+
- [ ] Plan topic scope and depth
|
|
294
|
+
- [ ] Choose appropriate domain and tags
|
|
295
|
+
- [ ] Determine BC version compatibility
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
### 2. Content Creation Phase
|
|
299
|
+
```markdown
|
|
300
|
+
## Content Creation Checklist
|
|
301
|
+
- [ ] Write compelling title and overview
|
|
302
|
+
- [ ] Create YAML frontmatter with required fields
|
|
303
|
+
- [ ] Develop step-by-step implementation guide
|
|
304
|
+
- [ ] Include practical, compilable code examples
|
|
305
|
+
- [ ] Add best practices and anti-patterns
|
|
306
|
+
- [ ] Write troubleshooting section
|
|
307
|
+
- [ ] Add cross-references to related topics
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
### 3. Quality Assurance Phase
|
|
311
|
+
```markdown
|
|
312
|
+
## Quality Review Checklist
|
|
313
|
+
- [ ] YAML frontmatter syntax is valid
|
|
314
|
+
- [ ] Markdown renders correctly
|
|
315
|
+
- [ ] Code examples compile successfully
|
|
316
|
+
- [ ] Cross-references resolve correctly
|
|
317
|
+
- [ ] Content accuracy verified
|
|
318
|
+
- [ ] Writing clarity and flow reviewed
|
|
319
|
+
- [ ] Version compatibility confirmed
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
## Layer Integration
|
|
323
|
+
|
|
324
|
+
### Project-Level Overrides
|
|
325
|
+
Create content in your project's override directory:
|
|
326
|
+
```
|
|
327
|
+
bc-code-intel-overrides/
|
|
328
|
+
├── domains/
|
|
329
|
+
│ ├── performance/
|
|
330
|
+
│ │ └── our-sift-standards.md
|
|
331
|
+
│ ├── security/
|
|
332
|
+
│ │ └── company-auth-patterns.md
|
|
333
|
+
│ └── chris-config/
|
|
334
|
+
│ └── project-specific-config.md
|
|
335
|
+
└── specialists/
|
|
336
|
+
└── company-reviewer.md
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
### Team Git Repository
|
|
340
|
+
Structure team knowledge in a Git repository:
|
|
341
|
+
```
|
|
342
|
+
team-bc-knowledge/
|
|
343
|
+
├── domains/
|
|
344
|
+
│ ├── performance/
|
|
345
|
+
│ │ ├── team-optimization-patterns.md
|
|
346
|
+
│ │ └── performance-testing-standards.md
|
|
347
|
+
│ ├── api-design/
|
|
348
|
+
│ │ └── team-integration-patterns.md
|
|
349
|
+
│ └── shared/
|
|
350
|
+
│ └── team-coding-conventions.md
|
|
351
|
+
├── specialists/
|
|
352
|
+
│ └── team-specialist-config.md
|
|
353
|
+
└── methodologies/
|
|
354
|
+
└── team-code-review-process.md
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
### Company Standards Repository
|
|
358
|
+
Maintain organization-wide standards:
|
|
359
|
+
```
|
|
360
|
+
company-bc-standards/
|
|
361
|
+
├── domains/
|
|
362
|
+
│ ├── security/
|
|
363
|
+
│ │ ├── corporate-security-standards.md
|
|
364
|
+
│ │ └── data-classification-requirements.md
|
|
365
|
+
│ ├── architecture/
|
|
366
|
+
│ │ └── enterprise-integration-patterns.md
|
|
367
|
+
│ └── best-practices/
|
|
368
|
+
│ └── corporate-coding-standards.md
|
|
369
|
+
└── policies/
|
|
370
|
+
├── approval-requirements.md
|
|
371
|
+
└── review-processes.md
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
## Quality Standards
|
|
375
|
+
|
|
376
|
+
### Content Quality Metrics
|
|
377
|
+
- **Completeness**: All required sections present
|
|
378
|
+
- **Clarity**: Clear, actionable instructions
|
|
379
|
+
- **Examples**: Working, realistic code samples
|
|
380
|
+
- **Currency**: Up-to-date with current BC versions
|
|
381
|
+
- **Cross-references**: Proper links to related content
|
|
382
|
+
|
|
383
|
+
### Maintenance Standards
|
|
384
|
+
```yaml
|
|
385
|
+
# Quality gates for topic updates
|
|
386
|
+
quality_standards:
|
|
387
|
+
minimum_completeness: 80
|
|
388
|
+
required_sections: ["overview", "implementation", "best-practices"]
|
|
389
|
+
code_example_requirement: true
|
|
390
|
+
cross_reference_minimum: 3
|
|
391
|
+
version_compatibility_current: true
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
## Best Practices
|
|
395
|
+
|
|
396
|
+
### Content Writing
|
|
397
|
+
- **Be specific**: Focus on actionable guidance
|
|
398
|
+
- **Use examples**: Include working AL code samples
|
|
399
|
+
- **Link appropriately**: Reference related topics
|
|
400
|
+
- **Update regularly**: Keep content current with BC versions
|
|
401
|
+
- **Test thoroughly**: Verify all code examples compile
|
|
402
|
+
|
|
403
|
+
### Organization
|
|
404
|
+
- **Consistent structure**: Follow established patterns
|
|
405
|
+
- **Clear taxonomy**: Use appropriate domains and tags
|
|
406
|
+
- **Logical progression**: Order content from basic to advanced
|
|
407
|
+
- **Proper versioning**: Clearly indicate BC compatibility
|
|
408
|
+
|
|
409
|
+
### Collaboration
|
|
410
|
+
- **Document decisions**: Explain why overrides exist
|
|
411
|
+
- **Review processes**: Establish content quality gates
|
|
412
|
+
- **Version control**: Track changes and contributors
|
|
413
|
+
- **Training**: Help team members contribute effectively
|
|
414
|
+
|
|
415
|
+
## Common Anti-Patterns
|
|
416
|
+
|
|
417
|
+
### Content Issues
|
|
418
|
+
- ❌ **Vague titles**: "Performance Tips" instead of specific guidance
|
|
419
|
+
- ❌ **Missing context**: Code without explanation
|
|
420
|
+
- ❌ **Outdated examples**: Using deprecated BC features
|
|
421
|
+
- ❌ **Broken references**: Links to non-existent topics
|
|
422
|
+
|
|
423
|
+
### Organizational Issues
|
|
424
|
+
- ❌ **Too many overrides**: Overriding everything instead of selective enhancement
|
|
425
|
+
- ❌ **Conflicting content**: Multiple teams providing contradictory guidance
|
|
426
|
+
- ❌ **No maintenance**: Creating content without ongoing updates
|
|
427
|
+
- ❌ **Poor governance**: No review or approval processes
|
|
428
|
+
|
|
429
|
+
## Related Topics
|
|
430
|
+
|
|
431
|
+
- **[Multi-Team Layer Configuration](multi-team-layer-configuration)**: Setting up organizational knowledge layers
|
|
432
|
+
- **[Content Quality Standards](content-quality-standards)**: Maintaining high-quality knowledge
|
|
433
|
+
- **[Specialist Customization](specialist-customization)**: Creating custom AI specialists
|
|
434
|
+
|
|
435
|
+
---
|
|
436
|
+
|
|
437
|
+
*Master content creation to build a comprehensive BC knowledge base that serves your organization's specific needs while maintaining compatibility with the broader ecosystem.*
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Layer System Fundamentals"
|
|
3
|
+
domain: "chris-config"
|
|
4
|
+
bc_versions: "1.5.0+"
|
|
5
|
+
difficulty: "intermediate"
|
|
6
|
+
tags: ["mcp-configuration", "layer-architecture", "knowledge-management", "override-system"]
|
|
7
|
+
related_topics:
|
|
8
|
+
- "content-types-structure.md"
|
|
9
|
+
- "layer-override-strategies.md"
|
|
10
|
+
- "configuration-file-discovery.md"
|
|
11
|
+
applies_to:
|
|
12
|
+
- "BC Code Intelligence MCP Server"
|
|
13
|
+
- "Knowledge Layer Architecture"
|
|
14
|
+
last_updated: "2025-10-27"
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# Layer System Fundamentals
|
|
18
|
+
|
|
19
|
+
## Overview
|
|
20
|
+
|
|
21
|
+
The BC Code Intelligence MCP server uses a **4-layer knowledge architecture** that enables progressive customization from embedded defaults through company-wide standards to project-specific overrides. Understanding this layered approach is fundamental to effective MCP configuration.
|
|
22
|
+
|
|
23
|
+
## The Four-Layer Architecture
|
|
24
|
+
|
|
25
|
+
### **Layer 0: Embedded Knowledge** (Priority 0)
|
|
26
|
+
- **Source**: NPM package embedded knowledge (git submodule)
|
|
27
|
+
- **Content**: Core BC knowledge - 87+ topics, 14 specialists, methodologies
|
|
28
|
+
- **Scope**: Universal - available to all users
|
|
29
|
+
- **Modifiable**: No - read-only embedded content
|
|
30
|
+
- **Use Case**: Default knowledge base, zero-configuration experience
|
|
31
|
+
|
|
32
|
+
**Key Characteristics:**
|
|
33
|
+
- Highest reliability - always available
|
|
34
|
+
- Officially maintained BC knowledge
|
|
35
|
+
- Comprehensive coverage of BC development patterns
|
|
36
|
+
- Updates via npm package updates
|
|
37
|
+
|
|
38
|
+
### **Layer 1-2: Company Knowledge** (Priority 20-50)
|
|
39
|
+
- **Source**: Git repositories (Azure DevOps, GitHub, etc.)
|
|
40
|
+
- **Content**: Company-specific specialists, standards, patterns
|
|
41
|
+
- **Scope**: Organization-wide
|
|
42
|
+
- **Modifiable**: Yes - via git repository updates
|
|
43
|
+
- **Use Case**: Company coding standards, custom specialists, org patterns
|
|
44
|
+
|
|
45
|
+
**Key Characteristics:**
|
|
46
|
+
- Centrally managed company knowledge
|
|
47
|
+
- Authentication-based access control (PAT tokens)
|
|
48
|
+
- Cached locally for performance (`.bckb-cache/git-repos/`)
|
|
49
|
+
- Can override embedded knowledge with company-specific guidance
|
|
50
|
+
|
|
51
|
+
### **Layer 3: Team Knowledge** (Priority 60-80)
|
|
52
|
+
- **Source**: Shared team directories or repositories
|
|
53
|
+
- **Content**: Team conventions, project templates, shared patterns
|
|
54
|
+
- **Scope**: Team or department
|
|
55
|
+
- **Modifiable**: Yes - team-managed
|
|
56
|
+
- **Use Case**: Team-specific patterns, shared project standards
|
|
57
|
+
|
|
58
|
+
**Key Characteristics:**
|
|
59
|
+
- Team collaboration and knowledge sharing
|
|
60
|
+
- More specific than company, less specific than project
|
|
61
|
+
- Useful for department or team conventions
|
|
62
|
+
|
|
63
|
+
### **Layer 4: Project Knowledge** (Priority 100)
|
|
64
|
+
- **Source**: Local `./bc-code-intel-overrides/` directory
|
|
65
|
+
- **Content**: Project-specific overrides, custom topics, local specialists
|
|
66
|
+
- **Scope**: Single project/workspace
|
|
67
|
+
- **Modifiable**: Yes - locally managed
|
|
68
|
+
- **Use Case**: Project-specific patterns, temporary overrides, local experimentation
|
|
69
|
+
|
|
70
|
+
**Key Characteristics:**
|
|
71
|
+
- Highest priority - always wins in conflicts
|
|
72
|
+
- Local filesystem access (no authentication needed)
|
|
73
|
+
- Perfect for project-specific customization
|
|
74
|
+
- Useful for testing new knowledge before promoting to higher layers
|
|
75
|
+
|
|
76
|
+
## Layer Resolution and Override Behavior
|
|
77
|
+
|
|
78
|
+
### **Priority-Based Resolution**
|
|
79
|
+
|
|
80
|
+
When the same topic/specialist exists in multiple layers:
|
|
81
|
+
1. **Highest priority layer wins** (Project > Team > Company > Embedded)
|
|
82
|
+
2. Content is **completely replaced**, not merged
|
|
83
|
+
3. Only the highest-priority version is returned
|
|
84
|
+
|
|
85
|
+
**Example:**
|
|
86
|
+
```
|
|
87
|
+
Embedded Layer (0): sam-coder.md (official specialist)
|
|
88
|
+
Company Layer (20): sam-coder.md (company-customized version)
|
|
89
|
+
Project Layer (100): sam-coder.md (project-specific override)
|
|
90
|
+
|
|
91
|
+
Result: Project layer version is used
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### **Content Type Support**
|
|
95
|
+
|
|
96
|
+
All layers support three content types (as of v1.5.0):
|
|
97
|
+
- **Topics**: BC domain knowledge (in `domains/` subdirectory)
|
|
98
|
+
- **Specialists**: AI persona definitions (in `specialists/` subdirectory)
|
|
99
|
+
- **Methodologies**: Systematic workflows (in `methodologies/` subdirectory)
|
|
100
|
+
|
|
101
|
+
Each layer independently manages these three content types.
|
|
102
|
+
|
|
103
|
+
## Layer Configuration
|
|
104
|
+
|
|
105
|
+
### **Embedded Layer** (No Configuration Needed)
|
|
106
|
+
```json
|
|
107
|
+
// Automatically available - no configuration required
|
|
108
|
+
// Loaded from NPM package embedded-knowledge/ directory
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### **Git Layer** (Company/Team Knowledge)
|
|
112
|
+
```json
|
|
113
|
+
{
|
|
114
|
+
"knowledge_layers": [
|
|
115
|
+
{
|
|
116
|
+
"name": "Company BC Standards",
|
|
117
|
+
"type": "git",
|
|
118
|
+
"priority": 20,
|
|
119
|
+
"source": {
|
|
120
|
+
"repository_url": "https://dev.azure.com/your-org/BC-Knowledge/_git/bc-standards",
|
|
121
|
+
"branch": "main",
|
|
122
|
+
"auth": {
|
|
123
|
+
"type": "pat",
|
|
124
|
+
"token_env_var": "AZURE_DEVOPS_PAT"
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
]
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### **Project Layer** (Local Overrides)
|
|
133
|
+
```json
|
|
134
|
+
{
|
|
135
|
+
"knowledge_layers": [
|
|
136
|
+
{
|
|
137
|
+
"name": "Project Overrides",
|
|
138
|
+
"type": "project",
|
|
139
|
+
"priority": 100,
|
|
140
|
+
"source": {
|
|
141
|
+
"path": "./bc-code-intel-overrides"
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
]
|
|
145
|
+
}
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Directory Structure Requirements
|
|
149
|
+
|
|
150
|
+
Each layer must follow this structure for content type discovery:
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
layer-root/
|
|
154
|
+
├── domains/ # BC knowledge topics
|
|
155
|
+
│ ├── performance/
|
|
156
|
+
│ ├── api-design/
|
|
157
|
+
│ └── [other domains]/
|
|
158
|
+
├── specialists/ # AI specialist definitions
|
|
159
|
+
│ ├── sam-coder.md
|
|
160
|
+
│ ├── dean-debug.md
|
|
161
|
+
│ └── [other specialists].md
|
|
162
|
+
└── methodologies/ # Systematic workflows
|
|
163
|
+
├── optimize-performance/
|
|
164
|
+
└── [other workflows]/
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
**Important:** Git layers look for these subdirectories. If missing, that content type won't be loaded from that layer.
|
|
168
|
+
|
|
169
|
+
## Workspace Management and Layer Loading
|
|
170
|
+
|
|
171
|
+
### **VS Code Workspace Detection Issue**
|
|
172
|
+
|
|
173
|
+
The VS Code MCP extension doesn't set `process.cwd()` to the workspace root, causing project layer detection to fail.
|
|
174
|
+
|
|
175
|
+
**Solution:** Use workspace management tools (v1.5.0+)
|
|
176
|
+
|
|
177
|
+
```typescript
|
|
178
|
+
// Set workspace root explicitly
|
|
179
|
+
set_workspace_root({
|
|
180
|
+
workspace_root: "/path/to/your/workspace"
|
|
181
|
+
})
|
|
182
|
+
|
|
183
|
+
// Triggers:
|
|
184
|
+
// 1. process.chdir() to workspace
|
|
185
|
+
// 2. Full service reinitialization
|
|
186
|
+
// 3. Layer reloading with new workspace context
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### **Lazy Initialization Pattern**
|
|
190
|
+
|
|
191
|
+
The MCP server uses lazy initialization:
|
|
192
|
+
1. **Startup**: Load embedded knowledge only (fast startup)
|
|
193
|
+
2. **First Tool Call**: If workspace not set, prompt for `set_workspace_root`
|
|
194
|
+
3. **After Workspace Set**: Full initialization including all configured layers
|
|
195
|
+
|
|
196
|
+
## Layer Caching and Performance
|
|
197
|
+
|
|
198
|
+
### **Git Layer Caching**
|
|
199
|
+
|
|
200
|
+
Git repositories are cloned to `.bckb-cache/git-repos/{hash}/`:
|
|
201
|
+
- **First Load**: Clone repository (may take seconds)
|
|
202
|
+
- **Subsequent Loads**: Use cached local copy (sub-100ms)
|
|
203
|
+
- **Updates**: Periodic pull or manual cache invalidation
|
|
204
|
+
|
|
205
|
+
### **Performance Characteristics**
|
|
206
|
+
- Embedded Layer: <10ms (in-memory)
|
|
207
|
+
- Project Layer: <50ms (filesystem access)
|
|
208
|
+
- Git Layer (cached): <100ms (filesystem + parsing)
|
|
209
|
+
- Git Layer (uncached): 2-5 seconds (git clone operation)
|
|
210
|
+
|
|
211
|
+
## Best Practices
|
|
212
|
+
|
|
213
|
+
1. **Start Simple**: Use embedded knowledge first, add layers as needed
|
|
214
|
+
2. **Layer Discipline**: Keep clear separation between layer purposes
|
|
215
|
+
3. **Override Sparingly**: Only override when truly necessary for your context
|
|
216
|
+
4. **Document Decisions**: Each layer should have clear purpose documentation
|
|
217
|
+
5. **Test Incrementally**: Add one layer at a time, validate before adding next
|
|
218
|
+
6. **Cache Management**: Understand git layer caching for performance tuning
|
|
219
|
+
|
|
220
|
+
## Common Patterns
|
|
221
|
+
|
|
222
|
+
### **Individual Developer** (Zero Config)
|
|
223
|
+
```
|
|
224
|
+
Embedded Layer only - no configuration needed
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
### **Company with Standards** (Git Layer)
|
|
228
|
+
```
|
|
229
|
+
Embedded Layer (BC knowledge) + Company Git Layer (org standards)
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
### **Team with Project Overrides** (All Layers)
|
|
233
|
+
```
|
|
234
|
+
Embedded + Company Git + Project Local
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
## Troubleshooting
|
|
238
|
+
|
|
239
|
+
**Layer not loading?**
|
|
240
|
+
- Check directory structure (domains/, specialists/, methodologies/)
|
|
241
|
+
- Verify authentication (PAT tokens for git layers)
|
|
242
|
+
- Check layer priority configuration
|
|
243
|
+
- Use diagnostic tools if enabled
|
|
244
|
+
|
|
245
|
+
**Content not found?**
|
|
246
|
+
- Verify content type is in correct subdirectory
|
|
247
|
+
- Check YAML frontmatter format (required for specialists)
|
|
248
|
+
- Confirm layer priority order
|
|
249
|
+
- Search across all layers to see where content exists
|
|
250
|
+
|
|
251
|
+
## See Also
|
|
252
|
+
|
|
253
|
+
- [Content Types Structure](content-types-structure.md) - Format requirements for each content type
|
|
254
|
+
- [Layer Override Strategies](layer-override-strategies.md) - When and how to override
|
|
255
|
+
- [Configuration File Discovery](configuration-file-discovery.md) - Where config files are found
|
|
256
|
+
- [Workspace Detection Solutions](workspace-detection-solutions.md) - Solving workspace issues
|
|
257
|
+
- [Git Layer Configuration](git-layer-configuration.md) - Git layer setup details
|