@ai-coders/context 0.4.0 → 0.5.0

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 (403) hide show
  1. package/README.md +260 -22
  2. package/dist/fragments/compose.d.ts +30 -0
  3. package/dist/fragments/compose.d.ts.map +1 -0
  4. package/dist/fragments/compose.js +274 -0
  5. package/dist/fragments/compose.js.map +1 -0
  6. package/dist/fragments/extractors/index.d.ts +26 -0
  7. package/dist/fragments/extractors/index.d.ts.map +1 -0
  8. package/dist/fragments/extractors/index.js +58 -0
  9. package/dist/fragments/extractors/index.js.map +1 -0
  10. package/dist/fragments/extractors/module.d.ts +12 -0
  11. package/dist/fragments/extractors/module.d.ts.map +1 -0
  12. package/dist/fragments/extractors/module.js +302 -0
  13. package/dist/fragments/extractors/module.js.map +1 -0
  14. package/dist/fragments/extractors/project.d.ts +12 -0
  15. package/dist/fragments/extractors/project.d.ts.map +1 -0
  16. package/dist/fragments/extractors/project.js +274 -0
  17. package/dist/fragments/extractors/project.js.map +1 -0
  18. package/dist/fragments/extractors/semantic.d.ts +12 -0
  19. package/dist/fragments/extractors/semantic.d.ts.map +1 -0
  20. package/dist/fragments/extractors/semantic.js +329 -0
  21. package/dist/fragments/extractors/semantic.js.map +1 -0
  22. package/dist/fragments/index.d.ts +47 -0
  23. package/dist/fragments/index.d.ts.map +1 -0
  24. package/dist/fragments/index.js +75 -0
  25. package/dist/fragments/index.js.map +1 -0
  26. package/dist/fragments/query.d.ts +101 -0
  27. package/dist/fragments/query.d.ts.map +1 -0
  28. package/dist/fragments/query.js +200 -0
  29. package/dist/fragments/query.js.map +1 -0
  30. package/dist/fragments/render/compact.d.ts +15 -0
  31. package/dist/fragments/render/compact.d.ts.map +1 -0
  32. package/dist/fragments/render/compact.js +209 -0
  33. package/dist/fragments/render/compact.js.map +1 -0
  34. package/dist/fragments/render/index.d.ts +17 -0
  35. package/dist/fragments/render/index.d.ts.map +1 -0
  36. package/dist/fragments/render/index.js +40 -0
  37. package/dist/fragments/render/index.js.map +1 -0
  38. package/dist/fragments/render/json.d.ts +9 -0
  39. package/dist/fragments/render/json.d.ts.map +1 -0
  40. package/dist/fragments/render/json.js +44 -0
  41. package/dist/fragments/render/json.js.map +1 -0
  42. package/dist/fragments/render/markdown.d.ts +9 -0
  43. package/dist/fragments/render/markdown.d.ts.map +1 -0
  44. package/dist/fragments/render/markdown.js +291 -0
  45. package/dist/fragments/render/markdown.js.map +1 -0
  46. package/dist/fragments/store.d.ts +49 -0
  47. package/dist/fragments/store.d.ts.map +1 -0
  48. package/dist/fragments/store.js +161 -0
  49. package/dist/fragments/store.js.map +1 -0
  50. package/dist/fragments/types.d.ts +241 -0
  51. package/dist/fragments/types.d.ts.map +1 -0
  52. package/dist/fragments/types.js +8 -0
  53. package/dist/fragments/types.js.map +1 -0
  54. package/dist/generators/agents/agentGenerator.d.ts +8 -1
  55. package/dist/generators/agents/agentGenerator.d.ts.map +1 -1
  56. package/dist/generators/agents/agentGenerator.js +108 -10
  57. package/dist/generators/agents/agentGenerator.js.map +1 -1
  58. package/dist/generators/agents/templates/playbookTemplate.d.ts +3 -2
  59. package/dist/generators/agents/templates/playbookTemplate.d.ts.map +1 -1
  60. package/dist/generators/agents/templates/playbookTemplate.js +143 -45
  61. package/dist/generators/agents/templates/playbookTemplate.js.map +1 -1
  62. package/dist/generators/agents/templates/types.d.ts +9 -1
  63. package/dist/generators/agents/templates/types.d.ts.map +1 -1
  64. package/dist/generators/documentation/documentationGenerator.d.ts +2 -0
  65. package/dist/generators/documentation/documentationGenerator.d.ts.map +1 -1
  66. package/dist/generators/documentation/documentationGenerator.js +18 -3
  67. package/dist/generators/documentation/documentationGenerator.js.map +1 -1
  68. package/dist/generators/documentation/guideRegistry.d.ts.map +1 -1
  69. package/dist/generators/documentation/guideRegistry.js +0 -8
  70. package/dist/generators/documentation/guideRegistry.js.map +1 -1
  71. package/dist/generators/documentation/templates/apiReferenceTemplate.d.ts.map +1 -1
  72. package/dist/generators/documentation/templates/apiReferenceTemplate.js +1 -22
  73. package/dist/generators/documentation/templates/apiReferenceTemplate.js.map +1 -1
  74. package/dist/generators/documentation/templates/architectureTemplate.d.ts.map +1 -1
  75. package/dist/generators/documentation/templates/architectureTemplate.js +160 -26
  76. package/dist/generators/documentation/templates/architectureTemplate.js.map +1 -1
  77. package/dist/generators/documentation/templates/common.d.ts +28 -1
  78. package/dist/generators/documentation/templates/common.d.ts.map +1 -1
  79. package/dist/generators/documentation/templates/common.js +130 -10
  80. package/dist/generators/documentation/templates/common.js.map +1 -1
  81. package/dist/generators/documentation/templates/dataFlowTemplate.d.ts.map +1 -1
  82. package/dist/generators/documentation/templates/dataFlowTemplate.js +98 -18
  83. package/dist/generators/documentation/templates/dataFlowTemplate.js.map +1 -1
  84. package/dist/generators/documentation/templates/developmentWorkflowTemplate.d.ts.map +1 -1
  85. package/dist/generators/documentation/templates/developmentWorkflowTemplate.js +1 -18
  86. package/dist/generators/documentation/templates/developmentWorkflowTemplate.js.map +1 -1
  87. package/dist/generators/documentation/templates/glossaryTemplate.d.ts +1 -1
  88. package/dist/generators/documentation/templates/glossaryTemplate.d.ts.map +1 -1
  89. package/dist/generators/documentation/templates/glossaryTemplate.js +51 -23
  90. package/dist/generators/documentation/templates/glossaryTemplate.js.map +1 -1
  91. package/dist/generators/documentation/templates/indexTemplate.d.ts.map +1 -1
  92. package/dist/generators/documentation/templates/indexTemplate.js +1 -18
  93. package/dist/generators/documentation/templates/indexTemplate.js.map +1 -1
  94. package/dist/generators/documentation/templates/migrationTemplate.d.ts.map +1 -1
  95. package/dist/generators/documentation/templates/migrationTemplate.js +1 -23
  96. package/dist/generators/documentation/templates/migrationTemplate.js.map +1 -1
  97. package/dist/generators/documentation/templates/onboardingTemplate.d.ts.map +1 -1
  98. package/dist/generators/documentation/templates/onboardingTemplate.js +1 -23
  99. package/dist/generators/documentation/templates/onboardingTemplate.js.map +1 -1
  100. package/dist/generators/documentation/templates/projectOverviewTemplate.d.ts.map +1 -1
  101. package/dist/generators/documentation/templates/projectOverviewTemplate.js +81 -19
  102. package/dist/generators/documentation/templates/projectOverviewTemplate.js.map +1 -1
  103. package/dist/generators/documentation/templates/securityTemplate.d.ts.map +1 -1
  104. package/dist/generators/documentation/templates/securityTemplate.js +1 -18
  105. package/dist/generators/documentation/templates/securityTemplate.js.map +1 -1
  106. package/dist/generators/documentation/templates/testingTemplate.d.ts.map +1 -1
  107. package/dist/generators/documentation/templates/testingTemplate.js +1 -19
  108. package/dist/generators/documentation/templates/testingTemplate.js.map +1 -1
  109. package/dist/generators/documentation/templates/toolingTemplate.d.ts.map +1 -1
  110. package/dist/generators/documentation/templates/toolingTemplate.js +2 -19
  111. package/dist/generators/documentation/templates/toolingTemplate.js.map +1 -1
  112. package/dist/generators/documentation/templates/troubleshootingTemplate.d.ts.map +1 -1
  113. package/dist/generators/documentation/templates/troubleshootingTemplate.js +1 -23
  114. package/dist/generators/documentation/templates/troubleshootingTemplate.js.map +1 -1
  115. package/dist/generators/documentation/templates/types.d.ts +2 -1
  116. package/dist/generators/documentation/templates/types.d.ts.map +1 -1
  117. package/dist/generators/plans/planGenerator.d.ts +4 -0
  118. package/dist/generators/plans/planGenerator.d.ts.map +1 -1
  119. package/dist/generators/plans/planGenerator.js +30 -2
  120. package/dist/generators/plans/planGenerator.js.map +1 -1
  121. package/dist/generators/plans/templates/indexTemplate.d.ts.map +1 -1
  122. package/dist/generators/plans/templates/indexTemplate.js +3 -12
  123. package/dist/generators/plans/templates/indexTemplate.js.map +1 -1
  124. package/dist/generators/plans/templates/planTemplate.d.ts.map +1 -1
  125. package/dist/generators/plans/templates/planTemplate.js +54 -32
  126. package/dist/generators/plans/templates/planTemplate.js.map +1 -1
  127. package/dist/generators/plans/templates/types.d.ts +10 -0
  128. package/dist/generators/plans/templates/types.d.ts.map +1 -1
  129. package/dist/generators/shared/generatorUtils.d.ts.map +1 -1
  130. package/dist/generators/shared/generatorUtils.js +6 -9
  131. package/dist/generators/shared/generatorUtils.js.map +1 -1
  132. package/dist/index.d.ts.map +1 -1
  133. package/dist/index.js +430 -90
  134. package/dist/index.js.map +1 -1
  135. package/dist/prompts/defaults.d.ts +2 -2
  136. package/dist/prompts/defaults.d.ts.map +1 -1
  137. package/dist/prompts/defaults.js +26 -56
  138. package/dist/prompts/defaults.js.map +1 -1
  139. package/dist/services/ai/agentEvents.d.ts +45 -0
  140. package/dist/services/ai/agentEvents.d.ts.map +1 -0
  141. package/dist/services/ai/agentEvents.js +61 -0
  142. package/dist/services/ai/agentEvents.js.map +1 -0
  143. package/dist/services/ai/agents/documentationAgent.d.ts +53 -0
  144. package/dist/services/ai/agents/documentationAgent.d.ts.map +1 -0
  145. package/dist/services/ai/agents/documentationAgent.js +243 -0
  146. package/dist/services/ai/agents/documentationAgent.js.map +1 -0
  147. package/dist/services/ai/agents/index.d.ts +7 -0
  148. package/dist/services/ai/agents/index.d.ts.map +1 -0
  149. package/dist/services/ai/agents/index.js +10 -0
  150. package/dist/services/ai/agents/index.js.map +1 -0
  151. package/dist/services/ai/agents/planAgent.d.ts +68 -0
  152. package/dist/services/ai/agents/planAgent.d.ts.map +1 -0
  153. package/dist/services/ai/agents/planAgent.js +389 -0
  154. package/dist/services/ai/agents/planAgent.js.map +1 -0
  155. package/dist/services/ai/agents/playbookAgent.d.ts +54 -0
  156. package/dist/services/ai/agents/playbookAgent.d.ts.map +1 -0
  157. package/dist/services/ai/agents/playbookAgent.js +265 -0
  158. package/dist/services/ai/agents/playbookAgent.js.map +1 -0
  159. package/dist/services/ai/aiSdkClient.d.ts +67 -0
  160. package/dist/services/ai/aiSdkClient.d.ts.map +1 -0
  161. package/dist/services/ai/aiSdkClient.js +143 -0
  162. package/dist/services/ai/aiSdkClient.js.map +1 -0
  163. package/dist/services/ai/index.d.ts +7 -0
  164. package/dist/services/ai/index.d.ts.map +1 -0
  165. package/dist/services/ai/index.js +49 -0
  166. package/dist/services/ai/index.js.map +1 -0
  167. package/dist/services/ai/providerFactory.d.ts +35 -0
  168. package/dist/services/ai/providerFactory.d.ts.map +1 -0
  169. package/dist/services/ai/providerFactory.js +107 -0
  170. package/dist/services/ai/providerFactory.js.map +1 -0
  171. package/dist/services/ai/schemas.d.ts +331 -0
  172. package/dist/services/ai/schemas.d.ts.map +1 -0
  173. package/dist/services/ai/schemas.js +236 -0
  174. package/dist/services/ai/schemas.js.map +1 -0
  175. package/dist/services/ai/tools/analyzeSymbolsTool.d.ts +33 -0
  176. package/dist/services/ai/tools/analyzeSymbolsTool.d.ts.map +1 -0
  177. package/dist/services/ai/tools/analyzeSymbolsTool.js +57 -0
  178. package/dist/services/ai/tools/analyzeSymbolsTool.js.map +1 -0
  179. package/dist/services/ai/tools/checkScaffoldingTool.d.ts +18 -0
  180. package/dist/services/ai/tools/checkScaffoldingTool.d.ts.map +1 -0
  181. package/dist/services/ai/tools/checkScaffoldingTool.js +86 -0
  182. package/dist/services/ai/tools/checkScaffoldingTool.js.map +1 -0
  183. package/dist/services/ai/tools/fillScaffoldingTool.d.ts +38 -0
  184. package/dist/services/ai/tools/fillScaffoldingTool.d.ts.map +1 -0
  185. package/dist/services/ai/tools/fillScaffoldingTool.js +259 -0
  186. package/dist/services/ai/tools/fillScaffoldingTool.js.map +1 -0
  187. package/dist/services/ai/tools/getFileStructureTool.d.ts +29 -0
  188. package/dist/services/ai/tools/getFileStructureTool.d.ts.map +1 -0
  189. package/dist/services/ai/tools/getFileStructureTool.js +48 -0
  190. package/dist/services/ai/tools/getFileStructureTool.js.map +1 -0
  191. package/dist/services/ai/tools/index.d.ts +20 -0
  192. package/dist/services/ai/tools/index.d.ts.map +1 -0
  193. package/dist/services/ai/tools/index.js +62 -0
  194. package/dist/services/ai/tools/index.js.map +1 -0
  195. package/dist/services/ai/tools/initializeContextTool.d.ts +25 -0
  196. package/dist/services/ai/tools/initializeContextTool.d.ts.map +1 -0
  197. package/dist/services/ai/tools/initializeContextTool.js +121 -0
  198. package/dist/services/ai/tools/initializeContextTool.js.map +1 -0
  199. package/dist/services/ai/tools/listFilesTool.d.ts +18 -0
  200. package/dist/services/ai/tools/listFilesTool.d.ts.map +1 -0
  201. package/dist/services/ai/tools/listFilesTool.js +34 -0
  202. package/dist/services/ai/tools/listFilesTool.js.map +1 -0
  203. package/dist/services/ai/tools/readFileTool.d.ts +17 -0
  204. package/dist/services/ai/tools/readFileTool.d.ts.map +1 -0
  205. package/dist/services/ai/tools/readFileTool.js +63 -0
  206. package/dist/services/ai/tools/readFileTool.js.map +1 -0
  207. package/dist/services/ai/tools/scaffoldPlanTool.d.ts +19 -0
  208. package/dist/services/ai/tools/scaffoldPlanTool.d.ts.map +1 -0
  209. package/dist/services/ai/tools/scaffoldPlanTool.js +81 -0
  210. package/dist/services/ai/tools/scaffoldPlanTool.js.map +1 -0
  211. package/dist/services/ai/tools/searchCodeTool.d.ts +25 -0
  212. package/dist/services/ai/tools/searchCodeTool.d.ts.map +1 -0
  213. package/dist/services/ai/tools/searchCodeTool.js +96 -0
  214. package/dist/services/ai/tools/searchCodeTool.js.map +1 -0
  215. package/dist/services/fill/fillService.d.ts +11 -1
  216. package/dist/services/fill/fillService.d.ts.map +1 -1
  217. package/dist/services/fill/fillService.js +151 -39
  218. package/dist/services/fill/fillService.js.map +1 -1
  219. package/dist/services/init/initService.d.ts +1 -0
  220. package/dist/services/init/initService.d.ts.map +1 -1
  221. package/dist/services/init/initService.js +12 -7
  222. package/dist/services/init/initService.js.map +1 -1
  223. package/dist/services/llmClientFactory.d.ts +36 -2
  224. package/dist/services/llmClientFactory.d.ts.map +1 -1
  225. package/dist/services/llmClientFactory.js +57 -11
  226. package/dist/services/llmClientFactory.js.map +1 -1
  227. package/dist/services/mcp/index.d.ts +2 -0
  228. package/dist/services/mcp/index.d.ts.map +1 -0
  229. package/dist/services/mcp/index.js +7 -0
  230. package/dist/services/mcp/index.js.map +1 -0
  231. package/dist/services/mcp/mcpServer.d.ts +45 -0
  232. package/dist/services/mcp/mcpServer.d.ts.map +1 -0
  233. package/dist/services/mcp/mcpServer.js +371 -0
  234. package/dist/services/mcp/mcpServer.js.map +1 -0
  235. package/dist/services/openRouterClient.js +1 -1
  236. package/dist/services/openRouterClient.js.map +1 -1
  237. package/dist/services/passthrough/commandRouter.d.ts +53 -0
  238. package/dist/services/passthrough/commandRouter.d.ts.map +1 -0
  239. package/dist/services/passthrough/commandRouter.js +349 -0
  240. package/dist/services/passthrough/commandRouter.js.map +1 -0
  241. package/dist/services/passthrough/index.d.ts +7 -0
  242. package/dist/services/passthrough/index.d.ts.map +1 -0
  243. package/dist/services/passthrough/index.js +23 -0
  244. package/dist/services/passthrough/index.js.map +1 -0
  245. package/dist/services/passthrough/protocol.d.ts +269 -0
  246. package/dist/services/passthrough/protocol.d.ts.map +1 -0
  247. package/dist/services/passthrough/protocol.js +151 -0
  248. package/dist/services/passthrough/protocol.js.map +1 -0
  249. package/dist/services/passthrough/stdinReader.d.ts +42 -0
  250. package/dist/services/passthrough/stdinReader.d.ts.map +1 -0
  251. package/dist/services/passthrough/stdinReader.js +111 -0
  252. package/dist/services/passthrough/stdinReader.js.map +1 -0
  253. package/dist/services/plan/planService.d.ts +3 -1
  254. package/dist/services/plan/planService.d.ts.map +1 -1
  255. package/dist/services/plan/planService.js +49 -41
  256. package/dist/services/plan/planService.js.map +1 -1
  257. package/dist/services/semantic/codebaseAnalyzer.d.ts +40 -0
  258. package/dist/services/semantic/codebaseAnalyzer.d.ts.map +1 -0
  259. package/dist/services/semantic/codebaseAnalyzer.js +540 -0
  260. package/dist/services/semantic/codebaseAnalyzer.js.map +1 -0
  261. package/dist/services/semantic/contextBuilder.d.ts +79 -0
  262. package/dist/services/semantic/contextBuilder.d.ts.map +1 -0
  263. package/dist/services/semantic/contextBuilder.js +538 -0
  264. package/dist/services/semantic/contextBuilder.js.map +1 -0
  265. package/dist/services/semantic/index.d.ts +12 -0
  266. package/dist/services/semantic/index.d.ts.map +1 -0
  267. package/dist/services/semantic/index.js +33 -0
  268. package/dist/services/semantic/index.js.map +1 -0
  269. package/dist/services/semantic/lsp/index.d.ts +2 -0
  270. package/dist/services/semantic/lsp/index.d.ts.map +1 -0
  271. package/dist/services/semantic/lsp/index.js +6 -0
  272. package/dist/services/semantic/lsp/index.js.map +1 -0
  273. package/dist/services/semantic/lsp/lspLayer.d.ts +32 -0
  274. package/dist/services/semantic/lsp/lspLayer.d.ts.map +1 -0
  275. package/dist/services/semantic/lsp/lspLayer.js +378 -0
  276. package/dist/services/semantic/lsp/lspLayer.js.map +1 -0
  277. package/dist/services/semantic/treeSitter/index.d.ts +2 -0
  278. package/dist/services/semantic/treeSitter/index.d.ts.map +1 -0
  279. package/dist/services/semantic/treeSitter/index.js +6 -0
  280. package/dist/services/semantic/treeSitter/index.js.map +1 -0
  281. package/dist/services/semantic/treeSitter/treeSitterLayer.d.ts +37 -0
  282. package/dist/services/semantic/treeSitter/treeSitterLayer.d.ts.map +1 -0
  283. package/dist/services/semantic/treeSitter/treeSitterLayer.js +518 -0
  284. package/dist/services/semantic/treeSitter/treeSitterLayer.js.map +1 -0
  285. package/dist/services/semantic/types.d.ts +122 -0
  286. package/dist/services/semantic/types.d.ts.map +1 -0
  287. package/dist/services/semantic/types.js +31 -0
  288. package/dist/services/semantic/types.js.map +1 -0
  289. package/dist/services/serve/index.d.ts +2 -0
  290. package/dist/services/serve/index.d.ts.map +1 -0
  291. package/dist/services/serve/index.js +6 -0
  292. package/dist/services/serve/index.js.map +1 -0
  293. package/dist/services/serve/serveService.d.ts +38 -0
  294. package/dist/services/serve/serveService.d.ts.map +1 -0
  295. package/dist/services/serve/serveService.js +99 -0
  296. package/dist/services/serve/serveService.js.map +1 -0
  297. package/dist/services/shared/llmConfig.d.ts +19 -3
  298. package/dist/services/shared/llmConfig.d.ts.map +1 -1
  299. package/dist/services/shared/llmConfig.js +39 -10
  300. package/dist/services/shared/llmConfig.js.map +1 -1
  301. package/dist/services/sync/index.d.ts +6 -0
  302. package/dist/services/sync/index.d.ts.map +1 -0
  303. package/dist/services/sync/index.js +16 -0
  304. package/dist/services/sync/index.js.map +1 -0
  305. package/dist/services/sync/markdownReferenceHandler.d.ts +3 -0
  306. package/dist/services/sync/markdownReferenceHandler.d.ts.map +1 -0
  307. package/dist/services/sync/markdownReferenceHandler.js +133 -0
  308. package/dist/services/sync/markdownReferenceHandler.js.map +1 -0
  309. package/dist/services/sync/presets.d.ts +6 -0
  310. package/dist/services/sync/presets.d.ts.map +1 -0
  311. package/dist/services/sync/presets.js +49 -0
  312. package/dist/services/sync/presets.js.map +1 -0
  313. package/dist/services/sync/symlinkHandler.d.ts +7 -0
  314. package/dist/services/sync/symlinkHandler.d.ts.map +1 -0
  315. package/dist/services/sync/symlinkHandler.js +129 -0
  316. package/dist/services/sync/symlinkHandler.js.map +1 -0
  317. package/dist/services/sync/syncService.d.ts +15 -0
  318. package/dist/services/sync/syncService.d.ts.map +1 -0
  319. package/dist/services/sync/syncService.js +222 -0
  320. package/dist/services/sync/syncService.js.map +1 -0
  321. package/dist/services/sync/types.d.ts +62 -0
  322. package/dist/services/sync/types.d.ts.map +1 -0
  323. package/dist/services/sync/types.js +3 -0
  324. package/dist/services/sync/types.js.map +1 -0
  325. package/dist/types.d.ts +2 -1
  326. package/dist/types.d.ts.map +1 -1
  327. package/dist/utils/cliUI.d.ts +33 -0
  328. package/dist/utils/cliUI.d.ts.map +1 -1
  329. package/dist/utils/cliUI.js +157 -107
  330. package/dist/utils/cliUI.js.map +1 -1
  331. package/dist/utils/contentSanitizer.d.ts +42 -0
  332. package/dist/utils/contentSanitizer.d.ts.map +1 -0
  333. package/dist/utils/contentSanitizer.js +238 -0
  334. package/dist/utils/contentSanitizer.js.map +1 -0
  335. package/dist/utils/gitService.d.ts.map +1 -1
  336. package/dist/utils/gitService.js +12 -14
  337. package/dist/utils/gitService.js.map +1 -1
  338. package/dist/utils/i18n.d.ts +87 -13
  339. package/dist/utils/i18n.d.ts.map +1 -1
  340. package/dist/utils/i18n.js +176 -28
  341. package/dist/utils/i18n.js.map +1 -1
  342. package/dist/utils/prompts/configSummary.d.ts +7 -0
  343. package/dist/utils/prompts/configSummary.d.ts.map +1 -0
  344. package/dist/utils/prompts/configSummary.js +63 -0
  345. package/dist/utils/prompts/configSummary.js.map +1 -0
  346. package/dist/utils/prompts/index.d.ts +22 -0
  347. package/dist/utils/prompts/index.d.ts.map +1 -0
  348. package/dist/utils/prompts/index.js +122 -0
  349. package/dist/utils/prompts/index.js.map +1 -0
  350. package/dist/utils/prompts/llmPrompts.d.ts +11 -0
  351. package/dist/utils/prompts/llmPrompts.d.ts.map +1 -0
  352. package/dist/utils/prompts/llmPrompts.js +96 -0
  353. package/dist/utils/prompts/llmPrompts.js.map +1 -0
  354. package/dist/utils/prompts/smartDefaults.d.ts +15 -0
  355. package/dist/utils/prompts/smartDefaults.d.ts.map +1 -0
  356. package/dist/utils/prompts/smartDefaults.js +105 -0
  357. package/dist/utils/prompts/smartDefaults.js.map +1 -0
  358. package/dist/utils/prompts/types.d.ts +38 -0
  359. package/dist/utils/prompts/types.d.ts.map +1 -0
  360. package/dist/utils/prompts/types.js +3 -0
  361. package/dist/utils/prompts/types.js.map +1 -0
  362. package/dist/utils/theme.d.ts +66 -0
  363. package/dist/utils/theme.d.ts.map +1 -0
  364. package/dist/utils/theme.js +93 -0
  365. package/dist/utils/theme.js.map +1 -0
  366. package/dist/version.d.ts +8 -0
  367. package/dist/version.d.ts.map +1 -0
  368. package/dist/version.js +15 -0
  369. package/dist/version.js.map +1 -0
  370. package/package.json +12 -2
  371. package/prompts/update_scaffold_prompt.md +14 -34
  372. package/dist/commands/shared/agents.d.ts +0 -2
  373. package/dist/commands/shared/agents.d.ts.map +0 -1
  374. package/dist/commands/shared/agents.js +0 -15
  375. package/dist/commands/shared/agents.js.map +0 -1
  376. package/dist/commands/shared/selection.d.ts +0 -12
  377. package/dist/commands/shared/selection.d.ts.map +0 -1
  378. package/dist/commands/shared/selection.js +0 -95
  379. package/dist/commands/shared/selection.js.map +0 -1
  380. package/dist/generators/documentation/templates/frontMatter.d.ts +0 -11
  381. package/dist/generators/documentation/templates/frontMatter.d.ts.map +0 -1
  382. package/dist/generators/documentation/templates/frontMatter.js +0 -29
  383. package/dist/generators/documentation/templates/frontMatter.js.map +0 -1
  384. package/dist/services/anthropicClient.d.ts +0 -12
  385. package/dist/services/anthropicClient.d.ts.map +0 -1
  386. package/dist/services/anthropicClient.js +0 -98
  387. package/dist/services/anthropicClient.js.map +0 -1
  388. package/dist/services/geminiClient.d.ts +0 -12
  389. package/dist/services/geminiClient.d.ts.map +0 -1
  390. package/dist/services/geminiClient.js +0 -96
  391. package/dist/services/geminiClient.js.map +0 -1
  392. package/dist/services/grokClient.d.ts +0 -12
  393. package/dist/services/grokClient.d.ts.map +0 -1
  394. package/dist/services/grokClient.js +0 -101
  395. package/dist/services/grokClient.js.map +0 -1
  396. package/dist/services/openaiClient.d.ts +0 -12
  397. package/dist/services/openaiClient.d.ts.map +0 -1
  398. package/dist/services/openaiClient.js +0 -98
  399. package/dist/services/openaiClient.js.map +0 -1
  400. package/dist/utils/pricing.d.ts +0 -14
  401. package/dist/utils/pricing.d.ts.map +0 -1
  402. package/dist/utils/pricing.js +0 -115
  403. package/dist/utils/pricing.js.map +0 -1
