@ai-coders/context 0.3.1 → 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 (514) hide show
  1. package/README.md +269 -29
  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/agentConfig.d.ts.map +1 -1
  55. package/dist/generators/agents/agentConfig.js +42 -0
  56. package/dist/generators/agents/agentConfig.js.map +1 -1
  57. package/dist/generators/agents/agentGenerator.d.ts +8 -2
  58. package/dist/generators/agents/agentGenerator.d.ts.map +1 -1
  59. package/dist/generators/agents/agentGenerator.js +112 -54
  60. package/dist/generators/agents/agentGenerator.js.map +1 -1
  61. package/dist/generators/agents/agentTypes.d.ts +1 -1
  62. package/dist/generators/agents/agentTypes.d.ts.map +1 -1
  63. package/dist/generators/agents/agentTypes.js +4 -1
  64. package/dist/generators/agents/agentTypes.js.map +1 -1
  65. package/dist/generators/agents/templates/indexTemplate.d.ts.map +1 -1
  66. package/dist/generators/agents/templates/indexTemplate.js +2 -1
  67. package/dist/generators/agents/templates/indexTemplate.js.map +1 -1
  68. package/dist/generators/agents/templates/playbookTemplate.d.ts +3 -2
  69. package/dist/generators/agents/templates/playbookTemplate.d.ts.map +1 -1
  70. package/dist/generators/agents/templates/playbookTemplate.js +144 -10
  71. package/dist/generators/agents/templates/playbookTemplate.js.map +1 -1
  72. package/dist/generators/agents/templates/types.d.ts +9 -1
  73. package/dist/generators/agents/templates/types.d.ts.map +1 -1
  74. package/dist/generators/documentation/documentationGenerator.d.ts +5 -1
  75. package/dist/generators/documentation/documentationGenerator.d.ts.map +1 -1
  76. package/dist/generators/documentation/documentationGenerator.js +106 -18
  77. package/dist/generators/documentation/documentationGenerator.js.map +1 -1
  78. package/dist/generators/documentation/guideRegistry.d.ts.map +1 -1
  79. package/dist/generators/documentation/guideRegistry.js +0 -8
  80. package/dist/generators/documentation/guideRegistry.js.map +1 -1
  81. package/dist/generators/documentation/templates/apiReferenceTemplate.d.ts +2 -0
  82. package/dist/generators/documentation/templates/apiReferenceTemplate.d.ts.map +1 -0
  83. package/dist/generators/documentation/templates/apiReferenceTemplate.js +469 -0
  84. package/dist/generators/documentation/templates/apiReferenceTemplate.js.map +1 -0
  85. package/dist/generators/documentation/templates/architectureTemplate.d.ts.map +1 -1
  86. package/dist/generators/documentation/templates/architectureTemplate.js +175 -41
  87. package/dist/generators/documentation/templates/architectureTemplate.js.map +1 -1
  88. package/dist/generators/documentation/templates/common.d.ts +28 -1
  89. package/dist/generators/documentation/templates/common.d.ts.map +1 -1
  90. package/dist/generators/documentation/templates/common.js +130 -10
  91. package/dist/generators/documentation/templates/common.js.map +1 -1
  92. package/dist/generators/documentation/templates/dataFlowTemplate.d.ts.map +1 -1
  93. package/dist/generators/documentation/templates/dataFlowTemplate.js +98 -33
  94. package/dist/generators/documentation/templates/dataFlowTemplate.js.map +1 -1
  95. package/dist/generators/documentation/templates/developmentWorkflowTemplate.d.ts.map +1 -1
  96. package/dist/generators/documentation/templates/developmentWorkflowTemplate.js +2 -34
  97. package/dist/generators/documentation/templates/developmentWorkflowTemplate.js.map +1 -1
  98. package/dist/generators/documentation/templates/glossaryTemplate.d.ts +1 -1
  99. package/dist/generators/documentation/templates/glossaryTemplate.d.ts.map +1 -1
  100. package/dist/generators/documentation/templates/glossaryTemplate.js +51 -37
  101. package/dist/generators/documentation/templates/glossaryTemplate.js.map +1 -1
  102. package/dist/generators/documentation/templates/index.d.ts +4 -0
  103. package/dist/generators/documentation/templates/index.d.ts.map +1 -1
  104. package/dist/generators/documentation/templates/index.js +9 -1
  105. package/dist/generators/documentation/templates/index.js.map +1 -1
  106. package/dist/generators/documentation/templates/indexTemplate.d.ts.map +1 -1
  107. package/dist/generators/documentation/templates/indexTemplate.js +1 -32
  108. package/dist/generators/documentation/templates/indexTemplate.js.map +1 -1
  109. package/dist/generators/documentation/templates/migrationTemplate.d.ts +2 -0
  110. package/dist/generators/documentation/templates/migrationTemplate.d.ts.map +1 -0
  111. package/dist/generators/documentation/templates/migrationTemplate.js +400 -0
  112. package/dist/generators/documentation/templates/migrationTemplate.js.map +1 -0
  113. package/dist/generators/documentation/templates/onboardingTemplate.d.ts +2 -0
  114. package/dist/generators/documentation/templates/onboardingTemplate.d.ts.map +1 -0
  115. package/dist/generators/documentation/templates/onboardingTemplate.js +409 -0
  116. package/dist/generators/documentation/templates/onboardingTemplate.js.map +1 -0
  117. package/dist/generators/documentation/templates/projectOverviewTemplate.d.ts.map +1 -1
  118. package/dist/generators/documentation/templates/projectOverviewTemplate.js +97 -38
  119. package/dist/generators/documentation/templates/projectOverviewTemplate.js.map +1 -1
  120. package/dist/generators/documentation/templates/securityTemplate.d.ts.map +1 -1
  121. package/dist/generators/documentation/templates/securityTemplate.js +1 -32
  122. package/dist/generators/documentation/templates/securityTemplate.js.map +1 -1
  123. package/dist/generators/documentation/templates/testingTemplate.d.ts.map +1 -1
  124. package/dist/generators/documentation/templates/testingTemplate.js +1 -33
  125. package/dist/generators/documentation/templates/testingTemplate.js.map +1 -1
  126. package/dist/generators/documentation/templates/toolingTemplate.d.ts.map +1 -1
  127. package/dist/generators/documentation/templates/toolingTemplate.js +2 -33
  128. package/dist/generators/documentation/templates/toolingTemplate.js.map +1 -1
  129. package/dist/generators/documentation/templates/troubleshootingTemplate.d.ts +2 -0
  130. package/dist/generators/documentation/templates/troubleshootingTemplate.d.ts.map +1 -0
  131. package/dist/generators/documentation/templates/troubleshootingTemplate.js +270 -0
  132. package/dist/generators/documentation/templates/troubleshootingTemplate.js.map +1 -0
  133. package/dist/generators/documentation/templates/types.d.ts +2 -1
  134. package/dist/generators/documentation/templates/types.d.ts.map +1 -1
  135. package/dist/generators/plans/planGenerator.d.ts +4 -0
  136. package/dist/generators/plans/planGenerator.d.ts.map +1 -1
  137. package/dist/generators/plans/planGenerator.js +30 -2
  138. package/dist/generators/plans/planGenerator.js.map +1 -1
  139. package/dist/generators/plans/templates/indexTemplate.d.ts.map +1 -1
  140. package/dist/generators/plans/templates/indexTemplate.js +5 -13
  141. package/dist/generators/plans/templates/indexTemplate.js.map +1 -1
  142. package/dist/generators/plans/templates/planTemplate.d.ts.map +1 -1
  143. package/dist/generators/plans/templates/planTemplate.js +123 -30
  144. package/dist/generators/plans/templates/planTemplate.js.map +1 -1
  145. package/dist/generators/plans/templates/types.d.ts +10 -0
  146. package/dist/generators/plans/templates/types.d.ts.map +1 -1
  147. package/dist/generators/shared/generatorUtils.d.ts +1 -1
  148. package/dist/generators/shared/generatorUtils.d.ts.map +1 -1
  149. package/dist/generators/shared/generatorUtils.js +7 -10
  150. package/dist/generators/shared/generatorUtils.js.map +1 -1
  151. package/dist/index.d.ts +2 -2
  152. package/dist/index.d.ts.map +1 -1
  153. package/dist/index.js +459 -1073
  154. package/dist/index.js.map +1 -1
  155. package/dist/prompts/defaults.d.ts +2 -2
  156. package/dist/prompts/defaults.d.ts.map +1 -1
  157. package/dist/prompts/defaults.js +26 -56
  158. package/dist/prompts/defaults.js.map +1 -1
  159. package/dist/services/ai/agentEvents.d.ts +45 -0
  160. package/dist/services/ai/agentEvents.d.ts.map +1 -0
  161. package/dist/services/ai/agentEvents.js +61 -0
  162. package/dist/services/ai/agentEvents.js.map +1 -0
  163. package/dist/services/ai/agents/documentationAgent.d.ts +53 -0
  164. package/dist/services/ai/agents/documentationAgent.d.ts.map +1 -0
  165. package/dist/services/ai/agents/documentationAgent.js +243 -0
  166. package/dist/services/ai/agents/documentationAgent.js.map +1 -0
  167. package/dist/services/ai/agents/index.d.ts +7 -0
  168. package/dist/services/ai/agents/index.d.ts.map +1 -0
  169. package/dist/services/ai/agents/index.js +10 -0
  170. package/dist/services/ai/agents/index.js.map +1 -0
  171. package/dist/services/ai/agents/planAgent.d.ts +68 -0
  172. package/dist/services/ai/agents/planAgent.d.ts.map +1 -0
  173. package/dist/services/ai/agents/planAgent.js +389 -0
  174. package/dist/services/ai/agents/planAgent.js.map +1 -0
  175. package/dist/services/ai/agents/playbookAgent.d.ts +54 -0
  176. package/dist/services/ai/agents/playbookAgent.d.ts.map +1 -0
  177. package/dist/services/ai/agents/playbookAgent.js +265 -0
  178. package/dist/services/ai/agents/playbookAgent.js.map +1 -0
  179. package/dist/services/ai/aiSdkClient.d.ts +67 -0
  180. package/dist/services/ai/aiSdkClient.d.ts.map +1 -0
  181. package/dist/services/ai/aiSdkClient.js +143 -0
  182. package/dist/services/ai/aiSdkClient.js.map +1 -0
  183. package/dist/services/ai/index.d.ts +7 -0
  184. package/dist/services/ai/index.d.ts.map +1 -0
  185. package/dist/services/ai/index.js +49 -0
  186. package/dist/services/ai/index.js.map +1 -0
  187. package/dist/services/ai/providerFactory.d.ts +35 -0
  188. package/dist/services/ai/providerFactory.d.ts.map +1 -0
  189. package/dist/services/ai/providerFactory.js +107 -0
  190. package/dist/services/ai/providerFactory.js.map +1 -0
  191. package/dist/services/ai/schemas.d.ts +331 -0
  192. package/dist/services/ai/schemas.d.ts.map +1 -0
  193. package/dist/services/ai/schemas.js +236 -0
  194. package/dist/services/ai/schemas.js.map +1 -0
  195. package/dist/services/ai/tools/analyzeSymbolsTool.d.ts +33 -0
  196. package/dist/services/ai/tools/analyzeSymbolsTool.d.ts.map +1 -0
  197. package/dist/services/ai/tools/analyzeSymbolsTool.js +57 -0
  198. package/dist/services/ai/tools/analyzeSymbolsTool.js.map +1 -0
  199. package/dist/services/ai/tools/checkScaffoldingTool.d.ts +18 -0
  200. package/dist/services/ai/tools/checkScaffoldingTool.d.ts.map +1 -0
  201. package/dist/services/ai/tools/checkScaffoldingTool.js +86 -0
  202. package/dist/services/ai/tools/checkScaffoldingTool.js.map +1 -0
  203. package/dist/services/ai/tools/fillScaffoldingTool.d.ts +38 -0
  204. package/dist/services/ai/tools/fillScaffoldingTool.d.ts.map +1 -0
  205. package/dist/services/ai/tools/fillScaffoldingTool.js +259 -0
  206. package/dist/services/ai/tools/fillScaffoldingTool.js.map +1 -0
  207. package/dist/services/ai/tools/getFileStructureTool.d.ts +29 -0
  208. package/dist/services/ai/tools/getFileStructureTool.d.ts.map +1 -0
  209. package/dist/services/ai/tools/getFileStructureTool.js +48 -0
  210. package/dist/services/ai/tools/getFileStructureTool.js.map +1 -0
  211. package/dist/services/ai/tools/index.d.ts +20 -0
  212. package/dist/services/ai/tools/index.d.ts.map +1 -0
  213. package/dist/services/ai/tools/index.js +62 -0
  214. package/dist/services/ai/tools/index.js.map +1 -0
  215. package/dist/services/ai/tools/initializeContextTool.d.ts +25 -0
  216. package/dist/services/ai/tools/initializeContextTool.d.ts.map +1 -0
  217. package/dist/services/ai/tools/initializeContextTool.js +121 -0
  218. package/dist/services/ai/tools/initializeContextTool.js.map +1 -0
  219. package/dist/services/ai/tools/listFilesTool.d.ts +18 -0
  220. package/dist/services/ai/tools/listFilesTool.d.ts.map +1 -0
  221. package/dist/services/ai/tools/listFilesTool.js +34 -0
  222. package/dist/services/ai/tools/listFilesTool.js.map +1 -0
  223. package/dist/services/ai/tools/readFileTool.d.ts +17 -0
  224. package/dist/services/ai/tools/readFileTool.d.ts.map +1 -0
  225. package/dist/services/ai/tools/readFileTool.js +63 -0
  226. package/dist/services/ai/tools/readFileTool.js.map +1 -0
  227. package/dist/services/ai/tools/scaffoldPlanTool.d.ts +19 -0
  228. package/dist/services/ai/tools/scaffoldPlanTool.d.ts.map +1 -0
  229. package/dist/services/ai/tools/scaffoldPlanTool.js +81 -0
  230. package/dist/services/ai/tools/scaffoldPlanTool.js.map +1 -0
  231. package/dist/services/ai/tools/searchCodeTool.d.ts +25 -0
  232. package/dist/services/ai/tools/searchCodeTool.d.ts.map +1 -0
  233. package/dist/services/ai/tools/searchCodeTool.js +96 -0
  234. package/dist/services/ai/tools/searchCodeTool.js.map +1 -0
  235. package/dist/services/baseLLMClient.d.ts +3 -3
  236. package/dist/services/baseLLMClient.d.ts.map +1 -1
  237. package/dist/services/baseLLMClient.js +44 -5
  238. package/dist/services/baseLLMClient.js.map +1 -1
  239. package/dist/services/fill/fillService.d.ts +11 -5
  240. package/dist/services/fill/fillService.d.ts.map +1 -1
  241. package/dist/services/fill/fillService.js +152 -88
  242. package/dist/services/fill/fillService.js.map +1 -1
  243. package/dist/services/init/initService.d.ts +3 -2
  244. package/dist/services/init/initService.d.ts.map +1 -1
  245. package/dist/services/init/initService.js +54 -19
  246. package/dist/services/init/initService.js.map +1 -1
  247. package/dist/services/llmClientFactory.d.ts +37 -9
  248. package/dist/services/llmClientFactory.d.ts.map +1 -1
  249. package/dist/services/llmClientFactory.js +54 -94
  250. package/dist/services/llmClientFactory.js.map +1 -1
  251. package/dist/services/mcp/index.d.ts +2 -0
  252. package/dist/services/mcp/index.d.ts.map +1 -0
  253. package/dist/services/mcp/index.js +7 -0
  254. package/dist/services/mcp/index.js.map +1 -0
  255. package/dist/services/mcp/mcpServer.d.ts +45 -0
  256. package/dist/services/mcp/mcpServer.d.ts.map +1 -0
  257. package/dist/services/mcp/mcpServer.js +371 -0
  258. package/dist/services/mcp/mcpServer.js.map +1 -0
  259. package/dist/services/openRouterClient.d.ts +0 -3
  260. package/dist/services/openRouterClient.d.ts.map +1 -1
  261. package/dist/services/openRouterClient.js +2 -49
  262. package/dist/services/openRouterClient.js.map +1 -1
  263. package/dist/services/passthrough/commandRouter.d.ts +53 -0
  264. package/dist/services/passthrough/commandRouter.d.ts.map +1 -0
  265. package/dist/services/passthrough/commandRouter.js +349 -0
  266. package/dist/services/passthrough/commandRouter.js.map +1 -0
  267. package/dist/services/passthrough/index.d.ts +7 -0
  268. package/dist/services/passthrough/index.d.ts.map +1 -0
  269. package/dist/services/passthrough/index.js +23 -0
  270. package/dist/services/passthrough/index.js.map +1 -0
  271. package/dist/services/passthrough/protocol.d.ts +269 -0
  272. package/dist/services/passthrough/protocol.d.ts.map +1 -0
  273. package/dist/services/passthrough/protocol.js +151 -0
  274. package/dist/services/passthrough/protocol.js.map +1 -0
  275. package/dist/services/passthrough/stdinReader.d.ts +42 -0
  276. package/dist/services/passthrough/stdinReader.d.ts.map +1 -0
  277. package/dist/services/passthrough/stdinReader.js +111 -0
  278. package/dist/services/passthrough/stdinReader.js.map +1 -0
  279. package/dist/services/plan/planService.d.ts +5 -5
  280. package/dist/services/plan/planService.d.ts.map +1 -1
  281. package/dist/services/plan/planService.js +52 -53
  282. package/dist/services/plan/planService.js.map +1 -1
  283. package/dist/services/semantic/codebaseAnalyzer.d.ts +40 -0
  284. package/dist/services/semantic/codebaseAnalyzer.d.ts.map +1 -0
  285. package/dist/services/semantic/codebaseAnalyzer.js +540 -0
  286. package/dist/services/semantic/codebaseAnalyzer.js.map +1 -0
  287. package/dist/services/semantic/contextBuilder.d.ts +79 -0
  288. package/dist/services/semantic/contextBuilder.d.ts.map +1 -0
  289. package/dist/services/semantic/contextBuilder.js +538 -0
  290. package/dist/services/semantic/contextBuilder.js.map +1 -0
  291. package/dist/services/semantic/index.d.ts +12 -0
  292. package/dist/services/semantic/index.d.ts.map +1 -0
  293. package/dist/services/semantic/index.js +33 -0
  294. package/dist/services/semantic/index.js.map +1 -0
  295. package/dist/services/semantic/lsp/index.d.ts +2 -0
  296. package/dist/services/semantic/lsp/index.d.ts.map +1 -0
  297. package/dist/services/semantic/lsp/index.js +6 -0
  298. package/dist/services/semantic/lsp/index.js.map +1 -0
  299. package/dist/services/semantic/lsp/lspLayer.d.ts +32 -0
  300. package/dist/services/semantic/lsp/lspLayer.d.ts.map +1 -0
  301. package/dist/services/semantic/lsp/lspLayer.js +378 -0
  302. package/dist/services/semantic/lsp/lspLayer.js.map +1 -0
  303. package/dist/services/semantic/treeSitter/index.d.ts +2 -0
  304. package/dist/services/semantic/treeSitter/index.d.ts.map +1 -0
  305. package/dist/services/semantic/treeSitter/index.js +6 -0
  306. package/dist/services/semantic/treeSitter/index.js.map +1 -0
  307. package/dist/services/semantic/treeSitter/treeSitterLayer.d.ts +37 -0
  308. package/dist/services/semantic/treeSitter/treeSitterLayer.d.ts.map +1 -0
  309. package/dist/services/semantic/treeSitter/treeSitterLayer.js +518 -0
  310. package/dist/services/semantic/treeSitter/treeSitterLayer.js.map +1 -0
  311. package/dist/services/semantic/types.d.ts +122 -0
  312. package/dist/services/semantic/types.d.ts.map +1 -0
  313. package/dist/services/semantic/types.js +31 -0
  314. package/dist/services/semantic/types.js.map +1 -0
  315. package/dist/services/serve/index.d.ts +2 -0
  316. package/dist/services/serve/index.d.ts.map +1 -0
  317. package/dist/services/serve/index.js +6 -0
  318. package/dist/services/serve/index.js.map +1 -0
  319. package/dist/services/serve/serveService.d.ts +38 -0
  320. package/dist/services/serve/serveService.d.ts.map +1 -0
  321. package/dist/services/serve/serveService.js +99 -0
  322. package/dist/services/serve/serveService.js.map +1 -0
  323. package/dist/services/shared/llmConfig.d.ts +19 -3
  324. package/dist/services/shared/llmConfig.d.ts.map +1 -1
  325. package/dist/services/shared/llmConfig.js +44 -57
  326. package/dist/services/shared/llmConfig.js.map +1 -1
  327. package/dist/services/sync/index.d.ts +6 -0
  328. package/dist/services/sync/index.d.ts.map +1 -0
  329. package/dist/services/sync/index.js +16 -0
  330. package/dist/services/sync/index.js.map +1 -0
  331. package/dist/services/sync/markdownReferenceHandler.d.ts +3 -0
  332. package/dist/services/sync/markdownReferenceHandler.d.ts.map +1 -0
  333. package/dist/services/sync/markdownReferenceHandler.js +133 -0
  334. package/dist/services/sync/markdownReferenceHandler.js.map +1 -0
  335. package/dist/services/sync/presets.d.ts +6 -0
  336. package/dist/services/sync/presets.d.ts.map +1 -0
  337. package/dist/services/sync/presets.js +49 -0
  338. package/dist/services/sync/presets.js.map +1 -0
  339. package/dist/services/sync/symlinkHandler.d.ts +7 -0
  340. package/dist/services/sync/symlinkHandler.d.ts.map +1 -0
  341. package/dist/services/sync/symlinkHandler.js +129 -0
  342. package/dist/services/sync/symlinkHandler.js.map +1 -0
  343. package/dist/services/sync/syncService.d.ts +15 -0
  344. package/dist/services/sync/syncService.d.ts.map +1 -0
  345. package/dist/services/sync/syncService.js +222 -0
  346. package/dist/services/sync/syncService.js.map +1 -0
  347. package/dist/services/sync/types.d.ts +62 -0
  348. package/dist/services/sync/types.d.ts.map +1 -0
  349. package/dist/services/sync/types.js +3 -0
  350. package/dist/services/sync/types.js.map +1 -0
  351. package/dist/types.d.ts +8 -2
  352. package/dist/types.d.ts.map +1 -1
  353. package/dist/utils/cliUI.d.ts +33 -0
  354. package/dist/utils/cliUI.d.ts.map +1 -1
  355. package/dist/utils/cliUI.js +157 -107
  356. package/dist/utils/cliUI.js.map +1 -1
  357. package/dist/utils/contentSanitizer.d.ts +42 -0
  358. package/dist/utils/contentSanitizer.d.ts.map +1 -0
  359. package/dist/utils/contentSanitizer.js +238 -0
  360. package/dist/utils/contentSanitizer.js.map +1 -0
  361. package/dist/utils/fileMapper.d.ts +1 -1
  362. package/dist/utils/fileMapper.d.ts.map +1 -1
  363. package/dist/utils/fileMapper.js +40 -19
  364. package/dist/utils/fileMapper.js.map +1 -1
  365. package/dist/utils/gitService.d.ts.map +1 -1
  366. package/dist/utils/gitService.js +12 -14
  367. package/dist/utils/gitService.js.map +1 -1
  368. package/dist/utils/i18n.d.ts +96 -43
  369. package/dist/utils/i18n.d.ts.map +1 -1
  370. package/dist/utils/i18n.js +194 -88
  371. package/dist/utils/i18n.js.map +1 -1
  372. package/dist/utils/prompts/configSummary.d.ts +7 -0
  373. package/dist/utils/prompts/configSummary.d.ts.map +1 -0
  374. package/dist/utils/prompts/configSummary.js +63 -0
  375. package/dist/utils/prompts/configSummary.js.map +1 -0
  376. package/dist/utils/prompts/index.d.ts +22 -0
  377. package/dist/utils/prompts/index.d.ts.map +1 -0
  378. package/dist/utils/prompts/index.js +122 -0
  379. package/dist/utils/prompts/index.js.map +1 -0
  380. package/dist/utils/prompts/llmPrompts.d.ts +11 -0
  381. package/dist/utils/prompts/llmPrompts.d.ts.map +1 -0
  382. package/dist/utils/prompts/llmPrompts.js +96 -0
  383. package/dist/utils/prompts/llmPrompts.js.map +1 -0
  384. package/dist/utils/prompts/smartDefaults.d.ts +15 -0
  385. package/dist/utils/prompts/smartDefaults.d.ts.map +1 -0
  386. package/dist/utils/prompts/smartDefaults.js +105 -0
  387. package/dist/utils/prompts/smartDefaults.js.map +1 -0
  388. package/dist/utils/prompts/types.d.ts +38 -0
  389. package/dist/utils/prompts/types.d.ts.map +1 -0
  390. package/dist/utils/prompts/types.js +3 -0
  391. package/dist/utils/prompts/types.js.map +1 -0
  392. package/dist/utils/theme.d.ts +66 -0
  393. package/dist/utils/theme.d.ts.map +1 -0
  394. package/dist/utils/theme.js +93 -0
  395. package/dist/utils/theme.js.map +1 -0
  396. package/dist/version.d.ts +8 -0
  397. package/dist/version.d.ts.map +1 -0
  398. package/dist/version.js +15 -0
  399. package/dist/version.js.map +1 -0
  400. package/package.json +18 -11
  401. package/prompts/update_plan_prompt.md +4 -5
  402. package/prompts/update_scaffold_prompt.md +14 -35
  403. package/dist/commands/shared/agents.d.ts +0 -2
  404. package/dist/commands/shared/agents.d.ts.map +0 -1
  405. package/dist/commands/shared/agents.js +0 -15
  406. package/dist/commands/shared/agents.js.map +0 -1
  407. package/dist/commands/shared/selection.d.ts +0 -12
  408. package/dist/commands/shared/selection.d.ts.map +0 -1
  409. package/dist/commands/shared/selection.js +0 -95
  410. package/dist/commands/shared/selection.js.map +0 -1
  411. package/dist/generators/agents/contextUtils.d.ts +0 -8
  412. package/dist/generators/agents/contextUtils.d.ts.map +0 -1
  413. package/dist/generators/agents/contextUtils.js +0 -15
  414. package/dist/generators/agents/contextUtils.js.map +0 -1
  415. package/dist/generators/agents/promptFormatter.d.ts +0 -9
  416. package/dist/generators/agents/promptFormatter.d.ts.map +0 -1
  417. package/dist/generators/agents/promptFormatter.js +0 -84
  418. package/dist/generators/agents/promptFormatter.js.map +0 -1
  419. package/dist/generators/analyzers/codebaseAnalyzer.d.ts +0 -45
  420. package/dist/generators/analyzers/codebaseAnalyzer.d.ts.map +0 -1
  421. package/dist/generators/analyzers/codebaseAnalyzer.js +0 -293
  422. package/dist/generators/analyzers/codebaseAnalyzer.js.map +0 -1
  423. package/dist/generators/analyzers/index.d.ts +0 -3
  424. package/dist/generators/analyzers/index.d.ts.map +0 -1
  425. package/dist/generators/analyzers/index.js +0 -6
  426. package/dist/generators/analyzers/index.js.map +0 -1
  427. package/dist/generators/documentation/documentationTemplates.d.ts +0 -21
  428. package/dist/generators/documentation/documentationTemplates.d.ts.map +0 -1
  429. package/dist/generators/documentation/documentationTemplates.js +0 -359
  430. package/dist/generators/documentation/documentationTemplates.js.map +0 -1
  431. package/dist/generators/documentation/documentationTypes.d.ts +0 -11
  432. package/dist/generators/documentation/documentationTypes.d.ts.map +0 -1
  433. package/dist/generators/documentation/documentationTypes.js +0 -22
  434. package/dist/generators/documentation/documentationTypes.js.map +0 -1
  435. package/dist/generators/documentation/documentationUtils.d.ts +0 -7
  436. package/dist/generators/documentation/documentationUtils.d.ts.map +0 -1
  437. package/dist/generators/documentation/documentationUtils.js +0 -28
  438. package/dist/generators/documentation/documentationUtils.js.map +0 -1
  439. package/dist/generators/documentation/incrementalDocumentationGenerator.d.ts +0 -33
  440. package/dist/generators/documentation/incrementalDocumentationGenerator.d.ts.map +0 -1
  441. package/dist/generators/documentation/incrementalDocumentationGenerator.js +0 -400
  442. package/dist/generators/documentation/incrementalDocumentationGenerator.js.map +0 -1
  443. package/dist/generators/documentation/templates/frontMatter.d.ts +0 -11
  444. package/dist/generators/documentation/templates/frontMatter.d.ts.map +0 -1
  445. package/dist/generators/documentation/templates/frontMatter.js +0 -29
  446. package/dist/generators/documentation/templates/frontMatter.js.map +0 -1
  447. package/dist/generators/documentation/templates.d.ts +0 -31
  448. package/dist/generators/documentation/templates.d.ts.map +0 -1
  449. package/dist/generators/documentation/templates.js +0 -566
  450. package/dist/generators/documentation/templates.js.map +0 -1
  451. package/dist/generators/guidelines/agentIntegration.d.ts +0 -43
  452. package/dist/generators/guidelines/agentIntegration.d.ts.map +0 -1
  453. package/dist/generators/guidelines/agentIntegration.js +0 -157
  454. package/dist/generators/guidelines/agentIntegration.js.map +0 -1
  455. package/dist/generators/guidelines/guidelineTypes.d.ts +0 -40
  456. package/dist/generators/guidelines/guidelineTypes.d.ts.map +0 -1
  457. package/dist/generators/guidelines/guidelineTypes.js +0 -144
  458. package/dist/generators/guidelines/guidelineTypes.js.map +0 -1
  459. package/dist/generators/guidelines/guidelinesAnalyzer.d.ts +0 -30
  460. package/dist/generators/guidelines/guidelinesAnalyzer.d.ts.map +0 -1
  461. package/dist/generators/guidelines/guidelinesAnalyzer.js +0 -263
  462. package/dist/generators/guidelines/guidelinesAnalyzer.js.map +0 -1
  463. package/dist/generators/guidelines/guidelinesGenerator.d.ts +0 -30
  464. package/dist/generators/guidelines/guidelinesGenerator.d.ts.map +0 -1
  465. package/dist/generators/guidelines/guidelinesGenerator.js +0 -249
  466. package/dist/generators/guidelines/guidelinesGenerator.js.map +0 -1
  467. package/dist/generators/guidelines/guidelinesTemplates.d.ts +0 -23
  468. package/dist/generators/guidelines/guidelinesTemplates.d.ts.map +0 -1
  469. package/dist/generators/guidelines/guidelinesTemplates.js +0 -304
  470. package/dist/generators/guidelines/guidelinesTemplates.js.map +0 -1
  471. package/dist/generators/guidelines/index.d.ts +0 -6
  472. package/dist/generators/guidelines/index.d.ts.map +0 -1
  473. package/dist/generators/guidelines/index.js +0 -16
  474. package/dist/generators/guidelines/index.js.map +0 -1
  475. package/dist/generators/moduleGrouper.d.ts +0 -14
  476. package/dist/generators/moduleGrouper.d.ts.map +0 -1
  477. package/dist/generators/moduleGrouper.js +0 -82
  478. package/dist/generators/moduleGrouper.js.map +0 -1
  479. package/dist/generators/projectAnalyzer.d.ts +0 -14
  480. package/dist/generators/projectAnalyzer.d.ts.map +0 -1
  481. package/dist/generators/projectAnalyzer.js +0 -217
  482. package/dist/generators/projectAnalyzer.js.map +0 -1
  483. package/dist/services/anthropicClient.d.ts +0 -12
  484. package/dist/services/anthropicClient.d.ts.map +0 -1
  485. package/dist/services/anthropicClient.js +0 -98
  486. package/dist/services/anthropicClient.js.map +0 -1
  487. package/dist/services/changeAnalyzer.d.ts +0 -44
  488. package/dist/services/changeAnalyzer.d.ts.map +0 -1
  489. package/dist/services/changeAnalyzer.js +0 -344
  490. package/dist/services/changeAnalyzer.js.map +0 -1
  491. package/dist/services/geminiClient.d.ts +0 -12
  492. package/dist/services/geminiClient.d.ts.map +0 -1
  493. package/dist/services/geminiClient.js +0 -96
  494. package/dist/services/geminiClient.js.map +0 -1
  495. package/dist/services/grokClient.d.ts +0 -12
  496. package/dist/services/grokClient.d.ts.map +0 -1
  497. package/dist/services/grokClient.js +0 -101
  498. package/dist/services/grokClient.js.map +0 -1
  499. package/dist/services/openaiClient.d.ts +0 -12
  500. package/dist/services/openaiClient.d.ts.map +0 -1
  501. package/dist/services/openaiClient.js +0 -98
  502. package/dist/services/openaiClient.js.map +0 -1
  503. package/dist/utils/interactiveMode.d.ts +0 -21
  504. package/dist/utils/interactiveMode.d.ts.map +0 -1
  505. package/dist/utils/interactiveMode.js +0 -737
  506. package/dist/utils/interactiveMode.js.map +0 -1
  507. package/dist/utils/pricing.d.ts +0 -14
  508. package/dist/utils/pricing.d.ts.map +0 -1
  509. package/dist/utils/pricing.js +0 -115
  510. package/dist/utils/pricing.js.map +0 -1
  511. package/dist/utils/tokenEstimator.d.ts +0 -28
  512. package/dist/utils/tokenEstimator.d.ts.map +0 -1
  513. package/dist/utils/tokenEstimator.js +0 -134
  514. package/dist/utils/tokenEstimator.js.map +0 -1
