@dotcontext/cli 0.8.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 (797) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +566 -0
  3. package/dist/generators/agents/agentConfig.d.ts +4 -0
  4. package/dist/generators/agents/agentConfig.d.ts.map +1 -0
  5. package/dist/generators/agents/agentConfig.js +180 -0
  6. package/dist/generators/agents/agentConfig.js.map +1 -0
  7. package/dist/generators/agents/agentGenerator.d.ts +36 -0
  8. package/dist/generators/agents/agentGenerator.d.ts.map +1 -0
  9. package/dist/generators/agents/agentGenerator.js +304 -0
  10. package/dist/generators/agents/agentGenerator.js.map +1 -0
  11. package/dist/generators/agents/agentTypes.d.ts +4 -0
  12. package/dist/generators/agents/agentTypes.d.ts.map +1 -0
  13. package/dist/generators/agents/agentTypes.js +25 -0
  14. package/dist/generators/agents/agentTypes.js.map +1 -0
  15. package/dist/generators/agents/index.d.ts +4 -0
  16. package/dist/generators/agents/index.d.ts.map +1 -0
  17. package/dist/generators/agents/index.js +12 -0
  18. package/dist/generators/agents/index.js.map +1 -0
  19. package/dist/generators/agents/templates/index.d.ts +3 -0
  20. package/dist/generators/agents/templates/index.d.ts.map +1 -0
  21. package/dist/generators/agents/templates/index.js +6 -0
  22. package/dist/generators/agents/templates/index.js.map +1 -0
  23. package/dist/generators/agents/templates/indexTemplate.d.ts +3 -0
  24. package/dist/generators/agents/templates/indexTemplate.d.ts.map +1 -0
  25. package/dist/generators/agents/templates/indexTemplate.js +36 -0
  26. package/dist/generators/agents/templates/indexTemplate.js.map +1 -0
  27. package/dist/generators/agents/templates/types.d.ts +22 -0
  28. package/dist/generators/agents/templates/types.d.ts.map +1 -0
  29. package/dist/generators/agents/templates/types.js +3 -0
  30. package/dist/generators/agents/templates/types.js.map +1 -0
  31. package/dist/generators/documentation/codebaseMapGenerator.d.ts +143 -0
  32. package/dist/generators/documentation/codebaseMapGenerator.d.ts.map +1 -0
  33. package/dist/generators/documentation/codebaseMapGenerator.js +666 -0
  34. package/dist/generators/documentation/codebaseMapGenerator.js.map +1 -0
  35. package/dist/generators/documentation/documentationGenerator.d.ts +22 -0
  36. package/dist/generators/documentation/documentationGenerator.d.ts.map +1 -0
  37. package/dist/generators/documentation/documentationGenerator.js +263 -0
  38. package/dist/generators/documentation/documentationGenerator.js.map +1 -0
  39. package/dist/generators/documentation/guideRegistry.d.ts +6 -0
  40. package/dist/generators/documentation/guideRegistry.d.ts.map +1 -0
  41. package/dist/generators/documentation/guideRegistry.js +74 -0
  42. package/dist/generators/documentation/guideRegistry.js.map +1 -0
  43. package/dist/generators/documentation/index.d.ts +4 -0
  44. package/dist/generators/documentation/index.d.ts.map +1 -0
  45. package/dist/generators/documentation/index.js +8 -0
  46. package/dist/generators/documentation/index.js.map +1 -0
  47. package/dist/generators/documentation/templates/common.d.ts +42 -0
  48. package/dist/generators/documentation/templates/common.d.ts.map +1 -0
  49. package/dist/generators/documentation/templates/common.js +194 -0
  50. package/dist/generators/documentation/templates/common.js.map +1 -0
  51. package/dist/generators/documentation/templates/index.d.ts +3 -0
  52. package/dist/generators/documentation/templates/index.d.ts.map +1 -0
  53. package/dist/generators/documentation/templates/index.js +6 -0
  54. package/dist/generators/documentation/templates/index.js.map +1 -0
  55. package/dist/generators/documentation/templates/indexTemplate.d.ts +3 -0
  56. package/dist/generators/documentation/templates/indexTemplate.d.ts.map +1 -0
  57. package/dist/generators/documentation/templates/indexTemplate.js +25 -0
  58. package/dist/generators/documentation/templates/indexTemplate.js.map +1 -0
  59. package/dist/generators/documentation/templates/types.d.ts +24 -0
  60. package/dist/generators/documentation/templates/types.d.ts.map +1 -0
  61. package/dist/generators/documentation/templates/types.js +3 -0
  62. package/dist/generators/documentation/templates/types.js.map +1 -0
  63. package/dist/generators/plans/index.d.ts +2 -0
  64. package/dist/generators/plans/index.d.ts.map +1 -0
  65. package/dist/generators/plans/index.js +6 -0
  66. package/dist/generators/plans/index.js.map +1 -0
  67. package/dist/generators/plans/planGenerator.d.ts +26 -0
  68. package/dist/generators/plans/planGenerator.d.ts.map +1 -0
  69. package/dist/generators/plans/planGenerator.js +137 -0
  70. package/dist/generators/plans/planGenerator.js.map +1 -0
  71. package/dist/generators/plans/templates/indexTemplate.d.ts +3 -0
  72. package/dist/generators/plans/templates/indexTemplate.d.ts.map +1 -0
  73. package/dist/generators/plans/templates/indexTemplate.js +28 -0
  74. package/dist/generators/plans/templates/indexTemplate.js.map +1 -0
  75. package/dist/generators/plans/templates/planTemplate.d.ts +14 -0
  76. package/dist/generators/plans/templates/planTemplate.d.ts.map +1 -0
  77. package/dist/generators/plans/templates/planTemplate.js +270 -0
  78. package/dist/generators/plans/templates/planTemplate.js.map +1 -0
  79. package/dist/generators/plans/templates/types.d.ts +29 -0
  80. package/dist/generators/plans/templates/types.d.ts.map +1 -0
  81. package/dist/generators/plans/templates/types.js +3 -0
  82. package/dist/generators/plans/templates/types.js.map +1 -0
  83. package/dist/generators/shared/contextGenerator.d.ts +7 -0
  84. package/dist/generators/shared/contextGenerator.d.ts.map +1 -0
  85. package/dist/generators/shared/contextGenerator.js +13 -0
  86. package/dist/generators/shared/contextGenerator.js.map +1 -0
  87. package/dist/generators/shared/directoryTemplateHelpers.d.ts +2 -0
  88. package/dist/generators/shared/directoryTemplateHelpers.d.ts.map +1 -0
  89. package/dist/generators/shared/directoryTemplateHelpers.js +12 -0
  90. package/dist/generators/shared/directoryTemplateHelpers.js.map +1 -0
  91. package/dist/generators/shared/generatorUtils.d.ts +16 -0
  92. package/dist/generators/shared/generatorUtils.d.ts.map +1 -0
  93. package/dist/generators/shared/generatorUtils.js +116 -0
  94. package/dist/generators/shared/generatorUtils.js.map +1 -0
  95. package/dist/generators/shared/index.d.ts +5 -0
  96. package/dist/generators/shared/index.d.ts.map +1 -0
  97. package/dist/generators/shared/index.js +26 -0
  98. package/dist/generators/shared/index.js.map +1 -0
  99. package/dist/generators/shared/scaffoldStructures.d.ts +13 -0
  100. package/dist/generators/shared/scaffoldStructures.d.ts.map +1 -0
  101. package/dist/generators/shared/scaffoldStructures.js +30 -0
  102. package/dist/generators/shared/scaffoldStructures.js.map +1 -0
  103. package/dist/generators/shared/structures/agents/definitions.d.ts +18 -0
  104. package/dist/generators/shared/structures/agents/definitions.d.ts.map +1 -0
  105. package/dist/generators/shared/structures/agents/definitions.js +561 -0
  106. package/dist/generators/shared/structures/agents/definitions.js.map +1 -0
  107. package/dist/generators/shared/structures/agents/factory.d.ts +25 -0
  108. package/dist/generators/shared/structures/agents/factory.d.ts.map +1 -0
  109. package/dist/generators/shared/structures/agents/factory.js +138 -0
  110. package/dist/generators/shared/structures/agents/factory.js.map +1 -0
  111. package/dist/generators/shared/structures/agents/index.d.ts +6 -0
  112. package/dist/generators/shared/structures/agents/index.d.ts.map +1 -0
  113. package/dist/generators/shared/structures/agents/index.js +24 -0
  114. package/dist/generators/shared/structures/agents/index.js.map +1 -0
  115. package/dist/generators/shared/structures/documentation/apiReference.d.ts +3 -0
  116. package/dist/generators/shared/structures/documentation/apiReference.d.ts.map +1 -0
  117. package/dist/generators/shared/structures/documentation/apiReference.js +100 -0
  118. package/dist/generators/shared/structures/documentation/apiReference.js.map +1 -0
  119. package/dist/generators/shared/structures/documentation/architecture.d.ts +3 -0
  120. package/dist/generators/shared/structures/documentation/architecture.d.ts.map +1 -0
  121. package/dist/generators/shared/structures/documentation/architecture.js +176 -0
  122. package/dist/generators/shared/structures/documentation/architecture.js.map +1 -0
  123. package/dist/generators/shared/structures/documentation/dataFlow.d.ts +3 -0
  124. package/dist/generators/shared/structures/documentation/dataFlow.d.ts.map +1 -0
  125. package/dist/generators/shared/structures/documentation/dataFlow.js +107 -0
  126. package/dist/generators/shared/structures/documentation/dataFlow.js.map +1 -0
  127. package/dist/generators/shared/structures/documentation/glossary.d.ts +3 -0
  128. package/dist/generators/shared/structures/documentation/glossary.d.ts.map +1 -0
  129. package/dist/generators/shared/structures/documentation/glossary.js +91 -0
  130. package/dist/generators/shared/structures/documentation/glossary.js.map +1 -0
  131. package/dist/generators/shared/structures/documentation/index.d.ts +16 -0
  132. package/dist/generators/shared/structures/documentation/index.d.ts.map +1 -0
  133. package/dist/generators/shared/structures/documentation/index.js +31 -0
  134. package/dist/generators/shared/structures/documentation/index.js.map +1 -0
  135. package/dist/generators/shared/structures/documentation/migration.d.ts +3 -0
  136. package/dist/generators/shared/structures/documentation/migration.d.ts.map +1 -0
  137. package/dist/generators/shared/structures/documentation/migration.js +113 -0
  138. package/dist/generators/shared/structures/documentation/migration.js.map +1 -0
  139. package/dist/generators/shared/structures/documentation/onboarding.d.ts +3 -0
  140. package/dist/generators/shared/structures/documentation/onboarding.d.ts.map +1 -0
  141. package/dist/generators/shared/structures/documentation/onboarding.js +99 -0
  142. package/dist/generators/shared/structures/documentation/onboarding.js.map +1 -0
  143. package/dist/generators/shared/structures/documentation/projectOverview.d.ts +3 -0
  144. package/dist/generators/shared/structures/documentation/projectOverview.d.ts.map +1 -0
  145. package/dist/generators/shared/structures/documentation/projectOverview.js +163 -0
  146. package/dist/generators/shared/structures/documentation/projectOverview.js.map +1 -0
  147. package/dist/generators/shared/structures/documentation/security.d.ts +3 -0
  148. package/dist/generators/shared/structures/documentation/security.d.ts.map +1 -0
  149. package/dist/generators/shared/structures/documentation/security.js +100 -0
  150. package/dist/generators/shared/structures/documentation/security.js.map +1 -0
  151. package/dist/generators/shared/structures/documentation/testing.d.ts +3 -0
  152. package/dist/generators/shared/structures/documentation/testing.d.ts.map +1 -0
  153. package/dist/generators/shared/structures/documentation/testing.js +130 -0
  154. package/dist/generators/shared/structures/documentation/testing.js.map +1 -0
  155. package/dist/generators/shared/structures/documentation/tooling.d.ts +3 -0
  156. package/dist/generators/shared/structures/documentation/tooling.d.ts.map +1 -0
  157. package/dist/generators/shared/structures/documentation/tooling.js +114 -0
  158. package/dist/generators/shared/structures/documentation/tooling.js.map +1 -0
  159. package/dist/generators/shared/structures/documentation/troubleshooting.d.ts +3 -0
  160. package/dist/generators/shared/structures/documentation/troubleshooting.d.ts.map +1 -0
  161. package/dist/generators/shared/structures/documentation/troubleshooting.js +91 -0
  162. package/dist/generators/shared/structures/documentation/troubleshooting.js.map +1 -0
  163. package/dist/generators/shared/structures/documentation/workflow.d.ts +3 -0
  164. package/dist/generators/shared/structures/documentation/workflow.d.ts.map +1 -0
  165. package/dist/generators/shared/structures/documentation/workflow.js +116 -0
  166. package/dist/generators/shared/structures/documentation/workflow.js.map +1 -0
  167. package/dist/generators/shared/structures/index.d.ts +15 -0
  168. package/dist/generators/shared/structures/index.d.ts.map +1 -0
  169. package/dist/generators/shared/structures/index.js +37 -0
  170. package/dist/generators/shared/structures/index.js.map +1 -0
  171. package/dist/generators/shared/structures/plans/index.d.ts +5 -0
  172. package/dist/generators/shared/structures/plans/index.d.ts.map +1 -0
  173. package/dist/generators/shared/structures/plans/index.js +9 -0
  174. package/dist/generators/shared/structures/plans/index.js.map +1 -0
  175. package/dist/generators/shared/structures/plans/planStructure.d.ts +6 -0
  176. package/dist/generators/shared/structures/plans/planStructure.d.ts.map +1 -0
  177. package/dist/generators/shared/structures/plans/planStructure.js +65 -0
  178. package/dist/generators/shared/structures/plans/planStructure.js.map +1 -0
  179. package/dist/generators/shared/structures/registry.d.ts +18 -0
  180. package/dist/generators/shared/structures/registry.d.ts.map +1 -0
  181. package/dist/generators/shared/structures/registry.js +104 -0
  182. package/dist/generators/shared/structures/registry.js.map +1 -0
  183. package/dist/generators/shared/structures/serialization.d.ts +15 -0
  184. package/dist/generators/shared/structures/serialization.d.ts.map +1 -0
  185. package/dist/generators/shared/structures/serialization.js +124 -0
  186. package/dist/generators/shared/structures/serialization.js.map +1 -0
  187. package/dist/generators/shared/structures/skills/definitions.d.ts +25 -0
  188. package/dist/generators/shared/structures/skills/definitions.d.ts.map +1 -0
  189. package/dist/generators/shared/structures/skills/definitions.js +427 -0
  190. package/dist/generators/shared/structures/skills/definitions.js.map +1 -0
  191. package/dist/generators/shared/structures/skills/factory.d.ts +18 -0
  192. package/dist/generators/shared/structures/skills/factory.d.ts.map +1 -0
  193. package/dist/generators/shared/structures/skills/factory.js +75 -0
  194. package/dist/generators/shared/structures/skills/factory.js.map +1 -0
  195. package/dist/generators/shared/structures/skills/index.d.ts +6 -0
  196. package/dist/generators/shared/structures/skills/index.d.ts.map +1 -0
  197. package/dist/generators/shared/structures/skills/index.js +30 -0
  198. package/dist/generators/shared/structures/skills/index.js.map +1 -0
  199. package/dist/generators/shared/structures/types.d.ts +61 -0
  200. package/dist/generators/shared/structures/types.d.ts.map +1 -0
  201. package/dist/generators/shared/structures/types.js +6 -0
  202. package/dist/generators/shared/structures/types.js.map +1 -0
  203. package/dist/generators/shared/structures/validation.d.ts +13 -0
  204. package/dist/generators/shared/structures/validation.d.ts.map +1 -0
  205. package/dist/generators/shared/structures/validation.js +51 -0
  206. package/dist/generators/shared/structures/validation.js.map +1 -0
  207. package/dist/generators/skills/index.d.ts +7 -0
  208. package/dist/generators/skills/index.d.ts.map +1 -0
  209. package/dist/generators/skills/index.js +15 -0
  210. package/dist/generators/skills/index.js.map +1 -0
  211. package/dist/generators/skills/skillGenerator.d.ts +58 -0
  212. package/dist/generators/skills/skillGenerator.d.ts.map +1 -0
  213. package/dist/generators/skills/skillGenerator.js +158 -0
  214. package/dist/generators/skills/skillGenerator.js.map +1 -0
  215. package/dist/generators/skills/templates/indexTemplate.d.ts +13 -0
  216. package/dist/generators/skills/templates/indexTemplate.d.ts.map +1 -0
  217. package/dist/generators/skills/templates/indexTemplate.js +102 -0
  218. package/dist/generators/skills/templates/indexTemplate.js.map +1 -0
  219. package/dist/generators/skills/templates/skillTemplate.d.ts +30 -0
  220. package/dist/generators/skills/templates/skillTemplate.d.ts.map +1 -0
  221. package/dist/generators/skills/templates/skillTemplate.js +95 -0
  222. package/dist/generators/skills/templates/skillTemplate.js.map +1 -0
  223. package/dist/index.d.ts +3 -0
  224. package/dist/index.d.ts.map +1 -0
  225. package/dist/index.js +1179 -0
  226. package/dist/index.js.map +1 -0
  227. package/dist/prompts/defaults.d.ts +8 -0
  228. package/dist/prompts/defaults.d.ts.map +1 -0
  229. package/dist/prompts/defaults.js +108 -0
  230. package/dist/prompts/defaults.js.map +1 -0
  231. package/dist/services/ai/aiSdkClient.d.ts +67 -0
  232. package/dist/services/ai/aiSdkClient.d.ts.map +1 -0
  233. package/dist/services/ai/aiSdkClient.js +143 -0
  234. package/dist/services/ai/aiSdkClient.js.map +1 -0
  235. package/dist/services/ai/index.d.ts +5 -0
  236. package/dist/services/ai/index.d.ts.map +1 -0
  237. package/dist/services/ai/index.js +40 -0
  238. package/dist/services/ai/index.js.map +1 -0
  239. package/dist/services/ai/providerFactory.d.ts +35 -0
  240. package/dist/services/ai/providerFactory.d.ts.map +1 -0
  241. package/dist/services/ai/providerFactory.js +107 -0
  242. package/dist/services/ai/providerFactory.js.map +1 -0
  243. package/dist/services/ai/schemas.d.ts +557 -0
  244. package/dist/services/ai/schemas.d.ts.map +1 -0
  245. package/dist/services/ai/schemas.js +357 -0
  246. package/dist/services/ai/schemas.js.map +1 -0
  247. package/dist/services/ai/toolRegistry.d.ts +27 -0
  248. package/dist/services/ai/toolRegistry.d.ts.map +1 -0
  249. package/dist/services/ai/toolRegistry.js +151 -0
  250. package/dist/services/ai/toolRegistry.js.map +1 -0
  251. package/dist/services/ai/tools/analyzeSymbolsTool.d.ts +33 -0
  252. package/dist/services/ai/tools/analyzeSymbolsTool.d.ts.map +1 -0
  253. package/dist/services/ai/tools/analyzeSymbolsTool.js +57 -0
  254. package/dist/services/ai/tools/analyzeSymbolsTool.js.map +1 -0
  255. package/dist/services/ai/tools/checkScaffoldingTool.d.ts +18 -0
  256. package/dist/services/ai/tools/checkScaffoldingTool.d.ts.map +1 -0
  257. package/dist/services/ai/tools/checkScaffoldingTool.js +89 -0
  258. package/dist/services/ai/tools/checkScaffoldingTool.js.map +1 -0
  259. package/dist/services/ai/tools/fillScaffoldingTool.d.ts +124 -0
  260. package/dist/services/ai/tools/fillScaffoldingTool.d.ts.map +1 -0
  261. package/dist/services/ai/tools/fillScaffoldingTool.js +397 -0
  262. package/dist/services/ai/tools/fillScaffoldingTool.js.map +1 -0
  263. package/dist/services/ai/tools/getCodebaseMapTool.d.ts +17 -0
  264. package/dist/services/ai/tools/getCodebaseMapTool.d.ts.map +1 -0
  265. package/dist/services/ai/tools/getCodebaseMapTool.js +122 -0
  266. package/dist/services/ai/tools/getCodebaseMapTool.js.map +1 -0
  267. package/dist/services/ai/tools/getFileStructureTool.d.ts +29 -0
  268. package/dist/services/ai/tools/getFileStructureTool.d.ts.map +1 -0
  269. package/dist/services/ai/tools/getFileStructureTool.js +48 -0
  270. package/dist/services/ai/tools/getFileStructureTool.js.map +1 -0
  271. package/dist/services/ai/tools/index.d.ts +21 -0
  272. package/dist/services/ai/tools/index.d.ts.map +1 -0
  273. package/dist/services/ai/tools/index.js +75 -0
  274. package/dist/services/ai/tools/index.js.map +1 -0
  275. package/dist/services/ai/tools/initializeContextTool.d.ts +135 -0
  276. package/dist/services/ai/tools/initializeContextTool.d.ts.map +1 -0
  277. package/dist/services/ai/tools/initializeContextTool.js +447 -0
  278. package/dist/services/ai/tools/initializeContextTool.js.map +1 -0
  279. package/dist/services/ai/tools/listFilesTool.d.ts +18 -0
  280. package/dist/services/ai/tools/listFilesTool.d.ts.map +1 -0
  281. package/dist/services/ai/tools/listFilesTool.js +34 -0
  282. package/dist/services/ai/tools/listFilesTool.js.map +1 -0
  283. package/dist/services/ai/tools/readFileTool.d.ts +17 -0
  284. package/dist/services/ai/tools/readFileTool.d.ts.map +1 -0
  285. package/dist/services/ai/tools/readFileTool.js +63 -0
  286. package/dist/services/ai/tools/readFileTool.js.map +1 -0
  287. package/dist/services/ai/tools/scaffoldPlanTool.d.ts +41 -0
  288. package/dist/services/ai/tools/scaffoldPlanTool.d.ts.map +1 -0
  289. package/dist/services/ai/tools/scaffoldPlanTool.js +183 -0
  290. package/dist/services/ai/tools/scaffoldPlanTool.js.map +1 -0
  291. package/dist/services/ai/tools/searchCodeTool.d.ts +25 -0
  292. package/dist/services/ai/tools/searchCodeTool.d.ts.map +1 -0
  293. package/dist/services/ai/tools/searchCodeTool.js +96 -0
  294. package/dist/services/ai/tools/searchCodeTool.js.map +1 -0
  295. package/dist/services/autoFill/autoFillService.d.ts +52 -0
  296. package/dist/services/autoFill/autoFillService.d.ts.map +1 -0
  297. package/dist/services/autoFill/autoFillService.js +473 -0
  298. package/dist/services/autoFill/autoFillService.js.map +1 -0
  299. package/dist/services/autoFill/index.d.ts +2 -0
  300. package/dist/services/autoFill/index.d.ts.map +1 -0
  301. package/dist/services/autoFill/index.js +6 -0
  302. package/dist/services/autoFill/index.js.map +1 -0
  303. package/dist/services/baseLLMClient.d.ts +12 -0
  304. package/dist/services/baseLLMClient.d.ts.map +1 -0
  305. package/dist/services/baseLLMClient.js +80 -0
  306. package/dist/services/baseLLMClient.js.map +1 -0
  307. package/dist/services/export/contextExportService.d.ts +45 -0
  308. package/dist/services/export/contextExportService.d.ts.map +1 -0
  309. package/dist/services/export/contextExportService.js +161 -0
  310. package/dist/services/export/contextExportService.js.map +1 -0
  311. package/dist/services/export/exportRulesService.d.ts +76 -0
  312. package/dist/services/export/exportRulesService.d.ts.map +1 -0
  313. package/dist/services/export/exportRulesService.js +306 -0
  314. package/dist/services/export/exportRulesService.js.map +1 -0
  315. package/dist/services/export/index.d.ts +7 -0
  316. package/dist/services/export/index.d.ts.map +1 -0
  317. package/dist/services/export/index.js +12 -0
  318. package/dist/services/export/index.js.map +1 -0
  319. package/dist/services/export/skillExportService.d.ts +69 -0
  320. package/dist/services/export/skillExportService.d.ts.map +1 -0
  321. package/dist/services/export/skillExportService.js +262 -0
  322. package/dist/services/export/skillExportService.js.map +1 -0
  323. package/dist/services/import/agentsDetector.d.ts +12 -0
  324. package/dist/services/import/agentsDetector.d.ts.map +1 -0
  325. package/dist/services/import/agentsDetector.js +183 -0
  326. package/dist/services/import/agentsDetector.js.map +1 -0
  327. package/dist/services/import/importAgentsService.d.ts +14 -0
  328. package/dist/services/import/importAgentsService.d.ts.map +1 -0
  329. package/dist/services/import/importAgentsService.js +194 -0
  330. package/dist/services/import/importAgentsService.js.map +1 -0
  331. package/dist/services/import/importRulesService.d.ts +17 -0
  332. package/dist/services/import/importRulesService.d.ts.map +1 -0
  333. package/dist/services/import/importRulesService.js +221 -0
  334. package/dist/services/import/importRulesService.js.map +1 -0
  335. package/dist/services/import/index.d.ts +7 -0
  336. package/dist/services/import/index.d.ts.map +1 -0
  337. package/dist/services/import/index.js +28 -0
  338. package/dist/services/import/index.js.map +1 -0
  339. package/dist/services/import/presets.d.ts +20 -0
  340. package/dist/services/import/presets.d.ts.map +1 -0
  341. package/dist/services/import/presets.js +56 -0
  342. package/dist/services/import/presets.js.map +1 -0
  343. package/dist/services/import/rulesDetector.d.ts +16 -0
  344. package/dist/services/import/rulesDetector.d.ts.map +1 -0
  345. package/dist/services/import/rulesDetector.js +278 -0
  346. package/dist/services/import/rulesDetector.js.map +1 -0
  347. package/dist/services/import/types.d.ts +72 -0
  348. package/dist/services/import/types.d.ts.map +1 -0
  349. package/dist/services/import/types.js +3 -0
  350. package/dist/services/import/types.js.map +1 -0
  351. package/dist/services/mcp/actionLogger.d.ts +19 -0
  352. package/dist/services/mcp/actionLogger.d.ts.map +1 -0
  353. package/dist/services/mcp/actionLogger.js +128 -0
  354. package/dist/services/mcp/actionLogger.js.map +1 -0
  355. package/dist/services/mcp/gateway/agent.d.ts +17 -0
  356. package/dist/services/mcp/gateway/agent.d.ts.map +1 -0
  357. package/dist/services/mcp/gateway/agent.js +147 -0
  358. package/dist/services/mcp/gateway/agent.js.map +1 -0
  359. package/dist/services/mcp/gateway/context.d.ts +21 -0
  360. package/dist/services/mcp/gateway/context.d.ts.map +1 -0
  361. package/dist/services/mcp/gateway/context.js +249 -0
  362. package/dist/services/mcp/gateway/context.js.map +1 -0
  363. package/dist/services/mcp/gateway/explore.d.ts +16 -0
  364. package/dist/services/mcp/gateway/explore.d.ts.map +1 -0
  365. package/dist/services/mcp/gateway/explore.js +60 -0
  366. package/dist/services/mcp/gateway/explore.js.map +1 -0
  367. package/dist/services/mcp/gateway/index.d.ts +24 -0
  368. package/dist/services/mcp/gateway/index.d.ts.map +1 -0
  369. package/dist/services/mcp/gateway/index.js +53 -0
  370. package/dist/services/mcp/gateway/index.js.map +1 -0
  371. package/dist/services/mcp/gateway/metrics.d.ts +56 -0
  372. package/dist/services/mcp/gateway/metrics.d.ts.map +1 -0
  373. package/dist/services/mcp/gateway/metrics.js +153 -0
  374. package/dist/services/mcp/gateway/metrics.js.map +1 -0
  375. package/dist/services/mcp/gateway/plan.d.ts +18 -0
  376. package/dist/services/mcp/gateway/plan.d.ts.map +1 -0
  377. package/dist/services/mcp/gateway/plan.js +273 -0
  378. package/dist/services/mcp/gateway/plan.js.map +1 -0
  379. package/dist/services/mcp/gateway/response.d.ts +45 -0
  380. package/dist/services/mcp/gateway/response.d.ts.map +1 -0
  381. package/dist/services/mcp/gateway/response.js +111 -0
  382. package/dist/services/mcp/gateway/response.js.map +1 -0
  383. package/dist/services/mcp/gateway/shared.d.ts +38 -0
  384. package/dist/services/mcp/gateway/shared.d.ts.map +1 -0
  385. package/dist/services/mcp/gateway/shared.js +39 -0
  386. package/dist/services/mcp/gateway/shared.js.map +1 -0
  387. package/dist/services/mcp/gateway/skill.d.ts +17 -0
  388. package/dist/services/mcp/gateway/skill.d.ts.map +1 -0
  389. package/dist/services/mcp/gateway/skill.js +323 -0
  390. package/dist/services/mcp/gateway/skill.js.map +1 -0
  391. package/dist/services/mcp/gateway/sync.d.ts +17 -0
  392. package/dist/services/mcp/gateway/sync.d.ts.map +1 -0
  393. package/dist/services/mcp/gateway/sync.js +219 -0
  394. package/dist/services/mcp/gateway/sync.js.map +1 -0
  395. package/dist/services/mcp/gateway/types.d.ts +116 -0
  396. package/dist/services/mcp/gateway/types.d.ts.map +1 -0
  397. package/dist/services/mcp/gateway/types.js +12 -0
  398. package/dist/services/mcp/gateway/types.js.map +1 -0
  399. package/dist/services/mcp/gateway/workflowAdvance.d.ts +25 -0
  400. package/dist/services/mcp/gateway/workflowAdvance.d.ts.map +1 -0
  401. package/dist/services/mcp/gateway/workflowAdvance.js +133 -0
  402. package/dist/services/mcp/gateway/workflowAdvance.js.map +1 -0
  403. package/dist/services/mcp/gateway/workflowInit.d.ts +28 -0
  404. package/dist/services/mcp/gateway/workflowInit.d.ts.map +1 -0
  405. package/dist/services/mcp/gateway/workflowInit.js +213 -0
  406. package/dist/services/mcp/gateway/workflowInit.js.map +1 -0
  407. package/dist/services/mcp/gateway/workflowManage.d.ts +31 -0
  408. package/dist/services/mcp/gateway/workflowManage.d.ts.map +1 -0
  409. package/dist/services/mcp/gateway/workflowManage.js +222 -0
  410. package/dist/services/mcp/gateway/workflowManage.js.map +1 -0
  411. package/dist/services/mcp/gateway/workflowStatus.d.ts +17 -0
  412. package/dist/services/mcp/gateway/workflowStatus.d.ts.map +1 -0
  413. package/dist/services/mcp/gateway/workflowStatus.js +91 -0
  414. package/dist/services/mcp/gateway/workflowStatus.js.map +1 -0
  415. package/dist/services/mcp/gatewayTools.d.ts +15 -0
  416. package/dist/services/mcp/gatewayTools.d.ts.map +1 -0
  417. package/dist/services/mcp/gatewayTools.js +38 -0
  418. package/dist/services/mcp/gatewayTools.js.map +1 -0
  419. package/dist/services/mcp/index.d.ts +9 -0
  420. package/dist/services/mcp/index.d.ts.map +1 -0
  421. package/dist/services/mcp/index.js +28 -0
  422. package/dist/services/mcp/index.js.map +1 -0
  423. package/dist/services/mcp/mcpInstallService.d.ts +56 -0
  424. package/dist/services/mcp/mcpInstallService.d.ts.map +1 -0
  425. package/dist/services/mcp/mcpInstallService.js +603 -0
  426. package/dist/services/mcp/mcpInstallService.js.map +1 -0
  427. package/dist/services/mcp/mcpServer.d.ts +101 -0
  428. package/dist/services/mcp/mcpServer.d.ts.map +1 -0
  429. package/dist/services/mcp/mcpServer.js +844 -0
  430. package/dist/services/mcp/mcpServer.js.map +1 -0
  431. package/dist/services/qa/index.d.ts +9 -0
  432. package/dist/services/qa/index.d.ts.map +1 -0
  433. package/dist/services/qa/index.js +15 -0
  434. package/dist/services/qa/index.js.map +1 -0
  435. package/dist/services/qa/patternInferer.d.ts +41 -0
  436. package/dist/services/qa/patternInferer.d.ts.map +1 -0
  437. package/dist/services/qa/patternInferer.js +366 -0
  438. package/dist/services/qa/patternInferer.js.map +1 -0
  439. package/dist/services/qa/qaService.d.ts +107 -0
  440. package/dist/services/qa/qaService.d.ts.map +1 -0
  441. package/dist/services/qa/qaService.js +874 -0
  442. package/dist/services/qa/qaService.js.map +1 -0
  443. package/dist/services/qa/topicDetector.d.ts +54 -0
  444. package/dist/services/qa/topicDetector.d.ts.map +1 -0
  445. package/dist/services/qa/topicDetector.js +306 -0
  446. package/dist/services/qa/topicDetector.js.map +1 -0
  447. package/dist/services/quickSync/index.d.ts +3 -0
  448. package/dist/services/quickSync/index.d.ts.map +1 -0
  449. package/dist/services/quickSync/index.js +7 -0
  450. package/dist/services/quickSync/index.js.map +1 -0
  451. package/dist/services/quickSync/quickSyncService.d.ts +70 -0
  452. package/dist/services/quickSync/quickSyncService.d.ts.map +1 -0
  453. package/dist/services/quickSync/quickSyncService.js +263 -0
  454. package/dist/services/quickSync/quickSyncService.js.map +1 -0
  455. package/dist/services/report/index.d.ts +3 -0
  456. package/dist/services/report/index.d.ts.map +1 -0
  457. package/dist/services/report/index.js +6 -0
  458. package/dist/services/report/index.js.map +1 -0
  459. package/dist/services/report/reportService.d.ts +131 -0
  460. package/dist/services/report/reportService.d.ts.map +1 -0
  461. package/dist/services/report/reportService.js +372 -0
  462. package/dist/services/report/reportService.js.map +1 -0
  463. package/dist/services/reverseSync/importSkillsService.d.ts +47 -0
  464. package/dist/services/reverseSync/importSkillsService.d.ts.map +1 -0
  465. package/dist/services/reverseSync/importSkillsService.js +362 -0
  466. package/dist/services/reverseSync/importSkillsService.js.map +1 -0
  467. package/dist/services/reverseSync/index.d.ts +12 -0
  468. package/dist/services/reverseSync/index.d.ts.map +1 -0
  469. package/dist/services/reverseSync/index.js +49 -0
  470. package/dist/services/reverseSync/index.js.map +1 -0
  471. package/dist/services/reverseSync/presets.d.ts +51 -0
  472. package/dist/services/reverseSync/presets.d.ts.map +1 -0
  473. package/dist/services/reverseSync/presets.js +77 -0
  474. package/dist/services/reverseSync/presets.js.map +1 -0
  475. package/dist/services/reverseSync/reverseQuickSyncService.d.ts +37 -0
  476. package/dist/services/reverseSync/reverseQuickSyncService.d.ts.map +1 -0
  477. package/dist/services/reverseSync/reverseQuickSyncService.js +265 -0
  478. package/dist/services/reverseSync/reverseQuickSyncService.js.map +1 -0
  479. package/dist/services/reverseSync/skillsDetector.d.ts +36 -0
  480. package/dist/services/reverseSync/skillsDetector.d.ts.map +1 -0
  481. package/dist/services/reverseSync/skillsDetector.js +287 -0
  482. package/dist/services/reverseSync/skillsDetector.js.map +1 -0
  483. package/dist/services/reverseSync/toolDetector.d.ts +36 -0
  484. package/dist/services/reverseSync/toolDetector.d.ts.map +1 -0
  485. package/dist/services/reverseSync/toolDetector.js +174 -0
  486. package/dist/services/reverseSync/toolDetector.js.map +1 -0
  487. package/dist/services/reverseSync/types.d.ts +203 -0
  488. package/dist/services/reverseSync/types.d.ts.map +1 -0
  489. package/dist/services/reverseSync/types.js +9 -0
  490. package/dist/services/reverseSync/types.js.map +1 -0
  491. package/dist/services/semantic/codebaseAnalyzer.d.ts +62 -0
  492. package/dist/services/semantic/codebaseAnalyzer.d.ts.map +1 -0
  493. package/dist/services/semantic/codebaseAnalyzer.js +1071 -0
  494. package/dist/services/semantic/codebaseAnalyzer.js.map +1 -0
  495. package/dist/services/semantic/contextBuilder.d.ts +86 -0
  496. package/dist/services/semantic/contextBuilder.d.ts.map +1 -0
  497. package/dist/services/semantic/contextBuilder.js +641 -0
  498. package/dist/services/semantic/contextBuilder.js.map +1 -0
  499. package/dist/services/semantic/contextCache.d.ts +67 -0
  500. package/dist/services/semantic/contextCache.d.ts.map +1 -0
  501. package/dist/services/semantic/contextCache.js +158 -0
  502. package/dist/services/semantic/contextCache.js.map +1 -0
  503. package/dist/services/semantic/index.d.ts +12 -0
  504. package/dist/services/semantic/index.d.ts.map +1 -0
  505. package/dist/services/semantic/index.js +33 -0
  506. package/dist/services/semantic/index.js.map +1 -0
  507. package/dist/services/semantic/lsp/index.d.ts +2 -0
  508. package/dist/services/semantic/lsp/index.d.ts.map +1 -0
  509. package/dist/services/semantic/lsp/index.js +6 -0
  510. package/dist/services/semantic/lsp/index.js.map +1 -0
  511. package/dist/services/semantic/lsp/lspLayer.d.ts +32 -0
  512. package/dist/services/semantic/lsp/lspLayer.d.ts.map +1 -0
  513. package/dist/services/semantic/lsp/lspLayer.js +378 -0
  514. package/dist/services/semantic/lsp/lspLayer.js.map +1 -0
  515. package/dist/services/semantic/treeSitter/index.d.ts +2 -0
  516. package/dist/services/semantic/treeSitter/index.d.ts.map +1 -0
  517. package/dist/services/semantic/treeSitter/index.js +6 -0
  518. package/dist/services/semantic/treeSitter/index.js.map +1 -0
  519. package/dist/services/semantic/treeSitter/treeSitterLayer.d.ts +37 -0
  520. package/dist/services/semantic/treeSitter/treeSitterLayer.d.ts.map +1 -0
  521. package/dist/services/semantic/treeSitter/treeSitterLayer.js +518 -0
  522. package/dist/services/semantic/treeSitter/treeSitterLayer.js.map +1 -0
  523. package/dist/services/semantic/types.d.ts +172 -0
  524. package/dist/services/semantic/types.d.ts.map +1 -0
  525. package/dist/services/semantic/types.js +33 -0
  526. package/dist/services/semantic/types.js.map +1 -0
  527. package/dist/services/shared/contentTypeRegistry.d.ts +66 -0
  528. package/dist/services/shared/contentTypeRegistry.d.ts.map +1 -0
  529. package/dist/services/shared/contentTypeRegistry.js +113 -0
  530. package/dist/services/shared/contentTypeRegistry.js.map +1 -0
  531. package/dist/services/shared/contextRootResolver.d.ts +57 -0
  532. package/dist/services/shared/contextRootResolver.d.ts.map +1 -0
  533. package/dist/services/shared/contextRootResolver.js +102 -0
  534. package/dist/services/shared/contextRootResolver.js.map +1 -0
  535. package/dist/services/shared/globPatterns.d.ts +48 -0
  536. package/dist/services/shared/globPatterns.d.ts.map +1 -0
  537. package/dist/services/shared/globPatterns.js +110 -0
  538. package/dist/services/shared/globPatterns.js.map +1 -0
  539. package/dist/services/shared/index.d.ts +13 -0
  540. package/dist/services/shared/index.d.ts.map +1 -0
  541. package/dist/services/shared/index.js +84 -0
  542. package/dist/services/shared/index.js.map +1 -0
  543. package/dist/services/shared/pathHelpers.d.ts +85 -0
  544. package/dist/services/shared/pathHelpers.d.ts.map +1 -0
  545. package/dist/services/shared/pathHelpers.js +187 -0
  546. package/dist/services/shared/pathHelpers.js.map +1 -0
  547. package/dist/services/shared/toolRegistry.d.ts +135 -0
  548. package/dist/services/shared/toolRegistry.d.ts.map +1 -0
  549. package/dist/services/shared/toolRegistry.js +545 -0
  550. package/dist/services/shared/toolRegistry.js.map +1 -0
  551. package/dist/services/shared/types.d.ts +68 -0
  552. package/dist/services/shared/types.d.ts.map +1 -0
  553. package/dist/services/shared/types.js +44 -0
  554. package/dist/services/shared/types.js.map +1 -0
  555. package/dist/services/shared/uiHelpers.d.ts +70 -0
  556. package/dist/services/shared/uiHelpers.d.ts.map +1 -0
  557. package/dist/services/shared/uiHelpers.js +131 -0
  558. package/dist/services/shared/uiHelpers.js.map +1 -0
  559. package/dist/services/stack/index.d.ts +6 -0
  560. package/dist/services/stack/index.d.ts.map +1 -0
  561. package/dist/services/stack/index.js +25 -0
  562. package/dist/services/stack/index.js.map +1 -0
  563. package/dist/services/stack/projectTypeClassifier.d.ts +59 -0
  564. package/dist/services/stack/projectTypeClassifier.d.ts.map +1 -0
  565. package/dist/services/stack/projectTypeClassifier.js +242 -0
  566. package/dist/services/stack/projectTypeClassifier.js.map +1 -0
  567. package/dist/services/stack/scaffoldFilter.d.ts +75 -0
  568. package/dist/services/stack/scaffoldFilter.d.ts.map +1 -0
  569. package/dist/services/stack/scaffoldFilter.js +222 -0
  570. package/dist/services/stack/scaffoldFilter.js.map +1 -0
  571. package/dist/services/stack/stackDetector.d.ts +43 -0
  572. package/dist/services/stack/stackDetector.d.ts.map +1 -0
  573. package/dist/services/stack/stackDetector.js +406 -0
  574. package/dist/services/stack/stackDetector.js.map +1 -0
  575. package/dist/services/state/index.d.ts +2 -0
  576. package/dist/services/state/index.d.ts.map +1 -0
  577. package/dist/services/state/index.js +6 -0
  578. package/dist/services/state/index.js.map +1 -0
  579. package/dist/services/state/stateDetector.d.ts +53 -0
  580. package/dist/services/state/stateDetector.d.ts.map +1 -0
  581. package/dist/services/state/stateDetector.js +189 -0
  582. package/dist/services/state/stateDetector.js.map +1 -0
  583. package/dist/services/sync/index.d.ts +6 -0
  584. package/dist/services/sync/index.d.ts.map +1 -0
  585. package/dist/services/sync/index.js +16 -0
  586. package/dist/services/sync/index.js.map +1 -0
  587. package/dist/services/sync/markdownReferenceHandler.d.ts +3 -0
  588. package/dist/services/sync/markdownReferenceHandler.d.ts.map +1 -0
  589. package/dist/services/sync/markdownReferenceHandler.js +133 -0
  590. package/dist/services/sync/markdownReferenceHandler.js.map +1 -0
  591. package/dist/services/sync/presets.d.ts +9 -0
  592. package/dist/services/sync/presets.d.ts.map +1 -0
  593. package/dist/services/sync/presets.js +52 -0
  594. package/dist/services/sync/presets.js.map +1 -0
  595. package/dist/services/sync/symlinkHandler.d.ts +7 -0
  596. package/dist/services/sync/symlinkHandler.d.ts.map +1 -0
  597. package/dist/services/sync/symlinkHandler.js +129 -0
  598. package/dist/services/sync/symlinkHandler.js.map +1 -0
  599. package/dist/services/sync/syncService.d.ts +23 -0
  600. package/dist/services/sync/syncService.d.ts.map +1 -0
  601. package/dist/services/sync/syncService.js +240 -0
  602. package/dist/services/sync/syncService.js.map +1 -0
  603. package/dist/services/sync/types.d.ts +62 -0
  604. package/dist/services/sync/types.d.ts.map +1 -0
  605. package/dist/services/sync/types.js +3 -0
  606. package/dist/services/sync/types.js.map +1 -0
  607. package/dist/services/workflow/autoAdvance.d.ts +38 -0
  608. package/dist/services/workflow/autoAdvance.d.ts.map +1 -0
  609. package/dist/services/workflow/autoAdvance.js +219 -0
  610. package/dist/services/workflow/autoAdvance.js.map +1 -0
  611. package/dist/services/workflow/index.d.ts +6 -0
  612. package/dist/services/workflow/index.d.ts.map +1 -0
  613. package/dist/services/workflow/index.js +11 -0
  614. package/dist/services/workflow/index.js.map +1 -0
  615. package/dist/services/workflow/workflowService.d.ts +151 -0
  616. package/dist/services/workflow/workflowService.d.ts.map +1 -0
  617. package/dist/services/workflow/workflowService.js +283 -0
  618. package/dist/services/workflow/workflowService.js.map +1 -0
  619. package/dist/types/scaffoldFrontmatter.d.ts +145 -0
  620. package/dist/types/scaffoldFrontmatter.d.ts.map +1 -0
  621. package/dist/types/scaffoldFrontmatter.js +172 -0
  622. package/dist/types/scaffoldFrontmatter.js.map +1 -0
  623. package/dist/types.d.ts +61 -0
  624. package/dist/types.d.ts.map +1 -0
  625. package/dist/types.js +3 -0
  626. package/dist/types.js.map +1 -0
  627. package/dist/utils/cliUI.d.ts +26 -0
  628. package/dist/utils/cliUI.d.ts.map +1 -0
  629. package/dist/utils/cliUI.js +216 -0
  630. package/dist/utils/cliUI.js.map +1 -0
  631. package/dist/utils/fileMapper.d.ts +13 -0
  632. package/dist/utils/fileMapper.d.ts.map +1 -0
  633. package/dist/utils/fileMapper.js +165 -0
  634. package/dist/utils/fileMapper.js.map +1 -0
  635. package/dist/utils/frontMatter.d.ts +104 -0
  636. package/dist/utils/frontMatter.d.ts.map +1 -0
  637. package/dist/utils/frontMatter.js +325 -0
  638. package/dist/utils/frontMatter.js.map +1 -0
  639. package/dist/utils/gitService.d.ts +76 -0
  640. package/dist/utils/gitService.d.ts.map +1 -0
  641. package/dist/utils/gitService.js +564 -0
  642. package/dist/utils/gitService.js.map +1 -0
  643. package/dist/utils/gitignoreManager.d.ts +61 -0
  644. package/dist/utils/gitignoreManager.d.ts.map +1 -0
  645. package/dist/utils/gitignoreManager.js +171 -0
  646. package/dist/utils/gitignoreManager.js.map +1 -0
  647. package/dist/utils/i18n.d.ts +530 -0
  648. package/dist/utils/i18n.d.ts.map +1 -0
  649. package/dist/utils/i18n.js +1179 -0
  650. package/dist/utils/i18n.js.map +1 -0
  651. package/dist/utils/pathSecurity.d.ts +55 -0
  652. package/dist/utils/pathSecurity.d.ts.map +1 -0
  653. package/dist/utils/pathSecurity.js +132 -0
  654. package/dist/utils/pathSecurity.js.map +1 -0
  655. package/dist/utils/prompts/configSummary.d.ts +7 -0
  656. package/dist/utils/prompts/configSummary.d.ts.map +1 -0
  657. package/dist/utils/prompts/configSummary.js +35 -0
  658. package/dist/utils/prompts/configSummary.js.map +1 -0
  659. package/dist/utils/prompts/index.d.ts +27 -0
  660. package/dist/utils/prompts/index.d.ts.map +1 -0
  661. package/dist/utils/prompts/index.js +114 -0
  662. package/dist/utils/prompts/index.js.map +1 -0
  663. package/dist/utils/prompts/smartDefaults.d.ts +15 -0
  664. package/dist/utils/prompts/smartDefaults.d.ts.map +1 -0
  665. package/dist/utils/prompts/smartDefaults.js +105 -0
  666. package/dist/utils/prompts/smartDefaults.js.map +1 -0
  667. package/dist/utils/prompts/types.d.ts +38 -0
  668. package/dist/utils/prompts/types.d.ts.map +1 -0
  669. package/dist/utils/prompts/types.js +3 -0
  670. package/dist/utils/prompts/types.js.map +1 -0
  671. package/dist/utils/splashScreen.d.ts +14 -0
  672. package/dist/utils/splashScreen.d.ts.map +1 -0
  673. package/dist/utils/splashScreen.js +106 -0
  674. package/dist/utils/splashScreen.js.map +1 -0
  675. package/dist/utils/theme.d.ts +69 -0
  676. package/dist/utils/theme.d.ts.map +1 -0
  677. package/dist/utils/theme.js +97 -0
  678. package/dist/utils/theme.js.map +1 -0
  679. package/dist/utils/themedPrompt.d.ts +46 -0
  680. package/dist/utils/themedPrompt.d.ts.map +1 -0
  681. package/dist/utils/themedPrompt.js +47 -0
  682. package/dist/utils/themedPrompt.js.map +1 -0
  683. package/dist/utils/versionChecker.d.ts +15 -0
  684. package/dist/utils/versionChecker.d.ts.map +1 -0
  685. package/dist/utils/versionChecker.js +49 -0
  686. package/dist/utils/versionChecker.js.map +1 -0
  687. package/dist/version.d.ts +8 -0
  688. package/dist/version.d.ts.map +1 -0
  689. package/dist/version.js +15 -0
  690. package/dist/version.js.map +1 -0
  691. package/dist/workflow/agents/agentRegistry.d.ts +82 -0
  692. package/dist/workflow/agents/agentRegistry.d.ts.map +1 -0
  693. package/dist/workflow/agents/agentRegistry.js +205 -0
  694. package/dist/workflow/agents/agentRegistry.js.map +1 -0
  695. package/dist/workflow/agents/index.d.ts +7 -0
  696. package/dist/workflow/agents/index.d.ts.map +1 -0
  697. package/dist/workflow/agents/index.js +14 -0
  698. package/dist/workflow/agents/index.js.map +1 -0
  699. package/dist/workflow/collaboration.d.ts +110 -0
  700. package/dist/workflow/collaboration.d.ts.map +1 -0
  701. package/dist/workflow/collaboration.js +301 -0
  702. package/dist/workflow/collaboration.js.map +1 -0
  703. package/dist/workflow/errors.d.ts +48 -0
  704. package/dist/workflow/errors.d.ts.map +1 -0
  705. package/dist/workflow/errors.js +52 -0
  706. package/dist/workflow/errors.js.map +1 -0
  707. package/dist/workflow/gates/gateChecker.d.ts +93 -0
  708. package/dist/workflow/gates/gateChecker.d.ts.map +1 -0
  709. package/dist/workflow/gates/gateChecker.js +197 -0
  710. package/dist/workflow/gates/gateChecker.js.map +1 -0
  711. package/dist/workflow/gates/index.d.ts +7 -0
  712. package/dist/workflow/gates/index.d.ts.map +1 -0
  713. package/dist/workflow/gates/index.js +13 -0
  714. package/dist/workflow/gates/index.js.map +1 -0
  715. package/dist/workflow/index.d.ts +27 -0
  716. package/dist/workflow/index.d.ts.map +1 -0
  717. package/dist/workflow/index.js +135 -0
  718. package/dist/workflow/index.js.map +1 -0
  719. package/dist/workflow/orchestration/agentOrchestrator.d.ts +68 -0
  720. package/dist/workflow/orchestration/agentOrchestrator.d.ts.map +1 -0
  721. package/dist/workflow/orchestration/agentOrchestrator.js +280 -0
  722. package/dist/workflow/orchestration/agentOrchestrator.js.map +1 -0
  723. package/dist/workflow/orchestration/documentLinker.d.ts +100 -0
  724. package/dist/workflow/orchestration/documentLinker.d.ts.map +1 -0
  725. package/dist/workflow/orchestration/documentLinker.js +266 -0
  726. package/dist/workflow/orchestration/documentLinker.js.map +1 -0
  727. package/dist/workflow/orchestration/index.d.ts +9 -0
  728. package/dist/workflow/orchestration/index.d.ts.map +1 -0
  729. package/dist/workflow/orchestration/index.js +25 -0
  730. package/dist/workflow/orchestration/index.js.map +1 -0
  731. package/dist/workflow/orchestrator.d.ts +188 -0
  732. package/dist/workflow/orchestrator.d.ts.map +1 -0
  733. package/dist/workflow/orchestrator.js +506 -0
  734. package/dist/workflow/orchestrator.js.map +1 -0
  735. package/dist/workflow/phases.d.ts +64 -0
  736. package/dist/workflow/phases.d.ts.map +1 -0
  737. package/dist/workflow/phases.js +151 -0
  738. package/dist/workflow/phases.js.map +1 -0
  739. package/dist/workflow/plans/index.d.ts +8 -0
  740. package/dist/workflow/plans/index.d.ts.map +1 -0
  741. package/dist/workflow/plans/index.js +27 -0
  742. package/dist/workflow/plans/index.js.map +1 -0
  743. package/dist/workflow/plans/planLinker.d.ts +195 -0
  744. package/dist/workflow/plans/planLinker.d.ts.map +1 -0
  745. package/dist/workflow/plans/planLinker.js +1018 -0
  746. package/dist/workflow/plans/planLinker.js.map +1 -0
  747. package/dist/workflow/plans/types.d.ts +231 -0
  748. package/dist/workflow/plans/types.d.ts.map +1 -0
  749. package/dist/workflow/plans/types.js +25 -0
  750. package/dist/workflow/plans/types.js.map +1 -0
  751. package/dist/workflow/prevcConfig.d.ts +27 -0
  752. package/dist/workflow/prevcConfig.d.ts.map +1 -0
  753. package/dist/workflow/prevcConfig.js +153 -0
  754. package/dist/workflow/prevcConfig.js.map +1 -0
  755. package/dist/workflow/roles.d.ts +50 -0
  756. package/dist/workflow/roles.d.ts.map +1 -0
  757. package/dist/workflow/roles.js +118 -0
  758. package/dist/workflow/roles.js.map +1 -0
  759. package/dist/workflow/scaling.d.ts +45 -0
  760. package/dist/workflow/scaling.d.ts.map +1 -0
  761. package/dist/workflow/scaling.js +215 -0
  762. package/dist/workflow/scaling.js.map +1 -0
  763. package/dist/workflow/skills/frontmatter.d.ts +23 -0
  764. package/dist/workflow/skills/frontmatter.d.ts.map +1 -0
  765. package/dist/workflow/skills/frontmatter.js +101 -0
  766. package/dist/workflow/skills/frontmatter.js.map +1 -0
  767. package/dist/workflow/skills/index.d.ts +10 -0
  768. package/dist/workflow/skills/index.d.ts.map +1 -0
  769. package/dist/workflow/skills/index.js +22 -0
  770. package/dist/workflow/skills/index.js.map +1 -0
  771. package/dist/workflow/skills/skillRegistry.d.ts +67 -0
  772. package/dist/workflow/skills/skillRegistry.d.ts.map +1 -0
  773. package/dist/workflow/skills/skillRegistry.js +276 -0
  774. package/dist/workflow/skills/skillRegistry.js.map +1 -0
  775. package/dist/workflow/skills/skillTemplates.d.ts +20 -0
  776. package/dist/workflow/skills/skillTemplates.d.ts.map +1 -0
  777. package/dist/workflow/skills/skillTemplates.js +111 -0
  778. package/dist/workflow/skills/skillTemplates.js.map +1 -0
  779. package/dist/workflow/skills/types.d.ts +72 -0
  780. package/dist/workflow/skills/types.d.ts.map +1 -0
  781. package/dist/workflow/skills/types.js +48 -0
  782. package/dist/workflow/skills/types.js.map +1 -0
  783. package/dist/workflow/status/statusManager.d.ts +137 -0
  784. package/dist/workflow/status/statusManager.d.ts.map +1 -0
  785. package/dist/workflow/status/statusManager.js +932 -0
  786. package/dist/workflow/status/statusManager.js.map +1 -0
  787. package/dist/workflow/status/templates.d.ts +49 -0
  788. package/dist/workflow/status/templates.d.ts.map +1 -0
  789. package/dist/workflow/status/templates.js +162 -0
  790. package/dist/workflow/status/templates.js.map +1 -0
  791. package/dist/workflow/types.d.ts +314 -0
  792. package/dist/workflow/types.d.ts.map +1 -0
  793. package/dist/workflow/types.js +24 -0
  794. package/dist/workflow/types.js.map +1 -0
  795. package/package.json +85 -0
  796. package/prompts/update_plan_prompt.md +41 -0
  797. package/prompts/update_scaffold_prompt.md +27 -0