@@ -1,30 +1,180 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.renderArchitectureNotes = renderArchitectureNotes;
4
37
  const common_1 = require("./common");
38
+ const path = __importStar(require("path"));
39
+ function renderSemanticLayers(context) {
40
+ const { semantics } = context;
41
+ if (!semantics || !semantics.architecture.layers.length) {
42
+ return '- *No architectural layers detected.*';
43
+ }
44
+ const lines = [];
45
+ for (const layer of semantics.architecture.layers) {
46
+ const symbolCount = layer.symbols.length;
47
+ const exportedCount = layer.symbols.filter(s => s.exported).length;
48
+ const deps = layer.dependsOn.length > 0 ? ` → depends on: ${layer.dependsOn.join(', ')}` : '';
49
+ lines.push(`### ${layer.name}`);
50
+ lines.push(`${layer.description}`);
51
+ lines.push(`- **Directories**: ${layer.directories.map(d => `\`${d}\``).join(', ')}`);
52
+ lines.push(`- **Symbols**: ${symbolCount} total, ${exportedCount} exported${deps}`);
53
+ // List exported symbols
54
+ const topSymbols = layer.symbols
55
+ .filter(s => s.exported);
56
+ if (topSymbols.length > 0) {
57
+ lines.push(`- **Key exports**:`);
58
+ const repoRoot = context.repoStructure.rootPath;
59
+ for (const sym of topSymbols) {
60
+ const ref = (0, common_1.formatSymbolRef)(sym, repoRoot);
61
+ const doc = sym.documentation ? ` — ${sym.documentation}` : '';
62
+ lines.push(` - ${ref} (${sym.kind})${doc}`);
63
+ }
64
+ }
65
+ lines.push('');
66
+ }
67
+ return lines.join('\n');
68
+ }
69
+ function renderDetectedPatterns(context) {
70
+ const { semantics } = context;
71
+ if (!semantics || !semantics.architecture.patterns.length) {
72
+ return '- *No design patterns detected yet.*';
73
+ }
74
+ const repoRoot = context.repoStructure.rootPath;
75
+ const lines = ['| Pattern | Confidence | Locations | Description |', '|---------|------------|-----------|-------------|'];
76
+ for (const pattern of semantics.architecture.patterns) {
77
+ const confidence = Math.round(pattern.confidence * 100);
78
+ // Format locations with file refs
79
+ const locationRefs = pattern.locations.map(l => {
80
+ const relPath = path.relative(repoRoot, l.file);
81
+ return `\`${l.symbol}\` ([${path.basename(l.file)}](${relPath}))`;
82
+ });
83
+ lines.push(`| ${pattern.name} | ${confidence}% | ${locationRefs.join(', ')} | ${pattern.description} |`);
84
+ }
85
+ return lines.join('\n');
86
+ }
87
+ function renderPublicAPI(context) {
88
+ const { semantics } = context;
89
+ if (!semantics || !semantics.architecture.publicAPI.length) {
90
+ return '- *No public API detected.*';
91
+ }
92
+ const repoRoot = context.repoStructure.rootPath;
93
+ // Use buildSymbolTable for consistent formatting
94
+ return (0, common_1.buildSymbolTable)(semantics.architecture.publicAPI, repoRoot, ['name', 'kind', 'location']);
95
+ }
96
+ function renderEntryPoints(context) {
97
+ const { semantics } = context;
98
+ if (!semantics || !semantics.architecture.entryPoints.length) {
99
+ return '- *No entry points detected.*';
100
+ }
101
+ const repoRoot = context.repoStructure.rootPath;
102
+ return semantics.architecture.entryPoints.map(ep => {
103
+ const relPath = path.relative(repoRoot, ep);
104
+ return `- [\`${relPath}\`](${relPath})`;
105
+ }).join('\n');
106
+ }
107
+ function renderSemanticStats(context) {
108
+ const { semantics } = context;
109
+ if (!semantics) {
110
+ return '';
111
+ }
112
+ const { stats, symbols } = semantics;
113
+ const lines = [
114
+ `- **Total Files Analyzed**: ${stats.totalFiles}`,
115
+ `- **Total Symbols**: ${stats.totalSymbols}`,
116
+ `- **Classes**: ${symbols.classes.length}`,
117
+ `- **Interfaces**: ${symbols.interfaces.length}`,
118
+ `- **Functions**: ${symbols.functions.length}`,
119
+ `- **Types**: ${symbols.types.length}`,
120
+ `- **Enums**: ${symbols.enums.length}`,
121
+ `- **Analysis Time**: ${stats.analysisTimeMs}ms`,
122
+ ];
123
+ if (Object.keys(stats.languageBreakdown).length > 0) {
124
+ lines.push('', '**Languages**:');
125
+ for (const [ext, count] of Object.entries(stats.languageBreakdown)) {
126
+ lines.push(`- ${ext}: ${count} files`);
127
+ }
128
+ }
129
+ return lines.join('\n');
130
+ }
5
131
  function renderArchitectureNotes(context) {
6
132
  const directorySnapshot = (0, common_1.formatDirectoryStats)(context.directoryStats);
7
- const coreComponentsSection = directorySnapshot || '- *Add notes for each core component or module.*';
8
- return `<!-- agent-update:start:architecture-notes -->
9
- # Architecture Notes
133
+ const hasSemantics = !!context.semantics;
134
+ // Use semantic data if available, otherwise fall back to directory stats
135
+ const layersSection = hasSemantics
136
+ ? renderSemanticLayers(context)
137
+ : directorySnapshot || '- *Add notes for each core component or module.*';
138
+ const patternsSection = hasSemantics
139
+ ? renderDetectedPatterns(context)
140
+ : '- *No design patterns detected.*';
141
+ const publicAPISection = hasSemantics
142
+ ? renderPublicAPI(context)
143
+ : '- *No public API detected.*';
144
+ const entryPointsSection = hasSemantics
145
+ ? renderEntryPoints(context)
146
+ : '- *Document the main entry points of the application.*';
147
+ const statsSection = hasSemantics
148
+ ? renderSemanticStats(context)
149
+ : '';
150
+ const semanticSection = hasSemantics ? `
151
+ ## Codebase Analysis
152
+ ${statsSection}
153
+ ` : '';
154
+ return `# Architecture Notes
10
155
 
11
156
  > TODO: Describe how the system is assembled and why the current design exists.
12
-
157
+ ${semanticSection}
13
158
  ## System Architecture Overview
14
159
  - Summarize the top-level topology (monolith, modular service, microservices) and deployment model.
15
160
  - Highlight how requests traverse the system and where control pivots between layers.
16
161
 
17
- ## Core System Components
18
- ${coreComponentsSection}
162
+ ## Architectural Layers
163
+ ${layersSection}
164
+
165
+ ## Detected Design Patterns
166
+ ${patternsSection}
167
+
168
+ ## Entry Points
169
+ ${entryPointsSection}
170
+
171
+ ## Public API
172
+ ${publicAPISection}
19
173
 
20
174
  ## Internal System Boundaries
21
175
  - Document seams between domains, bounded contexts, or service ownership.
22
176
  - Note data ownership, synchronization strategies, and shared contract enforcement.
23
177
 
24
- ## System Integration Points
25
- - Map inbound interfaces (APIs, events, webhooks) and the modules that own them.
26
- - Capture orchestration touchpoints where this system calls or coordinates other internal services.
27
-
28
178
  ## External Service Dependencies
29
179
  - List SaaS platforms, third-party APIs, or infrastructure services the system relies on.
30
180
  - Describe authentication methods, rate limits, and failure considerations for each dependency.
@@ -42,25 +192,9 @@ ${coreComponentsSection}
42
192
  ## Top Directories Snapshot
43
193
  ${directorySnapshot}
44
194
 
45
- <!-- agent-readonly:guidance -->
46
- ## AI Update Checklist
47
- 1. Review ADRs, design docs, or major PRs for architectural changes.
48
- 2. Verify that each documented decision still holds; mark superseded choices clearly.
49
- 3. Capture upstream/downstream impacts (APIs, events, data flows).
50
- 4. Update Risks & Constraints with active incident learnings or TODO debt.
51
- 5. Link any new diagrams or dashboards referenced in recent work.
52
-
53
- <!-- agent-readonly:sources -->
54
- ## Acceptable Sources
55
- - ADR folders, \`/docs/architecture\` notes, or RFC threads.
56
- - Dependency visualisations from build tooling or scripts.
57
- - Issue tracker discussions vetted by maintainers.
58
-
59
195
  ## Related Resources
60
196
  - [Project Overview](./project-overview.md)
61
197
  - Update [agents/README.md](../agents/README.md) when architecture changes.
62
-
63
- <!-- agent-update:end -->
64
198
  `;
65
199
  }
