@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,846 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Configuration File Discovery"
|
|
3
|
+
domain: "chris-config"
|
|
4
|
+
bc_versions: "1.5.3+"
|
|
5
|
+
difficulty: "beginner"
|
|
6
|
+
tags: ["mcp-configuration", "file-discovery", "workspace", "environment", "config-merge"]
|
|
7
|
+
related_topics:
|
|
8
|
+
- "configuration-file-formats.md"
|
|
9
|
+
- "workspace-detection-solutions.md"
|
|
10
|
+
- "layer-system-fundamentals.md"
|
|
11
|
+
applies_to:
|
|
12
|
+
- "BC Code Intelligence MCP Server"
|
|
13
|
+
last_updated: "2025-10-30"
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Configuration File Discovery
|
|
17
|
+
|
|
18
|
+
## Overview
|
|
19
|
+
|
|
20
|
+
The BC Code Intelligence MCP server searches for configuration files in multiple locations. **Starting in v1.5.3**, the server loads and intelligently merges BOTH user-level AND project-level configuration files, giving you VSCode-like behavior where project configs override user configs.
|
|
21
|
+
|
|
22
|
+
## User + Project Configuration Merge (v1.5.3+)
|
|
23
|
+
|
|
24
|
+
### **How It Works**
|
|
25
|
+
|
|
26
|
+
The server now loads configurations in **two phases**:
|
|
27
|
+
|
|
28
|
+
**Phase 1: Startup (User Config)**
|
|
29
|
+
- Loads user-level config from `~/.bc-code-intel/config.json`
|
|
30
|
+
- Available immediately when server starts
|
|
31
|
+
- Contains your personal preferences and company-wide layers
|
|
32
|
+
|
|
33
|
+
**Phase 2: Workspace Discovery (User + Project Merge)**
|
|
34
|
+
- When workspace becomes known (via `set_workspace_info`)
|
|
35
|
+
- Loads project config from `./bc-code-intel-config.json`
|
|
36
|
+
- **Merges** with user config using priority-based strategy
|
|
37
|
+
- Project config overrides user config at same priority
|
|
38
|
+
|
|
39
|
+
### **Merge Strategy**
|
|
40
|
+
|
|
41
|
+
Layers are merged by **priority number**:
|
|
42
|
+
- **Same priority**: Project layer **wins** (overrides user layer)
|
|
43
|
+
- **Different priorities**: Both layers **included** (sorted by priority)
|
|
44
|
+
|
|
45
|
+
**Example Merge:**
|
|
46
|
+
```
|
|
47
|
+
User config (~/.bc-code-intel/config.json):
|
|
48
|
+
- Layer A (priority 20)
|
|
49
|
+
- Layer B (priority 30)
|
|
50
|
+
- Layer C (priority 80)
|
|
51
|
+
|
|
52
|
+
Project config (./bc-code-intel-config.json):
|
|
53
|
+
- Layer X (priority 30) ← Conflicts with user Layer B
|
|
54
|
+
- Layer Y (priority 40)
|
|
55
|
+
- Layer Z (priority 50)
|
|
56
|
+
|
|
57
|
+
Result after merge:
|
|
58
|
+
- Layer A (priority 20) ← User (no conflict)
|
|
59
|
+
- Layer X (priority 30) ← Project wins conflict
|
|
60
|
+
- Layer Y (priority 40) ← Project (no conflict)
|
|
61
|
+
- Layer Z (priority 50) ← Project (no conflict)
|
|
62
|
+
- Layer C (priority 80) ← User (no conflict)
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Configuration File Locations
|
|
66
|
+
|
|
67
|
+
The MCP server searches these locations for configuration files:
|
|
68
|
+
|
|
69
|
+
## Configuration File Locations
|
|
70
|
+
|
|
71
|
+
The MCP server searches these locations for configuration files:
|
|
72
|
+
|
|
73
|
+
### **1. Environment Variable** (Explicit Override)
|
|
74
|
+
```bash
|
|
75
|
+
BC_CODE_INTEL_CONFIG=/absolute/path/to/config.json
|
|
76
|
+
# Legacy: BCKB_CONFIG_PATH (deprecated, use BC_CODE_INTEL_CONFIG)
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**When to use:**
|
|
80
|
+
- CI/CD pipelines with dynamic config paths
|
|
81
|
+
- Testing different configurations
|
|
82
|
+
- Temporary override for debugging
|
|
83
|
+
|
|
84
|
+
**Behavior:**
|
|
85
|
+
- Loaded at **priority 50** in merge process
|
|
86
|
+
- Overrides both user and project configs at lower priorities
|
|
87
|
+
- Does NOT prevent user/project configs from loading
|
|
88
|
+
|
|
89
|
+
**Example:**
|
|
90
|
+
```bash
|
|
91
|
+
# Linux/macOS
|
|
92
|
+
export BC_CODE_INTEL_CONFIG="/opt/configs/bc-code-intel-config.json"
|
|
93
|
+
|
|
94
|
+
# Windows PowerShell
|
|
95
|
+
$env:BC_CODE_INTEL_CONFIG = "C:\Configs\bc-code-intel-config.json"
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
### **2. User-Level Configuration** (Personal + Company-Wide)
|
|
101
|
+
|
|
102
|
+
**Recommended Path:**
|
|
103
|
+
```
|
|
104
|
+
~/.bc-code-intel/config.json
|
|
105
|
+
~/.bc-code-intel/config.yaml
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
**Legacy Paths (deprecated):**
|
|
109
|
+
```
|
|
110
|
+
~/.bckb/config.json ← Shows deprecation warning
|
|
111
|
+
~/.bckb/config.yaml
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**System-Wide Paths:**
|
|
115
|
+
```
|
|
116
|
+
# Linux
|
|
117
|
+
/etc/bc-code-intel/config.json
|
|
118
|
+
/usr/local/etc/bc-code-intel/config.json
|
|
119
|
+
|
|
120
|
+
# Windows
|
|
121
|
+
C:\ProgramData\bc-code-intel\config.json
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**When to use:**
|
|
125
|
+
- Company-wide knowledge layers for all projects
|
|
126
|
+
- Personal authentication credentials
|
|
127
|
+
- Default preferences across all workspaces
|
|
128
|
+
|
|
129
|
+
**Priority:** Layers in user config load at **priority 10** by default
|
|
130
|
+
|
|
131
|
+
**Example:**
|
|
132
|
+
```json
|
|
133
|
+
// ~/.bc-code-intel/config.json
|
|
134
|
+
{
|
|
135
|
+
"layers": [
|
|
136
|
+
{
|
|
137
|
+
"name": "company-standards",
|
|
138
|
+
"priority": 20,
|
|
139
|
+
"source": {
|
|
140
|
+
"type": "git",
|
|
141
|
+
"url": "https://github.com/mycompany/bc-knowledge",
|
|
142
|
+
"branch": "main"
|
|
143
|
+
},
|
|
144
|
+
"auth": {
|
|
145
|
+
"type": "pat",
|
|
146
|
+
"token_env_var": "GITHUB_TOKEN"
|
|
147
|
+
},
|
|
148
|
+
"enabled": true
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"name": "personal-snippets",
|
|
152
|
+
"priority": 80,
|
|
153
|
+
"source": {
|
|
154
|
+
"type": "local",
|
|
155
|
+
"path": "~/bc-knowledge-personal"
|
|
156
|
+
},
|
|
157
|
+
"enabled": true
|
|
158
|
+
}
|
|
159
|
+
]
|
|
160
|
+
}
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
### **3. Project-Level Configuration** (Project-Specific Overrides)
|
|
166
|
+
|
|
167
|
+
**Recommended Path (in workspace root):**
|
|
168
|
+
```
|
|
169
|
+
bc-code-intel-config.json
|
|
170
|
+
bc-code-intel-config.yaml
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
**Legacy Filenames (deprecated):**
|
|
174
|
+
```
|
|
175
|
+
bckb-config.json ← Shows deprecation warning
|
|
176
|
+
.bc-code-intel/config.json ← Hidden directory variant
|
|
177
|
+
.bckb/config.json
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
**When to use:**
|
|
181
|
+
- Project-specific layer overrides
|
|
182
|
+
- Team-shared configuration (committed to repo)
|
|
183
|
+
- Project requires specific knowledge layers
|
|
184
|
+
|
|
185
|
+
**Priority:** Layers in project config load at **priority 20** by default
|
|
186
|
+
|
|
187
|
+
**Workspace Detection Required:** Project config only loads after workspace is set via `set_workspace_info`
|
|
188
|
+
|
|
189
|
+
**Example:**
|
|
190
|
+
```json
|
|
191
|
+
// bc-code-intel-config.json (in project root)
|
|
192
|
+
{
|
|
193
|
+
"layers": [
|
|
194
|
+
{
|
|
195
|
+
"name": "project-team-alpha",
|
|
196
|
+
"priority": 30,
|
|
197
|
+
"source": {
|
|
198
|
+
"type": "git",
|
|
199
|
+
"url": "https://github.com/mycompany/team-alpha-knowledge"
|
|
200
|
+
},
|
|
201
|
+
"enabled": true
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"name": "project-overrides",
|
|
205
|
+
"priority": 50,
|
|
206
|
+
"source": {
|
|
207
|
+
"type": "local",
|
|
208
|
+
"path": "./bc-code-intel-overrides"
|
|
209
|
+
},
|
|
210
|
+
"enabled": true
|
|
211
|
+
}
|
|
212
|
+
]
|
|
213
|
+
}
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
### **4. Embedded Default** (Always Present)
|
|
219
|
+
|
|
220
|
+
If no configuration files are found, the server uses **embedded defaults**:
|
|
221
|
+
- Embedded knowledge layer (priority 0)
|
|
222
|
+
- Standard cache and performance settings
|
|
223
|
+
- Diagnostic tools disabled
|
|
224
|
+
|
|
225
|
+
**When this applies:**
|
|
226
|
+
- Zero-configuration first-time use
|
|
227
|
+
- No config files in any location
|
|
228
|
+
- Quick testing without setup
|
|
229
|
+
|
|
230
|
+
## When to Use User vs Project Config
|
|
231
|
+
|
|
232
|
+
### **Use User Config (~/.bc-code-intel/config.json) For:**
|
|
233
|
+
|
|
234
|
+
✅ **Company-wide knowledge layers**
|
|
235
|
+
```json
|
|
236
|
+
{
|
|
237
|
+
"layers": [
|
|
238
|
+
{ "name": "company", "priority": 20, "source": {...} }
|
|
239
|
+
]
|
|
240
|
+
}
|
|
241
|
+
```
|
|
242
|
+
- Applies to ALL projects you work on
|
|
243
|
+
- Company standards, best practices, common patterns
|
|
244
|
+
|
|
245
|
+
✅ **Personal authentication**
|
|
246
|
+
```json
|
|
247
|
+
{
|
|
248
|
+
"layers": [
|
|
249
|
+
{
|
|
250
|
+
"name": "company",
|
|
251
|
+
"priority": 20,
|
|
252
|
+
"auth": {
|
|
253
|
+
"type": "pat",
|
|
254
|
+
"token_env_var": "GITHUB_TOKEN" ← Your personal token
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
]
|
|
258
|
+
}
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
✅ **Personal preferences**
|
|
262
|
+
```json
|
|
263
|
+
{
|
|
264
|
+
"cache": { "max_size_mb": 200 },
|
|
265
|
+
"developer": { "diagnostics_enabled": true }
|
|
266
|
+
}
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
### **Use Project Config (./bc-code-intel-config.json) For:**
|
|
270
|
+
|
|
271
|
+
✅ **Project-specific layer overrides**
|
|
272
|
+
```json
|
|
273
|
+
{
|
|
274
|
+
"layers": [
|
|
275
|
+
{ "name": "project-team", "priority": 30, "source": {...} }
|
|
276
|
+
]
|
|
277
|
+
}
|
|
278
|
+
```
|
|
279
|
+
- Only applies to this project
|
|
280
|
+
- Can be committed to repo and shared with team
|
|
281
|
+
|
|
282
|
+
✅ **Team-shared configuration**
|
|
283
|
+
- All team members get same layers
|
|
284
|
+
- Version controlled with project code
|
|
285
|
+
|
|
286
|
+
✅ **Override user config layers**
|
|
287
|
+
```json
|
|
288
|
+
{
|
|
289
|
+
"layers": [
|
|
290
|
+
// This overrides user's priority 30 layer if they have one
|
|
291
|
+
{ "name": "project-override", "priority": 30, "source": {...} }
|
|
292
|
+
]
|
|
293
|
+
}
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
## Configuration Merge Examples
|
|
297
|
+
|
|
298
|
+
### **Example 1: No Conflicts (All Layers Preserved)**
|
|
299
|
+
|
|
300
|
+
**User config:**
|
|
301
|
+
```json
|
|
302
|
+
{
|
|
303
|
+
"layers": [
|
|
304
|
+
{ "name": "company", "priority": 20, "source": {...} },
|
|
305
|
+
{ "name": "personal", "priority": 80, "source": {...} }
|
|
306
|
+
]
|
|
307
|
+
}
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
**Project config:**
|
|
311
|
+
```json
|
|
312
|
+
{
|
|
313
|
+
"layers": [
|
|
314
|
+
{ "name": "team-alpha", "priority": 30, "source": {...} },
|
|
315
|
+
{ "name": "project-local", "priority": 50, "source": {...} }
|
|
316
|
+
]
|
|
317
|
+
}
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
**Result:**
|
|
321
|
+
```
|
|
322
|
+
[embedded(0), company(20), team-alpha(30), project-local(50), personal(80)]
|
|
323
|
+
```
|
|
324
|
+
✅ All layers included (no priority conflicts)
|
|
325
|
+
|
|
326
|
+
---
|
|
327
|
+
|
|
328
|
+
### **Example 2: Priority Conflict (Project Wins)**
|
|
329
|
+
|
|
330
|
+
**User config:**
|
|
331
|
+
```json
|
|
332
|
+
{
|
|
333
|
+
"layers": [
|
|
334
|
+
{ "name": "company-standard", "priority": 30, "source": {...} }
|
|
335
|
+
]
|
|
336
|
+
}
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
**Project config:**
|
|
340
|
+
```json
|
|
341
|
+
{
|
|
342
|
+
"layers": [
|
|
343
|
+
{ "name": "project-specific", "priority": 30, "source": {...} }
|
|
344
|
+
]
|
|
345
|
+
}
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
**Result:**
|
|
349
|
+
```
|
|
350
|
+
[embedded(0), project-specific(30)]
|
|
351
|
+
```
|
|
352
|
+
✅ Project layer **replaces** user layer at priority 30
|
|
353
|
+
|
|
354
|
+
---
|
|
355
|
+
|
|
356
|
+
### **Example 3: Multiple Conflicts**
|
|
357
|
+
|
|
358
|
+
**User config:**
|
|
359
|
+
```json
|
|
360
|
+
{
|
|
361
|
+
"layers": [
|
|
362
|
+
{ "name": "user-A", "priority": 10, "source": {...} },
|
|
363
|
+
{ "name": "user-B", "priority": 20, "source": {...} },
|
|
364
|
+
{ "name": "user-C", "priority": 30, "source": {...} }
|
|
365
|
+
]
|
|
366
|
+
}
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
**Project config:**
|
|
370
|
+
```json
|
|
371
|
+
{
|
|
372
|
+
"layers": [
|
|
373
|
+
{ "name": "project-B", "priority": 20, "source": {...} },
|
|
374
|
+
{ "name": "project-C", "priority": 30, "source": {...} }
|
|
375
|
+
]
|
|
376
|
+
}
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
**Result:**
|
|
380
|
+
```
|
|
381
|
+
[embedded(0), user-A(10), project-B(20), project-C(30)]
|
|
382
|
+
```
|
|
383
|
+
✅ user-A preserved (no conflict)
|
|
384
|
+
✅ project-B replaces user-B (priority 20)
|
|
385
|
+
✅ project-C replaces user-C (priority 30)
|
|
386
|
+
|
|
387
|
+
## File Name Variations
|
|
388
|
+
|
|
389
|
+
The server recognizes these file names **in each location**:
|
|
390
|
+
|
|
391
|
+
### **Recommended (v1.5.3+)**
|
|
392
|
+
- `bc-code-intel-config.json`
|
|
393
|
+
- `bc-code-intel-config.yaml`
|
|
394
|
+
- `bc-code-intel-config.yml`
|
|
395
|
+
|
|
396
|
+
### **Legacy (deprecated, shows warning)**
|
|
397
|
+
- `bckb-config.json`
|
|
398
|
+
- `bckb-config.yaml`
|
|
399
|
+
- `bckb-config.yml`
|
|
400
|
+
|
|
401
|
+
**Search order within each location:**
|
|
402
|
+
1. `.json` checked first
|
|
403
|
+
2. `.yaml` checked second
|
|
404
|
+
3. `.yml` checked last
|
|
405
|
+
|
|
406
|
+
**Deprecation warnings:** Legacy filenames trigger a warning suggesting migration to `bc-code-intel-*` naming.
|
|
407
|
+
|
|
408
|
+
## Workspace Detection for Project Config
|
|
409
|
+
|
|
410
|
+
### **The Workspace Challenge**
|
|
411
|
+
|
|
412
|
+
VS Code MCP extension doesn't automatically set workspace root, causing:
|
|
413
|
+
- Project config discovery to fail initially
|
|
414
|
+
- Project-specific layers not loading at startup
|
|
415
|
+
|
|
416
|
+
### **The Solution: set_workspace_info Tool (v1.5.0+)**
|
|
417
|
+
|
|
418
|
+
Use the `set_workspace_info` MCP tool to enable project config:
|
|
419
|
+
|
|
420
|
+
```typescript
|
|
421
|
+
set_workspace_info({
|
|
422
|
+
workspace_root: "/absolute/path/to/workspace"
|
|
423
|
+
})
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
**What happens after setting workspace:**
|
|
427
|
+
1. Configuration re-loads with workspace context
|
|
428
|
+
2. Project config discovered from workspace root
|
|
429
|
+
3. User + Project configs merged
|
|
430
|
+
4. All services reinitialize with merged configuration
|
|
431
|
+
5. Project layers (if configured) now load
|
|
432
|
+
|
|
433
|
+
**Query current workspace:**
|
|
434
|
+
```typescript
|
|
435
|
+
get_workspace_info()
|
|
436
|
+
// Returns: { workspace_root: "/current/path", layers_loaded: [...] }
|
|
437
|
+
```
|
|
438
|
+
|
|
439
|
+
## Configuration Loading Flow (v1.5.3+)
|
|
440
|
+
|
|
441
|
+
```mermaid
|
|
442
|
+
graph TD
|
|
443
|
+
A[MCP Server Starts] --> B[Load User Config]
|
|
444
|
+
B --> C{~/.bc-code-intel/config.json exists?}
|
|
445
|
+
C -->|Yes| D[User layers loaded]
|
|
446
|
+
C -->|No| E[Embedded defaults only]
|
|
447
|
+
|
|
448
|
+
D --> F[Server Ready - User Config Active]
|
|
449
|
+
E --> F
|
|
450
|
+
|
|
451
|
+
F --> G[Client calls set_workspace_info]
|
|
452
|
+
G --> H{Project config exists?}
|
|
453
|
+
H -->|Yes| I[Load Project Config]
|
|
454
|
+
H -->|No| J[Keep User Config Only]
|
|
455
|
+
|
|
456
|
+
I --> K[Merge User + Project Configs]
|
|
457
|
+
K --> L[Priority-Based Merge]
|
|
458
|
+
L --> M{Same priority?}
|
|
459
|
+
M -->|Yes| N[Project Wins]
|
|
460
|
+
M -->|No| O[Both Included]
|
|
461
|
+
|
|
462
|
+
N --> P[Merged Config Active]
|
|
463
|
+
O --> P
|
|
464
|
+
J --> P
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
## Path Expansion Details
|
|
468
|
+
|
|
469
|
+
### **Tilde (~) Expansion**
|
|
470
|
+
|
|
471
|
+
The server expands `~` to user home directory:
|
|
472
|
+
|
|
473
|
+
**Linux/macOS:**
|
|
474
|
+
```bash
|
|
475
|
+
~ → /home/username
|
|
476
|
+
~/.bc-code-intel/config.json → /home/username/.bc-code-intel/config.json
|
|
477
|
+
```
|
|
478
|
+
|
|
479
|
+
**Windows:**
|
|
480
|
+
```powershell
|
|
481
|
+
~ → C:\Users\Username
|
|
482
|
+
~/.bc-code-intel/config.json → C:\Users\Username\.bc-code-intel\config.json
|
|
483
|
+
```
|
|
484
|
+
|
|
485
|
+
### **Relative vs Absolute Paths**
|
|
486
|
+
|
|
487
|
+
**Project config (relative to workspace):**
|
|
488
|
+
```
|
|
489
|
+
./bc-code-intel-config.json
|
|
490
|
+
# Relative to workspace root (set via set_workspace_info)
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
**Environment variable (absolute):**
|
|
494
|
+
```bash
|
|
495
|
+
BC_CODE_INTEL_CONFIG=/absolute/path/to/config.json
|
|
496
|
+
# Must be absolute path
|
|
497
|
+
```
|
|
498
|
+
|
|
499
|
+
## Common Configuration Scenarios (v1.5.3+)
|
|
500
|
+
|
|
501
|
+
### **Scenario 1: Individual Developer (Zero Config)**
|
|
502
|
+
|
|
503
|
+
**Setup:** No config file anywhere
|
|
504
|
+
|
|
505
|
+
**Result:**
|
|
506
|
+
- Embedded knowledge only
|
|
507
|
+
- No custom layers
|
|
508
|
+
- Works immediately
|
|
509
|
+
|
|
510
|
+
**Use case:** Trying out BC Code Intelligence, no customization needed
|
|
511
|
+
|
|
512
|
+
---
|
|
513
|
+
|
|
514
|
+
### **Scenario 2: User-Wide Company Layer**
|
|
515
|
+
|
|
516
|
+
**Setup:** `~/.bc-code-intel/config.json`
|
|
517
|
+
```json
|
|
518
|
+
{
|
|
519
|
+
"layers": [
|
|
520
|
+
{
|
|
521
|
+
"name": "company-standards",
|
|
522
|
+
"priority": 20,
|
|
523
|
+
"source": {
|
|
524
|
+
"type": "git",
|
|
525
|
+
"url": "https://github.com/mycompany/bc-knowledge",
|
|
526
|
+
"branch": "main"
|
|
527
|
+
},
|
|
528
|
+
"auth": {
|
|
529
|
+
"type": "pat",
|
|
530
|
+
"token_env_var": "GITHUB_TOKEN"
|
|
531
|
+
},
|
|
532
|
+
"enabled": true
|
|
533
|
+
}
|
|
534
|
+
]
|
|
535
|
+
}
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
**Result:**
|
|
539
|
+
- Company layer loads for ALL projects
|
|
540
|
+
- Available immediately at server startup
|
|
541
|
+
- Uses your personal GitHub token
|
|
542
|
+
|
|
543
|
+
**Use case:** Company developer wants company standards in all projects
|
|
544
|
+
|
|
545
|
+
---
|
|
546
|
+
|
|
547
|
+
### **Scenario 3: User + Project Merge**
|
|
548
|
+
|
|
549
|
+
**Setup:**
|
|
550
|
+
|
|
551
|
+
User config `~/.bc-code-intel/config.json`:
|
|
552
|
+
```json
|
|
553
|
+
{
|
|
554
|
+
"layers": [
|
|
555
|
+
{
|
|
556
|
+
"name": "company-standards",
|
|
557
|
+
"priority": 20,
|
|
558
|
+
"source": { "type": "git", "url": "..." },
|
|
559
|
+
"enabled": true
|
|
560
|
+
},
|
|
561
|
+
{
|
|
562
|
+
"name": "personal-snippets",
|
|
563
|
+
"priority": 80,
|
|
564
|
+
"source": { "type": "local", "path": "~/bc-snippets" },
|
|
565
|
+
"enabled": true
|
|
566
|
+
}
|
|
567
|
+
]
|
|
568
|
+
}
|
|
569
|
+
```
|
|
570
|
+
|
|
571
|
+
Project config `./bc-code-intel-config.json`:
|
|
572
|
+
```json
|
|
573
|
+
{
|
|
574
|
+
"layers": [
|
|
575
|
+
{
|
|
576
|
+
"name": "team-alpha",
|
|
577
|
+
"priority": 30,
|
|
578
|
+
"source": { "type": "git", "url": "..." },
|
|
579
|
+
"enabled": true
|
|
580
|
+
},
|
|
581
|
+
{
|
|
582
|
+
"name": "project-overrides",
|
|
583
|
+
"priority": 50,
|
|
584
|
+
"source": { "type": "local", "path": "./bc-code-intel-overrides" },
|
|
585
|
+
"enabled": true
|
|
586
|
+
}
|
|
587
|
+
]
|
|
588
|
+
}
|
|
589
|
+
```
|
|
590
|
+
|
|
591
|
+
**Result after merge:**
|
|
592
|
+
```
|
|
593
|
+
Layers: [
|
|
594
|
+
embedded (priority 0),
|
|
595
|
+
company-standards (priority 20) ← From user config
|
|
596
|
+
team-alpha (priority 30) ← From project config
|
|
597
|
+
project-overrides (priority 50) ← From project config
|
|
598
|
+
personal-snippets (priority 80) ← From user config
|
|
599
|
+
]
|
|
600
|
+
```
|
|
601
|
+
|
|
602
|
+
**Use case:** Developer has company layer for all projects, but this specific project adds team-specific layer
|
|
603
|
+
|
|
604
|
+
---
|
|
605
|
+
|
|
606
|
+
### **Scenario 4: Project Overrides User Layer**
|
|
607
|
+
|
|
608
|
+
**Setup:**
|
|
609
|
+
|
|
610
|
+
User config `~/.bc-code-intel/config.json`:
|
|
611
|
+
```json
|
|
612
|
+
{
|
|
613
|
+
"layers": [
|
|
614
|
+
{
|
|
615
|
+
"name": "company-default-patterns",
|
|
616
|
+
"priority": 30,
|
|
617
|
+
"source": { "type": "git", "url": "https://github.com/company/default-patterns" },
|
|
618
|
+
"enabled": true
|
|
619
|
+
}
|
|
620
|
+
]
|
|
621
|
+
}
|
|
622
|
+
```
|
|
623
|
+
|
|
624
|
+
Project config `./bc-code-intel-config.json`:
|
|
625
|
+
```json
|
|
626
|
+
{
|
|
627
|
+
"layers": [
|
|
628
|
+
{
|
|
629
|
+
"name": "legacy-project-patterns",
|
|
630
|
+
"priority": 30, // Same priority = project wins
|
|
631
|
+
"source": { "type": "local", "path": "./legacy-patterns" },
|
|
632
|
+
"enabled": true
|
|
633
|
+
}
|
|
634
|
+
]
|
|
635
|
+
}
|
|
636
|
+
```
|
|
637
|
+
|
|
638
|
+
**Result after merge:**
|
|
639
|
+
```
|
|
640
|
+
Layers: [
|
|
641
|
+
embedded (priority 0),
|
|
642
|
+
legacy-project-patterns (priority 30) ← Project REPLACED user layer
|
|
643
|
+
]
|
|
644
|
+
```
|
|
645
|
+
|
|
646
|
+
**Use case:** Legacy project needs different patterns than company default
|
|
647
|
+
|
|
648
|
+
---
|
|
649
|
+
|
|
650
|
+
### **Scenario 5: CI/CD with Dynamic Config**
|
|
651
|
+
|
|
652
|
+
**Setup:** Environment variable
|
|
653
|
+
```bash
|
|
654
|
+
export BC_CODE_INTEL_CONFIG="/ci/configs/bc-code-intel-prod.json"
|
|
655
|
+
```
|
|
656
|
+
|
|
657
|
+
**Result:**
|
|
658
|
+
- Loads at priority 50 in merge
|
|
659
|
+
- Merges with user and project configs
|
|
660
|
+
- CI pipeline controls configuration
|
|
661
|
+
|
|
662
|
+
**Use case:** Automated build/test environments with specific layer requirements
|
|
663
|
+
|
|
664
|
+
## Creating Configuration File Directories
|
|
665
|
+
|
|
666
|
+
### **User-Wide Directory**
|
|
667
|
+
|
|
668
|
+
**Linux/macOS:**
|
|
669
|
+
```bash
|
|
670
|
+
mkdir -p ~/.bc-code-intel
|
|
671
|
+
touch ~/.bc-code-intel/config.json
|
|
672
|
+
```
|
|
673
|
+
|
|
674
|
+
**Windows PowerShell:**
|
|
675
|
+
```powershell
|
|
676
|
+
New-Item -Path "$env:USERPROFILE\.bc-code-intel" -ItemType Directory -Force
|
|
677
|
+
New-Item -Path "$env:USERPROFILE\.bc-code-intel\config.json" -ItemType File
|
|
678
|
+
```
|
|
679
|
+
|
|
680
|
+
### **Project Directory**
|
|
681
|
+
|
|
682
|
+
```bash
|
|
683
|
+
# In workspace root
|
|
684
|
+
touch bc-code-intel-config.json
|
|
685
|
+
```
|
|
686
|
+
|
|
687
|
+
## Troubleshooting Discovery Issues (v1.5.3+)
|
|
688
|
+
|
|
689
|
+
### **"User config not loading"**
|
|
690
|
+
|
|
691
|
+
**Check user config location:**
|
|
692
|
+
```bash
|
|
693
|
+
# Linux/macOS
|
|
694
|
+
ls -la ~/.bc-code-intel/config.*
|
|
695
|
+
|
|
696
|
+
# Windows PowerShell
|
|
697
|
+
ls "$env:USERPROFILE\.bc-code-intel\config.*"
|
|
698
|
+
```
|
|
699
|
+
|
|
700
|
+
**Verify file is valid:**
|
|
701
|
+
```bash
|
|
702
|
+
# Test JSON syntax
|
|
703
|
+
cat ~/.bc-code-intel/config.json | jq . # Linux/macOS (if jq installed)
|
|
704
|
+
Get-Content "$env:USERPROFILE\.bc-code-intel\config.json" | ConvertFrom-Json # PowerShell
|
|
705
|
+
```
|
|
706
|
+
|
|
707
|
+
**Check server logs:**
|
|
708
|
+
- Look for: `[config] Loaded user configuration: <path>`
|
|
709
|
+
- Deprecation warnings if using legacy paths
|
|
710
|
+
|
|
711
|
+
---
|
|
712
|
+
|
|
713
|
+
### **"Project config not loading"**
|
|
714
|
+
|
|
715
|
+
**Problem:** Project config only loads after workspace is set
|
|
716
|
+
|
|
717
|
+
**Solution:**
|
|
718
|
+
```typescript
|
|
719
|
+
// 1. Set workspace root first
|
|
720
|
+
set_workspace_info({
|
|
721
|
+
workspace_root: "/absolute/path/to/workspace"
|
|
722
|
+
})
|
|
723
|
+
|
|
724
|
+
// 2. Check logs for project config discovery
|
|
725
|
+
// Look for: [config] Loaded project configuration: <path>
|
|
726
|
+
// And: [config] Merged user + project configs
|
|
727
|
+
```
|
|
728
|
+
|
|
729
|
+
**Verify project config location:**
|
|
730
|
+
```bash
|
|
731
|
+
# Must be in workspace root
|
|
732
|
+
ls -la ./bc-code-intel-config.*
|
|
733
|
+
```
|
|
734
|
+
|
|
735
|
+
---
|
|
736
|
+
|
|
737
|
+
### **"Which config is being used?"**
|
|
738
|
+
|
|
739
|
+
**Query loaded configuration:**
|
|
740
|
+
```typescript
|
|
741
|
+
get_config_sources()
|
|
742
|
+
// Returns list of loaded config files and their priorities
|
|
743
|
+
```
|
|
744
|
+
|
|
745
|
+
**Check server logs for merge details:**
|
|
746
|
+
```
|
|
747
|
+
[config] Loaded user configuration: ~/.bc-code-intel/config.json (json)
|
|
748
|
+
[config] Loaded project configuration: ./bc-code-intel-config.json (json)
|
|
749
|
+
[config] Merged user + project configs. Active layers: embedded(p0), company(p20), team(p30), project(p50)
|
|
750
|
+
```
|
|
751
|
+
|
|
752
|
+
---
|
|
753
|
+
|
|
754
|
+
### **"Layer priority conflict - wrong layer loading"**
|
|
755
|
+
|
|
756
|
+
**Remember merge rules:**
|
|
757
|
+
- Same priority → **Project wins**
|
|
758
|
+
- Different priorities → Both included
|
|
759
|
+
|
|
760
|
+
**Debug priority conflicts:**
|
|
761
|
+
1. List all configured layers with priorities
|
|
762
|
+
2. Identify conflicts (same priority number)
|
|
763
|
+
3. Remember: Project config overrides user config at same priority
|
|
764
|
+
|
|
765
|
+
**Example conflict resolution:**
|
|
766
|
+
```
|
|
767
|
+
User: company-layer (priority 30)
|
|
768
|
+
Project: team-layer (priority 30)
|
|
769
|
+
Result: team-layer wins (project overrides user)
|
|
770
|
+
```
|
|
771
|
+
|
|
772
|
+
**Solution:** Adjust priorities to avoid conflicts if you want both layers
|
|
773
|
+
|
|
774
|
+
---
|
|
775
|
+
|
|
776
|
+
### **"Deprecation warnings appearing"**
|
|
777
|
+
|
|
778
|
+
**Legacy paths trigger warnings:**
|
|
779
|
+
```
|
|
780
|
+
⚠️ Using legacy config path: ~/.bckb/config.json
|
|
781
|
+
Consider moving to ~/.bc-code-intel/config.json or config.yaml
|
|
782
|
+
```
|
|
783
|
+
|
|
784
|
+
**Migration steps:**
|
|
785
|
+
1. Copy existing config:
|
|
786
|
+
```bash
|
|
787
|
+
cp ~/.bckb/config.json ~/.bc-code-intel/config.json
|
|
788
|
+
```
|
|
789
|
+
2. Test new location works
|
|
790
|
+
3. Remove old config file
|
|
791
|
+
4. Warning disappears
|
|
792
|
+
|
|
793
|
+
**Use absolute paths if tilde expansion fails:**
|
|
794
|
+
```bash
|
|
795
|
+
# Instead of: ~/.bc-code-intel/config.json
|
|
796
|
+
# Use: /home/username/.bc-code-intel/config.json
|
|
797
|
+
```
|
|
798
|
+
|
|
799
|
+
## Best Practices
|
|
800
|
+
|
|
801
|
+
1. **Choose the Right Location:**
|
|
802
|
+
- User-wide: Personal settings, authentication
|
|
803
|
+
- Workspace: Project-specific layer configuration
|
|
804
|
+
- Environment: CI/CD, testing, dynamic scenarios
|
|
805
|
+
|
|
806
|
+
2. **Workspace Configuration in VS Code:**
|
|
807
|
+
- Always call `set_workspace_root` first
|
|
808
|
+
- Commit workspace config to repo for team sharing
|
|
809
|
+
- Document layer purposes in project README
|
|
810
|
+
|
|
811
|
+
3. **User-Wide Configuration:**
|
|
812
|
+
- Personal authentication tokens
|
|
813
|
+
- Default company layer for all projects
|
|
814
|
+
- Don't commit user-wide configs (they're not in workspace)
|
|
815
|
+
|
|
816
|
+
4. **Environment Variables:**
|
|
817
|
+
- Use for CI/CD pipelines
|
|
818
|
+
- Testing multiple configurations
|
|
819
|
+
- Temporary overrides
|
|
820
|
+
|
|
821
|
+
5. **File Naming:**
|
|
822
|
+
- Prefer `.json` for simplicity
|
|
823
|
+
- Use `.yaml` for complex multi-layer configs (better readability)
|
|
824
|
+
- Be consistent across team
|
|
825
|
+
|
|
826
|
+
## Configuration Loading Logs
|
|
827
|
+
|
|
828
|
+
When the server starts, it logs which config was loaded:
|
|
829
|
+
|
|
830
|
+
```
|
|
831
|
+
✅ Configuration loaded from: /path/to/bc-code-intel-config.json
|
|
832
|
+
```
|
|
833
|
+
|
|
834
|
+
Or if no config found:
|
|
835
|
+
```
|
|
836
|
+
ℹ️ No configuration file found, using embedded defaults
|
|
837
|
+
```
|
|
838
|
+
|
|
839
|
+
Check MCP server logs to verify which config is being used.
|
|
840
|
+
|
|
841
|
+
## See Also
|
|
842
|
+
|
|
843
|
+
- [Configuration File Formats](configuration-file-formats.md) - How to create config files
|
|
844
|
+
- [Workspace Detection Solutions](workspace-detection-solutions.md) - Solving workspace issues
|
|
845
|
+
- [Layer System Fundamentals](layer-system-fundamentals.md) - Understanding layer architecture
|
|
846
|
+
- [Git Layer Configuration](git-layer-configuration.md) - Git-specific configuration
|