@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,302 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Multi-Team Layer Configuration for Organizations"
|
|
3
|
+
domain: "chris-config"
|
|
4
|
+
difficulty: "intermediate"
|
|
5
|
+
bc_versions: "14+"
|
|
6
|
+
tags: ["configuration", "enterprise", "layers", "git-repositories", "team-collaboration"]
|
|
7
|
+
related_topics: ["knowledge-overrides", "layer-system-architecture"]
|
|
8
|
+
applies_to: ["MCP Server", "VS Code Integration", "Team Environments"]
|
|
9
|
+
last_updated: "2025-01-01"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Multi-Team Layer Configuration for Organizations
|
|
13
|
+
|
|
14
|
+
## Overview
|
|
15
|
+
|
|
16
|
+
Configure the BC Code Intelligence MCP Server for organizations needing shared team knowledge, centralized BC standards, and Git-based knowledge management. This guide covers the simple but effective layer-based override system for organizational hierarchy.
|
|
17
|
+
|
|
18
|
+
**Key Benefit**: Teams can share BC knowledge while maintaining project-specific customizations through a priority-based layer system.
|
|
19
|
+
|
|
20
|
+
## What This System Actually Provides
|
|
21
|
+
|
|
22
|
+
### ✅ Real Capabilities
|
|
23
|
+
- **Local file overrides** - Project-specific knowledge in `./bc-code-intel-overrides/`
|
|
24
|
+
- **Git repository layers** - Team/company knowledge from Git repos
|
|
25
|
+
- **Priority-based resolution** - Higher priority layers override lower ones
|
|
26
|
+
- **Basic authentication** - Token-based auth for private Git repos
|
|
27
|
+
- **Embedded knowledge base** - 87+ BC topics across 24 domains
|
|
28
|
+
- **Simple configuration** - JSON/YAML config files
|
|
29
|
+
|
|
30
|
+
### ❌ What This Does NOT Do
|
|
31
|
+
- Multi-tenant architecture (doesn't exist)
|
|
32
|
+
- Azure AD integration (not implemented)
|
|
33
|
+
- Business unit isolation (fantasy)
|
|
34
|
+
- Enterprise monitoring dashboards (not built)
|
|
35
|
+
- Kubernetes deployments (unnecessary complexity)
|
|
36
|
+
|
|
37
|
+
## Layer Architecture
|
|
38
|
+
|
|
39
|
+
The system uses a straightforward override hierarchy:
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
Project Layer (Priority 100) ← ./bc-code-intel-overrides/
|
|
43
|
+
↓ overrides
|
|
44
|
+
Team Layer (Priority 50) ← Git repo: team-bc-knowledge
|
|
45
|
+
↓ overrides
|
|
46
|
+
Company Layer (Priority 25) ← Git repo: company-bc-standards
|
|
47
|
+
↓ overrides
|
|
48
|
+
Embedded Layer (Priority 0) ← Built-in BC knowledge base
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## VS Code MCP Integration Setup
|
|
52
|
+
|
|
53
|
+
Most users integrate through VS Code's `mcp.json` configuration:
|
|
54
|
+
|
|
55
|
+
### Basic VS Code Setup
|
|
56
|
+
```json
|
|
57
|
+
{
|
|
58
|
+
"mcpServers": {
|
|
59
|
+
"bc-code-intelligence": {
|
|
60
|
+
"command": "npx",
|
|
61
|
+
"args": ["bc-code-intelligence-mcp"],
|
|
62
|
+
"env": {
|
|
63
|
+
"GITHUB_TOKEN": "your_github_token_here"
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Project-Specific Configuration
|
|
71
|
+
```bash
|
|
72
|
+
# In your BC project root
|
|
73
|
+
echo '{
|
|
74
|
+
"layers": [
|
|
75
|
+
{"name": "embedded", "priority": 0, "source": {"type": "embedded"}, "enabled": true},
|
|
76
|
+
{"name": "company", "priority": 25, "source": {"type": "git", "url": "https://github.com/yourcompany/bc-standards"}, "enabled": true, "auth": {"type": "token", "token_env_var": "GITHUB_TOKEN"}},
|
|
77
|
+
{"name": "project", "priority": 100, "source": {"type": "local", "path": "./bc-code-intel-overrides"}, "enabled": true}
|
|
78
|
+
]
|
|
79
|
+
}' > bc-code-intel-config.json
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### User-Wide Configuration
|
|
83
|
+
```bash
|
|
84
|
+
# Windows (PowerShell/CMD)
|
|
85
|
+
echo '{...}' > %USERPROFILE%\bc-code-intel-config.json
|
|
86
|
+
|
|
87
|
+
# macOS/Linux
|
|
88
|
+
echo '{...}' > ~/bc-code-intel-config.json
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Multi-Team Configuration Example
|
|
92
|
+
|
|
93
|
+
```json
|
|
94
|
+
{
|
|
95
|
+
"layers": [
|
|
96
|
+
{
|
|
97
|
+
"name": "embedded",
|
|
98
|
+
"priority": 0,
|
|
99
|
+
"source": { "type": "embedded" },
|
|
100
|
+
"enabled": true
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"name": "company-standards",
|
|
104
|
+
"priority": 25,
|
|
105
|
+
"source": {
|
|
106
|
+
"type": "git",
|
|
107
|
+
"url": "https://github.com/yourcompany/bc-standards",
|
|
108
|
+
"branch": "main"
|
|
109
|
+
},
|
|
110
|
+
"enabled": true,
|
|
111
|
+
"auth": {
|
|
112
|
+
"type": "token",
|
|
113
|
+
"token_env_var": "GITHUB_TOKEN"
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"name": "team-practices",
|
|
118
|
+
"priority": 50,
|
|
119
|
+
"source": {
|
|
120
|
+
"type": "git",
|
|
121
|
+
"url": "https://github.com/yourcompany/team-bc-knowledge",
|
|
122
|
+
"branch": "main"
|
|
123
|
+
},
|
|
124
|
+
"enabled": true,
|
|
125
|
+
"auth": {
|
|
126
|
+
"type": "token",
|
|
127
|
+
"token_env_var": "GITHUB_TOKEN"
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"name": "project-overrides",
|
|
132
|
+
"priority": 100,
|
|
133
|
+
"source": {
|
|
134
|
+
"type": "local",
|
|
135
|
+
"path": "./bc-code-intel-overrides"
|
|
136
|
+
},
|
|
137
|
+
"enabled": true
|
|
138
|
+
}
|
|
139
|
+
],
|
|
140
|
+
"cache": {
|
|
141
|
+
"strategy": "moderate",
|
|
142
|
+
"ttl": {
|
|
143
|
+
"git": "1h",
|
|
144
|
+
"local": "immediate",
|
|
145
|
+
"embedded": "permanent"
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Layer Types and Use Cases
|
|
152
|
+
|
|
153
|
+
### Embedded Layer (Priority 0)
|
|
154
|
+
- **Content**: 87+ topics across 24 domains, 14 specialist definitions
|
|
155
|
+
- **Use case**: Foundation knowledge everyone gets
|
|
156
|
+
- **Always available**: Provides fallback when other layers fail
|
|
157
|
+
|
|
158
|
+
### Company Standards Layer (Priority 25)
|
|
159
|
+
- **Content**: Organization BC coding standards and approved patterns
|
|
160
|
+
- **Use case**: Organization-wide standards that override defaults
|
|
161
|
+
- **Authentication**: Usually requires private Git repository access
|
|
162
|
+
|
|
163
|
+
### Team Practice Layer (Priority 50)
|
|
164
|
+
- **Content**: Team-specific approaches and specialized knowledge
|
|
165
|
+
- **Use case**: Team expertise that extends company standards
|
|
166
|
+
- **Collaboration**: Multiple teams can have different practice repositories
|
|
167
|
+
|
|
168
|
+
### Project Override Layer (Priority 100)
|
|
169
|
+
- **Content**: Project-specific customizations and experiments
|
|
170
|
+
- **Use case**: Project needs that override everything else
|
|
171
|
+
- **Local files**: No authentication required, immediate changes
|
|
172
|
+
|
|
173
|
+
## Configuration File Discovery
|
|
174
|
+
|
|
175
|
+
The MCP server searches for configuration files in this order:
|
|
176
|
+
1. `./bc-code-intel-config.json` (current directory)
|
|
177
|
+
2. `./bc-code-intel-config.yaml` (current directory)
|
|
178
|
+
3. **Windows**: `%USERPROFILE%\bc-code-intel-config.json`
|
|
179
|
+
4. **Windows**: `%USERPROFILE%\bc-code-intel-config.yaml`
|
|
180
|
+
5. **macOS/Linux**: `~/bc-code-intel-config.json`
|
|
181
|
+
6. **macOS/Linux**: `~/bc-code-intel-config.yaml`
|
|
182
|
+
|
|
183
|
+
## Authentication Options
|
|
184
|
+
|
|
185
|
+
### GitHub Token Authentication
|
|
186
|
+
```bash
|
|
187
|
+
# Set environment variable
|
|
188
|
+
export GITHUB_TOKEN="ghp_your_token_here"
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
```json
|
|
192
|
+
{
|
|
193
|
+
"auth": {
|
|
194
|
+
"type": "token",
|
|
195
|
+
"token_env_var": "GITHUB_TOKEN"
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
### SSH Key Authentication
|
|
201
|
+
```json
|
|
202
|
+
{
|
|
203
|
+
"auth": {
|
|
204
|
+
"type": "ssh",
|
|
205
|
+
"key_path": "~/.ssh/id_rsa"
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
## Setup Checklist
|
|
211
|
+
|
|
212
|
+
### Basic Multi-Team Setup
|
|
213
|
+
- [ ] Create company BC standards repository
|
|
214
|
+
- [ ] Define team knowledge repository structure
|
|
215
|
+
- [ ] Set up GitHub token for private repositories
|
|
216
|
+
- [ ] Create configuration file with layer priorities
|
|
217
|
+
- [ ] Test layer resolution with sample content
|
|
218
|
+
- [ ] Train team leads on knowledge contribution
|
|
219
|
+
|
|
220
|
+
### Content Creation
|
|
221
|
+
- [ ] Migrate existing BC standards to markdown format
|
|
222
|
+
- [ ] Create team-specific specialist definitions (optional)
|
|
223
|
+
- [ ] Document local coding patterns and decisions
|
|
224
|
+
- [ ] Set up project override directory structure
|
|
225
|
+
- [ ] Create contribution guidelines for team knowledge
|
|
226
|
+
|
|
227
|
+
## Common Issues and Solutions
|
|
228
|
+
|
|
229
|
+
### Layer Not Loading
|
|
230
|
+
```bash
|
|
231
|
+
# Debug layer loading
|
|
232
|
+
bc-code-intel --debug-layers
|
|
233
|
+
bc-code-intel --test-layer company-standards
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
**Common causes:**
|
|
237
|
+
- Invalid Git URL or authentication
|
|
238
|
+
- Wrong branch name in configuration
|
|
239
|
+
- Network connectivity issues
|
|
240
|
+
- Invalid JSON/YAML in config file
|
|
241
|
+
|
|
242
|
+
### Authentication Failed
|
|
243
|
+
```bash
|
|
244
|
+
# Test authentication
|
|
245
|
+
export GITHUB_TOKEN="your_token"
|
|
246
|
+
bc-code-intel --test-auth
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
**Common causes:**
|
|
250
|
+
- Expired or invalid GitHub token
|
|
251
|
+
- Token doesn't have repository access
|
|
252
|
+
- SSH key not configured properly
|
|
253
|
+
- Repository is private but no auth configured
|
|
254
|
+
|
|
255
|
+
## ROI and Cost-Benefit Analysis
|
|
256
|
+
|
|
257
|
+
### Implementation Costs
|
|
258
|
+
- **Software**: Free (open source)
|
|
259
|
+
- **Setup time**: 2-4 hours for basic multi-team setup
|
|
260
|
+
- **Maintenance**: Minimal - just updating Git repositories
|
|
261
|
+
- **Training**: 30 minutes per developer
|
|
262
|
+
|
|
263
|
+
### Expected Benefits
|
|
264
|
+
- **Consistent practices**: Teams follow the same BC patterns
|
|
265
|
+
- **Knowledge sharing**: Easy to share team discoveries
|
|
266
|
+
- **Faster onboarding**: New developers see team-specific guidance
|
|
267
|
+
- **Flexible customization**: Projects can override anything when needed
|
|
268
|
+
|
|
269
|
+
### Team Size ROI
|
|
270
|
+
- **Small teams (2-5 devs)**: Pays for itself in first month
|
|
271
|
+
- **Medium teams (6-15 devs)**: 3-5x productivity improvement on BC questions
|
|
272
|
+
- **Large teams (15+ devs)**: Significant standardization and knowledge leverage
|
|
273
|
+
|
|
274
|
+
## Best Practices
|
|
275
|
+
|
|
276
|
+
### Security Considerations
|
|
277
|
+
- **Validate sources**: Only load from trusted repositories
|
|
278
|
+
- **Use authentication**: Secure access to private knowledge
|
|
279
|
+
- **Limit permissions**: Use read-only tokens when possible
|
|
280
|
+
|
|
281
|
+
### Configuration Management
|
|
282
|
+
- **Start simple**: Begin with embedded + project layers
|
|
283
|
+
- **Add gradually**: Add organizational layers as needed
|
|
284
|
+
- **Document overrides**: Clearly explain why overrides exist
|
|
285
|
+
- **Version control**: Keep layer configurations in git
|
|
286
|
+
- **Test changes**: Validate layer configurations before sharing
|
|
287
|
+
|
|
288
|
+
### Anti-Patterns to Avoid
|
|
289
|
+
- ❌ **Too many layers**: More than 4-5 layers becomes complex
|
|
290
|
+
- ❌ **Conflicting priorities**: Multiple layers with same priority
|
|
291
|
+
- ❌ **No fallback**: Always ensure embedded layer is available
|
|
292
|
+
- ❌ **Complex authentication**: Keep auth simple and documented
|
|
293
|
+
|
|
294
|
+
## Related Topics
|
|
295
|
+
|
|
296
|
+
- **[Knowledge Content Creation](knowledge-overrides)**: How to create custom BC knowledge content
|
|
297
|
+
- **[Layer System Architecture](layer-system-architecture)**: Understanding the technical implementation
|
|
298
|
+
- **[Specialist Customization](specialist-customization)**: Creating custom AI specialists
|
|
299
|
+
|
|
300
|
+
---
|
|
301
|
+
|
|
302
|
+
*This configuration guide enables organizations to scale BC knowledge sharing while maintaining flexibility for team and project needs.*
|
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Workspace Detection Solutions"
|
|
3
|
+
domain: "chris-config"
|
|
4
|
+
bc_versions: "1.5.0+"
|
|
5
|
+
difficulty: "intermediate"
|
|
6
|
+
tags: ["mcp-configuration", "workspace-management", "vscode", "troubleshooting"]
|
|
7
|
+
related_topics:
|
|
8
|
+
- "layer-system-fundamentals.md"
|
|
9
|
+
- "configuration-troubleshooting.md"
|
|
10
|
+
- "project-layer-setup.md"
|
|
11
|
+
applies_to:
|
|
12
|
+
- "BC Code Intelligence MCP Server"
|
|
13
|
+
- "VS Code MCP Extension"
|
|
14
|
+
last_updated: "2025-10-27"
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# Workspace Detection Solutions
|
|
18
|
+
|
|
19
|
+
## Overview
|
|
20
|
+
|
|
21
|
+
The VS Code MCP extension does **not** set `process.cwd()` to the workspace root, causing the BC Code Intelligence MCP server to be unable to detect project-local configuration and knowledge layers. This document explains the problem, its impact, and the workspace management solution introduced in v1.5.0.
|
|
22
|
+
|
|
23
|
+
## The Problem
|
|
24
|
+
|
|
25
|
+
### **Root Cause**
|
|
26
|
+
|
|
27
|
+
When the MCP server runs in VS Code via the MCP extension:
|
|
28
|
+
- `process.cwd()` points to the MCP extension's installation directory
|
|
29
|
+
- **NOT** the user's workspace directory
|
|
30
|
+
- Example: `C:\Users\Username\.vscode\extensions\...` instead of `C:\Work\MyProject\`
|
|
31
|
+
|
|
32
|
+
### **Impact**
|
|
33
|
+
|
|
34
|
+
Without correct working directory:
|
|
35
|
+
1. **Configuration Discovery Fails**: Can't find `./bc-code-intel-config.json` in workspace
|
|
36
|
+
2. **Project Layer Won't Load**: Can't access `./bc-code-intel-overrides/` directory
|
|
37
|
+
3. **Relative Paths Broken**: Any workspace-relative path resolution fails
|
|
38
|
+
4. **User Confusion**: Project-specific knowledge appears missing
|
|
39
|
+
|
|
40
|
+
## The Solution: Workspace Management Tools (v1.5.0+)
|
|
41
|
+
|
|
42
|
+
### **Two New MCP Tools**
|
|
43
|
+
|
|
44
|
+
**1. set_workspace_root** - Configure workspace explicitly
|
|
45
|
+
```typescript
|
|
46
|
+
set_workspace_root({
|
|
47
|
+
workspace_root: "/absolute/path/to/workspace"
|
|
48
|
+
})
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**What it does:**
|
|
52
|
+
1. Validates the provided path exists
|
|
53
|
+
2. Calls `process.chdir(workspace_root)` to change working directory
|
|
54
|
+
3. Triggers full service reinitialization
|
|
55
|
+
4. Reloads all knowledge layers with new workspace context
|
|
56
|
+
5. Discovers project-local configuration if present
|
|
57
|
+
|
|
58
|
+
**2. get_workspace_root** - Query current workspace
|
|
59
|
+
```typescript
|
|
60
|
+
get_workspace_root()
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**Returns:**
|
|
64
|
+
```json
|
|
65
|
+
{
|
|
66
|
+
"workspace_root": "/current/working/directory",
|
|
67
|
+
"services_initialized": true
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### **First-Call Interception Pattern**
|
|
72
|
+
|
|
73
|
+
The MCP server implements **lazy initialization** with **first-call interception**:
|
|
74
|
+
|
|
75
|
+
**At Startup:**
|
|
76
|
+
- Server loads embedded knowledge only (fast startup, ~100ms)
|
|
77
|
+
- `servicesInitialized = false`
|
|
78
|
+
- All tool classes initialized but not ready
|
|
79
|
+
|
|
80
|
+
**On First Tool Call (before workspace set):**
|
|
81
|
+
- Tool handler checks `servicesInitialized === false`
|
|
82
|
+
- Returns helpful message instead of executing tool:
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
🚀 BC Code Intelligence MCP Server - Workspace Configuration
|
|
86
|
+
|
|
87
|
+
The MCP server needs workspace context to load project-specific knowledge and configuration.
|
|
88
|
+
|
|
89
|
+
REQUIRED ACTION:
|
|
90
|
+
Call the set_workspace_root tool with your workspace path:
|
|
91
|
+
|
|
92
|
+
set_workspace_root({
|
|
93
|
+
workspace_root: "/absolute/path/to/your/workspace"
|
|
94
|
+
})
|
|
95
|
+
|
|
96
|
+
This enables:
|
|
97
|
+
- Project-local configuration (bc-code-intel-config.json)
|
|
98
|
+
- Project knowledge overrides (bc-code-intel-overrides/)
|
|
99
|
+
- Team and company knowledge layers
|
|
100
|
+
- Full workspace-aware functionality
|
|
101
|
+
|
|
102
|
+
After setting workspace root, all tools will be available.
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**After Workspace Set:**
|
|
106
|
+
- Full initialization runs
|
|
107
|
+
- All layers loaded (embedded, git, project)
|
|
108
|
+
- `servicesInitialized = true`
|
|
109
|
+
- All tools execute normally
|
|
110
|
+
|
|
111
|
+
## Usage Patterns
|
|
112
|
+
|
|
113
|
+
### **VS Code Workflow**
|
|
114
|
+
|
|
115
|
+
**Step 1: Open workspace in VS Code**
|
|
116
|
+
```
|
|
117
|
+
File → Open Folder → Select your BC project
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
**Step 2: Start MCP conversation**
|
|
121
|
+
```
|
|
122
|
+
User: "Hey, can you help me optimize this code?"
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
**Step 3: Server prompts for workspace**
|
|
126
|
+
```
|
|
127
|
+
MCP: "I need workspace context. Call set_workspace_root first..."
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
**Step 4: Set workspace root** (agent or user)
|
|
131
|
+
```typescript
|
|
132
|
+
set_workspace_root({
|
|
133
|
+
workspace_root: "C:\\Work\\MyBCProject"
|
|
134
|
+
})
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
**Step 5: Full functionality available**
|
|
138
|
+
```
|
|
139
|
+
✅ Project config loaded
|
|
140
|
+
✅ Project knowledge layers available
|
|
141
|
+
✅ All tools ready
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### **Claude Desktop Workflow** (Manual Setup)
|
|
145
|
+
|
|
146
|
+
**Option A: Environment Variable** (Recommended)
|
|
147
|
+
```bash
|
|
148
|
+
# Set before launching Claude Desktop
|
|
149
|
+
export BC_WORKSPACE_ROOT="/path/to/workspace"
|
|
150
|
+
|
|
151
|
+
# On Windows PowerShell:
|
|
152
|
+
$env:BC_WORKSPACE_ROOT = "C:\Work\MyBCProject"
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
**Option B: Manual Tool Call**
|
|
156
|
+
```typescript
|
|
157
|
+
// First interaction with MCP
|
|
158
|
+
set_workspace_root({
|
|
159
|
+
workspace_root: "/path/to/workspace"
|
|
160
|
+
})
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### **Automated CI/CD Workflow**
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
# CI script sets workspace before running MCP tools
|
|
167
|
+
export BC_WORKSPACE_ROOT="$CI_PROJECT_DIR"
|
|
168
|
+
|
|
169
|
+
# MCP server auto-detects from environment
|
|
170
|
+
# No set_workspace_root call needed
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## Configuration Discovery After Workspace Set
|
|
174
|
+
|
|
175
|
+
Once workspace is set, configuration discovery searches:
|
|
176
|
+
|
|
177
|
+
1. **Workspace Root**
|
|
178
|
+
- `./bc-code-intel-config.json`
|
|
179
|
+
- `./bc-code-intel-config.yaml`
|
|
180
|
+
- `./bc-code-intel-config.yml`
|
|
181
|
+
|
|
182
|
+
2. **User Home Directory** (expanded paths)
|
|
183
|
+
- `~/.bc-code-intel/config.json`
|
|
184
|
+
- `~/.bc-code-intel/config.yaml`
|
|
185
|
+
- `~/.bc-code-intel/config.yml`
|
|
186
|
+
|
|
187
|
+
3. **Environment Variable**
|
|
188
|
+
- `BC_CODE_INTEL_CONFIG=/path/to/config.json`
|
|
189
|
+
|
|
190
|
+
4. **Default Embedded Config**
|
|
191
|
+
- Embedded fallback if no config found
|
|
192
|
+
|
|
193
|
+
**Priority:** Workspace config > Environment variable > Home directory > Embedded
|
|
194
|
+
|
|
195
|
+
## Project Layer After Workspace Set
|
|
196
|
+
|
|
197
|
+
With workspace configured, project layer loads from:
|
|
198
|
+
|
|
199
|
+
```
|
|
200
|
+
{workspace_root}/bc-code-intel-overrides/
|
|
201
|
+
├── domains/ # Project-specific topics
|
|
202
|
+
├── specialists/ # Project-specific specialists (future)
|
|
203
|
+
└── methodologies/ # Project-specific workflows (future)
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
**Layer Priority:** 100 (highest - always wins)
|
|
207
|
+
|
|
208
|
+
## Troubleshooting
|
|
209
|
+
|
|
210
|
+
### **"Project config not found"**
|
|
211
|
+
|
|
212
|
+
**Problem:** Configuration exists but not being loaded
|
|
213
|
+
|
|
214
|
+
**Solution:**
|
|
215
|
+
```typescript
|
|
216
|
+
// Verify current workspace
|
|
217
|
+
get_workspace_root()
|
|
218
|
+
|
|
219
|
+
// If wrong, set correct path
|
|
220
|
+
set_workspace_root({ workspace_root: "/correct/path" })
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### **"Project layer showing 0 topics"**
|
|
224
|
+
|
|
225
|
+
**Problem:** `bc-code-intel-overrides/` directory structure incorrect
|
|
226
|
+
|
|
227
|
+
**Check:**
|
|
228
|
+
1. Directory exists: `{workspace}/bc-code-intel-overrides/`
|
|
229
|
+
2. Content in subdirectories: `domains/`, `specialists/`, `methodologies/`
|
|
230
|
+
3. Proper frontmatter in markdown files
|
|
231
|
+
|
|
232
|
+
**Solution:**
|
|
233
|
+
```bash
|
|
234
|
+
# Create proper structure
|
|
235
|
+
mkdir -p bc-code-intel-overrides/domains/my-domain
|
|
236
|
+
mkdir -p bc-code-intel-overrides/specialists
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
### **"Services not initializing after set_workspace_root"**
|
|
240
|
+
|
|
241
|
+
**Problem:** Path doesn't exist or insufficient permissions
|
|
242
|
+
|
|
243
|
+
**Verify:**
|
|
244
|
+
```bash
|
|
245
|
+
# Check path exists
|
|
246
|
+
ls -la /path/to/workspace
|
|
247
|
+
|
|
248
|
+
# Check permissions
|
|
249
|
+
# Should be readable by MCP server process
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
**Solution:**
|
|
253
|
+
- Use absolute paths (not relative)
|
|
254
|
+
- Ensure directory exists before calling set_workspace_root
|
|
255
|
+
- Check file permissions
|
|
256
|
+
|
|
257
|
+
## Implementation Details
|
|
258
|
+
|
|
259
|
+
### **Lazy Initialization Benefits**
|
|
260
|
+
|
|
261
|
+
1. **Fast Startup**: Embedded knowledge only (~100ms)
|
|
262
|
+
2. **User-Friendly**: Clear guidance when workspace needed
|
|
263
|
+
3. **Zero-Config Default**: Works without workspace for embedded-only usage
|
|
264
|
+
4. **Explicit Configuration**: User/agent explicitly opts into workspace features
|
|
265
|
+
|
|
266
|
+
### **Service Reinitialization on Workspace Change**
|
|
267
|
+
|
|
268
|
+
When `set_workspace_root` is called:
|
|
269
|
+
```typescript
|
|
270
|
+
// 1. Change working directory
|
|
271
|
+
process.chdir(workspace_root)
|
|
272
|
+
|
|
273
|
+
// 2. Reload configuration
|
|
274
|
+
configService.loadConfiguration()
|
|
275
|
+
|
|
276
|
+
// 3. Reinitialize all services
|
|
277
|
+
await initializeServices()
|
|
278
|
+
|
|
279
|
+
// 4. Reload all knowledge layers
|
|
280
|
+
await layerService.loadAllLayers()
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
**Performance:** Full reinitialization takes 1-3 seconds including git layer cloning (if not cached).
|
|
284
|
+
|
|
285
|
+
## Best Practices
|
|
286
|
+
|
|
287
|
+
1. **Set Workspace Early**: Call `set_workspace_root` at the start of MCP conversations in VS Code
|
|
288
|
+
2. **Absolute Paths**: Always use absolute paths, not relative
|
|
289
|
+
3. **Verify Before Setting**: Ensure workspace directory exists and is accessible
|
|
290
|
+
4. **Check After Setting**: Use `get_workspace_root` to confirm workspace configured correctly
|
|
291
|
+
5. **Environment Variables**: For CLI/CI scenarios, use `BC_WORKSPACE_ROOT` env var
|
|
292
|
+
|
|
293
|
+
## Advanced: Environment-Based Auto-Configuration
|
|
294
|
+
|
|
295
|
+
### **Setting Default Workspace**
|
|
296
|
+
|
|
297
|
+
Create a shell alias or launcher script:
|
|
298
|
+
|
|
299
|
+
```bash
|
|
300
|
+
# ~/.bashrc or ~/.zshrc
|
|
301
|
+
export BC_WORKSPACE_ROOT="$HOME/BCProjects/current"
|
|
302
|
+
|
|
303
|
+
# Windows PowerShell profile
|
|
304
|
+
$env:BC_WORKSPACE_ROOT = "C:\Work\CurrentProject"
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
### **Per-Project Launch Scripts**
|
|
308
|
+
|
|
309
|
+
```bash
|
|
310
|
+
#!/bin/bash
|
|
311
|
+
# launch-mcp.sh in project root
|
|
312
|
+
|
|
313
|
+
export BC_WORKSPACE_ROOT="$(pwd)"
|
|
314
|
+
code . # Launch VS Code with workspace set
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
## Migration from Pre-1.5.0
|
|
318
|
+
|
|
319
|
+
**Before v1.5.0:**
|
|
320
|
+
- Project layer only worked in environments where `process.cwd()` was correct
|
|
321
|
+
- VS Code users couldn't use project-local features
|
|
322
|
+
- No workaround available
|
|
323
|
+
|
|
324
|
+
**After v1.5.0:**
|
|
325
|
+
- Explicit workspace configuration via `set_workspace_root`
|
|
326
|
+
- Works in all environments (VS Code, Claude Desktop, CLI)
|
|
327
|
+
- Backward compatible - embedded knowledge still works without workspace
|
|
328
|
+
|
|
329
|
+
**No Breaking Changes:** Existing configurations continue to work. Workspace management is optional but recommended for project features.
|
|
330
|
+
|
|
331
|
+
## See Also
|
|
332
|
+
|
|
333
|
+
- [Layer System Fundamentals](layer-system-fundamentals.md) - Understanding layer architecture
|
|
334
|
+
- [Project Layer Setup](project-layer-setup.md) - Setting up project-local knowledge
|
|
335
|
+
- [Configuration File Discovery](configuration-file-discovery.md) - Where configs are found
|
|
336
|
+
- [Configuration Troubleshooting](configuration-troubleshooting.md) - Common issues and solutions
|