66
200
  //# sourceMappingURL=architectureTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"architectureTemplate.js","sourceRoot":"","sources":["../../../../src/generators/documentation/templates/architectureTemplate.ts"],"names":[],"mappings":";;AAGA,0DA6DC;AA/DD,qCAAgD;AAEhD,SAAgB,uBAAuB,CAAC,OAAqC;IAC3E,MAAM,iBAAiB,GAAG,IAAA,6BAAoB,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACvE,MAAM,qBAAqB,GAAG,iBAAiB,IAAI,kDAAkD,CAAC;IAEtG,OAAO;;;;;;;;;;EAUP,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;EAyBrB,iBAAiB;;;;;;;;;;;;;;;;;;;;;CAqBlB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"architectureTemplate.js","sourceRoot":"","sources":["../../../../src/generators/documentation/templates/architectureTemplate.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,34 @@
1
1
  import { DirectoryStat, DocumentationTemplateContext } from './types';
2
+ import type { ExtractedSymbol } from '../../../services/semantic/types';
2
3
  export declare function formatDirectoryList(context: DocumentationTemplateContext, includePlaceholders: boolean): string;
3
4
  export declare function buildDocumentMapTable(guides: DocumentationTemplateContext['guides']): string;
4
5
  export declare function formatDirectoryStats(stats: DirectoryStat[]): string;