package/README.md CHANGED
@@ -19,14 +19,19 @@ A lightweight CLI that scaffolds living documentation and AI-agent playbooks for
19
19
  - 🤖 `agents/` folder containing playbooks for common engineering agents and a handy index
20
20
  - 🔁 Repeatable scaffolding that you can re-run as the project evolves
21
21
  - 🧭 Repository-aware templates that highlight top-level directories for quick orientation
22
- - 🧠 AI-ready front matter and `ai-task` markers so assistants know exactly what to refresh
22
+ - 🧠 AI-ready templates that assistants can update using the `fill` command
23
+ - 🌐 **Multi-provider support** for OpenAI, Anthropic, Google, and OpenRouter
24
+ - ⚡ **Semantic context mode** using Tree-sitter for token-efficient LLM calls
25
+ - 📊 **Real-time progress** showing agent activity and tool usage
26
+ - 🔌 **MCP Server** for seamless Claude Code integration
27
+ - 🔗 **Passthrough mode** for external AI agents via stdin/stdout JSON
23
28
 
24
29
  ## 📦 Installation
25
30
 
26
31
  Use `npx` to run the CLI without installing globally:
27
32
 
28
33
  ```bash
29
- npx @ai-coders/context init /path/to/repo
34
+ npx @ai-coders/context
30
35
  ```
