@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,146 @@
1
+ ---
2
+ title: "AL File Naming Conventions"
3
+ domain: ["sam-coder", "roger-reviewer"]
4
+ difficulty: "beginner"
5
+ bc_versions: "14+"
6
+ tags: ["file-naming", "conventions", "code-style", "organization"]
7
+ type: "improvement-pattern"
8
+ category: "code-organization"
9
+ pattern_type: "good"
10
+ severity: "high"
11
+ impact_level: "medium"
12
+ improvement_suggestion: "Apply consistent AL file naming conventions following alguidelines.dev standards"
13
+ implementation_steps: ["identify-object-name", "apply-object-type-suffix", "validate-naming-pattern"]
14
+ validation_criteria: ["consistent-naming-application", "standards-compliance"]
15
+ technical_areas: ["al-code", "file-organization"]
16
+ related_topics: ["al-variable-naming-conventions", "al-standard-abbreviations"]
17
+ ---
18
+
19
+ # AL File Naming Conventions
20
+
21
+ ## Overview
22
+
23
+ AL file naming conventions ensure consistent project organization and improve developer experience. Following standardized patterns makes codebases more maintainable and professional.
24
+
25
+ **Source**: Based on [alguidelines.dev Rule #2: File Naming Conventions](https://alguidelines.dev/docs/vibe-coding/al-naming-conventions/)
26
+
27
+ **Key Principle**: File names should be descriptive and match the AL object name within the files using the pattern `<ObjectName>.<ObjectType>.al`.
28
+
29
+ ## Standard File Naming Pattern
30
+
31
+ ### Core Pattern: `<ObjectName>.<ObjectType>.al`
32
+
33
+ **Table Extensions:**
34
+ ```
35
+ ✅ CORRECT: CustomerExt.TableExt.al
36
+ ✅ CORRECT: SalesHeaderExt.TableExt.al
37
+ ❌ WRONG: Tab-Ext50100.CustomerExt.al
38
+ ❌ WRONG: TableExt50100.CustomerExt.al
39
+ ```
40
+
41
+ **Page Extensions:**
42
+ ```
43
+ ✅ CORRECT: CustomerCardExt.PageExt.al
44
+ ✅ CORRECT: InventorySetupExt.PageExt.al
45
+ ❌ WRONG: Pag-Ext50100.CustomerCardExt.al
46
+ ❌ WRONG: PageExt50100.CustomerCardExt.al
47
+ ```
48
+
49
+ **Codeunits:**
50
+ ```
51
+ ✅ CORRECT: CustomerCommentsManager.Codeunit.al
52
+ ✅ CORRECT: PostSalesInvoice.Codeunit.al
53
+ ❌ WRONG: Cod50100.CustomerCommentsManager.al
54
+ ❌ WRONG: Codeunit50100.CustomerCommentsManager.al
55
+ ```
56
+
57
+ **Event Subscribers:**
58
+ ```
59
+ ✅ CORRECT: SalesEventsSubscriber.Codeunit.al
60
+ ✅ CORRECT: CustomerEventsHandler.Codeunit.al
61
+ ```
62
+
63
+ ## Object Type Suffixes
64
+
65
+ ### Standard Suffixes
66
+ - **Tables**: `.Table.al`
67
+ - **Table Extensions**: `.TableExt.al`
68
+ - **Pages**: `.Page.al`
69
+ - **Page Extensions**: `.PageExt.al`
70
+ - **Page Customizations**: `.PageCust.al`
71
+ - **Reports**: `.Report.al`
72
+ - **Report Extensions**: `.ReportExt.al`
73
+ - **Codeunits**: `.Codeunit.al`
74
+ - **Queries**: `.Query.al`
75
+ - **XMLports**: `.XMLport.al`
76
+ - **Enums**: `.Enum.al`
77
+ - **Enum Extensions**: `.EnumExt.al`
78
+ - **Interfaces**: `.Interface.al`
79
+ - **Control Add-ins**: `.ControlAddin.al`
80
+ - **Dotnet**: `.Dotnet.al`
81
+ - **Profiles**: `.Profile.al`
82
+ - **Permission Sets**: `.PermissionSet.al`
83
+ - **Permission Set Extensions**: `.PermissionSetExt.al`
84
+
85
+ ## Best Practices
86
+
87
+ ### Object Name Guidelines
88
+ - **Use Pascal Case**: CustomerCommentsManager (not customercommentsmanager)
89
+ - **Be Descriptive**: Clearly indicate object purpose
90
+ - **Avoid Abbreviations**: Use full words unless standard BC terms
91
+ - **Include Context**: For extensions, indicate what you're extending
92
+
93
+ ### Organization Patterns
94
+ - **Logical Grouping**: Group related objects by business domain
95
+ - **Consistent Prefixes**: Use company/solution prefixes consistently
96
+ - **Module Structure**: Organize files into logical modules or folders
97
+
98
+ ### Extension-Specific Naming
99
+ - **Table Extensions**: `[TableName]Ext.TableExt.al`
100
+ - **Page Extensions**: `[PageName]Ext.PageExt.al`
101
+ - **Clear Extension Purpose**: When extending for specific features, include context
102
+
103
+ ## Anti-Patterns to Avoid
104
+
105
+ ### Legacy/Incorrect Patterns
106
+ ```
107
+ ❌ Tab-Ext50000.CustomerExt.al // Old NAV-style naming
108
+ ❌ TableExt50000.CustomerExt.al // Object ID in filename
109
+ ❌ CustomerExt-50000.al // Mixed patterns
110
+ ❌ customer_ext.table_ext.al // Underscore notation
111
+ ❌ CustomerExtension.TableExtension.al // Verbose suffixes
112
+ ```
113
+
114
+ ### Why These Are Wrong
115
+ - **Object IDs in Filenames**: IDs change, names are stable
116
+ - **Abbreviated Prefixes**: "Tab-Ext" is non-standard and unclear
117
+ - **Inconsistent Casing**: Makes files hard to locate and sort
118
+ - **Verbose Extensions**: ".TableExtension" is unnecessarily long
119
+
120
+ ## Implementation Strategy
121
+
122
+ ### File Naming Checklist
123
+ 1. **Identify Object Name**: Use the actual AL object name from inside the file
124
+ 2. **Apply Correct Suffix**: Use standard `.ObjectType.al` pattern
125
+ 3. **Validate Consistency**: Ensure all project files follow same convention
126
+ 4. **Update References**: Check that any references or documentation align
127
+
128
+ ### Refactoring Existing Projects
129
+ - **Rename Systematically**: Update all files to follow standard pattern
130
+ - **Update Git History**: Consider preserving file history during renames
131
+ - **Team Communication**: Ensure all team members understand new conventions
132
+ - **Tool Configuration**: Update any build scripts or tools that reference filenames
133
+
134
+ ## Integration with Development Tools
135
+
136
+ ### VS Code Integration
137
+ - **File Explorer Sorting**: Consistent naming improves file navigation
138
+ - **Search and Replace**: Standard patterns make project-wide changes easier
139
+ - **Extensions**: AL Language extension works better with standard naming
140
+
141
+ ### Source Control Benefits
142
+ - **File Tracking**: Consistent naming improves change tracking
143
+ - **Merge Conflicts**: Reduced conflicts from naming inconsistencies
144
+ - **Review Process**: Easier code review with predictable file organization
145
+
146
+ *This is a foundational standard that affects all AL development. Proper file naming is the first step toward professional, maintainable Business Central extensions.*
@@ -0,0 +1,79 @@
1
+ ---
2
+ title: "AL XML Documentation Comment Structure for Objects"
3
+ domain: "taylor-docs"
4
+ difficulty: "intermediate"
5
+ bc_versions: "18+"
6
+ tags: ["xml-documentation", "intellisense", "api-documentation", "object-documentation"]
7
+ prerequisites: ["al-objects", "xml-basics"]
8
+ ---
9
+ # AL XML Documentation Comment Structure for Objects
10
+
11
+ ## Overview
12
+
13
+ XML documentation comments in AL provide structured metadata for objects that enhances IntelliSense, generates API documentation, and improves developer experience. These comments follow standard XML documentation patterns with BC-specific extensions.
14
+
15
+ **Key Benefit**: Properly structured XML comments automatically generate contextual help and improve code discoverability through enhanced IntelliSense support.
16
+
17
+ ## Strategic Framework
18
+
19
+ ### Documentation Scope
20
+ - **Public APIs**: Essential for procedures exposed to other extensions
21
+ - **Complex objects**: Tables, pages, and reports with business significance
22
+ - **Integration points**: Objects used in external system interactions
23
+ - **Reusable components**: Libraries and utility functions
24
+
25
+ ### Content Strategy
26
+ - **Purpose description**: Clear explanation of object functionality
27
+ - **Usage examples**: Common implementation patterns
28
+ - **Parameter details**: Input/output specifications with types and constraints
29
+ - **Business context**: How the object fits in larger business processes
30
+
31
+ ## Architecture Patterns
32
+
33
+ ### Object-Level Documentation
34
+ Place comprehensive XML documentation above object declarations using triple-slash comments. Include summary, purpose, and key usage patterns for the object.
35
+
36
+ ### Procedure Documentation Structure
37
+ Document public procedures with summary, parameter descriptions, return values, and relevant examples. Use consistent tag structure across all documented procedures.
38
+
39
+ ### Property and Field Documentation
40
+ Document important properties and fields with brief but clear descriptions focusing on business meaning and valid values.
41
+
42
+ ## XML Tag Standards
43
+
44
+ ### Core Documentation Tags
45
+ - **&lt;summary&gt;**: Brief object or procedure description
46
+ - **&lt;param&gt;**: Parameter documentation with name attribute
47
+ - **&lt;returns&gt;**: Return value description for functions
48
+ - **&lt;example&gt;**: Usage examples in appropriate contexts
49
+ - **&lt;remarks&gt;**: Additional implementation details or constraints
50
+
51
+ ### BC-Specific Considerations
52
+ Include version compatibility information, permission requirements, and integration considerations in remarks sections when relevant to object usage.
53
+
54
+ ## Best Practices
55
+
56
+ ### Documentation Quality
57
+ - **Complete coverage**: Document all public interfaces consistently
58
+ - **Clear language**: Use precise business terminology
59
+ - **Accurate information**: Maintain documentation accuracy with code changes
60
+ - **Meaningful examples**: Provide realistic usage scenarios
61
+
62
+ ### Maintenance Strategy
63
+ - **Version control**: Track documentation changes with code updates
64
+ - **Review process**: Include documentation review in code review workflow
65
+ - **Consistency checks**: Maintain uniform documentation patterns across objects
66
+ - **Automated validation**: Use tools to verify documentation completeness
67
+
68
+ ### IntelliSense Optimization
69
+ Structure documentation to provide maximum value in development environments. Focus on information developers need when consuming your objects.
70
+
71
+ ## Anti-Patterns
72
+
73
+ ### Avoid These Approaches
74
+ - **Minimal documentation**: Incomplete or placeholder documentation
75
+ - **Copy-paste descriptions**: Generic descriptions that don't match functionality
76
+ - **Outdated information**: Documentation that doesn't reflect current implementation
77
+ - **Excessive detail**: Over-documenting simple, self-evident functionality
78
+ - **Missing parameter info**: Undocumented parameters in complex procedures
79
+
@@ -0,0 +1,78 @@
1
+ ---
2
+ title: "Business Central Action Shortcut Key Syntax and Implementation"
3
+ domain: "uma-ux"
4
+ difficulty: "intermediate"
5
+ bc_versions: "14+"
6
+ tags: ["shortcuts", "actions", "user-interface", "accessibility", "keyboard-navigation"]
7
+ prerequisites: ["bc-actions", "page-design"]
8
+ ---
9
+ # Business Central Action Shortcut Key Syntax and Implementation
10
+
11
+ ## Overview
12
+
13
+ Action shortcut keys in Business Central provide keyboard-driven access to page actions, improving user productivity and accessibility. Proper shortcut implementation follows specific syntax patterns and considers user workflow optimization.
14
+
15
+ **Key Benefit**: Well-designed keyboard shortcuts significantly reduce mouse dependency and enable power users to navigate Business Central applications more efficiently.
16
+
17
+ ## Strategic Framework
18
+
19
+ ### Shortcut Design Principles
20
+ - **Intuitive mapping**: Use logical key combinations that match action purpose
21
+ - **Standard conventions**: Follow Windows application shortcut patterns
22
+ - **Conflict avoidance**: Prevent conflicts with BC system shortcuts
23
+ - **Accessibility compliance**: Support screen readers and accessibility tools
24
+
25
+ ### Implementation Strategy
26
+ - **Primary actions**: Assign shortcuts to most frequently used operations
27
+ - **Logical grouping**: Use consistent modifier keys for related action types
28
+ - **User discovery**: Make shortcuts visible in action tooltips and help
29
+ - **Context awareness**: Consider page-specific vs. global shortcut scope
30
+
31
+ ## Architecture Patterns
32
+
33
+ ### Action Shortcut Syntax
34
+ Define keyboard shortcuts using the ShortcutKey property on action objects. Use standard modifier key combinations (Ctrl, Alt, Shift) with alphanumeric keys for optimal compatibility.
35
+
36
+ ### Modifier Key Conventions
37
+ Follow established patterns for modifier key usage: Ctrl for primary actions, Alt for navigation, Shift for selection modifications, and F-keys for special functions.
38
+
39
+ ### Contextual Shortcuts
40
+ Implement page-specific shortcuts that enhance workflow efficiency without conflicting with global BC shortcuts or standard Windows conventions.
41
+
42
+ ## Implementation Guidelines
43
+
44
+ ### Standard Shortcut Patterns
45
+ - **Save operations**: Ctrl+S for document saving actions
46
+ - **Navigation shortcuts**: F2, F3, F4 for lookup, next/previous operations
47
+ - **Edit actions**: F2 for rename, Delete for remove operations
48
+ - **Custom shortcuts**: Alt+letter combinations for page-specific actions
49
+
50
+ ### Accessibility Considerations
51
+ Ensure all interactive elements remain accessible via keyboard navigation. Provide visual indicators for shortcut availability and maintain focus management consistency.
52
+
53
+ ### User Experience Optimization
54
+ Design shortcuts to support common user workflows and reduce repetitive mouse actions. Consider user skill levels and provide progressive shortcut complexity.
55
+
56
+ ## Best Practices
57
+
58
+ ### Shortcut Assignment Strategy
59
+ - **Frequency-based priority**: Assign best shortcuts to most-used actions
60
+ - **Mnemonic associations**: Use letters that relate to action names when possible
61
+ - **Consistency across pages**: Maintain similar shortcut patterns for similar actions
62
+ - **Documentation integration**: Include shortcuts in user documentation and training
63
+
64
+ ### Testing and Validation
65
+ Thoroughly test shortcut functionality across different browsers and devices. Verify no conflicts exist with BC system shortcuts or accessibility tools.
66
+
67
+ ### User Communication
68
+ Clearly display shortcut keys in action tooltips, help documentation, and user training materials to promote adoption and efficiency gains.
69
+
70
+ ## Anti-Patterns
71
+
72
+ ### Avoid These Approaches
73
+ - **Conflicting assignments**: Using shortcuts that interfere with BC or Windows standards
74
+ - **Obscure combinations**: Complex key combinations that are difficult to remember
75
+ - **Inconsistent patterns**: Different shortcut styles across related pages or actions
76
+ - **Missing accessibility**: Shortcuts that don't work with screen readers or keyboard navigation
77
+ - **Undocumented shortcuts**: Hidden shortcuts that users can't discover
78
+
@@ -0,0 +1,81 @@
1
+ ---
2
+ title: "Shortcut Key User Experience Design in Business Central Applications"
3
+ domain: "uma-ux"
4
+ difficulty: "intermediate"
5
+ bc_versions: "14+"
6
+ tags: ["user-experience", "shortcuts", "workflow-optimization", "productivity", "interface-design"]
7
+ prerequisites: ["user-interface-design", "bc-actions"]
8
+ ---
9
+ # Shortcut Key User Experience Design in Business Central Applications
10
+
11
+ ## Overview
12
+
13
+ Strategic shortcut key design enhances user productivity by reducing repetitive actions, accelerating common workflows, and providing power users with efficient navigation paths through Business Central applications.
14
+
15
+ **UX Principle**: Effective shortcuts should feel natural to discover, easy to remember, and significantly faster than their mouse-driven equivalents while maintaining consistency with user expectations.
16
+
17
+ ## Strategic Framework
18
+
19
+ ### User-Centered Design Approach
20
+ - **Workflow analysis**: Map common user tasks to identify shortcut opportunities
21
+ - **Frequency-based prioritization**: Assign optimal key combinations to most-used actions
22
+ - **Progressive disclosure**: Layer shortcuts from basic to advanced user needs
23
+ - **Contextual relevance**: Provide shortcuts that match current page or task context
24
+
25
+ ### Cognitive Load Optimization
26
+ - **Memorable patterns**: Use logical associations between keys and actions
27
+ - **Consistent grouping**: Apply similar modifier keys for related action categories
28
+ - **Visual reinforcement**: Display shortcuts in tooltips and help text
29
+ - **Gradual learning**: Support users transitioning from mouse to keyboard workflows
30
+
31
+ ## Architecture Patterns
32
+
33
+ ### Workflow-Optimized Shortcuts
34
+ Design shortcut sequences that mirror natural user task flows, reducing the number of interactions required to complete common operations.
35
+
36
+ ### Context-Sensitive Implementation
37
+ Implement shortcuts that adapt to current page context while maintaining global consistency for universal actions like save, cancel, and navigation.
38
+
39
+ ### Progressive Complexity Design
40
+ Layer shortcuts from simple single-key operations for beginners to complex modifier combinations for power users, enabling skill progression.
41
+
42
+ ## Implementation Guidelines
43
+
44
+ ### User Task Analysis
45
+ - **Primary workflows**: Identify and optimize most frequent user operations
46
+ - **Task sequences**: Create shortcuts for complete task flows, not just individual actions
47
+ - **Role-based design**: Consider different user types and their specific workflow needs
48
+ - **Efficiency metrics**: Measure time savings and user satisfaction improvements
49
+
50
+ ### Discoverability Strategy
51
+ - **Visual cues**: Display shortcut hints in appropriate interface locations
52
+ - **Help integration**: Include shortcuts in contextual help and documentation
53
+ - **Progressive revelation**: Show advanced shortcuts as users demonstrate proficiency
54
+ - **Customization options**: Allow users to modify shortcuts for personal preferences
55
+
56
+ ### Feedback and Confirmation
57
+ Provide clear feedback when shortcuts are activated, especially for actions that aren't immediately visible or have delayed effects.
58
+
59
+ ## Best Practices
60
+
61
+ ### User Adoption Strategy
62
+ - **Training integration**: Include shortcuts in user onboarding and training materials
63
+ - **Tooltip inclusion**: Show shortcuts in action tooltips for easy discovery
64
+ - **Status feedback**: Confirm shortcut actions with appropriate visual or audio cues
65
+ - **Error handling**: Provide helpful messages for invalid shortcut attempts
66
+
67
+ ### Performance Optimization
68
+ Design shortcuts to eliminate unnecessary page loads, reduce server requests, and minimize user wait times for common operations.
69
+
70
+ ### Cross-Platform Consistency
71
+ Ensure shortcuts work consistently across different browsers and devices while respecting platform-specific conventions.
72
+
73
+ ## Anti-Patterns
74
+
75
+ ### Avoid These Approaches
76
+ - **Overcomplex combinations**: Shortcuts requiring difficult finger positions or timing
77
+ - **Hidden functionality**: Critical actions only accessible via undocumented shortcuts
78
+ - **Inconsistent behavior**: Same shortcuts performing different actions in different contexts
79
+ - **Conflict creation**: Shortcuts that interfere with browser or OS standard combinations
80
+ - **No visual feedback**: Actions that execute without confirming to the user what happened
81
+
@@ -0,0 +1,188 @@
1
+ {
2
+ "bc_version_compatibility": {
3
+ "version_ranges": {
4
+ "14+": {
5
+ "description": "Business Central 2019 Release Wave 2 and later",
6
+ "supported_topics": 87,
7
+ "percentage": 100,
8
+ "key_features": [
9
+ "AL development platform",
10
+ "Extension framework",
11
+ "Modern web client",
12
+ "SIFT technology",
13
+ "FlowField optimization",
14
+ "SetLoadFields method",
15
+ "Basic telemetry"
16
+ ]
17
+ },
18
+ "15+": {
19
+ "description": "Business Central 2020 Release Wave 1 and later",
20
+ "supported_topics": 82,
21
+ "percentage": 94.2,
22
+ "key_features": [
23
+ "Enhanced telemetry",
24
+ "Improved API performance",
25
+ "Advanced error handling",
26
+ "Performance counters"
27
+ ]
28
+ },
29
+ "16+": {
30
+ "description": "Business Central 2020 Release Wave 2 and later",
31
+ "supported_topics": 78,
32
+ "percentage": 89.7,
33
+ "key_features": [
34
+ "Page background tasks",
35
+ "Enhanced debugging",
36
+ "Performance improvements",
37
+ "REST API enhancements"
38
+ ]
39
+ },
40
+ "18+": {
41
+ "description": "Business Central 2021 Release Wave 1 and later",
42
+ "supported_topics": 65,
43
+ "percentage": 74.7,
44
+ "key_features": [
45
+ "Advanced SIFT configuration",
46
+ "Enhanced performance monitoring",
47
+ "Improved batch processing",
48
+ "Modern authentication"
49
+ ]
50
+ },
51
+ "19+": {
52
+ "description": "Business Central 2021 Release Wave 2 and later",
53
+ "supported_topics": 55,
54
+ "percentage": 63.2,
55
+ "key_features": [
56
+ "Performance analytics",
57
+ "Advanced caching",
58
+ "Memory optimization features",
59
+ "Enhanced integration patterns"
60
+ ]
61
+ },
62
+ "20+": {
63
+ "description": "Business Central 2022 Release Wave 1 and later",
64
+ "supported_topics": 42,
65
+ "percentage": 48.3,
66
+ "key_features": [
67
+ "Cloud performance optimizations",
68
+ "Advanced telemetry dimensions",
69
+ "AI-assisted development",
70
+ "Modern web service patterns"
71
+ ]
72
+ },
73
+ "21+": {
74
+ "description": "Business Central 2022 Release Wave 2 and later",
75
+ "supported_topics": 35,
76
+ "percentage": 40.2,
77
+ "key_features": [
78
+ "Enhanced cloud integration",
79
+ "Advanced performance profiling",
80
+ "Modern API patterns",
81
+ "Intelligent caching"
82
+ ]
83
+ },
84
+ "22+": {
85
+ "description": "Business Central 2023 Release Wave 1 and later",
86
+ "supported_topics": 28,
87
+ "percentage": 32.2,
88
+ "key_features": [
89
+ "Next-generation performance tools",
90
+ "Advanced monitoring capabilities",
91
+ "Cloud-native optimizations",
92
+ "Enhanced developer experience"
93
+ ]
94
+ }
95
+ },
96
+ "feature_evolution": {
97
+ "sift_technology": {
98
+ "bc14": "Basic SIFT with manual configuration",
99
+ "bc16": "Enhanced SIFT performance monitoring",
100
+ "bc18": "Advanced SIFT analytics and optimization",
101
+ "bc20": "Cloud-optimized SIFT patterns",
102
+ "bc22": "AI-assisted SIFT configuration"
103
+ },
104
+ "performance_monitoring": {
105
+ "bc14": "Basic telemetry and logging",
106
+ "bc15": "Enhanced performance counters",
107
+ "bc18": "Advanced monitoring dashboards",
108
+ "bc20": "Cloud performance analytics",
109
+ "bc22": "Predictive performance optimization"
110
+ },
111
+ "api_performance": {
112
+ "bc14": "Basic OData and SOAP optimization",
113
+ "bc16": "Enhanced REST API performance",
114
+ "bc18": "Advanced caching strategies",
115
+ "bc20": "Cloud-native API patterns",
116
+ "bc22": "AI-optimized API performance"
117
+ }
118
+ },
119
+ "backward_compatibility": {
120
+ "breaking_changes": [
121
+ {
122
+ "version": "BC18",
123
+ "impact": "SetLoadFields behavior changes",
124
+ "affected_topics": ["setloadfields-optimization", "memory-optimization"],
125
+ "migration_path": "Update field loading patterns for new behavior"
126
+ },
127
+ {
128
+ "version": "BC20",
129
+ "impact": "SIFT configuration changes",
130
+ "affected_topics": ["sift-configuration", "maintainsiftindex-property-behavior"],
131
+ "migration_path": "Review and update SIFT settings for cloud optimization"
132
+ }
133
+ ],
134
+ "deprecated_features": [
135
+ {
136
+ "version": "BC19",
137
+ "feature": "Legacy telemetry methods",
138
+ "replacement": "Modern telemetry framework",
139
+ "sunset_version": "BC24"
140
+ }
141
+ ]
142
+ },
143
+ "version_specific_topics": {
144
+ "bc14_only": [
145
+ "legacy-performance-patterns",
146
+ "classic-client-optimization"
147
+ ],
148
+ "bc18_plus": [
149
+ "advanced-sift-analytics",
150
+ "cloud-performance-monitoring",
151
+ "modern-caching-strategies"
152
+ ],
153
+ "bc20_plus": [
154
+ "predictive-performance-optimization",
155
+ "ai-assisted-tuning",
156
+ "cloud-native-patterns"
157
+ ]
158
+ }
159
+ },
160
+ "compatibility_testing": {
161
+ "test_matrix": {
162
+ "performance_topics": {
163
+ "tested_versions": ["BC14", "BC16", "BC18", "BC20", "BC22"],
164
+ "success_rate": 98.2,
165
+ "known_issues": 3,
166
+ "last_tested": "2025-09-03"
167
+ },
168
+ "validation_topics": {
169
+ "tested_versions": ["BC14", "BC16", "BC18", "BC20"],
170
+ "success_rate": 99.1,
171
+ "known_issues": 1,
172
+ "last_tested": "2025-09-03"
173
+ }
174
+ },
175
+ "testing_methodology": {
176
+ "compilation_test": "All AL code examples tested for compilation across supported versions",
177
+ "functionality_test": "Core functionality verified in representative BC environments",
178
+ "performance_validation": "Performance characteristics validated under realistic conditions"
179
+ }
180
+ },
181
+ "metadata": {
182
+ "generated_at": "2025-09-03T00:00:00Z",
183
+ "total_topics_analyzed": 87,
184
+ "versions_covered": 8,
185
+ "compatibility_score": 94.7,
186
+ "next_review_date": "2025-12-01"
187
+ }
188
+ }
@@ -0,0 +1,106 @@
1
+ {
2
+ "domains": {
3
+ "performance": {
4
+ "title": "Business Central Performance Optimization",
5
+ "description": "Comprehensive performance optimization patterns, techniques, and best practices for Business Central development",
6
+ "topic_count": 34,
7
+ "subdirectories": [
8
+ "sift-technology",
9
+ "sift-configuration",
10
+ "queries",
11
+ "data-access",
12
+ "field-loading",
13
+ "events",
14
+ "telemetry",
15
+ "optimization",
16
+ "optimization-decisions"
17
+ ],
18
+ "key_topics": [
19
+ "sift-technology-fundamentals",
20
+ "maintainsiftindex-property-behavior",
21
+ "query-performance-patterns",
22
+ "flowfield-optimization",
23
+ "performance-monitoring",
24
+ "batch-processing-optimization",
25
+ "memory-optimization",
26
+ "api-performance",
27
+ "page-performance",
28
+ "storage-optimization"
29
+ ],
30
+ "difficulty_levels": {
31
+ "beginner": 5,
32
+ "intermediate": 20,
33
+ "advanced": 9
34
+ },
35
+ "tags": ["performance", "optimization", "sift", "queries", "memory", "caching", "monitoring"],
36
+ "sample_files": 17
37
+ },
38
+ "architecture": {
39
+ "title": "BC Architecture and Design Patterns",
40
+ "description": "Architectural patterns, design principles, and structural guidance for Business Central solutions",
41
+ "topic_count": 15,
42
+ "subdirectories": ["events", "extensions", "integration"],
43
+ "key_topics": ["extension-patterns", "event-architecture", "integration-patterns"],
44
+ "difficulty_levels": {"beginner": 3, "intermediate": 8, "advanced": 4},
45
+ "tags": ["architecture", "events", "extensions", "integration"]
46
+ },
47
+ "data-access": {
48
+ "title": "BC Data Access and Manipulation",
49
+ "description": "Data access patterns, table operations, and database interaction best practices",
50
+ "topic_count": 12,
51
+ "subdirectories": ["table-operations", "field-access", "queries"],
52
+ "key_topics": ["deleteall-patterns", "setloadfields-optimization", "table-safety"],
53
+ "difficulty_levels": {"beginner": 4, "intermediate": 6, "advanced": 2},
54
+ "tags": ["data-access", "tables", "queries", "safety"]
55
+ },
56
+ "validation": {
57
+ "title": "BC Validation and Error Handling",
58
+ "description": "Validation patterns, error handling strategies, and data integrity approaches",
59
+ "topic_count": 18,
60
+ "subdirectories": ["error-handling", "field-validation", "business-rules"],
61
+ "key_topics": ["fielderror-patterns", "testfield-usage", "validation-strategies"],
62
+ "difficulty_levels": {"beginner": 6, "intermediate": 8, "advanced": 4},
63
+ "tags": ["validation", "error-handling", "data-integrity", "business-rules"]
64
+ },
65
+ "api": {
66
+ "title": "BC API Development and Integration",
67
+ "description": "API design patterns, web service development, and external integration approaches",
68
+ "topic_count": 8,
69
+ "subdirectories": ["web-services", "odata", "rest-apis"],
70
+ "key_topics": ["api-design-patterns", "odata-optimization", "web-service-patterns"],
71
+ "difficulty_levels": {"beginner": 2, "intermediate": 4, "advanced": 2},
72
+ "tags": ["api", "web-services", "integration", "odata"]
73
+ }
74
+ },
75
+ "global_statistics": {
76
+ "total_atomic_topics": 87,
77
+ "total_domains": 5,
78
+ "total_sample_files": 25,
79
+ "average_topics_per_domain": 17.4,
80
+ "most_common_tags": [
81
+ {"tag": "performance", "count": 11},
82
+ {"tag": "validation", "count": 11},
83
+ {"tag": "optimization", "count": 7},
84
+ {"tag": "error-handling", "count": 6},
85
+ {"tag": "fielderror", "count": 6},
86
+ {"tag": "telemetry", "count": 6}
87
+ ],
88
+ "difficulty_distribution": {
89
+ "beginner": 20,
90
+ "intermediate": 46,
91
+ "advanced": 21
92
+ },
93
+ "bc_version_support": {
94
+ "14+": 87,
95
+ "18+": 15,
96
+ "20+": 8
97
+ }
98
+ },
99
+ "generation_metadata": {
100
+ "generated_at": "2025-09-03T00:00:00Z",
101
+ "pipeline_version": "BookParse-v2",
102
+ "atomic_topics_validated": true,
103
+ "tag_indexes_generated": 153,
104
+ "quality_score": 92
105
+ }
106
+ }