5
6
  export declare function formatInlineDirectoryList(directories: string[]): string;
6
- export declare function slugify(value: string): string;
7
+ /**
8
+ * Format a symbol as a markdown link with line number
9
+ * Output: [`SymbolName`](src/path/file.ts#L42)
10
+ */
11
+ export declare function formatSymbolRef(symbol: ExtractedSymbol, repoRoot: string): string;
12
+ /**
13
+ * Format a file:line reference (non-link format)
14
+ * Output: src/path/file.ts:42
15
+ */
16
+ export declare function formatCodeLocation(filePath: string, line: number, repoRoot: string): string;
17
+ /**
18
+ * Format a file path as a markdown link with line number
19
+ * Output: [`file.ts`](src/path/file.ts#L42)
20
+ */
21
+ export declare function formatFileRef(filePath: string, line: number, repoRoot: string, displayName?: string): string;
22
+ /**
23
+ * Build a markdown table of symbols with links
24
+ */
25
+ export declare function buildSymbolTable(symbols: ExtractedSymbol[], repoRoot: string, columns?: ('name' | 'kind' | 'location' | 'description')[]): string;
26
+ /**
27
+ * Build a bullet list of symbols with links
28
+ */
29
+ export declare function buildSymbolList(symbols: ExtractedSymbol[], repoRoot: string, includeKind?: boolean): string;
30
+ /**
31
+ * Group symbols by their containing directory
32
+ */
33
+ export declare function groupSymbolsByDirectory(symbols: ExtractedSymbol[], repoRoot: string): Map<string, ExtractedSymbol[]>;
7
34
  //# sourceMappingURL=common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/generators/documentation/templates/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAWtE,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,4BAA4B,EACrC,mBAAmB,EAAE,OAAO,GAC3B,MAAM,CAoBR;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,4BAA4B,CAAC,QAAQ,CAAC,GAAG,MAAM,CAG5F;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,CAQnE;AAED,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAMvE;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK7C"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/generators/documentation/templates/common.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAWxE,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,4BAA4B,EACrC,mBAAmB,EAAE,OAAO,GAC3B,MAAM,CAmBR;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,4BAA4B,CAAC,QAAQ,CAAC,GAAG,MAAM,CAG5F;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,CAQnE;AAED,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAMvE;AAID;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,MAAM,GACf,MAAM,CAGR;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,MAAM,CAGR;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAIR;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,eAAe,EAAE,EAC1B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,CAAC,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,aAAa,CAAC,EAAiC,GACvF,MAAM,CAkCR;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,eAAe,EAAE,EAC1B,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,OAAc,GAC1B,MAAM,CAWR;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,eAAe,EAAE,EAC1B,QAAQ,EAAE,MAAM,GACf,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAYhC"}