31
36
 
32
37
  Or add it to your dev dependencies:
@@ -38,6 +43,10 @@ npm install --save-dev @ai-coders/context
38
43
  ## 🚀 Quick Start
39
44
 
40
45
  ```bash
46
+ # Launch the interactive wizard
47
+ npx @ai-coders/context
48
+
49
+
41
50
  # Scaffold docs and agents into ./.context
42
51
  npx @ai-coders/context init ./my-repo
43
52
 
@@ -48,7 +57,16 @@ npx @ai-coders/context init ./my-repo docs
48
57
  npx @ai-coders/context init ./my-repo agents --output ./knowledge-base
49
58
 
50
59
  # Fill docs and agents with the repo context (preview the first 3 updates)
51
- npx @ai-coders/context fill ./my-repo --output ./.context --dry-run --limit 3
60
+ npx @ai-coders/context fill ./my-repo --output ./.context --limit 3
61
+
62
+ # Use a specific provider (OpenAI, Anthropic, Google, or OpenRouter)
63
+ npx @ai-coders/context fill ./my-repo --provider anthropic --model claude-sonnet-4-20250514
64
+
65
+ # Disable semantic mode for more thorough tool-based exploration
66
+ npx @ai-coders/context fill ./my-repo --no-semantic
67
+
68
+ # Specify languages for semantic analysis
69
+ npx @ai-coders/context fill ./my-repo --languages typescript,python,go
52
70
 
53
71
  # Draft a collaboration plan seeded with agent and doc touchpoints
54
72
  npx @ai-coders/context plan release-readiness --output ./.context
@@ -73,21 +91,95 @@ After running the command, inspect the generated structure:
73
91
  └── ...
74
92
  ```