@@ -0,0 +1,874 @@
1
+ "use strict";
2
+ /**
3
+ * Q&A Service
4
+ *
5
+ * Generates and manages Q&A content for the codebase.
6
+ * Pre-answers common questions to reduce token usage during sessions.
7
+ *
8
+ * OPTIMIZATION: Uses codebase-map.json when available to avoid re-analyzing
9
+ * the codebase. This provides ~10x faster Q&A generation when the map exists.
10
+ */
11
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ var desc = Object.getOwnPropertyDescriptor(m, k);
14
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
15
+ desc = { enumerable: true, get: function() { return m[k]; } };
16
+ }
17
+ Object.defineProperty(o, k2, desc);
18
+ }) : (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ o[k2] = m[k];
21
+ }));
22
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
23
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
24
+ }) : function(o, v) {
25
+ o["default"] = v;
26
+ });
27
+ var __importStar = (this && this.__importStar) || (function () {
28
+ var ownKeys = function(o) {
29
+ ownKeys = Object.getOwnPropertyNames || function (o) {
30
+ var ar = [];
31
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
32
+ return ar;
33
+ };
34
+ return ownKeys(o);
35
+ };
36
+ return function (mod) {
37
+ if (mod && mod.__esModule) return mod;
38
+ var result = {};
39
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
40
+ __setModuleDefault(result, mod);
41
+ return result;
42
+ };
43
+ })();
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ exports.QAService = void 0;
46
+ const fs = __importStar(require("fs-extra"));
47
+ const path = __importStar(require("path"));
48
+ const codebaseAnalyzer_1 = require("../semantic/codebaseAnalyzer");
49
+ const stackDetector_1 = require("../stack/stackDetector");
50
+ const topicDetector_1 = require("./topicDetector");
51
+ const patternInferer_1 = require("./patternInferer");
52
+ /**
53
+ * Q&A Service for generating and searching Q&A content
54
+ */
55
+ class QAService {
56
+ constructor(options) {
57
+ this.analyzer = new codebaseAnalyzer_1.CodebaseAnalyzer(options);
58
+ this.stackDetector = new stackDetector_1.StackDetector();
59
+ this.topicDetector = new topicDetector_1.TopicDetector();
60
+ this.patternInferer = new patternInferer_1.PatternInferer();
61
+ }
62
+ /**
63
+ * Generate Q&A from codebase analysis
64
+ *
65
+ * OPTIMIZATION: Uses codebase-map.json when available to avoid re-analyzing.
66
+ * If the map doesn't exist, falls back to full analysis.
67
+ */
68
+ async generateFromCodebase(repoPath) {
69
+ const absolutePath = path.resolve(repoPath);
70
+ // Try to use pre-computed codebase map for faster generation
71
+ const codebaseMap = await this.loadCodebaseMap(absolutePath);
72
+ let stack;
73
+ let patterns;
74
+ if (codebaseMap) {
75
+ // Use pre-computed data from codebase-map.json (fast path)
76
+ stack = this.convertMapStackToStackInfo(codebaseMap);
77
+ patterns = this.patternInferer.inferFromMap(codebaseMap);
78
+ }
79
+ else {
80
+ // Fall back to full analysis (slow path)
81
+ stack = await this.stackDetector.detect(absolutePath);
82
+ patterns = await this.analyzer.detectFunctionalPatterns(absolutePath);
83
+ }
84
+ // Determine relevant topics
85
+ const topicDetection = this.topicDetector.detectTopics(stack, patterns);
86
+ // Generate Q&A for each topic
87
+ const generated = [];
88
+ const skipped = [];
89
+ for (const topic of topicDetection.topics) {
90
+ try {
91
+ const entry = await this.generateQAForTopic(absolutePath, topic, stack, patterns, topicDetection);
92
+ if (entry) {
93
+ generated.push(entry);
94
+ }
95
+ else {
96
+ skipped.push(topic.slug);
97
+ }
98
+ }
99
+ catch {
100
+ skipped.push(topic.slug);
101
+ }
102
+ }
103
+ // Save generated Q&A
104
+ await this.saveQAEntries(absolutePath, generated, topicDetection);
105
+ return {
106
+ generated,
107
+ skipped,
108
+ topicDetection,
109
+ };
110
+ }
111
+ /**
112
+ * Search Q&A entries for a query
113
+ */
114
+ async search(repoPath, query) {
115
+ const qaDir = path.join(repoPath, '.context', 'docs', 'qa');
116
+ if (!(await fs.pathExists(qaDir))) {
117
+ return [];
118
+ }
119
+ const results = [];
120
+ const files = await fs.readdir(qaDir);
121
+ const queryLower = query.toLowerCase();
122
+ const queryWords = queryLower.split(/\s+/).filter((w) => w.length > 2);
123
+ for (const file of files) {
124
+ if (!file.endsWith('.md') || file === 'README.md')
125
+ continue;
126
+ try {
127
+ const content = await fs.readFile(path.join(qaDir, file), 'utf-8');
128
+ const entry = this.parseQAEntry(content, file);
129
+ if (!entry)
130
+ continue;
131
+ // Calculate relevance score
132
+ const { score, reason } = this.calculateRelevance(entry, queryLower, queryWords);
133
+ if (score > 0) {
134
+ results.push({
135
+ entry,
136
+ score,
137
+ matchReason: reason,
138
+ });
139
+ }
140
+ }
141
+ catch {
142
+ // Skip files that can't be read
143
+ }
144
+ }
145
+ // Sort by score descending
146
+ results.sort((a, b) => b.score - a.score);
147
+ return results.slice(0, 10);
148
+ }
149
+ /**
150
+ * Get all Q&A entries
151
+ */
152
+ async getAll(repoPath) {
153
+ const qaDir = path.join(repoPath, '.context', 'docs', 'qa');
154
+ if (!(await fs.pathExists(qaDir))) {
155
+ return [];
156
+ }
157
+ const entries = [];
158
+ const files = await fs.readdir(qaDir);
159
+ for (const file of files) {
160
+ if (!file.endsWith('.md') || file === 'README.md')
161
+ continue;
162
+ try {
163
+ const content = await fs.readFile(path.join(qaDir, file), 'utf-8');
164
+ const entry = this.parseQAEntry(content, file);
165
+ if (entry) {
166
+ entries.push(entry);
167
+ }
168
+ }
169
+ catch {
170
+ // Skip files that can't be read
171
+ }
172
+ }
173
+ return entries;
174
+ }
175
+ /**
176
+ * Get a specific Q&A entry by slug
177
+ */
178
+ async getBySlug(repoPath, slug) {
179
+ const qaFile = path.join(repoPath, '.context', 'docs', 'qa', `${slug}.md`);
180
+ if (!(await fs.pathExists(qaFile))) {
181
+ return null;
182
+ }
183
+ try {
184
+ const content = await fs.readFile(qaFile, 'utf-8');
185
+ return this.parseQAEntry(content, `${slug}.md`);
186
+ }
187
+ catch {
188
+ return null;
189
+ }
190
+ }
191
+ /**
192
+ * Generate Q&A entry for a specific topic
193
+ */
194
+ async generateQAForTopic(repoPath, topic, stack, patterns, topicResult) {
195
+ const relevantFiles = [];
196
+ let answer = '';
197
+ switch (topic.slug) {
198
+ case 'getting-started':
199
+ answer = this.generateGettingStartedAnswer(stack, repoPath);
200
+ break;
201
+ case 'project-structure':
202
+ answer = await this.generateProjectStructureAnswer(repoPath, stack);
203
+ relevantFiles.push(...(await this.findRelevantFiles(repoPath, ['src/', 'lib/', 'app/'])));
204
+ break;
205
+ case 'cli-commands':
206
+ answer = this.generateCLICommandsAnswer(stack);
207
+ relevantFiles.push(...(await this.findRelevantFiles(repoPath, ['bin/', 'cli', 'commands/'])));
208
+ break;
209
+ case 'cli-arguments':
210
+ answer = this.generateCLIArgumentsAnswer(stack);
211
+ break;
212
+ case 'routing':
213
+ answer = await this.generateRoutingAnswer(repoPath, stack, patterns);
214
+ relevantFiles.push(...(await this.findRelevantFiles(repoPath, ['routes/', 'api/', 'pages/'])));
215
+ break;
216
+ case 'middleware':
217
+ answer = await this.generateMiddlewareAnswer(repoPath, patterns);
218
+ relevantFiles.push(...(await this.findRelevantFiles(repoPath, ['middleware/', 'middlewares/'])));
219
+ break;
220
+ case 'authentication':
221
+ answer = this.generateAuthAnswer(patterns);
222
+ relevantFiles.push(...this.getPatternFiles(patterns, 'auth', repoPath));
223
+ break;
224
+ case 'database':
225
+ answer = this.generateDatabaseAnswer(patterns);
226
+ relevantFiles.push(...this.getPatternFiles(patterns, 'database', repoPath));
227
+ break;
228
+ case 'api-endpoints':
229
+ answer = await this.generateAPIEndpointsAnswer(repoPath, patterns);
230
+ relevantFiles.push(...this.getPatternFiles(patterns, 'api', repoPath));
231
+ break;
232
+ case 'testing':
233
+ answer = this.generateTestingAnswer(stack, patterns);
234
+ relevantFiles.push(...(await this.findRelevantFiles(repoPath, ['test/', 'tests/', '__tests__/', '*.test.', '*.spec.'])));
235
+ break;
236
+ case 'error-handling':
237
+ answer = this.generateErrorHandlingAnswer(patterns);
238
+ relevantFiles.push(...this.getPatternFiles(patterns, 'error-handling', repoPath));
239
+ break;
240
+ case 'caching':
241
+ answer = this.generateCachingAnswer(patterns);
242
+ relevantFiles.push(...this.getPatternFiles(patterns, 'cache', repoPath));
243
+ break;
244
+ case 'realtime':
245
+ answer = this.generateRealtimeAnswer(patterns);
246
+ relevantFiles.push(...this.getPatternFiles(patterns, 'websocket', repoPath));
247
+ break;
248
+ case 'background-jobs':
249
+ answer = this.generateBackgroundJobsAnswer(patterns);
250
+ relevantFiles.push(...this.getPatternFiles(patterns, 'queue', repoPath));
251
+ break;
252
+ case 'deployment':
253
+ answer = this.generateDeploymentAnswer(stack);
254
+ relevantFiles.push(...(await this.findRelevantFiles(repoPath, ['Dockerfile', 'docker-compose', '.github/workflows/'])));
255
+ break;
256
+ default:
257
+ return null;
258
+ }
259
+ if (!answer)
260
+ return null;
261
+ return {
262
+ slug: topic.slug,
263
+ question: topic.question,
264
+ answer,
265
+ category: topic.category,
266
+ generatedAt: new Date().toISOString(),
267
+ relevantFiles: [...new Set(relevantFiles)].slice(0, 10),
268
+ };
269
+ }
270
+ // Answer generation methods
271
+ generateGettingStartedAnswer(stack, repoPath) {
272
+ const lines = [];
273
+ lines.push('## Getting Started\n');
274
+ // Prerequisites
275
+ lines.push('### Prerequisites\n');
276
+ if (stack.primaryLanguage === 'typescript' || stack.primaryLanguage === 'javascript') {
277
+ lines.push('- Node.js (LTS version recommended)');
278
+ if (stack.packageManager) {
279
+ lines.push(`- ${stack.packageManager}`);
280
+ }
281
+ }
282
+ else if (stack.primaryLanguage === 'python') {
283
+ lines.push('- Python 3.8+');
284
+ if (stack.packageManager === 'poetry') {
285
+ lines.push('- Poetry');
286
+ }
287
+ else if (stack.packageManager === 'pipenv') {
288
+ lines.push('- Pipenv');
289
+ }
290
+ }
291
+ lines.push('');
292
+ // Installation
293
+ lines.push('### Installation\n');
294
+ lines.push('```bash');
295
+ lines.push('# Clone the repository');
296
+ lines.push('git clone <repository-url>');
297
+ lines.push(`cd ${path.basename(repoPath)}`);
298
+ lines.push('');
299
+ // Install dependencies
300
+ if (stack.packageManager === 'yarn') {
301
+ lines.push('# Install dependencies');
302
+ lines.push('yarn install');
303
+ }
304
+ else if (stack.packageManager === 'pnpm') {
305
+ lines.push('# Install dependencies');
306
+ lines.push('pnpm install');
307
+ }
308
+ else if (stack.packageManager === 'bun') {
309
+ lines.push('# Install dependencies');
310
+ lines.push('bun install');
311
+ }
312
+ else if (stack.primaryLanguage === 'typescript' || stack.primaryLanguage === 'javascript') {
313
+ lines.push('# Install dependencies');
314
+ lines.push('npm install');
315
+ }
316
+ else if (stack.packageManager === 'poetry') {
317
+ lines.push('# Install dependencies');
318
+ lines.push('poetry install');
319
+ }
320
+ else if (stack.packageManager === 'pipenv') {
321
+ lines.push('# Install dependencies');
322
+ lines.push('pipenv install');
323
+ }
324
+ else if (stack.primaryLanguage === 'python') {
325
+ lines.push('# Install dependencies');
326
+ lines.push('pip install -r requirements.txt');
327
+ }
328
+ lines.push('```\n');
329
+ // Running
330
+ lines.push('### Running\n');
331
+ lines.push('```bash');
332
+ if (stack.buildTools.includes('vite')) {
333
+ lines.push('# Development');
334
+ lines.push('npm run dev');
335
+ }
336
+ else if (stack.frameworks.includes('nextjs')) {
337
+ lines.push('# Development');
338
+ lines.push('npm run dev');
339
+ }
340
+ else if (stack.frameworks.includes('express') || stack.frameworks.includes('nestjs') || stack.frameworks.includes('fastify')) {
341
+ lines.push('# Development');
342
+ lines.push('npm run dev');
343
+ lines.push('');
344
+ lines.push('# Production');
345
+ lines.push('npm run build && npm start');
346
+ }
347
+ else {
348
+ lines.push('# See package.json for available scripts');
349
+ lines.push('npm run <script-name>');
350
+ }
351
+ lines.push('```');
352
+ return lines.join('\n');
353
+ }
354
+ async generateProjectStructureAnswer(repoPath, stack) {
355
+ const lines = [];
356
+ lines.push('## Project Structure\n');
357
+ // Try to read actual directory structure
358
+ try {
359
+ const entries = await fs.readdir(repoPath, { withFileTypes: true });
360
+ const dirs = entries
361
+ .filter((e) => e.isDirectory() && !e.name.startsWith('.') && e.name !== 'node_modules')
362
+ .map((e) => e.name)
363
+ .slice(0, 15);
364
+ if (dirs.length > 0) {
365
+ lines.push('```');
366
+ for (const dir of dirs) {
367
+ lines.push(`${dir}/`);
368
+ }
369
+ lines.push('```\n');
370
+ }
371
+ }
372
+ catch {
373
+ // Ignore errors
374
+ }
375
+ // Add framework-specific structure hints
376
+ if (stack.frameworks.includes('nextjs')) {
377
+ lines.push('### Next.js Structure\n');
378
+ lines.push('- `app/` or `pages/` - Routes and pages');
379
+ lines.push('- `components/` - Reusable UI components');
380
+ lines.push('- `lib/` - Utility functions');
381
+ lines.push('- `public/` - Static assets');
382
+ }
383
+ else if (stack.frameworks.includes('nestjs')) {
384
+ lines.push('### NestJS Structure\n');
385
+ lines.push('- `src/` - Source code');
386
+ lines.push(' - `modules/` - Feature modules');
387
+ lines.push(' - `common/` - Shared code');
388
+ lines.push(' - `main.ts` - Application entry');
389
+ }
390
+ else if (stack.frameworks.includes('express')) {
391
+ lines.push('### Express Structure\n');
392
+ lines.push('- `src/` - Source code');
393
+ lines.push('- `routes/` - Route handlers');
394
+ lines.push('- `middleware/` - Express middleware');
395
+ lines.push('- `controllers/` - Request handlers');
396
+ }
397
+ return lines.join('\n');
398
+ }
399
+ generateCLICommandsAnswer(stack) {
400
+ const lines = [];
401
+ lines.push('## CLI Commands\n');
402
+ if (stack.cliLibraries?.includes('commander')) {
403
+ lines.push('This CLI is built with Commander.js.\n');
404
+ lines.push('Run `<command> --help` to see available commands and options.\n');
405
+ }
406
+ else if (stack.cliLibraries?.includes('yargs')) {
407
+ lines.push('This CLI is built with Yargs.\n');
408
+ lines.push('Run `<command> --help` to see available commands and options.\n');
409
+ }
410
+ else if (stack.cliLibraries?.includes('oclif')) {
411
+ lines.push('This CLI is built with oclif.\n');
412
+ lines.push('Run `<command> help` to see available commands.\n');
413
+ }
414
+ lines.push('### Common Commands\n');
415
+ lines.push('See the documentation or source code for specific commands.');
416
+ return lines.join('\n');
417
+ }
418
+ generateCLIArgumentsAnswer(stack) {
419
+ const lines = [];
420
+ lines.push('## CLI Arguments and Options\n');
421
+ if (stack.cliLibraries?.includes('commander')) {
422
+ lines.push('### Commander.js Pattern\n');
423
+ lines.push('```bash');
424
+ lines.push('command [options] <required-arg> [optional-arg]');
425
+ lines.push('```\n');
426
+ lines.push('- Options: `--flag` or `-f`');
427
+ lines.push('- Option with value: `--name <value>`');
428
+ }
429
+ else if (stack.cliLibraries?.includes('yargs')) {
430
+ lines.push('### Yargs Pattern\n');
431
+ lines.push('```bash');
432
+ lines.push('command <positional> --flag --option=value');
433
+ lines.push('```');
434
+ }
435
+ return lines.join('\n');
436
+ }
437
+ async generateRoutingAnswer(repoPath, stack, patterns) {
438
+ const lines = [];
439
+ lines.push('## Routing\n');
440
+ if (stack.frameworks.includes('nextjs')) {
441
+ lines.push('### Next.js App Router\n');
442
+ lines.push('Routes are defined by the folder structure in `app/`:\n');
443
+ lines.push('- `app/page.tsx` → `/`');
444
+ lines.push('- `app/about/page.tsx` → `/about`');
445
+ lines.push('- `app/blog/[slug]/page.tsx` → `/blog/:slug`');
446
+ }
447
+ else if (stack.frameworks.includes('express') || stack.frameworks.includes('fastify')) {
448
+ lines.push(`### ${stack.frameworks.includes('express') ? 'Express' : 'Fastify'} Routing\n`);
449
+ lines.push('Routes are typically defined in route files:\n');
450
+ lines.push('```typescript');
451
+ lines.push('router.get(\'/path\', handler);');
452
+ lines.push('router.post(\'/path\', handler);');
453
+ lines.push('```');
454
+ }
455
+ else if (stack.frameworks.includes('nestjs')) {
456
+ lines.push('### NestJS Routing\n');
457
+ lines.push('Routes are defined using decorators:\n');
458
+ lines.push('```typescript');
459
+ lines.push('@Controller(\'users\')');
460
+ lines.push('class UsersController {');
461
+ lines.push(' @Get()');
462
+ lines.push(' findAll() { }');
463
+ lines.push('}');
464
+ lines.push('```');
465
+ }
466
+ // Add API pattern indicators
467
+ if (patterns.hasApiPattern) {
468
+ const apiIndicators = patterns.patterns.find((p) => p.type === 'api')?.indicators;
469
+ if (apiIndicators?.length) {
470
+ lines.push('\n### Detected Route Files\n');
471
+ for (const ind of apiIndicators.slice(0, 5)) {
472
+ if (ind.file) {
473
+ lines.push(`- \`${path.relative(repoPath, ind.file)}\``);
474
+ }
475
+ }
476
+ }
477
+ }
478
+ return lines.join('\n');
479
+ }
480
+ async generateMiddlewareAnswer(repoPath, patterns) {
481
+ const lines = [];
482
+ lines.push('## Middleware\n');
483
+ lines.push('Middleware functions process requests before they reach route handlers.\n');
484
+ if (patterns.hasAuthPattern) {
485
+ lines.push('### Authentication Middleware');
486
+ lines.push('The codebase includes authentication middleware.');
487
+ }
488
+ if (patterns.hasValidationPattern) {
489
+ lines.push('\n### Validation Middleware');
490
+ lines.push('Request validation is implemented using middleware.');
491
+ }
492
+ if (patterns.hasLoggingPattern) {
493
+ lines.push('\n### Logging Middleware');
494
+ lines.push('Request logging is handled by middleware.');
495
+ }
496
+ return lines.join('\n');
497
+ }
498
+ generateAuthAnswer(patterns) {
499
+ const lines = [];
500
+ lines.push('## Authentication\n');
501
+ const authPattern = patterns.patterns.find((p) => p.type === 'auth');
502
+ if (!authPattern) {
503
+ lines.push('Authentication patterns detected in the codebase.');
504
+ return lines.join('\n');
505
+ }
506
+ lines.push('### Implementation Details\n');
507
+ for (const ind of authPattern.indicators.slice(0, 5)) {
508
+ lines.push(`- ${ind.reason}`);
509
+ }
510
+ return lines.join('\n');
511
+ }
512
+ generateDatabaseAnswer(patterns) {
513
+ const lines = [];
514
+ lines.push('## Database\n');
515
+ const dbPattern = patterns.patterns.find((p) => p.type === 'database');
516
+ if (!dbPattern) {
517
+ lines.push('Database patterns detected in the codebase.');
518
+ return lines.join('\n');
519
+ }
520
+ lines.push('### Implementation Details\n');
521
+ for (const ind of dbPattern.indicators.slice(0, 5)) {
522
+ lines.push(`- ${ind.reason}`);
523
+ }
524
+ return lines.join('\n');
525
+ }
526
+ async generateAPIEndpointsAnswer(repoPath, patterns) {
527
+ const lines = [];
528
+ lines.push('## API Endpoints\n');
529
+ const apiPattern = patterns.patterns.find((p) => p.type === 'api');
530
+ if (!apiPattern) {
531
+ lines.push('API patterns detected in the codebase.');
532
+ return lines.join('\n');
533
+ }
534
+ lines.push('### Detected API Files\n');
535
+ for (const ind of apiPattern.indicators.slice(0, 8)) {
536
+ if (ind.file) {
537
+ lines.push(`- \`${path.relative(repoPath, ind.file)}\` - ${ind.reason}`);
538
+ }
539
+ }
540
+ return lines.join('\n');
541
+ }
542
+ generateTestingAnswer(stack, patterns) {
543
+ const lines = [];
544
+ lines.push('## Testing\n');
545
+ if (stack.testFrameworks.length > 0) {
546
+ lines.push(`### Test Frameworks: ${stack.testFrameworks.join(', ')}\n`);
547
+ }
548
+ lines.push('### Running Tests\n');
549
+ lines.push('```bash');
550
+ if (stack.testFrameworks.includes('jest')) {
551
+ lines.push('npm test');
552
+ lines.push('npm test -- --watch');
553
+ lines.push('npm test -- --coverage');
554
+ }
555
+ else if (stack.testFrameworks.includes('vitest')) {
556
+ lines.push('npm test');
557
+ lines.push('npm test -- --watch');
558
+ }
559
+ else if (stack.testFrameworks.includes('pytest')) {
560
+ lines.push('pytest');
561
+ lines.push('pytest --cov');
562
+ }
563
+ else {
564
+ lines.push('npm test');
565
+ }
566
+ lines.push('```');
567
+ return lines.join('\n');
568
+ }
569
+ generateErrorHandlingAnswer(patterns) {
570
+ const lines = [];
571
+ lines.push('## Error Handling\n');
572
+ const errorPattern = patterns.patterns.find((p) => p.type === 'error-handling');
573
+ if (!errorPattern) {
574
+ lines.push('Error handling patterns detected in the codebase.');
575
+ return lines.join('\n');
576
+ }
577
+ lines.push('### Implementation Details\n');
578
+ for (const ind of errorPattern.indicators.slice(0, 5)) {
579
+ lines.push(`- ${ind.reason}`);
580
+ }
581
+ return lines.join('\n');
582
+ }
583
+ generateCachingAnswer(patterns) {
584
+ const lines = [];
585
+ lines.push('## Caching\n');
586
+ const cachePattern = patterns.patterns.find((p) => p.type === 'cache');
587
+ if (!cachePattern) {
588
+ lines.push('Caching patterns detected in the codebase.');
589
+ return lines.join('\n');
590
+ }
591
+ lines.push('### Implementation Details\n');
592
+ for (const ind of cachePattern.indicators.slice(0, 5)) {
593
+ lines.push(`- ${ind.reason}`);
594
+ }
595
+ return lines.join('\n');
596
+ }
597
+ generateRealtimeAnswer(patterns) {
598
+ const lines = [];
599
+ lines.push('## Real-time Features\n');
600
+ const wsPattern = patterns.patterns.find((p) => p.type === 'websocket');
601
+ if (!wsPattern) {
602
+ lines.push('WebSocket patterns detected in the codebase.');
603
+ return lines.join('\n');
604
+ }
605
+ lines.push('### Implementation Details\n');
606
+ for (const ind of wsPattern.indicators.slice(0, 5)) {
607
+ lines.push(`- ${ind.reason}`);
608
+ }
609
+ return lines.join('\n');
610
+ }
611
+ generateBackgroundJobsAnswer(patterns) {
612
+ const lines = [];
613
+ lines.push('## Background Jobs\n');
614
+ const queuePattern = patterns.patterns.find((p) => p.type === 'queue');
615
+ if (!queuePattern) {
616
+ lines.push('Queue/job patterns detected in the codebase.');
617
+ return lines.join('\n');
618
+ }
619
+ lines.push('### Implementation Details\n');
620
+ for (const ind of queuePattern.indicators.slice(0, 5)) {
621
+ lines.push(`- ${ind.reason}`);
622
+ }
623
+ return lines.join('\n');
624
+ }
625
+ generateDeploymentAnswer(stack) {
626
+ const lines = [];
627
+ lines.push('## Deployment\n');
628
+ if (stack.hasDocker) {
629
+ lines.push('### Docker\n');
630
+ lines.push('This project includes Docker configuration.\n');
631
+ lines.push('```bash');
632
+ lines.push('docker build -t app .');
633
+ lines.push('docker run -p 3000:3000 app');
634
+ lines.push('```\n');
635
+ }
636
+ if (stack.hasCI) {
637
+ lines.push('### CI/CD\n');
638
+ lines.push('CI/CD pipelines are configured for this project.');
639
+ lines.push('Check `.github/workflows/` or equivalent for pipeline configuration.');
640
+ }
641
+ return lines.join('\n');
642
+ }
643
+ // Helper methods
644
+ getPatternFiles(patterns, type, repoPath) {
645
+ const pattern = patterns.patterns.find((p) => p.type === type);
646
+ if (!pattern)
647
+ return [];
648
+ return pattern.indicators
649
+ .filter((i) => i.file)
650
+ .map((i) => path.relative(repoPath, i.file))
651
+ .slice(0, 5);
652
+ }
653
+ async findRelevantFiles(repoPath, patterns) {
654
+ const results = [];
655
+ const excludeDirs = ['node_modules', '.git', 'dist', 'build', '.next', '.nuxt', 'coverage', '__pycache__', 'vendor'];
656
+ try {
657
+ const entries = await fs.readdir(repoPath, { withFileTypes: true, recursive: true });
658
+ for (const entry of entries) {
659
+ const relativePath = path.relative(repoPath, path.join(entry.parentPath || '', entry.name));
660
+ // Skip excluded directories
661
+ if (excludeDirs.some((dir) => relativePath.startsWith(dir + path.sep) || relativePath === dir)) {
662
+ continue;
663
+ }
664
+ for (const pattern of patterns) {
665
+ if (relativePath.includes(pattern)) {
666
+ results.push(relativePath);
667
+ break;
668
+ }
669
+ }
670
+ if (results.length >= 10)
671
+ break;
672
+ }
673
+ }
674
+ catch {
675
+ // Ignore errors
676
+ }
677
+ return results;
678
+ }
679
+ async saveQAEntries(repoPath, entries, topicResult) {
680
+ const qaDir = path.join(repoPath, '.context', 'docs', 'qa');
681
+ await fs.ensureDir(qaDir);
682
+ // Save individual entries
683
+ for (const entry of entries) {
684
+ const content = this.formatQAEntry(entry);
685
+ await fs.writeFile(path.join(qaDir, `${entry.slug}.md`), content);
686
+ }
687
+ // Generate README index
688
+ const readme = this.generateQAReadme(entries, topicResult);
689
+ await fs.writeFile(path.join(qaDir, 'README.md'), readme);
690
+ }
691
+ formatQAEntry(entry) {
692
+ const lines = [];
693
+ lines.push('---');
694
+ lines.push(`slug: ${entry.slug}`);
695
+ lines.push(`category: ${entry.category}`);
696
+ lines.push(`generatedAt: ${entry.generatedAt}`);
697
+ if (entry.relevantFiles.length > 0) {
698
+ lines.push(`relevantFiles:`);
699
+ for (const file of entry.relevantFiles) {
700
+ lines.push(` - ${file}`);
701
+ }
702
+ }
703
+ lines.push('---\n');
704
+ lines.push(`# ${entry.question}\n`);
705
+ lines.push(entry.answer);
706
+ return lines.join('\n');
707
+ }
708
+ generateQAReadme(entries, topicResult) {
709
+ const lines = [];
710
+ lines.push('# Q&A Index\n');
711
+ lines.push(`Project type: **${topicResult.projectType}**\n`);
712
+ lines.push(`Generated: ${new Date().toISOString()}\n`);
713
+ // Group by category
714
+ const byCategory = new Map();
715
+ for (const entry of entries) {
716
+ if (!byCategory.has(entry.category)) {
717
+ byCategory.set(entry.category, []);
718
+ }
719
+ byCategory.get(entry.category).push(entry);
720
+ }
721
+ for (const [category, catEntries] of byCategory) {
722
+ lines.push(`## ${category.charAt(0).toUpperCase() + category.slice(1)}\n`);
723
+ for (const entry of catEntries) {
724
+ lines.push(`- [${entry.question}](./${entry.slug}.md)`);
725
+ }
726
+ lines.push('');
727
+ }
728
+ return lines.join('\n');
729
+ }
730
+ parseQAEntry(content, filename) {
731
+ try {
732
+ const slug = filename.replace('.md', '');
733
+ // Parse frontmatter
734
+ const frontmatterMatch = content.match(/^---\n([\s\S]*?)\n---/);
735
+ let category = 'general';
736
+ let generatedAt = '';
737
+ const relevantFiles = [];
738
+ if (frontmatterMatch) {
739
+ const fm = frontmatterMatch[1];
740
+ const categoryMatch = fm.match(/category:\s*(.+)/);
741
+ if (categoryMatch)
742
+ category = categoryMatch[1].trim();
743
+ const dateMatch = fm.match(/generatedAt:\s*(.+)/);
744
+ if (dateMatch)
745
+ generatedAt = dateMatch[1].trim();
746
+ const filesMatch = fm.match(/relevantFiles:\n([\s\S]*?)(?=\n\w|$)/);
747
+ if (filesMatch) {
748
+ const files = filesMatch[1].match(/- (.+)/g);
749
+ if (files) {
750
+ relevantFiles.push(...files.map((f) => f.replace('- ', '').trim()));
751
+ }
752
+ }
753
+ }
754
+ // Parse question from first heading
755
+ const questionMatch = content.match(/^#\s+(.+)/m);
756
+ const question = questionMatch ? questionMatch[1] : slug;
757
+ // Get answer (everything after the first heading)
758
+ const answerStart = content.indexOf('\n', content.indexOf('# '));
759
+ const answer = answerStart > 0 ? content.slice(answerStart).trim() : '';
760
+ return {
761
+ slug,
762
+ question,
763
+ answer,
764
+ category,
765
+ generatedAt,
766
+ relevantFiles,
767
+ };
768
+ }
769
+ catch {
770
+ return null;
771
+ }
772
+ }
773
+ calculateRelevance(entry, queryLower, queryWords) {
774
+ let score = 0;
775
+ const reasons = [];
776
+ // Exact slug match
777
+ if (entry.slug.toLowerCase().includes(queryLower.replace(/\s+/g, '-'))) {
778
+ score += 10;
779
+ reasons.push('slug match');
780
+ }
781
+ // Question match
782
+ const questionLower = entry.question.toLowerCase();
783
+ if (questionLower.includes(queryLower)) {
784
+ score += 8;
785
+ reasons.push('question match');
786
+ }
787
+ // Word matches in question
788
+ for (const word of queryWords) {
789
+ if (questionLower.includes(word)) {
790
+ score += 2;
791
+ reasons.push(`word "${word}" in question`);
792
+ }
793
+ }
794
+ // Answer match
795
+ const answerLower = entry.answer.toLowerCase();
796
+ for (const word of queryWords) {
797
+ if (answerLower.includes(word)) {
798
+ score += 1;
799
+ reasons.push(`word "${word}" in answer`);
800
+ }
801
+ }
802
+ // Category match
803
+ if (entry.category.toLowerCase().includes(queryLower)) {
804
+ score += 3;
805
+ reasons.push('category match');
806
+ }
807
+ return {
808
+ score,
809
+ reason: reasons.slice(0, 3).join(', ') || 'partial match',
810
+ };
811
+ }
812
+ /**
813
+ * Load codebase-map.json if it exists
814
+ */
815
+ async loadCodebaseMap(repoPath) {
816
+ const mapPath = path.join(repoPath, '.context', 'docs', 'codebase-map.json');
817
+ try {
818
+ if (await fs.pathExists(mapPath)) {
819
+ const content = await fs.readFile(mapPath, 'utf-8');
820
+ return JSON.parse(content);
821
+ }
822
+ }
823
+ catch {
824
+ // If loading fails, return null to fall back to full analysis
825
+ }
826
+ return null;
827
+ }
828
+ /**
829
+ * Convert codebase-map stack section to StackInfo format
830
+ */
831
+ convertMapStackToStackInfo(map) {
832
+ // Infer CLI-related fields from symbols and architecture
833
+ const hasBinField = map.architecture.entryPoints.some((ep) => ep.startsWith('bin/'));
834
+ const cliLibraries = [];
835
+ // Check for CLI frameworks in the symbols
836
+ const allSymbols = [
837
+ ...map.symbols.classes,
838
+ ...map.symbols.functions,
839
+ ];
840
+ if (allSymbols.some((s) => /commander|yargs|oclif|inquirer/i.test(s.name))) {
841
+ if (/commander/i.test(JSON.stringify(allSymbols)))
842
+ cliLibraries.push('commander');
843
+ if (/yargs/i.test(JSON.stringify(allSymbols)))
844
+ cliLibraries.push('yargs');
845
+ if (/oclif/i.test(JSON.stringify(allSymbols)))
846
+ cliLibraries.push('oclif');
847
+ }
848
+ return {
849
+ primaryLanguage: map.stack.primaryLanguage,
850
+ languages: map.stack.languages,
851
+ frameworks: map.stack.frameworks,
852
+ buildTools: map.stack.buildTools,
853
+ testFrameworks: map.stack.testFrameworks,
854
+ packageManager: map.stack.packageManager,
855
+ isMonorepo: map.stack.isMonorepo,
856
+ hasDocker: map.stack.hasDocker,
857
+ hasCI: map.stack.hasCI,
858
+ files: [], // Files are not stored in codebase-map, but not needed for Q&A generation
859
+ // Inferred fields
860
+ hasBinField,
861
+ cliLibraries,
862
+ hasMainExport: map.publicAPI.length > 0,
863
+ hasTypesField: map.symbols.types.length > 0,
864
+ };
865
+ }
866
+ /**
867
+ * Shutdown analyzer resources
868
+ */
869
+ async shutdown() {
870
+ await this.analyzer.shutdown();
871
+ }
872
+ }
873
+ exports.QAService = QAService;
874
+ //# sourceMappingURL=qaService.js.map