@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.
Files changed (753) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +165 -0
  3. package/dist/cache/cache-manager.d.ts +95 -0
  4. package/dist/cache/cache-manager.d.ts.map +1 -0
  5. package/dist/cache/cache-manager.js +328 -0
  6. package/dist/cache/cache-manager.js.map +1 -0
  7. package/dist/cli/bc-code-intel-cli.d.ts +9 -0
  8. package/dist/cli/bc-code-intel-cli.d.ts.map +1 -0
  9. package/dist/cli/bc-code-intel-cli.js +440 -0
  10. package/dist/cli/bc-code-intel-cli.js.map +1 -0
  11. package/dist/config/config-loader.d.ts +28 -0
  12. package/dist/config/config-loader.d.ts.map +1 -0
  13. package/dist/config/config-loader.js +497 -0
  14. package/dist/config/config-loader.js.map +1 -0
  15. package/dist/config/config-validator.d.ts +84 -0
  16. package/dist/config/config-validator.d.ts.map +1 -0
  17. package/dist/config/config-validator.js +608 -0
  18. package/dist/config/config-validator.js.map +1 -0
  19. package/dist/config/test-config-loader.d.ts +10 -0
  20. package/dist/config/test-config-loader.d.ts.map +1 -0
  21. package/dist/config/test-config-loader.js +135 -0
  22. package/dist/config/test-config-loader.js.map +1 -0
  23. package/dist/config/test-enhanced-layer-service.d.ts +7 -0
  24. package/dist/config/test-enhanced-layer-service.d.ts.map +1 -0
  25. package/dist/config/test-enhanced-layer-service.js +104 -0
  26. package/dist/config/test-enhanced-layer-service.js.map +1 -0
  27. package/dist/config/test-git-layer.d.ts +7 -0
  28. package/dist/config/test-git-layer.d.ts.map +1 -0
  29. package/dist/config/test-git-layer.js +68 -0
  30. package/dist/config/test-git-layer.js.map +1 -0
  31. package/dist/dev/hot-reload.d.ts +91 -0
  32. package/dist/dev/hot-reload.d.ts.map +1 -0
  33. package/dist/dev/hot-reload.js +358 -0
  34. package/dist/dev/hot-reload.js.map +1 -0
  35. package/dist/index.d.ts +82 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +1211 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/layers/base-layer.d.ts +133 -0
  40. package/dist/layers/base-layer.d.ts.map +1 -0
  41. package/dist/layers/base-layer.js +290 -0
  42. package/dist/layers/base-layer.js.map +1 -0
  43. package/dist/layers/embedded-layer.d.ts +130 -0
  44. package/dist/layers/embedded-layer.d.ts.map +1 -0
  45. package/dist/layers/embedded-layer.js +612 -0
  46. package/dist/layers/embedded-layer.js.map +1 -0
  47. package/dist/layers/git-layer.d.ts +77 -0
  48. package/dist/layers/git-layer.d.ts.map +1 -0
  49. package/dist/layers/git-layer.js +529 -0
  50. package/dist/layers/git-layer.js.map +1 -0
  51. package/dist/layers/index.d.ts +12 -0
  52. package/dist/layers/index.d.ts.map +1 -0
  53. package/dist/layers/index.js +11 -0
  54. package/dist/layers/index.js.map +1 -0
  55. package/dist/layers/layer-service.d.ts +135 -0
  56. package/dist/layers/layer-service.d.ts.map +1 -0
  57. package/dist/layers/layer-service.js +586 -0
  58. package/dist/layers/layer-service.js.map +1 -0
  59. package/dist/layers/project-layer.d.ts +58 -0
  60. package/dist/layers/project-layer.d.ts.map +1 -0
  61. package/dist/layers/project-layer.js +286 -0
  62. package/dist/layers/project-layer.js.map +1 -0
  63. package/dist/monitoring/production-monitor.d.ts +148 -0
  64. package/dist/monitoring/production-monitor.d.ts.map +1 -0
  65. package/dist/monitoring/production-monitor.js +463 -0
  66. package/dist/monitoring/production-monitor.js.map +1 -0
  67. package/dist/performance/performance-monitor.d.ts +99 -0
  68. package/dist/performance/performance-monitor.d.ts.map +1 -0
  69. package/dist/performance/performance-monitor.js +253 -0
  70. package/dist/performance/performance-monitor.js.map +1 -0
  71. package/dist/sdk/bc-code-intel-client.d.ts +175 -0
  72. package/dist/sdk/bc-code-intel-client.d.ts.map +1 -0
  73. package/dist/sdk/bc-code-intel-client.js +380 -0
  74. package/dist/sdk/bc-code-intel-client.js.map +1 -0
  75. package/dist/search/intelligent-search.d.ts +97 -0
  76. package/dist/search/intelligent-search.d.ts.map +1 -0
  77. package/dist/search/intelligent-search.js +358 -0
  78. package/dist/search/intelligent-search.js.map +1 -0
  79. package/dist/security/access-control.d.ts +110 -0
  80. package/dist/security/access-control.d.ts.map +1 -0
  81. package/dist/security/access-control.js +353 -0
  82. package/dist/security/access-control.js.map +1 -0
  83. package/dist/services/code-analysis-service.d.ts +72 -0
  84. package/dist/services/code-analysis-service.d.ts.map +1 -0
  85. package/dist/services/code-analysis-service.js +818 -0
  86. package/dist/services/code-analysis-service.js.map +1 -0
  87. package/dist/services/enhanced-prompt-service.d.ts +56 -0
  88. package/dist/services/enhanced-prompt-service.d.ts.map +1 -0
  89. package/dist/services/enhanced-prompt-service.js +165 -0
  90. package/dist/services/enhanced-prompt-service.js.map +1 -0
  91. package/dist/services/knowledge-service.d.ts +90 -0
  92. package/dist/services/knowledge-service.d.ts.map +1 -0
  93. package/dist/services/knowledge-service.js +342 -0
  94. package/dist/services/knowledge-service.js.map +1 -0
  95. package/dist/services/methodology-service.d.ts +91 -0
  96. package/dist/services/methodology-service.d.ts.map +1 -0
  97. package/dist/services/methodology-service.js +423 -0
  98. package/dist/services/methodology-service.js.map +1 -0
  99. package/dist/services/multi-content-layer-service.d.ts +198 -0
  100. package/dist/services/multi-content-layer-service.d.ts.map +1 -0
  101. package/dist/services/multi-content-layer-service.js +991 -0
  102. package/dist/services/multi-content-layer-service.js.map +1 -0
  103. package/dist/services/roleplay-engine.d.ts +161 -0
  104. package/dist/services/roleplay-engine.d.ts.map +1 -0
  105. package/dist/services/roleplay-engine.js +994 -0
  106. package/dist/services/roleplay-engine.js.map +1 -0
  107. package/dist/services/session-storage/file-storage.d.ts +30 -0
  108. package/dist/services/session-storage/file-storage.d.ts.map +1 -0
  109. package/dist/services/session-storage/file-storage.js +229 -0
  110. package/dist/services/session-storage/file-storage.js.map +1 -0
  111. package/dist/services/session-storage/in-memory-storage.d.ts +31 -0
  112. package/dist/services/session-storage/in-memory-storage.d.ts.map +1 -0
  113. package/dist/services/session-storage/in-memory-storage.js +142 -0
  114. package/dist/services/session-storage/in-memory-storage.js.map +1 -0
  115. package/dist/services/specialist-discovery.d.ts +98 -0
  116. package/dist/services/specialist-discovery.d.ts.map +1 -0
  117. package/dist/services/specialist-discovery.js +387 -0
  118. package/dist/services/specialist-discovery.js.map +1 -0
  119. package/dist/services/specialist-loader.d.ts +101 -0
  120. package/dist/services/specialist-loader.d.ts.map +1 -0
  121. package/dist/services/specialist-loader.js +256 -0
  122. package/dist/services/specialist-loader.js.map +1 -0
  123. package/dist/services/specialist-session-manager.d.ts +76 -0
  124. package/dist/services/specialist-session-manager.d.ts.map +1 -0
  125. package/dist/services/specialist-session-manager.js +255 -0
  126. package/dist/services/specialist-session-manager.js.map +1 -0
  127. package/dist/services/workflow-service.d.ts +146 -0
  128. package/dist/services/workflow-service.d.ts.map +1 -0
  129. package/dist/services/workflow-service.js +409 -0
  130. package/dist/services/workflow-service.js.map +1 -0
  131. package/dist/setup/post-install.d.ts +12 -0
  132. package/dist/setup/post-install.d.ts.map +1 -0
  133. package/dist/setup/post-install.js +81 -0
  134. package/dist/setup/post-install.js.map +1 -0
  135. package/dist/streamlined-handlers.d.ts +94 -0
  136. package/dist/streamlined-handlers.d.ts.map +1 -0
  137. package/dist/streamlined-handlers.js +665 -0
  138. package/dist/streamlined-handlers.js.map +1 -0
  139. package/dist/test-enhanced-mcp-server.d.ts +7 -0
  140. package/dist/test-enhanced-mcp-server.d.ts.map +1 -0
  141. package/dist/test-enhanced-mcp-server.js +177 -0
  142. package/dist/test-enhanced-mcp-server.js.map +1 -0
  143. package/dist/tools/config-diagnostic-tools.d.ts +234 -0
  144. package/dist/tools/config-diagnostic-tools.d.ts.map +1 -0
  145. package/dist/tools/config-diagnostic-tools.js +887 -0
  146. package/dist/tools/config-diagnostic-tools.js.map +1 -0
  147. package/dist/tools/core-tools.d.ts +26 -0
  148. package/dist/tools/core-tools.d.ts.map +1 -0
  149. package/dist/tools/core-tools.js +241 -0
  150. package/dist/tools/core-tools.js.map +1 -0
  151. package/dist/tools/handoff-tools.d.ts +37 -0
  152. package/dist/tools/handoff-tools.d.ts.map +1 -0
  153. package/dist/tools/handoff-tools.js +265 -0
  154. package/dist/tools/handoff-tools.js.map +1 -0
  155. package/dist/tools/index.d.ts +61 -0
  156. package/dist/tools/index.d.ts.map +1 -0
  157. package/dist/tools/index.js +75 -0
  158. package/dist/tools/index.js.map +1 -0
  159. package/dist/tools/onboarding-tools.d.ts +43 -0
  160. package/dist/tools/onboarding-tools.d.ts.map +1 -0
  161. package/dist/tools/onboarding-tools.js +353 -0
  162. package/dist/tools/onboarding-tools.js.map +1 -0
  163. package/dist/tools/specialist-discovery-tools.d.ts +27 -0
  164. package/dist/tools/specialist-discovery-tools.d.ts.map +1 -0
  165. package/dist/tools/specialist-discovery-tools.js +275 -0
  166. package/dist/tools/specialist-discovery-tools.js.map +1 -0
  167. package/dist/tools/specialist-tools.d.ts +43 -0
  168. package/dist/tools/specialist-tools.d.ts.map +1 -0
  169. package/dist/tools/specialist-tools.js +372 -0
  170. package/dist/tools/specialist-tools.js.map +1 -0
  171. package/dist/tools/workspace-tools.d.ts +96 -0
  172. package/dist/tools/workspace-tools.d.ts.map +1 -0
  173. package/dist/tools/workspace-tools.js +188 -0
  174. package/dist/tools/workspace-tools.js.map +1 -0
  175. package/dist/types/bc-knowledge.d.ts +303 -0
  176. package/dist/types/bc-knowledge.d.ts.map +1 -0
  177. package/dist/types/bc-knowledge.js +69 -0
  178. package/dist/types/bc-knowledge.js.map +1 -0
  179. package/dist/types/config-types.d.ts +186 -0
  180. package/dist/types/config-types.d.ts.map +1 -0
  181. package/dist/types/config-types.js +109 -0
  182. package/dist/types/config-types.js.map +1 -0
  183. package/dist/types/enhanced-layer-types.d.ts +193 -0
  184. package/dist/types/enhanced-layer-types.d.ts.map +1 -0
  185. package/dist/types/enhanced-layer-types.js +9 -0
  186. package/dist/types/enhanced-layer-types.js.map +1 -0
  187. package/dist/types/index.d.ts +5 -0
  188. package/dist/types/index.d.ts.map +1 -0
  189. package/dist/types/index.js +7 -0
  190. package/dist/types/index.js.map +1 -0
  191. package/dist/types/layer-types.d.ts +173 -0
  192. package/dist/types/layer-types.d.ts.map +1 -0
  193. package/dist/types/layer-types.js +27 -0
  194. package/dist/types/layer-types.js.map +1 -0
  195. package/dist/types/roleplay-types.d.ts +156 -0
  196. package/dist/types/roleplay-types.d.ts.map +1 -0
  197. package/dist/types/roleplay-types.js +8 -0
  198. package/dist/types/roleplay-types.js.map +1 -0
  199. package/dist/types/session-types.d.ts +127 -0
  200. package/dist/types/session-types.d.ts.map +1 -0
  201. package/dist/types/session-types.js +8 -0
  202. package/dist/types/session-types.js.map +1 -0
  203. package/dist/utils/path-utils.d.ts +5 -0
  204. package/dist/utils/path-utils.d.ts.map +1 -0
  205. package/dist/utils/path-utils.js +14 -0
  206. package/dist/utils/path-utils.js.map +1 -0
  207. package/dist/workflows/domain-workflows.d.ts +8 -0
  208. package/dist/workflows/domain-workflows.d.ts.map +1 -0
  209. package/dist/workflows/domain-workflows.js +360 -0
  210. package/dist/workflows/domain-workflows.js.map +1 -0
  211. package/embedded-knowledge/.github/ISSUE_TEMPLATE/bug-report.md +24 -0
  212. package/embedded-knowledge/.github/ISSUE_TEMPLATE/content-improvement.md +24 -0
  213. package/embedded-knowledge/.github/ISSUE_TEMPLATE/knowledge-request.md +30 -0
  214. package/embedded-knowledge/AGENTS.md +178 -0
  215. package/embedded-knowledge/CONTRIBUTING.md +58 -0
  216. package/embedded-knowledge/LICENSE +21 -0
  217. package/embedded-knowledge/README.md +32 -0
  218. package/embedded-knowledge/domains/alex-architect/api-delegate-operation-pattern.md +90 -0
  219. package/embedded-knowledge/domains/alex-architect/api-fieldset-registration-pattern.md +113 -0
  220. package/embedded-knowledge/domains/alex-architect/api-interface-design-patterns.md +101 -0
  221. package/embedded-knowledge/domains/alex-architect/api-page-development-patterns.md +87 -0
  222. package/embedded-knowledge/domains/alex-architect/complex-facade-patterns.md +155 -0
  223. package/embedded-knowledge/domains/alex-architect/delegating-to-github-copilot-agents.md +371 -0
  224. package/embedded-knowledge/domains/alex-architect/facade-pattern-al-implementation.md +138 -0
  225. package/embedded-knowledge/domains/alex-architect/facade-pattern-external-api.md +79 -0
  226. package/embedded-knowledge/domains/alex-architect/object-id-ninja-integration.md +281 -0
  227. package/embedded-knowledge/domains/alex-architect/recommend-object-id-ninja.md +248 -0
  228. package/embedded-knowledge/domains/alex-architect/samples/api-delegate-operation.md +280 -0
  229. package/embedded-knowledge/domains/alex-architect/samples/api-fieldset-registration.md +200 -0
  230. package/embedded-knowledge/domains/alex-architect/samples/api-interface-design.md +565 -0
  231. package/embedded-knowledge/domains/alex-architect/samples/api-page-implementation.md +665 -0
  232. package/embedded-knowledge/domains/alex-architect/samples/complex-facade-patterns.md +325 -0
  233. package/embedded-knowledge/domains/alex-architect/samples/facade-pattern-al.md +696 -0
  234. package/embedded-knowledge/domains/alex-architect/samples/facade-pattern.md +320 -0
  235. package/embedded-knowledge/domains/alex-architect/samples/subscriber-organization.md +102 -0
  236. package/embedded-knowledge/domains/alex-architect/samples/systemid-integration.md +433 -0
  237. package/embedded-knowledge/domains/alex-architect/samples/testability-design-patterns.md +223 -0
  238. package/embedded-knowledge/domains/alex-architect/subscriber-codeunit-size-optimization.md +66 -0
  239. package/embedded-knowledge/domains/alex-architect/systemid-integration.md +115 -0
  240. package/embedded-knowledge/domains/alex-architect/testability-design-patterns.md +77 -0
  241. package/embedded-knowledge/domains/casey-copilot/long-running-session-instructions.md +263 -0
  242. package/embedded-knowledge/domains/casey-copilot/samples/long-running-session-instructions.md +323 -0
  243. package/embedded-knowledge/domains/chris-config/configuration-file-discovery.md +846 -0
  244. package/embedded-knowledge/domains/chris-config/configuration-file-formats.md +595 -0
  245. package/embedded-knowledge/domains/chris-config/content-types-structure.md +421 -0
  246. package/embedded-knowledge/domains/chris-config/knowledge-content-creation.md +437 -0
  247. package/embedded-knowledge/domains/chris-config/layer-system-fundamentals.md +257 -0
  248. package/embedded-knowledge/domains/chris-config/multi-team-layer-configuration.md +302 -0
  249. package/embedded-knowledge/domains/chris-config/workspace-detection-solutions.md +336 -0
  250. package/embedded-knowledge/domains/dean-debug/bc-telemetry-buddy-integration.md +453 -0
  251. package/embedded-knowledge/domains/dean-debug/bc24-no-series-conversion-guide.md +360 -0
  252. package/embedded-knowledge/domains/dean-debug/case-statement-performance-best-practices.md +86 -0
  253. package/embedded-knowledge/domains/dean-debug/compound-statements-debugging.md +96 -0
  254. package/embedded-knowledge/domains/dean-debug/custom-dimensions-best-practices.md +70 -0
  255. package/embedded-knowledge/domains/dean-debug/custom-telemetry-implementation.md +84 -0
  256. package/embedded-knowledge/domains/dean-debug/deleteall-performance-tradeoff.md +93 -0
  257. package/embedded-knowledge/domains/dean-debug/deleteall-sql-performance.md +73 -0
  258. package/embedded-knowledge/domains/dean-debug/extension-telemetry-isolation.md +78 -0
  259. package/embedded-knowledge/domains/dean-debug/maintainsiftindex-property-behavior.md +79 -0
  260. package/embedded-knowledge/domains/dean-debug/no-series-implementation-patterns.md +87 -0
  261. package/embedded-knowledge/domains/dean-debug/no-series-module-patterns-bc24.md +209 -0
  262. package/embedded-knowledge/domains/dean-debug/no-series-validation-module-bc24.md +246 -0
  263. package/embedded-knowledge/domains/dean-debug/no-series-validation-patterns.md +107 -0
  264. package/embedded-knowledge/domains/dean-debug/odata-query-optimization.md +105 -0
  265. package/embedded-knowledge/domains/dean-debug/recommend-bc-telemetry-buddy.md +160 -0
  266. package/embedded-knowledge/domains/dean-debug/samples/bc24-no-series-conversion.md +186 -0
  267. package/embedded-knowledge/domains/dean-debug/samples/case-performance-optimization.md +60 -0
  268. package/embedded-knowledge/domains/dean-debug/samples/compound-statements-debugging.md +139 -0
  269. package/embedded-knowledge/domains/dean-debug/samples/custom-dimensions.md +190 -0
  270. package/embedded-knowledge/domains/dean-debug/samples/custom-telemetry.md +516 -0
  271. package/embedded-knowledge/domains/dean-debug/samples/deleteall-performance.md +298 -0
  272. package/embedded-knowledge/domains/dean-debug/samples/error-correlation.md +324 -0
  273. package/embedded-knowledge/domains/dean-debug/samples/extension-isolation.md +344 -0
  274. package/embedded-knowledge/domains/dean-debug/samples/logmessage-methods.md +137 -0
  275. package/embedded-knowledge/domains/dean-debug/samples/maintainsiftindex-examples.md +340 -0
  276. package/embedded-knowledge/domains/dean-debug/samples/no-series-implementation.md +810 -0
  277. package/embedded-knowledge/domains/dean-debug/samples/no-series-module-bc24.md +86 -0
  278. package/embedded-knowledge/domains/dean-debug/samples/no-series-validation-module-bc24.md +110 -0
  279. package/embedded-knowledge/domains/dean-debug/samples/no-series-validation.md +758 -0
  280. package/embedded-knowledge/domains/dean-debug/samples/odata-query-optimization.md +665 -0
  281. package/embedded-knowledge/domains/dean-debug/samples/setloadfields-before-case.md +316 -0
  282. package/embedded-knowledge/domains/dean-debug/samples/setloadfields-before-filters.md +223 -0
  283. package/embedded-knowledge/domains/dean-debug/samples/setloadfields-filter-exclusion.md +149 -0
  284. package/embedded-knowledge/domains/dean-debug/samples/setloadfields-optimization.md +412 -0
  285. package/embedded-knowledge/domains/dean-debug/samples/setloadfields-performance.md +211 -0
  286. package/embedded-knowledge/domains/dean-debug/samples/setloadfields-primary-key.md +155 -0
  287. package/embedded-knowledge/domains/dean-debug/samples/sift-technology-fundamentals.md +475 -0
  288. package/embedded-knowledge/domains/dean-debug/samples/singleinstance-subscribers.md +238 -0
  289. package/embedded-knowledge/domains/dean-debug/samples/table-event-batching.md +97 -0
  290. package/embedded-knowledge/domains/dean-debug/samples/table-key-requirements.md +666 -0
  291. package/embedded-knowledge/domains/dean-debug/samples/telemetry-performance.md +319 -0
  292. package/embedded-knowledge/domains/dean-debug/samples/verbosity-strategy.md +236 -0
  293. package/embedded-knowledge/domains/dean-debug/session-logmessage-methods.md +59 -0
  294. package/embedded-knowledge/domains/dean-debug/setloadfields-filter-field-exclusion.md +67 -0
  295. package/embedded-knowledge/domains/dean-debug/setloadfields-performance-impact.md +70 -0
  296. package/embedded-knowledge/domains/dean-debug/setloadfields-performance-optimization.md +90 -0
  297. package/embedded-knowledge/domains/dean-debug/setloadfields-placement-before-case-statements.md +87 -0
  298. package/embedded-knowledge/domains/dean-debug/setloadfields-placement-before-filters.md +70 -0
  299. package/embedded-knowledge/domains/dean-debug/setloadfields-primary-key-optimization.md +74 -0
  300. package/embedded-knowledge/domains/dean-debug/sift-technology-fundamentals.md +81 -0
  301. package/embedded-knowledge/domains/dean-debug/subscriber-singleinstance-performance.md +56 -0
  302. package/embedded-knowledge/domains/dean-debug/table-event-batch-operation-impact.md +66 -0
  303. package/embedded-knowledge/domains/dean-debug/table-key-requirements.md +79 -0
  304. package/embedded-knowledge/domains/dean-debug/telemetry-error-correlation.md +78 -0
  305. package/embedded-knowledge/domains/dean-debug/telemetry-performance-considerations.md +83 -0
  306. package/embedded-knowledge/domains/dean-debug/telemetry-verbosity-strategy.md +76 -0
  307. package/embedded-knowledge/domains/dean-debug/testfield-performance.md +104 -0
  308. package/embedded-knowledge/domains/eva-errors/codeunit-run-pattern.md +159 -0
  309. package/embedded-knowledge/domains/eva-errors/fielderror-default-messages.md +145 -0
  310. package/embedded-knowledge/domains/eva-errors/fielderror-message-construction.md +104 -0
  311. package/embedded-knowledge/domains/eva-errors/fielderror-method-syntax.md +114 -0
  312. package/embedded-knowledge/domains/eva-errors/samples/codeunit-run-pattern.md +239 -0
  313. package/embedded-knowledge/domains/eva-errors/samples/fielderror-default-messages.md +356 -0
  314. package/embedded-knowledge/domains/eva-errors/samples/fielderror-syntax.md +256 -0
  315. package/embedded-knowledge/domains/eva-errors/samples/table-safety-validation-patterns.md +101 -0
  316. package/embedded-knowledge/domains/eva-errors/samples/testfield-error-handling.md +108 -0
  317. package/embedded-knowledge/domains/eva-errors/samples/try-function-usage.md +195 -0
  318. package/embedded-knowledge/domains/eva-errors/testfield-error-handling.md +80 -0
  319. package/embedded-knowledge/domains/eva-errors/try-function-usage.md +129 -0
  320. package/embedded-knowledge/domains/jordan-bridge/al-event-subscriber-architecture.md +98 -0
  321. package/embedded-knowledge/domains/jordan-bridge/automatic-registration.md +123 -0
  322. package/embedded-knowledge/domains/jordan-bridge/business-process-template-patterns.md +96 -0
  323. package/embedded-knowledge/domains/jordan-bridge/error-response-patterns.md +115 -0
  324. package/embedded-knowledge/domains/jordan-bridge/etag-implementation.md +115 -0
  325. package/embedded-knowledge/domains/jordan-bridge/field-control-selection.md +114 -0
  326. package/embedded-knowledge/domains/jordan-bridge/samples/al-event-subscriber-architecture.md +395 -0
  327. package/embedded-knowledge/domains/jordan-bridge/samples/api-error-responses.md +479 -0
  328. package/embedded-knowledge/domains/jordan-bridge/samples/api-field-control.md +548 -0
  329. package/embedded-knowledge/domains/jordan-bridge/samples/api-url-naming.md +287 -0
  330. package/embedded-knowledge/domains/jordan-bridge/samples/business-process-templates.md +434 -0
  331. package/embedded-knowledge/domains/jordan-bridge/samples/etag-implementation.md +508 -0
  332. package/embedded-knowledge/domains/jordan-bridge/samples/task-scheduler-pattern.md +615 -0
  333. package/embedded-knowledge/domains/jordan-bridge/task-scheduler-pattern-implementation.md +144 -0
  334. package/embedded-knowledge/domains/jordan-bridge/url-structure-naming-patterns.md +96 -0
  335. package/embedded-knowledge/domains/maya-mentor/case-multiple-conditions-ranges.md +124 -0
  336. package/embedded-knowledge/domains/maya-mentor/case-statement-syntax-structure.md +84 -0
  337. package/embedded-knowledge/domains/maya-mentor/fielderror-syntax-usage.md +75 -0
  338. package/embedded-knowledge/domains/maya-mentor/fielderror-vs-testfield.md +96 -0
  339. package/embedded-knowledge/domains/maya-mentor/samples/case-statement-multiple-conditions.md +385 -0
  340. package/embedded-knowledge/domains/maya-mentor/samples/case-statement-syntax-structure.md +72 -0
  341. package/embedded-knowledge/domains/maya-mentor/samples/fielderror-syntax-usage.md +48 -0
  342. package/embedded-knowledge/domains/maya-mentor/samples/testfield-basic-syntax.md +49 -0
  343. package/embedded-knowledge/domains/maya-mentor/testfield-basic-syntax.md +67 -0
  344. package/embedded-knowledge/domains/morgan-market/partner-readiness-analysis.md +201 -0
  345. package/embedded-knowledge/domains/morgan-market/samples/partner-readiness-checklist.md +288 -0
  346. package/embedded-knowledge/domains/parker-pragmatic/README.md +39 -0
  347. package/embedded-knowledge/domains/parker-pragmatic/proposal-workflows/creating-effective-proposals.md +583 -0
  348. package/embedded-knowledge/domains/parker-pragmatic/trust-building/working-with-ai-skeptics.md +587 -0
  349. package/embedded-knowledge/domains/quinn-tester/fielderror-validation-patterns.md +119 -0
  350. package/embedded-knowledge/domains/quinn-tester/isolation-testing-patterns.md +82 -0
  351. package/embedded-knowledge/domains/quinn-tester/rule-execution.md +123 -0
  352. package/embedded-knowledge/domains/quinn-tester/samples/case-error-handling.md +64 -0
  353. package/embedded-knowledge/domains/quinn-tester/samples/fielderror-message-construction.md +60 -0
  354. package/embedded-knowledge/domains/quinn-tester/samples/fielderror-validation-patterns.md +83 -0
  355. package/embedded-knowledge/domains/quinn-tester/samples/isolation-testing-patterns.md +424 -0
  356. package/embedded-knowledge/domains/quinn-tester/samples/rule-execution.md +716 -0
  357. package/embedded-knowledge/domains/quinn-tester/samples/table-safety-validation-patterns.md +101 -0
  358. package/embedded-knowledge/domains/quinn-tester/samples/temporary-table-operation-validation.md +91 -0
  359. package/embedded-knowledge/domains/quinn-tester/table-safety-validation-patterns.md +79 -0
  360. package/embedded-knowledge/domains/quinn-tester/temporary-table-operation-validation.md +79 -0
  361. package/embedded-knowledge/domains/roger-reviewer/al-begin-end-block-structure.md +89 -0
  362. package/embedded-knowledge/domains/roger-reviewer/al-binary-operator-spacing.md +76 -0
  363. package/embedded-knowledge/domains/roger-reviewer/al-blank-line-organization.md +76 -0
  364. package/embedded-knowledge/domains/roger-reviewer/al-case-action-formatting.md +76 -0
  365. package/embedded-knowledge/domains/roger-reviewer/al-code-spacing-conventions.md +81 -0
  366. package/embedded-knowledge/domains/roger-reviewer/al-comment-spacing-standards.md +76 -0
  367. package/embedded-knowledge/domains/roger-reviewer/al-end-else-pairing.md +75 -0
  368. package/embedded-knowledge/domains/roger-reviewer/al-keyword-indentation-rules.md +76 -0
  369. package/embedded-knowledge/domains/roger-reviewer/al-line-start-keyword-positioning.md +76 -0
  370. package/embedded-knowledge/domains/roger-reviewer/al-separate-if-else-formatting.md +76 -0
  371. package/embedded-knowledge/domains/roger-reviewer/al-standard-abbreviations.md +96 -0
  372. package/embedded-knowledge/domains/roger-reviewer/al-statement-per-line-rule.md +76 -0
  373. package/embedded-knowledge/domains/roger-reviewer/al-unnecessary-else-elimination.md +86 -0
  374. package/embedded-knowledge/domains/roger-reviewer/al-variable-declaration-order.md +90 -0
  375. package/embedded-knowledge/domains/roger-reviewer/al-variable-naming-conventions.md +82 -0
  376. package/embedded-knowledge/domains/roger-reviewer/begin-block-statement-clarity.md +78 -0
  377. package/embedded-knowledge/domains/roger-reviewer/begin-end-positioning-patterns.md +76 -0
  378. package/embedded-knowledge/domains/roger-reviewer/binary-operator-line-positioning.md +78 -0
  379. package/embedded-knowledge/domains/roger-reviewer/boolean-expression-simplification-al.md +100 -0
  380. package/embedded-knowledge/domains/roger-reviewer/case-statement-error-handling-troubleshooting.md +115 -0
  381. package/embedded-knowledge/domains/roger-reviewer/compound-statement-readability.md +124 -0
  382. package/embedded-knowledge/domains/roger-reviewer/lonely-repeat-statement-pattern.md +110 -0
  383. package/embedded-knowledge/domains/roger-reviewer/samples/al-begin-end-blocks.md +438 -0
  384. package/embedded-knowledge/domains/roger-reviewer/samples/al-binary-operator-spacing.md +255 -0
  385. package/embedded-knowledge/domains/roger-reviewer/samples/al-comment-spacing-standards.md +209 -0
  386. package/embedded-knowledge/domains/roger-reviewer/samples/al-keyword-indentation-rules.md +218 -0
  387. package/embedded-knowledge/domains/roger-reviewer/samples/al-line-start-keyword-positioning.md +218 -0
  388. package/embedded-knowledge/domains/roger-reviewer/samples/al-separate-if-else-formatting.md +280 -0
  389. package/embedded-knowledge/domains/roger-reviewer/samples/al-statement-per-line-rule.md +188 -0
  390. package/embedded-knowledge/domains/roger-reviewer/samples/al-unnecessary-else-elimination.md +245 -0
  391. package/embedded-knowledge/domains/roger-reviewer/samples/al-variable-declaration-order.md +244 -0
  392. package/embedded-knowledge/domains/roger-reviewer/samples/begin-end-positioning.md +278 -0
  393. package/embedded-knowledge/domains/roger-reviewer/samples/boolean-simplification-examples.md +484 -0
  394. package/embedded-knowledge/domains/roger-reviewer/samples/case-error-handling.md +64 -0
  395. package/embedded-knowledge/domains/roger-reviewer/samples/compound-statement-readability.md +107 -0
  396. package/embedded-knowledge/domains/roger-reviewer/samples/lonely-repeat-examples.md +280 -0
  397. package/embedded-knowledge/domains/roger-reviewer/samples/testability-code-smells.md +256 -0
  398. package/embedded-knowledge/domains/roger-reviewer/testability-code-smells.md +67 -0
  399. package/embedded-knowledge/domains/sam-coder/al-formatting-consistency-patterns.md +75 -0
  400. package/embedded-knowledge/domains/sam-coder/al-line-comment-formatting.md +67 -0
  401. package/embedded-knowledge/domains/sam-coder/al-lonely-repeat-pattern.md +76 -0
  402. package/embedded-knowledge/domains/sam-coder/al-named-parameter-pattern.md +98 -0
  403. package/embedded-knowledge/domains/sam-coder/al-object-navigation-shortcuts.md +128 -0
  404. package/embedded-knowledge/domains/sam-coder/al-readability-optimization.md +75 -0
  405. package/embedded-knowledge/domains/sam-coder/al-record-find-early-exit.md +95 -0
  406. package/embedded-knowledge/domains/sam-coder/command-queue-pattern-al.md +141 -0
  407. package/embedded-knowledge/domains/sam-coder/deleteall-alternative-implementation.md +91 -0
  408. package/embedded-knowledge/domains/sam-coder/deleteall-method-usage.md +118 -0
  409. package/embedded-knowledge/domains/sam-coder/deleteall-trigger-execution.md +111 -0
  410. package/embedded-knowledge/domains/sam-coder/event-bridge-pattern-al.md +113 -0
  411. package/embedded-knowledge/domains/sam-coder/event-payload-design-patterns.md +127 -0
  412. package/embedded-knowledge/domains/sam-coder/generic-method-patterns-al.md +141 -0
  413. package/embedded-knowledge/domains/sam-coder/manual-binding-conditional-subscribers.md +66 -0
  414. package/embedded-knowledge/domains/sam-coder/nested-compound-best-practices.md +96 -0
  415. package/embedded-knowledge/domains/sam-coder/samples/al-blank-line-organization.md +161 -0
  416. package/embedded-knowledge/domains/sam-coder/samples/al-case-action-formatting.md +177 -0
  417. package/embedded-knowledge/domains/sam-coder/samples/al-lonely-repeat-pattern.md +239 -0
  418. package/embedded-knowledge/domains/sam-coder/samples/al-named-parameter-pattern.md +346 -0
  419. package/embedded-knowledge/domains/sam-coder/samples/al-record-find-early-exit.md +298 -0
  420. package/embedded-knowledge/domains/sam-coder/samples/command-queue-pattern.md +677 -0
  421. package/embedded-knowledge/domains/sam-coder/samples/deleteall-alternative-implementation.md +117 -0
  422. package/embedded-knowledge/domains/sam-coder/samples/deleteall-triggers.md +75 -0
  423. package/embedded-knowledge/domains/sam-coder/samples/deleteall-usage.md +169 -0
  424. package/embedded-knowledge/domains/sam-coder/samples/event-bridge-pattern.md +399 -0
  425. package/embedded-knowledge/domains/sam-coder/samples/event-payload-design.md +356 -0
  426. package/embedded-knowledge/domains/sam-coder/samples/generic-method-patterns.md +889 -0
  427. package/embedded-knowledge/domains/sam-coder/samples/manual-binding.md +84 -0
  428. package/embedded-knowledge/domains/sam-coder/samples/nested-compound-best-practices.md +127 -0
  429. package/embedded-knowledge/domains/sam-coder/samples/single-to-compound-conversion.md +89 -0
  430. package/embedded-knowledge/domains/sam-coder/samples/template-method-pattern.md +516 -0
  431. package/embedded-knowledge/domains/sam-coder/samples/testfield-patterns.md +61 -0
  432. package/embedded-knowledge/domains/sam-coder/samples/type-safe-operations.md +427 -0
  433. package/embedded-knowledge/domains/sam-coder/single-to-compound-conversion.md +122 -0
  434. package/embedded-knowledge/domains/sam-coder/template-method-pattern-al.md +96 -0
  435. package/embedded-knowledge/domains/sam-coder/testfield-patterns.md +101 -0
  436. package/embedded-knowledge/domains/sam-coder/type-safe-operations-al.md +149 -0
  437. package/embedded-knowledge/domains/sam-coder/vs-code-al-keyboard-shortcuts.md +107 -0
  438. package/embedded-knowledge/domains/seth-security/al-temporary-table-safety.md +95 -0
  439. package/embedded-knowledge/domains/seth-security/api-permission-model.md +115 -0
  440. package/embedded-knowledge/domains/seth-security/istemporary-safeguard-pattern.md +78 -0
  441. package/embedded-knowledge/domains/seth-security/samples/al-temporary-table-safety.md +373 -0
  442. package/embedded-knowledge/domains/seth-security/samples/api-permission-model.md +308 -0
  443. package/embedded-knowledge/domains/shared/al-file-naming-conventions.md +146 -0
  444. package/embedded-knowledge/domains/taylor-docs/al-xml-documentation-structure.md +79 -0
  445. package/embedded-knowledge/domains/uma-ux/bc-action-shortcuts-syntax.md +78 -0
  446. package/embedded-knowledge/domains/uma-ux/shortcut-key-user-experience-design.md +81 -0
  447. package/embedded-knowledge/indexes/bc-version-matrix.json +188 -0
  448. package/embedded-knowledge/indexes/domain-catalog.json +106 -0
  449. package/embedded-knowledge/indexes/tags/abbreviations.json +1 -0
  450. package/embedded-knowledge/indexes/tags/abstraction.json +1 -0
  451. package/embedded-knowledge/indexes/tags/access-control.json +1 -0
  452. package/embedded-knowledge/indexes/tags/accessibility.json +1 -0
  453. package/embedded-knowledge/indexes/tags/actions.json +1 -0
  454. package/embedded-knowledge/indexes/tags/advanced-patterns.json +1 -0
  455. package/embedded-knowledge/indexes/tags/advanced.json +1 -0
  456. package/embedded-knowledge/indexes/tags/al-extension.json +1 -0
  457. package/embedded-knowledge/indexes/tags/al-generics.json +1 -0
  458. package/embedded-knowledge/indexes/tags/al-objects.json +1 -0
  459. package/embedded-knowledge/indexes/tags/al-syntax.json +1 -0
  460. package/embedded-knowledge/indexes/tags/algorithm-structure.json +1 -0
  461. package/embedded-knowledge/indexes/tags/alternatives.json +1 -0
  462. package/embedded-knowledge/indexes/tags/analytics.json +1 -0
  463. package/embedded-knowledge/indexes/tags/api-delegates.json +1 -0
  464. package/embedded-knowledge/indexes/tags/api-design.json +1 -0
  465. package/embedded-knowledge/indexes/tags/api-documentation.json +1 -0
  466. package/embedded-knowledge/indexes/tags/api-endpoints.json +1 -0
  467. package/embedded-knowledge/indexes/tags/api-extensibility.json +1 -0
  468. package/embedded-knowledge/indexes/tags/api-fieldsets.json +1 -0
  469. package/embedded-knowledge/indexes/tags/api-integration.json +1 -0
  470. package/embedded-knowledge/indexes/tags/api-interfaces.json +1 -0
  471. package/embedded-knowledge/indexes/tags/api-optimization.json +1 -0
  472. package/embedded-knowledge/indexes/tags/api-pages.json +1 -0
  473. package/embedded-knowledge/indexes/tags/api-patterns.json +1 -0
  474. package/embedded-knowledge/indexes/tags/api-permissions.json +1 -0
  475. package/embedded-knowledge/indexes/tags/api-responses.json +1 -0
  476. package/embedded-knowledge/indexes/tags/api-simplification.json +1 -0
  477. package/embedded-knowledge/indexes/tags/api.json +1 -0
  478. package/embedded-knowledge/indexes/tags/architecture.json +1 -0
  479. package/embedded-knowledge/indexes/tags/async-patterns.json +1 -0
  480. package/embedded-knowledge/indexes/tags/async-processing.json +1 -0
  481. package/embedded-knowledge/indexes/tags/automatic-registration.json +1 -0
  482. package/embedded-knowledge/indexes/tags/batch-operations.json +1 -0
  483. package/embedded-knowledge/indexes/tags/bc24-migration.json +1 -0
  484. package/embedded-knowledge/indexes/tags/begin-blocks.json +1 -0
  485. package/embedded-knowledge/indexes/tags/begin-end.json +1 -0
  486. package/embedded-knowledge/indexes/tags/behavioral-patterns.json +1 -0
  487. package/embedded-knowledge/indexes/tags/best-practices.json +1 -0
  488. package/embedded-knowledge/indexes/tags/binding.json +1 -0
  489. package/embedded-knowledge/indexes/tags/block-structure.json +1 -0
  490. package/embedded-knowledge/indexes/tags/blocks.json +1 -0
  491. package/embedded-knowledge/indexes/tags/boolean-expressions.json +1 -0
  492. package/embedded-knowledge/indexes/tags/branching.json +1 -0
  493. package/embedded-knowledge/indexes/tags/breaking-changes.json +1 -0
  494. package/embedded-knowledge/indexes/tags/breakpoints.json +1 -0
  495. package/embedded-knowledge/indexes/tags/business-foundation.json +1 -0
  496. package/embedded-knowledge/indexes/tags/business-infrastructure.json +1 -0
  497. package/embedded-knowledge/indexes/tags/business-process.json +1 -0
  498. package/embedded-knowledge/indexes/tags/business-rules.json +1 -0
  499. package/embedded-knowledge/indexes/tags/caching.json +1 -0
  500. package/embedded-knowledge/indexes/tags/case-statements.json +1 -0
  501. package/embedded-knowledge/indexes/tags/case.json +1 -0
  502. package/embedded-knowledge/indexes/tags/code-analysis.json +1 -0
  503. package/embedded-knowledge/indexes/tags/code-clarity.json +1 -0
  504. package/embedded-knowledge/indexes/tags/code-comprehension.json +1 -0
  505. package/embedded-knowledge/indexes/tags/code-conversion.json +1 -0
  506. package/embedded-knowledge/indexes/tags/code-formatting.json +1 -0
  507. package/embedded-knowledge/indexes/tags/code-organization.json +1 -0
  508. package/embedded-knowledge/indexes/tags/code-patterns.json +1 -0
  509. package/embedded-knowledge/indexes/tags/code-quality.json +1 -0
  510. package/embedded-knowledge/indexes/tags/code-reuse.json +1 -0
  511. package/embedded-knowledge/indexes/tags/code-simplification.json +1 -0
  512. package/embedded-knowledge/indexes/tags/code-standards.json +1 -0
  513. package/embedded-knowledge/indexes/tags/code-structure.json +1 -0
  514. package/embedded-knowledge/indexes/tags/code-style.json +1 -0
  515. package/embedded-knowledge/indexes/tags/codeunit-design.json +1 -0
  516. package/embedded-knowledge/indexes/tags/command-queue.json +1 -0
  517. package/embedded-knowledge/indexes/tags/comments.json +1 -0
  518. package/embedded-knowledge/indexes/tags/compile-time-validation.json +1 -0
  519. package/embedded-knowledge/indexes/tags/complex-facade.json +1 -0
  520. package/embedded-knowledge/indexes/tags/complexity-hiding.json +1 -0
  521. package/embedded-knowledge/indexes/tags/complexity-management.json +1 -0
  522. package/embedded-knowledge/indexes/tags/compound-statements.json +1 -0
  523. package/embedded-knowledge/indexes/tags/concurrency.json +1 -0
  524. package/embedded-knowledge/indexes/tags/conditional-logic.json +1 -0
  525. package/embedded-knowledge/indexes/tags/conditional.json +1 -0
  526. package/embedded-knowledge/indexes/tags/conflict-resolution.json +1 -0
  527. package/embedded-knowledge/indexes/tags/consistency.json +1 -0
  528. package/embedded-knowledge/indexes/tags/contract-design.json +1 -0
  529. package/embedded-knowledge/indexes/tags/control-flow.json +1 -0
  530. package/embedded-knowledge/indexes/tags/conversion-guide.json +1 -0
  531. package/embedded-knowledge/indexes/tags/correlation.json +1 -0
  532. package/embedded-knowledge/indexes/tags/custom-messages.json +1 -0
  533. package/embedded-knowledge/indexes/tags/data-access.json +1 -0
  534. package/embedded-knowledge/indexes/tags/data-exposure.json +1 -0
  535. package/embedded-knowledge/indexes/tags/data-integrity.json +1 -0
  536. package/embedded-knowledge/indexes/tags/data-loading.json +1 -0
  537. package/embedded-knowledge/indexes/tags/data-manipulation.json +1 -0
  538. package/embedded-knowledge/indexes/tags/data-modeling.json +1 -0
  539. package/embedded-knowledge/indexes/tags/data-patterns.json +1 -0
  540. package/embedded-knowledge/indexes/tags/data-protection.json +1 -0
  541. package/embedded-knowledge/indexes/tags/data-validation.json +1 -0
  542. package/embedded-knowledge/indexes/tags/database.json +1 -0
  543. package/embedded-knowledge/indexes/tags/debugging.json +1 -0
  544. package/embedded-knowledge/indexes/tags/decision-making.json +1 -0
  545. package/embedded-knowledge/indexes/tags/declaration.json +1 -0
  546. package/embedded-knowledge/indexes/tags/default-messages.json +1 -0
  547. package/embedded-knowledge/indexes/tags/defensive-programming.json +1 -0
  548. package/embedded-knowledge/indexes/tags/deleteall.json +1 -0
  549. package/embedded-knowledge/indexes/tags/dependencies.json +1 -0
  550. package/embedded-knowledge/indexes/tags/deployment.json +1 -0
  551. package/embedded-knowledge/indexes/tags/developer-productivity.json +1 -0
  552. package/embedded-knowledge/indexes/tags/development-workflow.json +1 -0
  553. package/embedded-knowledge/indexes/tags/diagnostics.json +1 -0
  554. package/embedded-knowledge/indexes/tags/dimensions.json +1 -0
  555. package/embedded-knowledge/indexes/tags/documentation.json +1 -0
  556. package/embedded-knowledge/indexes/tags/early-exit.json +1 -0
  557. package/embedded-knowledge/indexes/tags/else-clauses.json +1 -0
  558. package/embedded-knowledge/indexes/tags/end-statements.json +1 -0
  559. package/embedded-knowledge/indexes/tags/enterprise-patterns.json +1 -0
  560. package/embedded-knowledge/indexes/tags/entity-relationships.json +1 -0
  561. package/embedded-knowledge/indexes/tags/error-handling.json +1 -0
  562. package/embedded-knowledge/indexes/tags/error-messages.json +1 -0
  563. package/embedded-knowledge/indexes/tags/error-prevention.json +1 -0
  564. package/embedded-knowledge/indexes/tags/error-text.json +1 -0
  565. package/embedded-knowledge/indexes/tags/etag.json +1 -0
  566. package/embedded-knowledge/indexes/tags/event-bridge.json +1 -0
  567. package/embedded-knowledge/indexes/tags/event-payload.json +1 -0
  568. package/embedded-knowledge/indexes/tags/event-routing.json +1 -0
  569. package/embedded-knowledge/indexes/tags/events.json +1 -0
  570. package/embedded-knowledge/indexes/tags/execution-flow.json +1 -0
  571. package/embedded-knowledge/indexes/tags/expressions.json +1 -0
  572. package/embedded-knowledge/indexes/tags/extensibility.json +1 -0
  573. package/embedded-knowledge/indexes/tags/extensions.json +1 -0
  574. package/embedded-knowledge/indexes/tags/facade-composition.json +1 -0
  575. package/embedded-knowledge/indexes/tags/facade-pattern.json +1 -0
  576. package/embedded-knowledge/indexes/tags/field-control.json +1 -0
  577. package/embedded-knowledge/indexes/tags/field-exclusion.json +1 -0
  578. package/embedded-knowledge/indexes/tags/field-registration.json +1 -0
  579. package/embedded-knowledge/indexes/tags/field-state.json +1 -0
  580. package/embedded-knowledge/indexes/tags/field-validation.json +1 -0
  581. package/embedded-knowledge/indexes/tags/fielderror.json +1 -0
  582. package/embedded-knowledge/indexes/tags/fields.json +1 -0
  583. package/embedded-knowledge/indexes/tags/filtering.json +1 -0
  584. package/embedded-knowledge/indexes/tags/filters.json +1 -0
  585. package/embedded-knowledge/indexes/tags/formatting.json +1 -0
  586. package/embedded-knowledge/indexes/tags/generic-methods.json +1 -0
  587. package/embedded-knowledge/indexes/tags/http-status.json +1 -0
  588. package/embedded-knowledge/indexes/tags/if-statements.json +1 -0
  589. package/embedded-knowledge/indexes/tags/implementation.json +1 -0
  590. package/embedded-knowledge/indexes/tags/indentation.json +1 -0
  591. package/embedded-knowledge/indexes/tags/index-summary.json +277 -0
  592. package/embedded-knowledge/indexes/tags/indexing.json +1 -0
  593. package/embedded-knowledge/indexes/tags/inheritance.json +1 -0
  594. package/embedded-knowledge/indexes/tags/integration.json +1 -0
  595. package/embedded-knowledge/indexes/tags/integrity-checking.json +1 -0
  596. package/embedded-knowledge/indexes/tags/intellisense.json +1 -0
  597. package/embedded-knowledge/indexes/tags/interface-design.json +1 -0
  598. package/embedded-knowledge/indexes/tags/interface-segregation.json +1 -0
  599. package/embedded-knowledge/indexes/tags/isolation.json +1 -0
  600. package/embedded-knowledge/indexes/tags/job-processing.json +1 -0
  601. package/embedded-knowledge/indexes/tags/keyboard-navigation.json +1 -0
  602. package/embedded-knowledge/indexes/tags/keywords.json +1 -0
  603. package/embedded-knowledge/indexes/tags/legacy-modernization.json +1 -0
  604. package/embedded-knowledge/indexes/tags/line-breaks.json +1 -0
  605. package/embedded-knowledge/indexes/tags/line-organization.json +1 -0
  606. package/embedded-knowledge/indexes/tags/line-positioning.json +1 -0
  607. package/embedded-knowledge/indexes/tags/localization.json +1 -0
  608. package/embedded-knowledge/indexes/tags/logging.json +1 -0
  609. package/embedded-knowledge/indexes/tags/loose-coupling.json +1 -0
  610. package/embedded-knowledge/indexes/tags/maintainability.json +1 -0
  611. package/embedded-knowledge/indexes/tags/memory-management.json +1 -0
  612. package/embedded-knowledge/indexes/tags/memory-optimization.json +1 -0
  613. package/embedded-knowledge/indexes/tags/memory.json +1 -0
  614. package/embedded-knowledge/indexes/tags/message-design.json +1 -0
  615. package/embedded-knowledge/indexes/tags/message-formatting.json +1 -0
  616. package/embedded-knowledge/indexes/tags/message-patterns.json +1 -0
  617. package/embedded-knowledge/indexes/tags/metadata-driven.json +1 -0
  618. package/embedded-knowledge/indexes/tags/method-comparison.json +1 -0
  619. package/embedded-knowledge/indexes/tags/module-architecture.json +1 -0
  620. package/embedded-knowledge/indexes/tags/module-validation.json +1 -0
  621. package/embedded-knowledge/indexes/tags/monitoring.json +1 -0
  622. package/embedded-knowledge/indexes/tags/multi-layer-facade.json +1 -0
  623. package/embedded-knowledge/indexes/tags/multi-tenancy.json +1 -0
  624. package/embedded-knowledge/indexes/tags/multiple-values.json +1 -0
  625. package/embedded-knowledge/indexes/tags/naming-conventions.json +1 -0
  626. package/embedded-knowledge/indexes/tags/naming.json +1 -0
  627. package/embedded-knowledge/indexes/tags/navigation.json +1 -0
  628. package/embedded-knowledge/indexes/tags/nested-statements.json +1 -0
  629. package/embedded-knowledge/indexes/tags/no-series-conversion.json +1 -0
  630. package/embedded-knowledge/indexes/tags/no-series-validation.json +1 -0
  631. package/embedded-knowledge/indexes/tags/no-series.json +1 -0
  632. package/embedded-knowledge/indexes/tags/number-generation.json +1 -0
  633. package/embedded-knowledge/indexes/tags/object-documentation.json +1 -0
  634. package/embedded-knowledge/indexes/tags/odata.json +1 -0
  635. package/embedded-knowledge/indexes/tags/ondelete.json +1 -0
  636. package/embedded-knowledge/indexes/tags/onvalidate.json +1 -0
  637. package/embedded-knowledge/indexes/tags/operation-delegation.json +1 -0
  638. package/embedded-knowledge/indexes/tags/operation-safety.json +1 -0
  639. package/embedded-knowledge/indexes/tags/operators.json +1 -0
  640. package/embedded-knowledge/indexes/tags/optimization.json +1 -0
  641. package/embedded-knowledge/indexes/tags/order.json +1 -0
  642. package/embedded-knowledge/indexes/tags/organization.json +1 -0
  643. package/embedded-knowledge/indexes/tags/pages.json +1 -0
  644. package/embedded-knowledge/indexes/tags/parameters.json +1 -0
  645. package/embedded-knowledge/indexes/tags/patterns.json +1 -0
  646. package/embedded-knowledge/indexes/tags/performance-optimization.json +1 -0
  647. package/embedded-knowledge/indexes/tags/performance.json +1 -0
  648. package/embedded-knowledge/indexes/tags/placement.json +1 -0
  649. package/embedded-knowledge/indexes/tags/posting-codeunits.json +1 -0
  650. package/embedded-knowledge/indexes/tags/posting.json +1 -0
  651. package/embedded-knowledge/indexes/tags/preconditions.json +1 -0
  652. package/embedded-knowledge/indexes/tags/primary-key.json +1 -0
  653. package/embedded-knowledge/indexes/tags/privacy.json +1 -0
  654. package/embedded-knowledge/indexes/tags/process-automation.json +1 -0
  655. package/embedded-knowledge/indexes/tags/production.json +1 -0
  656. package/embedded-knowledge/indexes/tags/productivity.json +1 -0
  657. package/embedded-knowledge/indexes/tags/query-performance.json +1 -0
  658. package/embedded-knowledge/indexes/tags/queue-management.json +1 -0
  659. package/embedded-knowledge/indexes/tags/ranges.json +1 -0
  660. package/embedded-knowledge/indexes/tags/readability.json +1 -0
  661. package/embedded-knowledge/indexes/tags/record-access.json +1 -0
  662. package/embedded-knowledge/indexes/tags/record-methods.json +1 -0
  663. package/embedded-knowledge/indexes/tags/refactoring.json +1 -0
  664. package/embedded-knowledge/indexes/tags/reference.json +1 -0
  665. package/embedded-knowledge/indexes/tags/repeat-loops.json +1 -0
  666. package/embedded-knowledge/indexes/tags/repeat-statement.json +1 -0
  667. package/embedded-knowledge/indexes/tags/runtime-errors.json +1 -0
  668. package/embedded-knowledge/indexes/tags/runtime.json +1 -0
  669. package/embedded-knowledge/indexes/tags/safeguards.json +1 -0
  670. package/embedded-knowledge/indexes/tags/security.json +1 -0
  671. package/embedded-knowledge/indexes/tags/sequence-management.json +1 -0
  672. package/embedded-knowledge/indexes/tags/serialization.json +1 -0
  673. package/embedded-knowledge/indexes/tags/session-logmessage.json +1 -0
  674. package/embedded-knowledge/indexes/tags/session.json +1 -0
  675. package/embedded-knowledge/indexes/tags/setloadfields.json +1 -0
  676. package/embedded-knowledge/indexes/tags/shortcuts.json +1 -0
  677. package/embedded-knowledge/indexes/tags/sift.json +1 -0
  678. package/embedded-knowledge/indexes/tags/singleinstance.json +1 -0
  679. package/embedded-knowledge/indexes/tags/spacing.json +1 -0
  680. package/embedded-knowledge/indexes/tags/sql-translation.json +1 -0
  681. package/embedded-knowledge/indexes/tags/standards.json +1 -0
  682. package/embedded-knowledge/indexes/tags/statements.json +1 -0
  683. package/embedded-knowledge/indexes/tags/streaming.json +1 -0
  684. package/embedded-knowledge/indexes/tags/strong-typing.json +1 -0
  685. package/embedded-knowledge/indexes/tags/structural-patterns.json +1 -0
  686. package/embedded-knowledge/indexes/tags/structure.json +1 -0
  687. package/embedded-knowledge/indexes/tags/subscribers.json +1 -0
  688. package/embedded-knowledge/indexes/tags/switch.json +1 -0
  689. package/embedded-knowledge/indexes/tags/symbol-search.json +1 -0
  690. package/embedded-knowledge/indexes/tags/syntax.json +1 -0
  691. package/embedded-knowledge/indexes/tags/systemid.json +1 -0
  692. package/embedded-knowledge/indexes/tags/table-configuration.json +1 -0
  693. package/embedded-knowledge/indexes/tags/table-events.json +1 -0
  694. package/embedded-knowledge/indexes/tags/table-keys.json +1 -0
  695. package/embedded-knowledge/indexes/tags/table-safety.json +1 -0
  696. package/embedded-knowledge/indexes/tags/task-scheduler.json +1 -0
  697. package/embedded-knowledge/indexes/tags/telemetry.json +1 -0
  698. package/embedded-knowledge/indexes/tags/template-method.json +1 -0
  699. package/embedded-knowledge/indexes/tags/temporary-tables.json +1 -0
  700. package/embedded-knowledge/indexes/tags/testfield.json +1 -0
  701. package/embedded-knowledge/indexes/tags/tradeoffs.json +1 -0
  702. package/embedded-knowledge/indexes/tags/triggers.json +1 -0
  703. package/embedded-knowledge/indexes/tags/troubleshooting.json +1 -0
  704. package/embedded-knowledge/indexes/tags/type-safety.json +1 -0
  705. package/embedded-knowledge/indexes/tags/url-structure.json +1 -0
  706. package/embedded-knowledge/indexes/tags/user-experience.json +1 -0
  707. package/embedded-knowledge/indexes/tags/user-feedback.json +1 -0
  708. package/embedded-knowledge/indexes/tags/user-interface.json +1 -0
  709. package/embedded-knowledge/indexes/tags/validation-feedback.json +1 -0
  710. package/embedded-knowledge/indexes/tags/validation.json +1 -0
  711. package/embedded-knowledge/indexes/tags/variables.json +1 -0
  712. package/embedded-knowledge/indexes/tags/verbosity.json +1 -0
  713. package/embedded-knowledge/indexes/tags/vs-code.json +1 -0
  714. package/embedded-knowledge/indexes/tags/web-services.json +1 -0
  715. package/embedded-knowledge/indexes/tags/workflow-management.json +1 -0
  716. package/embedded-knowledge/indexes/tags/workflow-optimization.json +1 -0
  717. package/embedded-knowledge/indexes/tags/workflow-templates.json +1 -0
  718. package/embedded-knowledge/indexes/tags/workspace.json +1 -0
  719. package/embedded-knowledge/indexes/tags/xml-documentation.json +1 -0
  720. package/embedded-knowledge/indexes/topic-relationships.json +128 -0
  721. package/embedded-knowledge/methodologies/index.json +81 -0
  722. package/embedded-knowledge/methodologies/phases/analysis-full.md +208 -0
  723. package/embedded-knowledge/methodologies/phases/analysis-quick.md +44 -0
  724. package/embedded-knowledge/methodologies/phases/analysis.md +182 -0
  725. package/embedded-knowledge/methodologies/phases/execution-validation-full.md +174 -0
  726. package/embedded-knowledge/methodologies/phases/execution-validation-quick.md +31 -0
  727. package/embedded-knowledge/methodologies/phases/execution-validation.md +174 -0
  728. package/embedded-knowledge/methodologies/phases/performance-full.md +211 -0
  729. package/embedded-knowledge/methodologies/phases/performance-quick.md +32 -0
  730. package/embedded-knowledge/methodologies/phases/performance.md +211 -0
  731. package/embedded-knowledge/methodologies/phases/verification-full.md +162 -0
  732. package/embedded-knowledge/methodologies/phases/verification-quick.md +48 -0
  733. package/embedded-knowledge/methodologies/phases/verification.md +146 -0
  734. package/embedded-knowledge/methodologies/workflow-enforcement.md +142 -0
  735. package/embedded-knowledge/methodologies/workflows/code-review-workflow.md +99 -0
  736. package/embedded-knowledge/methodologies/workflows/proposal-review-workflow.md +535 -0
  737. package/embedded-knowledge/specialists/alex-architect.md +305 -0
  738. package/embedded-knowledge/specialists/casey-copilot.md +314 -0
  739. package/embedded-knowledge/specialists/chris-config.md +226 -0
  740. package/embedded-knowledge/specialists/dean-debug.md +365 -0
  741. package/embedded-knowledge/specialists/eva-errors.md +291 -0
  742. package/embedded-knowledge/specialists/jordan-bridge.md +291 -0
  743. package/embedded-knowledge/specialists/logan-legacy.md +265 -0
  744. package/embedded-knowledge/specialists/maya-mentor.md +299 -0
  745. package/embedded-knowledge/specialists/morgan-market.md +281 -0
  746. package/embedded-knowledge/specialists/parker-pragmatic.md +564 -0
  747. package/embedded-knowledge/specialists/quinn-tester.md +323 -0
  748. package/embedded-knowledge/specialists/roger-reviewer.md +317 -0
  749. package/embedded-knowledge/specialists/sam-coder.md +342 -0
  750. package/embedded-knowledge/specialists/seth-security.md +290 -0
  751. package/embedded-knowledge/specialists/taylor-docs.md +312 -0
  752. package/embedded-knowledge/specialists/uma-ux.md +291 -0
  753. 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