75
93
 
76
- Customize the Markdown files to reflect your projects specifics and commit them alongside the code.
94
+ Customize the Markdown files to reflect your project's specifics and commit them alongside the code.
77
95
 
78
- ## 🧠 Guided Updates for AI Assistants
96
+ ## 🌐 Multi-Provider Support
97
+
98
+ The `fill` and `plan` commands support multiple LLM providers:
99
+
100
+ | Provider | Models | Environment Variable |
101
+ |----------|--------|---------------------|
102
+ | OpenRouter | `x-ai/grok-4-fast`, `anthropic/claude-sonnet-4`, etc. | `OPENROUTER_API_KEY` |
103
+ | OpenAI | `gpt-4o`, `gpt-4-turbo`, etc. | `OPENAI_API_KEY` |
104
+ | Anthropic | `claude-sonnet-4-20250514`, `claude-opus-4-20250514`, etc. | `ANTHROPIC_API_KEY` |
105
+ | Google | `gemini-2.0-flash`, `gemini-1.5-pro`, etc. | `GOOGLE_API_KEY` |
106
+
107
+ The CLI auto-detects available API keys from environment variables. Override with `--provider` and `--model`:
108
+
109
+ ```bash
110
+ # Use Anthropic's Claude
111
+ ANTHROPIC_API_KEY=sk-... npx @ai-coders/context fill . --provider anthropic
79
112
 
80
- Need help filling in the scaffold? Use [`prompts/update_scaffold_prompt.md`](./prompts/update_scaffold_prompt.md) as the canonical instruction set for any LLM or CLI agent. It walks through:
113
+ # Use OpenAI's GPT-4
114
+ OPENAI_API_KEY=sk-... npx @ai-coders/context fill . --provider openai --model gpt-4o
115
+ ```
116
+
117
+ ## ⚡ Semantic Context Mode
118
+
119
+ By default, the `fill` command uses **semantic context mode** which pre-computes codebase analysis using Tree-sitter before calling the LLM. This is:
81
120
 