@@ -1,10 +1,49 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.formatDirectoryList = formatDirectoryList;
4
37
  exports.buildDocumentMapTable = buildDocumentMapTable;
5
38
  exports.formatDirectoryStats = formatDirectoryStats;
6
39
  exports.formatInlineDirectoryList = formatInlineDirectoryList;
7
- exports.slugify = slugify;
40
+ exports.formatSymbolRef = formatSymbolRef;
41
+ exports.formatCodeLocation = formatCodeLocation;
42
+ exports.formatFileRef = formatFileRef;
43
+ exports.buildSymbolTable = buildSymbolTable;
44
+ exports.buildSymbolList = buildSymbolList;
45
+ exports.groupSymbolsByDirectory = groupSymbolsByDirectory;
46
+ const path = __importStar(require("path"));
8
47
  const KNOWN_DESCRIPTIONS = {
9
48
  src: 'TypeScript source files and CLI entrypoints.',
10
49
  dist: 'Compiled JavaScript output generated by the build step.',
@@ -26,14 +65,13 @@ function formatDirectoryList(context, includePlaceholders) {
26
65
  if (!includePlaceholders) {
27
66
  return `- \`${dir}/\``;
28
67
  }
29
- const slotId = slugify(dir);
30
- return `- <!-- agent-fill:directory-${slotId} -->\`${dir}/\` — TODO: Describe the purpose of this directory.<!-- /agent-fill -->`;
68
+ return `- \`${dir}/\` — TODO: Describe the purpose of this directory.`;
31
69
  })