82
- - Gathering repository context and locating `ai-task`/`ai-slot` markers.
83
- - Updating documentation sections while satisfying the YAML front matter criteria.
84
- - Aligning agent playbooks with the refreshed docs and recording evidence for maintainers.
121
+ - **Faster**: Single LLM call instead of multi-step tool exploration
122
+ - **Token-efficient**: Pre-computed context instead of back-and-forth tool calls
123
+ - **Consistent**: Same analysis applied to all files
85
124
 
86
- Share that prompt verbatim with your assistant to keep updates consistent across teams.
125
+ To use the more thorough tool-based exploration (where the LLM explores the codebase step by step), use `--no-semantic`:
126
+
127
+ ```bash
128
+ npx @ai-coders/context fill . --no-semantic
129
+ ```
87
130
 
88
- ### Available Doc Keys & Agent Types
131
+ ### Language Selection
132
+
133
+ Specify which programming languages to analyze for semantic context:
134
+
135
+ ```bash
136
+ # Analyze only TypeScript and Python
137
+ npx @ai-coders/context fill . --languages typescript,python
138
+
139
+ # Default languages: typescript, javascript, python, go
140
+ ```
89
141
 
90
- Pass these values to `--docs` / `--agents` (or pick them interactively):
142
+ Supported languages: `typescript`, `javascript`, `python`, `go`, `rust`, `java`, `cpp`, `c_sharp`, `ruby`, `php`
143
+
144
+ ### LSP Enhancement (Optional)
145
+
146
+ For deeper semantic analysis, the tool supports optional **LSP (Language Server Protocol)** integration. While Tree-sitter handles ~90% of the analysis with fast syntactic parsing, LSP provides additional semantic information when enabled:
147
+
148
+ | Feature | Tree-sitter | LSP |
149
+ |---------|-------------|-----|
150
+ | Symbol extraction | ✅ | - |
151
+ | Import/export analysis | ✅ | - |
152
+ | Type inference | - | ✅ |
153
+ | Interface implementations | - | ✅ |
154
+ | Cross-file references | - | ✅ |
155
+ | Definition resolution | - | ✅ |
156
+
157
+ **Usage:**
158
+
159
+ ```bash
160
+ # Enable LSP for fill command (disabled by default)
161
+ npx @ai-coders/context fill ./my-repo --lsp
162
+
163
+ # LSP is enabled by default for plan fill
164
+ npx @ai-coders/context plan my-plan --fill
165
+
166
+ # Disable LSP for plan fill
167
+ npx @ai-coders/context plan my-plan --fill --no-lsp
168
+ ```
169
+
170
+ **Supported Language Servers:**
171
+ - TypeScript/JavaScript: `typescript-language-server`
172
+ - Python: `pylsp`
173
+
174
+ **Graceful Degradation:** If a language server is not installed, the analysis continues without LSP enhancement—no errors, no interruption.
175
+
176
+ ## 🧠 Guided Updates for AI Assistants
177
+
178
+ Need help filling in the scaffold? Use [`prompts/update_scaffold_prompt.md`](./prompts/update_scaffold_prompt.md) as the canonical instruction set for any LLM or CLI agent. Share that prompt verbatim with your assistant to keep updates consistent across teams.
179
+
180
+ ### Available Doc Guides & Agent Types
181
+
182
+ The scaffold includes the following guides and playbooks out of the box:
91
183
 
92
184
  - Docs: `project-overview`, `architecture`, `development-workflow`, `testing-strategy`, `glossary`, `data-flow`, `security`, `tooling`
93
185
  - Agents: `code-reviewer`, `bug-fixer`, `feature-developer`, `refactoring-specialist`, `test-writer`, `documentation-writer`, `performance-optimizer`, `security-auditor`, `backend-specialist`, `frontend-specialist`, `architect-specialist`
@@ -106,17 +198,13 @@ Arguments:
106
198
 
107
199
  Options:
108
200
  -o, --output <dir> Output directory (default: ./.context)
109
- --docs <keys...> Doc keys to scaffold (e.g., project-overview, security)
110
- --agents <keys...> Agent types to scaffold (e.g., code-reviewer, feature-developer)
111
201
  --exclude <patterns...> Glob patterns to skip during the scan
112
202
  --include <patterns...> Glob patterns to explicitly include
203
+ --no-semantic Disable semantic code analysis
113
204
  -v, --verbose Print detailed progress information
114
205
  -h, --help Display help for command
115
206
  ```
116
207
 
117
- ### `scaffold`
118
- Alias for `init`. Use whichever verb fits your workflow.
119
-
120
208
  ### `fill`
121
209
  Use an LLM to refresh scaffolded docs and agent playbooks automatically.
122
210
 
@@ -126,18 +214,20 @@ Usage: ai-context fill <repo-path>
126
214
  Options:
127
215
  -o, --output <dir> Scaffold directory containing docs/ and agents/ (default: ./.context)
128
216
  -k, --api-key <key> API key for the selected LLM provider
129
- -m, --model <model> LLM model to use (default: google/gemini-2.5-flash-preview-05-20)
130
- -p, --provider <name> Provider (openrouter, openai, anthropic, gemini, grok)
217
+ -m, --model <model> LLM model to use (default: x-ai/grok-4-fast)
218
+ -p, --provider <name> Provider: openrouter, openai, anthropic, or google
219
+ --base-url <url> Custom base URL for provider APIs
131
220
  --prompt <file> Instruction prompt to follow (optional; uses bundled instructions when omitted)
132
- --docs <keys...> Doc keys to update (default: all)
133
- --agents <keys...> Agent types to update (default: all)
134
- --dry-run Preview changes without writing files
135
- --all Process every Markdown file even if no TODO markers remain
136
221
  --limit <number> Maximum number of files to update in one run
222
+ --no-semantic Disable semantic context mode (use tool-based exploration)
223
+ --languages <langs> Programming languages to analyze (e.g., typescript,python,go)
224
+ --exclude <patterns...> Glob patterns to exclude from repository analysis
225
+ --include <patterns...> Glob patterns to include during analysis
226
+ -v, --verbose Print detailed progress information
137
227
  -h, --help Display help for command
138
228
  ```