32
70
  .join('\n');
33
71
  }
34
72
  function buildDocumentMapTable(guides) {
35
- const rows = guides.map(meta => `| ${meta.title} | \`${meta.file}\` | ${meta.marker} | ${meta.primaryInputs} |`);
36
- return ['| Guide | File | AI Marker | Primary Inputs |', '| --- | --- | --- | --- |', ...rows].join('\n');
73
+ const rows = guides.map(meta => `| ${meta.title} | \`${meta.file}\` | ${meta.primaryInputs} |`);
74
+ return ['| Guide | File | Primary Inputs |', '| --- | --- | --- |', ...rows].join('\n');
37
75
  }
38
76
  function formatDirectoryStats(stats) {
39
77
  if (!stats.length) {
@@ -49,10 +87,92 @@ function formatInlineDirectoryList(directories) {
49
87
  }
50
88
  return directories.map(dir => `\`${dir}\``).join(', ');
51
89
  }
52
- function slugify(value) {
53
- return value
54
- .toLowerCase()
55
- .replace(/[^a-z0-9]+/g, '-')
56
- .replace(/^-+|-+$/g, '');
90
+ // Code Reference Helpers
91
+ /**
92
+ * Format a symbol as a markdown link with line number
93
+ * Output: [`SymbolName`](src/path/file.ts#L42)
94
+ */
95
+ function formatSymbolRef(symbol, repoRoot) {
96
+ const relPath = path.relative(repoRoot, symbol.location.file);
97
+ return `[\`${symbol.name}\`](${relPath}#L${symbol.location.line})`;
98
+ }
99
+ /**
100
+ * Format a file:line reference (non-link format)
101
+ * Output: src/path/file.ts:42
102
+ */
103
+ function formatCodeLocation(filePath, line, repoRoot) {
104
+ const relPath = path.relative(repoRoot, filePath);
105
+ return `${relPath}:${line}`;
106
+ }
107
+ /**
108
+ * Format a file path as a markdown link with line number
109
+ * Output: [`file.ts`](src/path/file.ts#L42)
110
+ */
111
+ function formatFileRef(filePath, line, repoRoot, displayName) {
112
+ const relPath = path.relative(repoRoot, filePath);
113
+ const name = displayName || path.basename(filePath);
114
+ return `[\`${name}\`](${relPath}#L${line})`;
115
+ }
116
+ /**
117
+ * Build a markdown table of symbols with links
118
+ */
119
+ function buildSymbolTable(symbols, repoRoot, columns = ['name', 'kind', 'location']) {
120
+ if (symbols.length === 0) {
121
+ return '*No symbols found.*';
122
+ }
123
+ const headers = {
124
+ name: 'Symbol',
125
+ kind: 'Type',
126
+ location: 'Location',
127
+ description: 'Description'
128
+ };
129
+ const headerRow = '| ' + columns.map(c => headers[c]).join(' | ') + ' |';
130
+ const separatorRow = '| ' + columns.map(() => '---').join(' | ') + ' |';
131
+ const dataRows = symbols.map(sym => {
132
+ const cells = columns.map(col => {
133
+ switch (col) {
134
+ case 'name':
135
+ return formatSymbolRef(sym, repoRoot);
136
+ case 'kind':
137
+ return sym.kind;
138
+ case 'location':
139
+ return formatCodeLocation(sym.location.file, sym.location.line, repoRoot);
140
+ case 'description':
141
+ return sym.documentation || '-';
142
+ default:
143
+ return '-';
144
+ }
145
+ });
146
+ return '| ' + cells.join(' | ') + ' |';
147
+ });
148
+ return [headerRow, separatorRow, ...dataRows].join('\n');
149
+ }
150
+ /**
151
+ * Build a bullet list of symbols with links
152
+ */
153
+ function buildSymbolList(symbols, repoRoot, includeKind = true) {
154
+ if (symbols.length === 0) {
155
+ return '*No symbols found.*';
156
+ }
157
+ return symbols.map(sym => {
158
+ const ref = formatSymbolRef(sym, repoRoot);
159
+ const kindSuffix = includeKind ? ` (${sym.kind})` : '';
160
+ const docSuffix = sym.documentation ? ` — ${sym.documentation}` : '';
161
+ return `- ${ref}${kindSuffix}${docSuffix}`;
162
+ }).join('\n');
163
+ }
164
+ /**
165
+ * Group symbols by their containing directory
166
+ */
167
+ function groupSymbolsByDirectory(symbols, repoRoot) {
168
+ const groups = new Map();
169
+ for (const sym of symbols) {
170
+ const relPath = path.relative(repoRoot, sym.location.file);
171
+ const dir = path.dirname(relPath);
172
+ const existing = groups.get(dir) || [];
173
+ existing.push(sym);
174
+ groups.set(dir, existing);
175
+ }
176
+ return groups;
57
177
  }
58
178
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/generators/documentation/templates/common.ts"],"names":[],"mappings":";;AAWA,kDAuBC;AAED,sDAGC;AAED,oDAQC;AAED,8DAMC;AAED,0BAKC;AA9DD,MAAM,kBAAkB,GAA2B;IACjD,GAAG,EAAE,8CAA8C;IACnD,IAAI,EAAE,yDAAyD;IAC/D,IAAI,EAAE,6CAA6C;IACnD,MAAM,EAAE,iCAAiC;IACzC,KAAK,EAAE,+BAA+B;IACtC,QAAQ,EAAE,gCAAgC;CAC3C,CAAC;AAEF,SAAgB,mBAAmB,CACjC,OAAqC,EACrC,mBAA4B;IAE5B,IAAI,OAAO,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,OAAO,CAAC,mBAAmB;SAC/B,GAAG,CAAC,GAAG,CAAC,EAAE;QACT,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,OAAO,GAAG,SAAS,WAAW,EAAE,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,OAAO,OAAO,GAAG,KAAK,CAAC;QACzB,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,OAAO,+BAA+B,MAAM,SAAS,GAAG,yEAAyE,CAAC;IACpI,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAgB,qBAAqB,CAAC,MAA8C;IAClF,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,MAAM,MAAM,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;IACjH,OAAO,CAAC,+CAA+C,EAAE,2BAA2B,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5G,CAAC;AAED,SAAgB,oBAAoB,CAAC,KAAsB;IACzD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,4BAA4B,CAAC;IACtC,CAAC;IAED,OAAO,KAAK;SACT,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,uBAAuB,IAAI,CAAC,SAAS,QAAQ,CAAC;SAC1E,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAgB,yBAAyB,CAAC,WAAqB;IAC7D,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzD,CAAC;AAED,SAAgB,OAAO,CAAC,KAAa;IACnC,OAAO,KAAK;SACT,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/generators/documentation/templates/common.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dataFlowTemplate.d.ts","sourceRoot":"","sources":["../../../../src/generators/documentation/templates/dataFlowTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAGvD,wBAAgB,cAAc,CAAC,OAAO,EAAE,4BAA4B,GAAG,MAAM,CAkC5E"}
1
+ {"version":3,"file":"dataFlowTemplate.d.ts","sourceRoot":"","sources":["../../../../src/generators/documentation/templates/dataFlowTemplate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAwEvD,wBAAgB,cAAc,CAAC,OAAO,EAAE,4BAA4B,GAAG,MAAM,CA2B5E"}
@@ -1,13 +1,108 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.renderDataFlow = renderDataFlow;
37
+ const path = __importStar(require("path"));
4
38
  const common_1 = require("./common");
39
+ function renderModuleDependencies(context) {
40
+ const { semantics, repoStructure } = context;
41
+ if (!semantics || !semantics.dependencies?.graph) {
42
+ return '- *No module dependencies detected.*';
43
+ }
44
+ const repoRoot = repoStructure.rootPath;
45
+ const graph = semantics.dependencies.graph;
46
+ if (graph.size === 0) {
47
+ return '- *No module dependencies detected.*';
48
+ }
49
+ // Group dependencies by top-level directory
50
+ const moduleGroups = new Map();
51
+ for (const [source, targets] of graph) {
52
+ const relSource = path.relative(repoRoot, source);
53
+ const sourceDir = relSource.split('/')[0] || relSource;
54
+ for (const target of targets) {
55
+ const relTarget = path.relative(repoRoot, target);
56
+ const targetDir = relTarget.split('/')[0] || relTarget;
57
+ if (sourceDir !== targetDir) {
58
+ const key = sourceDir;
59
+ const deps = moduleGroups.get(key) || new Set();
60
+ deps.add(targetDir);
61
+ moduleGroups.set(key, deps);
62
+ }
63
+ }
64
+ }
65
+ if (moduleGroups.size === 0) {
66
+ return '- *No cross-module dependencies detected.*';
67
+ }
68
+ const lines = [];
69
+ for (const [module, deps] of moduleGroups) {
70
+ const depList = Array.from(deps).sort().map(d => `\`${d}\``).join(', ');
71
+ lines.push(`- **${module}/** → ${depList}`);
72
+ }
73
+ return lines.join('\n');
74
+ }
75
+ function renderServiceLayer(context) {
76
+ const { semantics, repoStructure } = context;
77
+ if (!semantics) {
78
+ return '- *No service classes detected.*';
79
+ }
80
+ const repoRoot = repoStructure.rootPath;
81
+ // Find service classes (classes ending in Service)
82
+ const services = semantics.symbols.classes
83
+ .filter(s => s.name.endsWith('Service') && s.exported);
84
+ if (services.length === 0) {
85
+ return '- *No service classes detected.*';
86
+ }
87
+ return services.map(sym => {
88
+ const relPath = path.relative(repoRoot, sym.location.file);
89
+ const doc = sym.documentation ? ` — ${sym.documentation}` : '';
90
+ return `- [\`${sym.name}\`](${relPath}#L${sym.location.line})${doc}`;
91
+ }).join('\n');
92
+ }
5
93
  function renderDataFlow(context) {
6
- return `<!-- agent-update:start:data-flow -->
7
- # Data Flow & Integrations
94
+ const moduleDependencies = renderModuleDependencies(context);
95
+ const serviceLayer = renderServiceLayer(context);
96
+ return `# Data Flow & Integrations
8
97
 
9
98
  Explain how data enters, moves through, and exits the system, including interactions with external services.
10
99
 
100
+ ## Module Dependencies
101
+ ${moduleDependencies}
102
+
103
+ ## Service Layer
104
+ ${serviceLayer}
105
+
11
106
  ## High-level Flow
12
107
  - Summarize the primary pipeline from input to output. Reference diagrams or embed Mermaid definitions when available.
13
108
 
@@ -15,26 +110,11 @@ Explain how data enters, moves through, and exits the system, including interact
15
110
  - Describe how modules within ${(0, common_1.formatInlineDirectoryList)(context.topLevelDirectories)} collaborate (queues, events, RPC calls, shared databases).
16
111
 
17
112
  ## External Integrations
18
- - <!-- agent-fill:integration -->**Integration** — Purpose, authentication, payload shapes, retry strategy.<!-- /agent-fill -->
113
+ - **Integration** — Purpose, authentication, payload shapes, retry strategy.
19
114
 
20
115
  ## Observability & Failure Modes
21
116
  - Metrics, traces, or logs that monitor the flow.
22
117
  - Backoff, dead-letter, or compensating actions when downstream systems fail.
23
-
24
- <!-- agent-readonly:guidance -->
25
- ## AI Update Checklist
26
- 1. Validate flows against the latest integration contracts or diagrams.
27
- 2. Update authentication, scopes, or rate limits when they change.
28
- 3. Capture recent incidents or lessons learned that influenced reliability.
29
- 4. Link to runbooks or dashboards used during triage.
30
-
31
- <!-- agent-readonly:sources -->
32
- ## Acceptable Sources
33
- - Architecture diagrams, ADRs, integration playbooks.
34
- - API specs, queue/topic definitions, infrastructure code.
35
- - Postmortems or incident reviews impacting data movement.
36
-
37
- <!-- agent-update:end -->
38
118
  `;
39
119
  }
40
120
  //# sourceMappingURL=dataFlowTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataFlowTemplate.js","sourceRoot":"","sources":["../../../../src/generators/documentation/templates/dataFlowTemplate.ts"],"names":[],"mappings":";;AAGA,wCAkCC;AApCD,qCAAqD;AAErD,SAAgB,cAAc,CAAC,OAAqC;IAClE,OAAO;;;;;;;;;gCASuB,IAAA,kCAAyB,EAAC,OAAO,CAAC,mBAAmB,CAAC;;;;;;;;;;;;;;;;;;;;;;;CAuBrF,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"dataFlowTemplate.js","sourceRoot":"","sources":["../../../../src/generators/documentation/templates/dataFlowTemplate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyEA,wCA2BC;AApGD,2CAA6B;AAE7B,qCAAqD;AAErD,SAAS,wBAAwB,CAAC,OAAqC;IACrE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAC7C,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC;QACjD,OAAO,sCAAsC,CAAC;IAChD,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;IACxC,MAAM,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC;IAE3C,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,sCAAsC,CAAC;IAChD,CAAC;IAED,4CAA4C;IAC5C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;IAEpD,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;QAEvD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;YAEvD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,GAAG,GAAG,SAAS,CAAC;gBACtB,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;gBAChD,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACpB,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,4CAA4C,CAAC;IACtD,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,YAAY,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,SAAS,OAAO,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAqC;IAC/D,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,kCAAkC,CAAC;IAC5C,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;IAExC,mDAAmD;IACnD,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO;SACvC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAEzD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,kCAAkC,CAAC;IAC5C,CAAC;IAED,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,OAAO,QAAQ,GAAG,CAAC,IAAI,OAAO,OAAO,KAAK,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;IACvE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAgB,cAAc,CAAC,OAAqC;IAClE,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAEjD,OAAO;;;;;EAKP,kBAAkB;;;EAGlB,YAAY;;;;;;gCAMkB,IAAA,kCAAyB,EAAC,OAAO,CAAC,mBAAmB,CAAC;;;;;;;;CAQrF,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"developmentWorkflowTemplate.d.ts","sourceRoot":"","sources":["../../../../src/generators/documentation/templates/developmentWorkflowTemplate.ts"],"names":[],"mappings":"AAAA,wBAAgB,yBAAyB,IAAI,MAAM,CAuClD"}
1
+ {"version":3,"file":"developmentWorkflowTemplate.d.ts","sourceRoot":"","sources":["../../../../src/generators/documentation/templates/developmentWorkflowTemplate.ts"],"names":[],"mappings":"AAAA,wBAAgB,yBAAyB,IAAI,MAAM,CAsBlD"}
@@ -2,8 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.renderDevelopmentWorkflow = renderDevelopmentWorkflow;
4
4
  function renderDevelopmentWorkflow() {
5
- return `<!-- agent-update:start:development-workflow -->
6
- # Development Workflow
5
+ return `# Development Workflow
7
6
 
8
7
  Outline the day-to-day engineering process for this repository.
9
8
 
@@ -23,22 +22,6 @@ Outline the day-to-day engineering process for this repository.
23
22
  ## Onboarding Tasks
24
23
  - Point newcomers to first issues or starter tickets.
25
24
  - Link to internal runbooks or dashboards.
26
-
27
- <!-- agent-readonly:guidance -->
28
- ## AI Update Checklist
29
- 1. Confirm branching/release steps with CI configuration and recent tags.
30
- 2. Verify local commands against \`package.json\`; ensure flags and scripts still exist.
31
- 3. Capture review requirements (approvers, checks) from contributing docs or repository settings.
32
- 4. Refresh onboarding links (boards, dashboards) to their latest URLs.
33
- 5. Highlight any manual steps that should become automation follow-ups.
34
-
35
- <!-- agent-readonly:sources -->
36
- ## Acceptable Sources
37
- - CONTRIBUTING guidelines and \`AGENTS.md\`.
38
- - Build pipelines, branch protection rules, or release scripts.
39
- - Issue tracker boards used for onboarding or triage.
40
-
41
- <!-- agent-update:end -->
42
25
  `;
43
26
  }
44
27
  //# sourceMappingURL=developmentWorkflowTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"developmentWorkflowTemplate.js","sourceRoot":"","sources":["../../../../src/generators/documentation/templates/developmentWorkflowTemplate.ts"],"names":[],"mappings":";;AAAA,8DAuCC;AAvCD,SAAgB,yBAAyB;IACvC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCR,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"developmentWorkflowTemplate.js","sourceRoot":"","sources":["../../../../src/generators/documentation/templates/developmentWorkflowTemplate.ts"],"names":[],"mappings":";;AAAA,8DAsBC;AAtBD,SAAgB,yBAAyB;IACvC,OAAO;;;;;;;;;;;;;;;;;;;;CAoBR,CAAC;AACF,CAAC"}