139
229
 
140
- Under the hood, the command loads the prompt above, scans for `ai-task` or `ai-slot` markers, and asks the LLM to produce the fully updated Markdown. Combine it with `--dry-run` to review responses before committing.
230
+ Under the hood, the command uses specialized agents (DocumentationAgent, PlaybookAgent) that analyze your codebase and generate context-aware documentation. Real-time progress is displayed showing which agent is working and what tools are being used.
141
231
 
142
232
  ### `plan`
143
233
  Create a collaboration plan that links documentation guides and agent playbooks, or fill an existing plan with LLM assistance.
@@ -149,19 +239,19 @@ Options:
149
239
  -o, --output <dir> Scaffold directory containing docs/ and agents/ (default: ./.context)
150
240
  --title <title> Custom title for the plan document
151
241
  --summary <text> Seed the plan with a short summary or goal statement
152
- --agents <types...> Agent playbooks to highlight (default: all)
153
- --docs <keys...> Documentation guides to reference (default: all)
154
242
  -f, --force Overwrite the plan if it already exists (scaffold mode)
155
243
  --fill Use an LLM to fill or update the plan instead of scaffolding
156
244
  -r, --repo <path> Repository root to summarize for additional context (fill mode)
157
245
  -k, --api-key <key> API key for the selected LLM provider (fill mode)
158
- -m, --model <model> LLM model to use (default: x-ai/grok-4-fast:free)
159
- -p, --provider <name> Provider (openrouter, openai, anthropic, gemini, grok)
246
+ -m, --model <model> LLM model to use (default: x-ai/grok-4-fast)
247
+ -p, --provider <name> Provider: openrouter, openai, anthropic, or google
160
248
  --base-url <url> Custom base URL for provider APIs
161
249
  --prompt <file> Instruction prompt to follow (optional; uses bundled instructions when omitted)
162
250
  --dry-run Preview changes without writing files
251
+ --no-semantic Disable semantic context mode
163
252
  --include <patterns...> Glob patterns to include during repository analysis
164
253
  --exclude <patterns...> Glob patterns to exclude from repository analysis
254
+ -v, --verbose Print detailed progress information
165
255
  -h, --help Display help for command
166
256
  ```
167
257
 
@@ -169,7 +259,157 @@ In scaffold mode the command creates `.context/plans/<plan-name>.md`, keeps a `p
169
259
 
170
260
  💡 Tip: run `npx @ai-coders/context` with no arguments to enter an interactive mode that guides you through scaffold and LLM-fill options.
171
261
 
172
- Prefer driving the update elsewhere? Just grab [`prompts/update_scaffold_prompt.md`](./prompts/update_scaffold_prompt.md) and run it in your favorite playground or agent host. When youre ready to automate, drop your API key in `.env` (for example `OPENROUTER_API_KEY` and `OPENROUTER_MODEL`) and let `fill` handle the edits inline.
262
+ Prefer driving the update elsewhere? Just grab [`prompts/update_scaffold_prompt.md`](./prompts/update_scaffold_prompt.md) and run it in your favorite playground or agent host. When you're ready to automate, drop your API key in `.env` (for example `OPENROUTER_API_KEY` and `OPENROUTER_MODEL`) and let `fill` handle the edits inline.
263
+
264
+ ### `mcp`
265
+ Start an MCP (Model Context Protocol) server for Claude Code integration. This exposes code analysis tools and semantic context as MCP resources.
266
+
267
+ ```
268
+ Usage: ai-context mcp
269
+
270
+ Options:
271
+ -r, --repo-path <path> Default repository path for tools
272
+ -v, --verbose Enable verbose logging to stderr
273
+ -h, --help Display help for command
274
+ ```
275
+
276
+ **Available MCP Tools:**
277
+ - `readFile` - Read file contents from the filesystem
278
+ - `listFiles` - List files matching a glob pattern
279
+ - `analyzeSymbols` - Extract code symbols (classes, functions, interfaces) using Tree-sitter
280
+ - `getFileStructure` - Get the directory structure of a repository
281
+ - `searchCode` - Search for code patterns using regex
282
+ - `buildSemanticContext` - Build optimized semantic context for LLM prompts
283
+ - `checkScaffolding` - Check if `.context` scaffolding exists (returns granular status for docs, agents, plans)
284
+ - `initializeContext` - Initialize `.context` scaffolding (create template files)
285
+ - `fillScaffolding` - Analyze codebase and generate content for each template file (AI agent writes the content)
286
+ - `scaffoldPlan` - Create a plan template in `.context/plans/`
287
+
288
+ **Available MCP Resources:**
289
+ - `context://codebase/{contextType}` - Semantic context (documentation, playbook, plan, compact)
290
+ - `file://{path}` - Read file contents
291
+
292
+ ### `serve`
293
+ Start a passthrough server for external AI agents. Accepts JSON commands via stdin and responds via stdout.
294
+
295
+ ```
296
+ Usage: ai-context serve
297
+
298
+ Options:
299
+ -r, --repo-path <path> Default repository path for tools
300
+ -f, --format <format> Output format: json or jsonl (default: jsonl)
301
+ -v, --verbose Enable verbose logging to stderr
302
+ -h, --help Display help for command
303
+ ```
304
+
305
+ **Available Methods:**
306
+ - `capabilities` - List server capabilities
307
+ - `tool.list` - List available tools
308
+ - `tool.call` - Execute a tool
309
+ - `context.build` - Build semantic context
310
+ - `agent.run` - Run an agent (requires LLM config)
311
+
312
+ ## 🔌 Claude Code Integration (MCP)
313
+
314
+ The easiest way to use this package with Claude Code is through the MCP server. Add the following to your Claude Code settings:
315
+
316
+ **~/.claude/settings.json:**
317
+ ```json
318
+ {
319
+ "mcpServers": {
320
+ "ai-context": {
321
+ "command": "npx",
322
+ "args": ["@ai-coders/context", "mcp", "-r", "/path/to/your/repo"]
323
+ }
324
+ }
325
+ }
326
+ ```
327
+
328
+ Once configured, Claude Code will have access to all code analysis tools:
329
+
330
+ ```
331
+ # Claude Code can now use these tools:
332
+ - readFile: Read any file in your repository
333
+ - listFiles: Find files by glob patterns
334
+ - analyzeSymbols: Extract code structure with Tree-sitter
335
+ - searchCode: Search for patterns across the codebase
336
+ - buildSemanticContext: Get optimized context for any task
337
+ - checkScaffolding: Check if .context scaffolding exists
338
+ - initializeContext: Create scaffolding templates
339
+ - fillScaffolding: Generate content for templates
340
+ - scaffoldPlan: Create plan templates
341
+ ```
342
+
343
+ ### Example MCP Usage in Claude Code
344
+
345
+ When working with Claude Code, you can ask it to:
346
+
347
+ - "Use the ai-context tools to analyze the authentication module"
348
+ - "Build a semantic context for the src/services directory"
349
+ - "List all TypeScript files in the project and analyze their exports"
350
+
351
+ ## 🔗 External AI Agent Integration (Passthrough)
352
+
353
+ For AI agents that don't support MCP, use the passthrough server with JSON communication:
354
+
355
+ ```bash
356
+ # Start the server
357
+ npx @ai-coders/context serve -r ./my-project
358
+
359
+ # Send commands via stdin
360
+ echo '{"id":"1","method":"capabilities"}' | npx @ai-coders/context serve
361
+ ```
362
+
363
+ **Example: List files**
364
+ ```bash
365
+ echo '{"id":"1","method":"tool.call","params":{"tool":"listFiles","args":{"pattern":"**/*.ts"}}}' \
366
+ | npx @ai-coders/context serve -r ./my-project
367
+ ```
368
+
369
+ **Example: Build semantic context**
370
+ ```bash
371
+ echo '{"id":"1","method":"context.build","params":{"repoPath":"./","contextType":"documentation"}}' \
372
+ | npx @ai-coders/context serve
373
+ ```
374
+
375
+ **Response format:**
376
+ ```json
377
+ {
378
+ "id": "1",
379
+ "success": true,
380
+ "result": { /* tool output */ }
381
+ }
382
+ ```
383
+
384
+ **Notifications (streamed during execution):**
385
+ ```json
386
+ {"type": "progress", "data": {"step": 1, "message": "Analyzing..."}}
387
+ {"type": "tool_call", "data": {"toolName": "readFile", "args": {"filePath": "..."}}}
388
+ {"type": "tool_result", "data": {"toolName": "readFile", "success": true}}
389
+ ```
390
+
391
+ ## 🔧 Environment Variables
392
+
393
+ ```bash
394
+ # Provider selection (auto-detected from available keys)
395
+ AI_CONTEXT_PROVIDER=openrouter|openai|anthropic|google
396
+
397
+ # API Keys (at least one required for fill/plan --fill)
398
+ OPENROUTER_API_KEY=...
399
+ OPENAI_API_KEY=...
400
+ ANTHROPIC_API_KEY=...
401
+ GOOGLE_API_KEY=...
402
+
403
+ # Optional model override per provider
404
+ OPENROUTER_MODEL=x-ai/grok-4-fast
405
+ OPENAI_MODEL=gpt-4o
406
+ ANTHROPIC_MODEL=claude-sonnet-4-20250514
407
+ GOOGLE_MODEL=gemini-2.0-flash
408
+
409
+ # CLI settings
410
+ AI_CONTEXT_LANG=en|pt-BR
411
+ AI_CONTEXT_DISABLE_UPDATE_CHECK=true
412
+ ```
173
413
 
174
414
  ## 🧰 Local Development
175
415
 
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Fragment Composition - Strategies for combining fragments
3
+ */
4
+ import type { ContextFragment, CompositionOptions, FragmentStore } from './types.js';
5
+ /**
6
+ * Compose fragments into a coherent context using the specified strategy
7
+ */
8
+ export declare function composeFragments(fragments: ContextFragment<unknown>[], options: CompositionOptions): ContextFragment<unknown>[];
9
+ /**
10
+ * Create a composition pipeline helper
11
+ */
12
+ export declare function createComposer(store: FragmentStore): {
13
+ /**
14
+ * Compose by priority (default)
15
+ */
16
+ byPriority(maxTokens?: number): ContextFragment<unknown>[];
17
+ /**
18
+ * Compose by expanding from a seed
19
+ */
20
+ expand(seed: string, depth?: number, maxTokens?: number): ContextFragment<unknown>[];
21
+ /**
22
+ * Compose by task relevance
23
+ */
24
+ forTask(task: string, maxTokens?: number): ContextFragment<unknown>[];
25
+ /**
26
+ * Get essential context (project overview + high priority)
27
+ */
28
+ essential(maxTokens?: number): ContextFragment<unknown>[];
29
+ };
30
+ //# sourceMappingURL=compose.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/fragments/compose.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAElB,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,EACrC,OAAO,EAAE,kBAAkB,GAC1B,eAAe,CAAC,OAAO,CAAC,EAAE,CAW5B;AA6QD;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa;IAE/C;;OAEG;2BACoB,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,EAAE;IAO1D;;OAEG;iBACU,MAAM,UAAU,MAAM,cAAc,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,EAAE;IASpF;;OAEG;kBACW,MAAM,cAAc,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,EAAE;IAQrE;;OAEG;0BACmB,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,EAAE;EAe5D"}