@ai-coders/context 0.6.1 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (597) hide show
  1. package/README.md +143 -69
  2. package/dist/commands/export.d.ts +4 -0
  3. package/dist/commands/export.d.ts.map +1 -0
  4. package/dist/commands/export.js +39 -0
  5. package/dist/commands/export.js.map +1 -0
  6. package/dist/commands/fill.d.ts +13 -0
  7. package/dist/commands/fill.d.ts.map +1 -0
  8. package/dist/commands/fill.js +65 -0
  9. package/dist/commands/fill.js.map +1 -0
  10. package/dist/commands/index.d.ts +29 -0
  11. package/dist/commands/index.d.ts.map +1 -0
  12. package/dist/commands/index.js +74 -0
  13. package/dist/commands/index.js.map +1 -0
  14. package/dist/commands/init.d.ts +12 -0
  15. package/dist/commands/init.d.ts.map +1 -0
  16. package/dist/commands/init.js +64 -0
  17. package/dist/commands/init.js.map +1 -0
  18. package/dist/commands/mcp.d.ts +4 -0
  19. package/dist/commands/mcp.d.ts.map +1 -0
  20. package/dist/commands/mcp.js +92 -0
  21. package/dist/commands/mcp.js.map +1 -0
  22. package/dist/commands/plan.d.ts +9 -0
  23. package/dist/commands/plan.d.ts.map +1 -0
  24. package/dist/commands/plan.js +126 -0
  25. package/dist/commands/plan.js.map +1 -0
  26. package/dist/commands/report.d.ts +4 -0
  27. package/dist/commands/report.d.ts.map +1 -0
  28. package/dist/commands/report.js +36 -0
  29. package/dist/commands/report.js.map +1 -0
  30. package/dist/commands/serve.d.ts +4 -0
  31. package/dist/commands/serve.d.ts.map +1 -0
  32. package/dist/commands/serve.js +29 -0
  33. package/dist/commands/serve.js.map +1 -0
  34. package/dist/commands/skill.d.ts +4 -0
  35. package/dist/commands/skill.d.ts.map +1 -0
  36. package/dist/commands/skill.js +217 -0
  37. package/dist/commands/skill.js.map +1 -0
  38. package/dist/commands/start.d.ts +4 -0
  39. package/dist/commands/start.d.ts.map +1 -0
  40. package/dist/commands/start.js +56 -0
  41. package/dist/commands/start.js.map +1 -0
  42. package/dist/commands/sync.d.ts +9 -0
  43. package/dist/commands/sync.d.ts.map +1 -0
  44. package/dist/commands/sync.js +134 -0
  45. package/dist/commands/sync.js.map +1 -0
  46. package/dist/commands/types.d.ts +17 -0
  47. package/dist/commands/types.d.ts.map +1 -0
  48. package/dist/commands/types.js +3 -0
  49. package/dist/commands/types.js.map +1 -0
  50. package/dist/commands/update.d.ts +4 -0
  51. package/dist/commands/update.d.ts.map +1 -0
  52. package/dist/commands/update.js +111 -0
  53. package/dist/commands/update.js.map +1 -0
  54. package/dist/commands/workflow.d.ts +4 -0
  55. package/dist/commands/workflow.d.ts.map +1 -0
  56. package/dist/commands/workflow.js +171 -0
  57. package/dist/commands/workflow.js.map +1 -0
  58. package/dist/generators/agents/agentGenerator.d.ts +4 -0
  59. package/dist/generators/agents/agentGenerator.d.ts.map +1 -1
  60. package/dist/generators/agents/agentGenerator.js +71 -2
  61. package/dist/generators/agents/agentGenerator.js.map +1 -1
  62. package/dist/generators/agents/templates/index.d.ts +0 -1
  63. package/dist/generators/agents/templates/index.d.ts.map +1 -1
  64. package/dist/generators/agents/templates/index.js +1 -3
  65. package/dist/generators/agents/templates/index.js.map +1 -1
  66. package/dist/generators/agents/templates/playbookTemplate.d.ts.map +1 -1
  67. package/dist/generators/agents/templates/playbookTemplate.js +11 -0
  68. package/dist/generators/agents/templates/playbookTemplate.js.map +1 -1
  69. package/dist/generators/documentation/codebaseMapGenerator.d.ts +45 -0
  70. package/dist/generators/documentation/codebaseMapGenerator.d.ts.map +1 -1
  71. package/dist/generators/documentation/codebaseMapGenerator.js +429 -10
  72. package/dist/generators/documentation/codebaseMapGenerator.js.map +1 -1
  73. package/dist/generators/documentation/documentationGenerator.d.ts +4 -1
  74. package/dist/generators/documentation/documentationGenerator.d.ts.map +1 -1
  75. package/dist/generators/documentation/documentationGenerator.js +77 -36
  76. package/dist/generators/documentation/documentationGenerator.js.map +1 -1
  77. package/dist/generators/documentation/index.d.ts +1 -1
  78. package/dist/generators/documentation/index.d.ts.map +1 -1
  79. package/dist/generators/documentation/templates/apiReferenceTemplate.d.ts.map +1 -1
  80. package/dist/generators/documentation/templates/apiReferenceTemplate.js +11 -0
  81. package/dist/generators/documentation/templates/apiReferenceTemplate.js.map +1 -1
  82. package/dist/generators/documentation/templates/architectureTemplate.d.ts +11 -0
  83. package/dist/generators/documentation/templates/architectureTemplate.d.ts.map +1 -1
  84. package/dist/generators/documentation/templates/architectureTemplate.js.map +1 -1
  85. package/dist/generators/documentation/templates/dataFlowTemplate.d.ts.map +1 -1
  86. package/dist/generators/documentation/templates/dataFlowTemplate.js +11 -0
  87. package/dist/generators/documentation/templates/dataFlowTemplate.js.map +1 -1
  88. package/dist/generators/documentation/templates/developmentWorkflowTemplate.d.ts.map +1 -1
  89. package/dist/generators/documentation/templates/developmentWorkflowTemplate.js +11 -0
  90. package/dist/generators/documentation/templates/developmentWorkflowTemplate.js.map +1 -1
  91. package/dist/generators/documentation/templates/glossaryTemplate.d.ts.map +1 -1
  92. package/dist/generators/documentation/templates/glossaryTemplate.js.map +1 -1
  93. package/dist/generators/documentation/templates/index.d.ts +0 -12
  94. package/dist/generators/documentation/templates/index.d.ts.map +1 -1
  95. package/dist/generators/documentation/templates/index.js +1 -25
  96. package/dist/generators/documentation/templates/index.js.map +1 -1
  97. package/dist/generators/documentation/templates/migrationTemplate.d.ts.map +1 -1
  98. package/dist/generators/documentation/templates/migrationTemplate.js +11 -0
  99. package/dist/generators/documentation/templates/migrationTemplate.js.map +1 -1
  100. package/dist/generators/documentation/templates/onboardingTemplate.d.ts.map +1 -1
  101. package/dist/generators/documentation/templates/onboardingTemplate.js +11 -0
  102. package/dist/generators/documentation/templates/onboardingTemplate.js.map +1 -1
  103. package/dist/generators/documentation/templates/projectOverviewTemplate.d.ts.map +1 -1
  104. package/dist/generators/documentation/templates/projectOverviewTemplate.js +11 -0
  105. package/dist/generators/documentation/templates/projectOverviewTemplate.js.map +1 -1
  106. package/dist/generators/documentation/templates/securityTemplate.d.ts.map +1 -1
  107. package/dist/generators/documentation/templates/securityTemplate.js +11 -0
  108. package/dist/generators/documentation/templates/securityTemplate.js.map +1 -1
  109. package/dist/generators/documentation/templates/testingTemplate.d.ts.map +1 -1
  110. package/dist/generators/documentation/templates/testingTemplate.js +11 -0
  111. package/dist/generators/documentation/templates/testingTemplate.js.map +1 -1
  112. package/dist/generators/documentation/templates/toolingTemplate.d.ts.map +1 -1
  113. package/dist/generators/documentation/templates/toolingTemplate.js +11 -0
  114. package/dist/generators/documentation/templates/toolingTemplate.js.map +1 -1
  115. package/dist/generators/documentation/templates/troubleshootingTemplate.d.ts.map +1 -1
  116. package/dist/generators/documentation/templates/troubleshootingTemplate.js +11 -0
  117. package/dist/generators/documentation/templates/troubleshootingTemplate.js.map +1 -1
  118. package/dist/generators/plans/templates/planTemplate.d.ts +11 -0
  119. package/dist/generators/plans/templates/planTemplate.d.ts.map +1 -1
  120. package/dist/generators/plans/templates/planTemplate.js +54 -18
  121. package/dist/generators/plans/templates/planTemplate.js.map +1 -1
  122. package/dist/generators/shared/index.d.ts +1 -0
  123. package/dist/generators/shared/index.d.ts.map +1 -1
  124. package/dist/generators/shared/index.js +16 -0
  125. package/dist/generators/shared/index.js.map +1 -1
  126. package/dist/generators/shared/scaffoldStructures.d.ts +13 -0
  127. package/dist/generators/shared/scaffoldStructures.d.ts.map +1 -0
  128. package/dist/generators/shared/scaffoldStructures.js +30 -0
  129. package/dist/generators/shared/scaffoldStructures.js.map +1 -0
  130. package/dist/generators/shared/structures/agents/definitions.d.ts +18 -0
  131. package/dist/generators/shared/structures/agents/definitions.d.ts.map +1 -0
  132. package/dist/generators/shared/structures/agents/definitions.js +561 -0
  133. package/dist/generators/shared/structures/agents/definitions.js.map +1 -0
  134. package/dist/generators/shared/structures/agents/factory.d.ts +25 -0
  135. package/dist/generators/shared/structures/agents/factory.d.ts.map +1 -0
  136. package/dist/generators/shared/structures/agents/factory.js +138 -0
  137. package/dist/generators/shared/structures/agents/factory.js.map +1 -0
  138. package/dist/generators/shared/structures/agents/index.d.ts +6 -0
  139. package/dist/generators/shared/structures/agents/index.d.ts.map +1 -0
  140. package/dist/generators/shared/structures/agents/index.js +24 -0
  141. package/dist/generators/shared/structures/agents/index.js.map +1 -0
  142. package/dist/generators/shared/structures/documentation/apiReference.d.ts +3 -0
  143. package/dist/generators/shared/structures/documentation/apiReference.d.ts.map +1 -0
  144. package/dist/generators/shared/structures/documentation/apiReference.js +100 -0
  145. package/dist/generators/shared/structures/documentation/apiReference.js.map +1 -0
  146. package/dist/generators/shared/structures/documentation/architecture.d.ts +3 -0
  147. package/dist/generators/shared/structures/documentation/architecture.d.ts.map +1 -0
  148. package/dist/generators/shared/structures/documentation/architecture.js +176 -0
  149. package/dist/generators/shared/structures/documentation/architecture.js.map +1 -0
  150. package/dist/generators/shared/structures/documentation/dataFlow.d.ts +3 -0
  151. package/dist/generators/shared/structures/documentation/dataFlow.d.ts.map +1 -0
  152. package/dist/generators/shared/structures/documentation/dataFlow.js +107 -0
  153. package/dist/generators/shared/structures/documentation/dataFlow.js.map +1 -0
  154. package/dist/generators/shared/structures/documentation/glossary.d.ts +3 -0
  155. package/dist/generators/shared/structures/documentation/glossary.d.ts.map +1 -0
  156. package/dist/generators/shared/structures/documentation/glossary.js +91 -0
  157. package/dist/generators/shared/structures/documentation/glossary.js.map +1 -0
  158. package/dist/generators/shared/structures/documentation/index.d.ts +16 -0
  159. package/dist/generators/shared/structures/documentation/index.d.ts.map +1 -0
  160. package/dist/generators/shared/structures/documentation/index.js +31 -0
  161. package/dist/generators/shared/structures/documentation/index.js.map +1 -0
  162. package/dist/generators/shared/structures/documentation/migration.d.ts +3 -0
  163. package/dist/generators/shared/structures/documentation/migration.d.ts.map +1 -0
  164. package/dist/generators/shared/structures/documentation/migration.js +113 -0
  165. package/dist/generators/shared/structures/documentation/migration.js.map +1 -0
  166. package/dist/generators/shared/structures/documentation/onboarding.d.ts +3 -0
  167. package/dist/generators/shared/structures/documentation/onboarding.d.ts.map +1 -0
  168. package/dist/generators/shared/structures/documentation/onboarding.js +99 -0
  169. package/dist/generators/shared/structures/documentation/onboarding.js.map +1 -0
  170. package/dist/generators/shared/structures/documentation/projectOverview.d.ts +3 -0
  171. package/dist/generators/shared/structures/documentation/projectOverview.d.ts.map +1 -0
  172. package/dist/generators/shared/structures/documentation/projectOverview.js +163 -0
  173. package/dist/generators/shared/structures/documentation/projectOverview.js.map +1 -0
  174. package/dist/generators/shared/structures/documentation/security.d.ts +3 -0
  175. package/dist/generators/shared/structures/documentation/security.d.ts.map +1 -0
  176. package/dist/generators/shared/structures/documentation/security.js +100 -0
  177. package/dist/generators/shared/structures/documentation/security.js.map +1 -0
  178. package/dist/generators/shared/structures/documentation/testing.d.ts +3 -0
  179. package/dist/generators/shared/structures/documentation/testing.d.ts.map +1 -0
  180. package/dist/generators/shared/structures/documentation/testing.js +130 -0
  181. package/dist/generators/shared/structures/documentation/testing.js.map +1 -0
  182. package/dist/generators/shared/structures/documentation/tooling.d.ts +3 -0
  183. package/dist/generators/shared/structures/documentation/tooling.d.ts.map +1 -0
  184. package/dist/generators/shared/structures/documentation/tooling.js +114 -0
  185. package/dist/generators/shared/structures/documentation/tooling.js.map +1 -0
  186. package/dist/generators/shared/structures/documentation/troubleshooting.d.ts +3 -0
  187. package/dist/generators/shared/structures/documentation/troubleshooting.d.ts.map +1 -0
  188. package/dist/generators/shared/structures/documentation/troubleshooting.js +91 -0
  189. package/dist/generators/shared/structures/documentation/troubleshooting.js.map +1 -0
  190. package/dist/generators/shared/structures/documentation/workflow.d.ts +3 -0
  191. package/dist/generators/shared/structures/documentation/workflow.d.ts.map +1 -0
  192. package/dist/generators/shared/structures/documentation/workflow.js +116 -0
  193. package/dist/generators/shared/structures/documentation/workflow.js.map +1 -0
  194. package/dist/generators/shared/structures/index.d.ts +15 -0
  195. package/dist/generators/shared/structures/index.d.ts.map +1 -0
  196. package/dist/generators/shared/structures/index.js +37 -0
  197. package/dist/generators/shared/structures/index.js.map +1 -0
  198. package/dist/generators/shared/structures/plans/index.d.ts +5 -0
  199. package/dist/generators/shared/structures/plans/index.d.ts.map +1 -0
  200. package/dist/generators/shared/structures/plans/index.js +9 -0
  201. package/dist/generators/shared/structures/plans/index.js.map +1 -0
  202. package/dist/generators/shared/structures/plans/planStructure.d.ts +6 -0
  203. package/dist/generators/shared/structures/plans/planStructure.d.ts.map +1 -0
  204. package/dist/generators/shared/structures/plans/planStructure.js +65 -0
  205. package/dist/generators/shared/structures/plans/planStructure.js.map +1 -0
  206. package/dist/generators/shared/structures/registry.d.ts +18 -0
  207. package/dist/generators/shared/structures/registry.d.ts.map +1 -0
  208. package/dist/generators/shared/structures/registry.js +104 -0
  209. package/dist/generators/shared/structures/registry.js.map +1 -0
  210. package/dist/generators/shared/structures/serialization.d.ts +15 -0
  211. package/dist/generators/shared/structures/serialization.d.ts.map +1 -0
  212. package/dist/generators/shared/structures/serialization.js +124 -0
  213. package/dist/generators/shared/structures/serialization.js.map +1 -0
  214. package/dist/generators/shared/structures/skills/definitions.d.ts +14 -0
  215. package/dist/generators/shared/structures/skills/definitions.d.ts.map +1 -0
  216. package/dist/generators/shared/structures/skills/definitions.js +427 -0
  217. package/dist/generators/shared/structures/skills/definitions.js.map +1 -0
  218. package/dist/generators/shared/structures/skills/factory.d.ts +18 -0
  219. package/dist/generators/shared/structures/skills/factory.d.ts.map +1 -0
  220. package/dist/generators/shared/structures/skills/factory.js +75 -0
  221. package/dist/generators/shared/structures/skills/factory.js.map +1 -0
  222. package/dist/generators/shared/structures/skills/index.d.ts +6 -0
  223. package/dist/generators/shared/structures/skills/index.d.ts.map +1 -0
  224. package/dist/generators/shared/structures/skills/index.js +20 -0
  225. package/dist/generators/shared/structures/skills/index.js.map +1 -0
  226. package/dist/generators/shared/structures/types.d.ts +61 -0
  227. package/dist/generators/shared/structures/types.d.ts.map +1 -0
  228. package/dist/generators/shared/structures/types.js +6 -0
  229. package/dist/generators/shared/structures/types.js.map +1 -0
  230. package/dist/generators/shared/structures/validation.d.ts +13 -0
  231. package/dist/generators/shared/structures/validation.d.ts.map +1 -0
  232. package/dist/generators/shared/structures/validation.js +51 -0
  233. package/dist/generators/shared/structures/validation.js.map +1 -0
  234. package/dist/generators/skills/skillGenerator.d.ts +5 -0
  235. package/dist/generators/skills/skillGenerator.d.ts.map +1 -1
  236. package/dist/generators/skills/skillGenerator.js +26 -17
  237. package/dist/generators/skills/skillGenerator.js.map +1 -1
  238. package/dist/generators/skills/templates/skillTemplate.d.ts +10 -0
  239. package/dist/generators/skills/templates/skillTemplate.d.ts.map +1 -1
  240. package/dist/generators/skills/templates/skillTemplate.js +10 -0
  241. package/dist/generators/skills/templates/skillTemplate.js.map +1 -1
  242. package/dist/index.d.ts.map +1 -1
  243. package/dist/index.js +271 -64
  244. package/dist/index.js.map +1 -1
  245. package/dist/prompts/defaults.d.ts +5 -0
  246. package/dist/prompts/defaults.d.ts.map +1 -1
  247. package/dist/prompts/defaults.js +44 -1
  248. package/dist/prompts/defaults.js.map +1 -1
  249. package/dist/services/ai/agents/documentationAgent.d.ts +2 -0
  250. package/dist/services/ai/agents/documentationAgent.d.ts.map +1 -1
  251. package/dist/services/ai/agents/documentationAgent.js +33 -9
  252. package/dist/services/ai/agents/documentationAgent.js.map +1 -1
  253. package/dist/services/ai/agents/playbookAgent.d.ts +2 -0
  254. package/dist/services/ai/agents/playbookAgent.d.ts.map +1 -1
  255. package/dist/services/ai/agents/playbookAgent.js +44 -19
  256. package/dist/services/ai/agents/playbookAgent.js.map +1 -1
  257. package/dist/services/ai/agents/skillAgent.d.ts +2 -0
  258. package/dist/services/ai/agents/skillAgent.d.ts.map +1 -1
  259. package/dist/services/ai/agents/skillAgent.js +54 -22
  260. package/dist/services/ai/agents/skillAgent.js.map +1 -1
  261. package/dist/services/ai/schemas.d.ts +138 -9
  262. package/dist/services/ai/schemas.d.ts.map +1 -1
  263. package/dist/services/ai/schemas.js +68 -5
  264. package/dist/services/ai/schemas.js.map +1 -1
  265. package/dist/services/ai/toolRegistry.d.ts.map +1 -1
  266. package/dist/services/ai/toolRegistry.js +25 -17
  267. package/dist/services/ai/toolRegistry.js.map +1 -1
  268. package/dist/services/ai/tools/checkScaffoldingTool.d.ts.map +1 -1
  269. package/dist/services/ai/tools/checkScaffoldingTool.js +4 -1
  270. package/dist/services/ai/tools/checkScaffoldingTool.js.map +1 -1
  271. package/dist/services/ai/tools/fillScaffoldingTool.d.ts +20 -21
  272. package/dist/services/ai/tools/fillScaffoldingTool.d.ts.map +1 -1
  273. package/dist/services/ai/tools/fillScaffoldingTool.js +60 -143
  274. package/dist/services/ai/tools/fillScaffoldingTool.js.map +1 -1
  275. package/dist/services/ai/tools/getCodebaseMapTool.d.ts +1 -1
  276. package/dist/services/ai/tools/getCodebaseMapTool.d.ts.map +1 -1
  277. package/dist/services/ai/tools/getCodebaseMapTool.js +9 -2
  278. package/dist/services/ai/tools/getCodebaseMapTool.js.map +1 -1
  279. package/dist/services/ai/tools/index.d.ts +1 -1
  280. package/dist/services/ai/tools/index.d.ts.map +1 -1
  281. package/dist/services/ai/tools/index.js +1 -3
  282. package/dist/services/ai/tools/index.js.map +1 -1
  283. package/dist/services/ai/tools/initializeContextTool.d.ts +108 -16
  284. package/dist/services/ai/tools/initializeContextTool.d.ts.map +1 -1
  285. package/dist/services/ai/tools/initializeContextTool.js +190 -67
  286. package/dist/services/ai/tools/initializeContextTool.js.map +1 -1
  287. package/dist/services/ai/tools/scaffoldPlanTool.d.ts +14 -3
  288. package/dist/services/ai/tools/scaffoldPlanTool.d.ts.map +1 -1
  289. package/dist/services/ai/tools/scaffoldPlanTool.js +34 -4
  290. package/dist/services/ai/tools/scaffoldPlanTool.js.map +1 -1
  291. package/dist/services/ai/tools/toolFactory.d.ts +35 -0
  292. package/dist/services/ai/tools/toolFactory.d.ts.map +1 -0
  293. package/dist/services/ai/tools/toolFactory.js +20 -0
  294. package/dist/services/ai/tools/toolFactory.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/export/contextExportService.d.ts +45 -0
  304. package/dist/services/export/contextExportService.d.ts.map +1 -0
  305. package/dist/services/export/contextExportService.js +161 -0
  306. package/dist/services/export/contextExportService.js.map +1 -0
  307. package/dist/services/export/exportRulesService.d.ts +15 -1
  308. package/dist/services/export/exportRulesService.d.ts.map +1 -1
  309. package/dist/services/export/exportRulesService.js +100 -36
  310. package/dist/services/export/exportRulesService.js.map +1 -1
  311. package/dist/services/export/index.d.ts +2 -0
  312. package/dist/services/export/index.d.ts.map +1 -1
  313. package/dist/services/export/index.js +3 -1
  314. package/dist/services/export/index.js.map +1 -1
  315. package/dist/services/export/skillExportService.d.ts +6 -1
  316. package/dist/services/export/skillExportService.d.ts.map +1 -1
  317. package/dist/services/export/skillExportService.js +46 -22
  318. package/dist/services/export/skillExportService.js.map +1 -1
  319. package/dist/services/fill/fillService.d.ts.map +1 -1
  320. package/dist/services/fill/fillService.js +30 -3
  321. package/dist/services/fill/fillService.js.map +1 -1
  322. package/dist/services/fill/skillFillService.d.ts.map +1 -1
  323. package/dist/services/fill/skillFillService.js +8 -1
  324. package/dist/services/fill/skillFillService.js.map +1 -1
  325. package/dist/services/import/presets.d.ts +12 -0
  326. package/dist/services/import/presets.d.ts.map +1 -1
  327. package/dist/services/import/presets.js +32 -152
  328. package/dist/services/import/presets.js.map +1 -1
  329. package/dist/services/init/initService.d.ts +3 -0
  330. package/dist/services/init/initService.d.ts.map +1 -1
  331. package/dist/services/init/initService.js +68 -9
  332. package/dist/services/init/initService.js.map +1 -1
  333. package/dist/services/mcp/actionLogger.d.ts +19 -0
  334. package/dist/services/mcp/actionLogger.d.ts.map +1 -0
  335. package/dist/services/mcp/actionLogger.js +128 -0
  336. package/dist/services/mcp/actionLogger.js.map +1 -0
  337. package/dist/services/mcp/gateway/agent.d.ts +17 -0
  338. package/dist/services/mcp/gateway/agent.d.ts.map +1 -0
  339. package/dist/services/mcp/gateway/agent.js +147 -0
  340. package/dist/services/mcp/gateway/agent.js.map +1 -0
  341. package/dist/services/mcp/gateway/context.d.ts +21 -0
  342. package/dist/services/mcp/gateway/context.d.ts.map +1 -0
  343. package/dist/services/mcp/gateway/context.js +249 -0
  344. package/dist/services/mcp/gateway/context.js.map +1 -0
  345. package/dist/services/mcp/gateway/explore.d.ts +16 -0
  346. package/dist/services/mcp/gateway/explore.d.ts.map +1 -0
  347. package/dist/services/mcp/gateway/explore.js +60 -0
  348. package/dist/services/mcp/gateway/explore.js.map +1 -0
  349. package/dist/services/mcp/gateway/index.d.ts +24 -0
  350. package/dist/services/mcp/gateway/index.d.ts.map +1 -0
  351. package/dist/services/mcp/gateway/index.js +53 -0
  352. package/dist/services/mcp/gateway/index.js.map +1 -0
  353. package/dist/services/mcp/gateway/metrics.d.ts +56 -0
  354. package/dist/services/mcp/gateway/metrics.d.ts.map +1 -0
  355. package/dist/services/mcp/gateway/metrics.js +153 -0
  356. package/dist/services/mcp/gateway/metrics.js.map +1 -0
  357. package/dist/services/mcp/gateway/plan.d.ts +18 -0
  358. package/dist/services/mcp/gateway/plan.d.ts.map +1 -0
  359. package/dist/services/mcp/gateway/plan.js +273 -0
  360. package/dist/services/mcp/gateway/plan.js.map +1 -0
  361. package/dist/services/mcp/gateway/project.d.ts +16 -0
  362. package/dist/services/mcp/gateway/project.d.ts.map +1 -0
  363. package/dist/services/mcp/gateway/project.js +149 -0
  364. package/dist/services/mcp/gateway/project.js.map +1 -0
  365. package/dist/services/mcp/gateway/projectReport.d.ts +20 -0
  366. package/dist/services/mcp/gateway/projectReport.d.ts.map +1 -0
  367. package/dist/services/mcp/gateway/projectReport.js +61 -0
  368. package/dist/services/mcp/gateway/projectReport.js.map +1 -0
  369. package/dist/services/mcp/gateway/projectSetup.d.ts +29 -0
  370. package/dist/services/mcp/gateway/projectSetup.d.ts.map +1 -0
  371. package/dist/services/mcp/gateway/projectSetup.js +141 -0
  372. package/dist/services/mcp/gateway/projectSetup.js.map +1 -0
  373. package/dist/services/mcp/gateway/response.d.ts +45 -0
  374. package/dist/services/mcp/gateway/response.d.ts.map +1 -0
  375. package/dist/services/mcp/gateway/response.js +111 -0
  376. package/dist/services/mcp/gateway/response.js.map +1 -0
  377. package/dist/services/mcp/gateway/shared.d.ts +38 -0
  378. package/dist/services/mcp/gateway/shared.d.ts.map +1 -0
  379. package/dist/services/mcp/gateway/shared.js +39 -0
  380. package/dist/services/mcp/gateway/shared.js.map +1 -0
  381. package/dist/services/mcp/gateway/skill.d.ts +17 -0
  382. package/dist/services/mcp/gateway/skill.d.ts.map +1 -0
  383. package/dist/services/mcp/gateway/skill.js +323 -0
  384. package/dist/services/mcp/gateway/skill.js.map +1 -0
  385. package/dist/services/mcp/gateway/sync.d.ts +17 -0
  386. package/dist/services/mcp/gateway/sync.d.ts.map +1 -0
  387. package/dist/services/mcp/gateway/sync.js +219 -0
  388. package/dist/services/mcp/gateway/sync.js.map +1 -0
  389. package/dist/services/mcp/gateway/types.d.ts +116 -0
  390. package/dist/services/mcp/gateway/types.d.ts.map +1 -0
  391. package/dist/services/mcp/gateway/types.js +12 -0
  392. package/dist/services/mcp/gateway/types.js.map +1 -0
  393. package/dist/services/mcp/gateway/workflow.d.ts +18 -0
  394. package/dist/services/mcp/gateway/workflow.d.ts.map +1 -0
  395. package/dist/services/mcp/gateway/workflow.js +317 -0
  396. package/dist/services/mcp/gateway/workflow.js.map +1 -0
  397. package/dist/services/mcp/gateway/workflowAdvance.d.ts +25 -0
  398. package/dist/services/mcp/gateway/workflowAdvance.d.ts.map +1 -0
  399. package/dist/services/mcp/gateway/workflowAdvance.js +133 -0
  400. package/dist/services/mcp/gateway/workflowAdvance.js.map +1 -0
  401. package/dist/services/mcp/gateway/workflowInit.d.ts +28 -0
  402. package/dist/services/mcp/gateway/workflowInit.d.ts.map +1 -0
  403. package/dist/services/mcp/gateway/workflowInit.js +213 -0
  404. package/dist/services/mcp/gateway/workflowInit.js.map +1 -0
  405. package/dist/services/mcp/gateway/workflowManage.d.ts +31 -0
  406. package/dist/services/mcp/gateway/workflowManage.d.ts.map +1 -0
  407. package/dist/services/mcp/gateway/workflowManage.js +222 -0
  408. package/dist/services/mcp/gateway/workflowManage.js.map +1 -0
  409. package/dist/services/mcp/gateway/workflowStatus.d.ts +17 -0
  410. package/dist/services/mcp/gateway/workflowStatus.d.ts.map +1 -0
  411. package/dist/services/mcp/gateway/workflowStatus.js +91 -0
  412. package/dist/services/mcp/gateway/workflowStatus.js.map +1 -0
  413. package/dist/services/mcp/gatewayTools.d.ts +15 -0
  414. package/dist/services/mcp/gatewayTools.d.ts.map +1 -0
  415. package/dist/services/mcp/gatewayTools.js +38 -0
  416. package/dist/services/mcp/gatewayTools.js.map +1 -0
  417. package/dist/services/mcp/index.d.ts +7 -0
  418. package/dist/services/mcp/index.d.ts.map +1 -1
  419. package/dist/services/mcp/index.js +22 -1
  420. package/dist/services/mcp/index.js.map +1 -1
  421. package/dist/services/mcp/mcpInstallService.d.ts +56 -0
  422. package/dist/services/mcp/mcpInstallService.d.ts.map +1 -0
  423. package/dist/services/mcp/mcpInstallService.js +549 -0
  424. package/dist/services/mcp/mcpInstallService.js.map +1 -0
  425. package/dist/services/mcp/mcpServer.d.ts +45 -19
  426. package/dist/services/mcp/mcpServer.d.ts.map +1 -1
  427. package/dist/services/mcp/mcpServer.js +592 -1845
  428. package/dist/services/mcp/mcpServer.js.map +1 -1
  429. package/dist/services/passthrough/protocol.d.ts +4 -4
  430. package/dist/services/qa/index.d.ts +9 -0
  431. package/dist/services/qa/index.d.ts.map +1 -0
  432. package/dist/services/qa/index.js +15 -0
  433. package/dist/services/qa/index.js.map +1 -0
  434. package/dist/services/qa/patternInferer.d.ts +41 -0
  435. package/dist/services/qa/patternInferer.d.ts.map +1 -0
  436. package/dist/services/qa/patternInferer.js +366 -0
  437. package/dist/services/qa/patternInferer.js.map +1 -0
  438. package/dist/services/qa/qaService.d.ts +107 -0
  439. package/dist/services/qa/qaService.d.ts.map +1 -0
  440. package/dist/services/qa/qaService.js +874 -0
  441. package/dist/services/qa/qaService.js.map +1 -0
  442. package/dist/services/qa/topicDetector.d.ts +54 -0
  443. package/dist/services/qa/topicDetector.d.ts.map +1 -0
  444. package/dist/services/qa/topicDetector.js +306 -0
  445. package/dist/services/qa/topicDetector.js.map +1 -0
  446. package/dist/services/quickSync/quickSyncService.d.ts.map +1 -1
  447. package/dist/services/quickSync/quickSyncService.js +6 -10
  448. package/dist/services/quickSync/quickSyncService.js.map +1 -1
  449. package/dist/services/reverseSync/importSkillsService.d.ts +47 -0
  450. package/dist/services/reverseSync/importSkillsService.d.ts.map +1 -0
  451. package/dist/services/reverseSync/importSkillsService.js +362 -0
  452. package/dist/services/reverseSync/importSkillsService.js.map +1 -0
  453. package/dist/services/reverseSync/index.d.ts +12 -0
  454. package/dist/services/reverseSync/index.d.ts.map +1 -0
  455. package/dist/services/reverseSync/index.js +49 -0
  456. package/dist/services/reverseSync/index.js.map +1 -0
  457. package/dist/services/reverseSync/presets.d.ts +51 -0
  458. package/dist/services/reverseSync/presets.d.ts.map +1 -0
  459. package/dist/services/reverseSync/presets.js +77 -0
  460. package/dist/services/reverseSync/presets.js.map +1 -0
  461. package/dist/services/reverseSync/reverseQuickSyncService.d.ts +37 -0
  462. package/dist/services/reverseSync/reverseQuickSyncService.d.ts.map +1 -0
  463. package/dist/services/reverseSync/reverseQuickSyncService.js +265 -0
  464. package/dist/services/reverseSync/reverseQuickSyncService.js.map +1 -0
  465. package/dist/services/reverseSync/skillsDetector.d.ts +36 -0
  466. package/dist/services/reverseSync/skillsDetector.d.ts.map +1 -0
  467. package/dist/services/reverseSync/skillsDetector.js +287 -0
  468. package/dist/services/reverseSync/skillsDetector.js.map +1 -0
  469. package/dist/services/reverseSync/toolDetector.d.ts +36 -0
  470. package/dist/services/reverseSync/toolDetector.d.ts.map +1 -0
  471. package/dist/services/reverseSync/toolDetector.js +174 -0
  472. package/dist/services/reverseSync/toolDetector.js.map +1 -0
  473. package/dist/services/reverseSync/types.d.ts +203 -0
  474. package/dist/services/reverseSync/types.d.ts.map +1 -0
  475. package/dist/services/reverseSync/types.js +9 -0
  476. package/dist/services/reverseSync/types.js.map +1 -0
  477. package/dist/services/semantic/codebaseAnalyzer.d.ts +23 -1
  478. package/dist/services/semantic/codebaseAnalyzer.d.ts.map +1 -1
  479. package/dist/services/semantic/codebaseAnalyzer.js +531 -0
  480. package/dist/services/semantic/codebaseAnalyzer.js.map +1 -1
  481. package/dist/services/semantic/contextBuilder.d.ts.map +1 -1
  482. package/dist/services/semantic/contextBuilder.js +25 -9
  483. package/dist/services/semantic/contextBuilder.js.map +1 -1
  484. package/dist/services/semantic/types.d.ts +50 -0
  485. package/dist/services/semantic/types.d.ts.map +1 -1
  486. package/dist/services/semantic/types.js +2 -0
  487. package/dist/services/semantic/types.js.map +1 -1
  488. package/dist/services/shared/contentTypeRegistry.d.ts +66 -0
  489. package/dist/services/shared/contentTypeRegistry.d.ts.map +1 -0
  490. package/dist/services/shared/contentTypeRegistry.js +113 -0
  491. package/dist/services/shared/contentTypeRegistry.js.map +1 -0
  492. package/dist/services/shared/contextRootResolver.d.ts +57 -0
  493. package/dist/services/shared/contextRootResolver.d.ts.map +1 -0
  494. package/dist/services/shared/contextRootResolver.js +102 -0
  495. package/dist/services/shared/contextRootResolver.js.map +1 -0
  496. package/dist/services/shared/index.d.ts +4 -1
  497. package/dist/services/shared/index.d.ts.map +1 -1
  498. package/dist/services/shared/index.js +39 -1
  499. package/dist/services/shared/index.js.map +1 -1
  500. package/dist/services/shared/pathHelpers.d.ts +15 -1
  501. package/dist/services/shared/pathHelpers.d.ts.map +1 -1
  502. package/dist/services/shared/pathHelpers.js +26 -1
  503. package/dist/services/shared/pathHelpers.js.map +1 -1
  504. package/dist/services/shared/toolRegistry.d.ts +135 -0
  505. package/dist/services/shared/toolRegistry.d.ts.map +1 -0
  506. package/dist/services/shared/toolRegistry.js +515 -0
  507. package/dist/services/shared/toolRegistry.js.map +1 -0
  508. package/dist/services/stack/scaffoldFilter.d.ts +1 -1
  509. package/dist/services/sync/presets.d.ts +3 -0
  510. package/dist/services/sync/presets.d.ts.map +1 -1
  511. package/dist/services/sync/presets.js +20 -32
  512. package/dist/services/sync/presets.js.map +1 -1
  513. package/dist/services/sync/syncService.d.ts +8 -0
  514. package/dist/services/sync/syncService.d.ts.map +1 -1
  515. package/dist/services/sync/syncService.js +21 -2
  516. package/dist/services/sync/syncService.js.map +1 -1
  517. package/dist/services/sync/types.d.ts +1 -1
  518. package/dist/services/sync/types.d.ts.map +1 -1
  519. package/dist/services/tools/index.d.ts +95 -0
  520. package/dist/services/tools/index.d.ts.map +1 -0
  521. package/dist/services/tools/index.js +236 -0
  522. package/dist/services/tools/index.js.map +1 -0
  523. package/dist/services/workflow/workflowService.d.ts +57 -4
  524. package/dist/services/workflow/workflowService.d.ts.map +1 -1
  525. package/dist/services/workflow/workflowService.js +79 -6
  526. package/dist/services/workflow/workflowService.js.map +1 -1
  527. package/dist/types/scaffoldFrontmatter.d.ts +145 -0
  528. package/dist/types/scaffoldFrontmatter.d.ts.map +1 -0
  529. package/dist/types/scaffoldFrontmatter.js +172 -0
  530. package/dist/types/scaffoldFrontmatter.js.map +1 -0
  531. package/dist/utils/cliUI.d.ts +1 -1
  532. package/dist/utils/cliUI.d.ts.map +1 -1
  533. package/dist/utils/cliUI.js +4 -1
  534. package/dist/utils/cliUI.js.map +1 -1
  535. package/dist/utils/frontMatter.d.ts +48 -0
  536. package/dist/utils/frontMatter.d.ts.map +1 -1
  537. package/dist/utils/frontMatter.js +135 -0
  538. package/dist/utils/frontMatter.js.map +1 -1
  539. package/dist/utils/gitService.d.ts +26 -0
  540. package/dist/utils/gitService.d.ts.map +1 -1
  541. package/dist/utils/gitService.js +96 -0
  542. package/dist/utils/gitService.js.map +1 -1
  543. package/dist/utils/i18n.d.ts +47 -4
  544. package/dist/utils/i18n.d.ts.map +1 -1
  545. package/dist/utils/i18n.js +104 -10
  546. package/dist/utils/i18n.js.map +1 -1
  547. package/dist/utils/prompts/index.d.ts +4 -0
  548. package/dist/utils/prompts/index.d.ts.map +1 -1
  549. package/dist/utils/prompts/index.js +15 -0
  550. package/dist/utils/prompts/index.js.map +1 -1
  551. package/dist/workflow/errors.d.ts +48 -0
  552. package/dist/workflow/errors.d.ts.map +1 -0
  553. package/dist/workflow/errors.js +52 -0
  554. package/dist/workflow/errors.js.map +1 -0
  555. package/dist/workflow/gates/gateChecker.d.ts +93 -0
  556. package/dist/workflow/gates/gateChecker.d.ts.map +1 -0
  557. package/dist/workflow/gates/gateChecker.js +197 -0
  558. package/dist/workflow/gates/gateChecker.js.map +1 -0
  559. package/dist/workflow/gates/index.d.ts +7 -0
  560. package/dist/workflow/gates/index.d.ts.map +1 -0
  561. package/dist/workflow/gates/index.js +13 -0
  562. package/dist/workflow/gates/index.js.map +1 -0
  563. package/dist/workflow/index.d.ts +4 -2
  564. package/dist/workflow/index.d.ts.map +1 -1
  565. package/dist/workflow/index.js +14 -3
  566. package/dist/workflow/index.js.map +1 -1
  567. package/dist/workflow/orchestrator.d.ts +94 -5
  568. package/dist/workflow/orchestrator.d.ts.map +1 -1
  569. package/dist/workflow/orchestrator.js +300 -11
  570. package/dist/workflow/orchestrator.js.map +1 -1
  571. package/dist/workflow/plans/planLinker.d.ts +79 -3
  572. package/dist/workflow/plans/planLinker.d.ts.map +1 -1
  573. package/dist/workflow/plans/planLinker.js +522 -3
  574. package/dist/workflow/plans/planLinker.js.map +1 -1
  575. package/dist/workflow/plans/types.d.ts +64 -0
  576. package/dist/workflow/plans/types.d.ts.map +1 -1
  577. package/dist/workflow/roles.d.ts +6 -0
  578. package/dist/workflow/roles.d.ts.map +1 -1
  579. package/dist/workflow/roles.js +6 -0
  580. package/dist/workflow/roles.js.map +1 -1
  581. package/dist/workflow/scaling.d.ts +1 -0
  582. package/dist/workflow/scaling.d.ts.map +1 -1
  583. package/dist/workflow/scaling.js +8 -17
  584. package/dist/workflow/scaling.js.map +1 -1
  585. package/dist/workflow/status/statusManager.d.ts +54 -1
  586. package/dist/workflow/status/statusManager.d.ts.map +1 -1
  587. package/dist/workflow/status/statusManager.js +539 -9
  588. package/dist/workflow/status/statusManager.js.map +1 -1
  589. package/dist/workflow/status/templates.d.ts +14 -5
  590. package/dist/workflow/status/templates.d.ts.map +1 -1
  591. package/dist/workflow/status/templates.js +55 -41
  592. package/dist/workflow/status/templates.js.map +1 -1
  593. package/dist/workflow/types.d.ts +138 -2
  594. package/dist/workflow/types.d.ts.map +1 -1
  595. package/dist/workflow/types.js +0 -1
  596. package/dist/workflow/types.js.map +1 -1
  597. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -67,13 +67,21 @@ const start_1 = require("./services/start");
67
67
  const export_1 = require("./services/export");
68
68
  const report_1 = require("./services/report");
69
69
  const quickSync_1 = require("./services/quickSync");
70
+ const reverseSync_1 = require("./services/reverseSync");
70
71
  const workflow_2 = require("./workflow");
71
72
  const providerFactory_1 = require("./services/ai/providerFactory");
72
73
  const prompts_1 = require("./utils/prompts");
73
74
  const version_1 = require("./version");
74
75
  const rawArgs = process.argv.slice(2);
75
76
  const isMcpCommand = rawArgs.includes('mcp');
76
- if (!isMcpCommand) {
77
+ // Determine if we're in interactive mode (no command args, only flags like --lang)
78
+ const isInteractiveMode = rawArgs.every(arg => arg.startsWith('-') ||
79
+ rawArgs[rawArgs.indexOf(arg) - 1]?.startsWith('--lang') ||
80
+ rawArgs[rawArgs.indexOf(arg) - 1]?.startsWith('--language') ||
81
+ rawArgs[rawArgs.indexOf(arg) - 1]?.startsWith('-l'));
82
+ // Load dotenv immediately for command-line mode (not MCP, not interactive)
83
+ // For interactive mode, we'll ask the user first
84
+ if (!isMcpCommand && !isInteractiveMode) {
77
85
  dotenv.config();
78
86
  }
79
87
  const initialLocale = (0, i18n_1.detectLocale)(rawArgs, process.env.AI_CONTEXT_LANG);
@@ -154,6 +162,7 @@ program
154
162
  .option('--include <patterns...>', t('commands.init.options.include'))
155
163
  .option('-v, --verbose', t('commands.init.options.verbose'))
156
164
  .option('--no-semantic', t('commands.init.options.noSemantic'))
165
+ .option('--no-content-stubs', t('commands.init.options.noContentStubs'))
157
166
  .action(async (repoPath, type, options) => {
158
167
  try {
159
168
  await initService.run(repoPath, type, options);
@@ -384,6 +393,39 @@ program
384
393
  process.exit(1);
385
394
  }
386
395
  });
396
+ program
397
+ .command('reverse-sync')
398
+ .description('Import rules, agents, and skills from AI tool directories into .context/')
399
+ .argument('[repo-path]', 'Repository path to scan', process.cwd())
400
+ .option('--dry-run', 'Preview changes without importing')
401
+ .option('-f, --force', 'Overwrite existing files')
402
+ .option('--skip-agents', 'Skip importing agents')
403
+ .option('--skip-skills', 'Skip importing skills')
404
+ .option('--skip-rules', 'Skip importing rules')
405
+ .option('--merge-strategy <strategy>', 'How to handle conflicts: skip|overwrite|merge|rename', 'skip')
406
+ .option('--format <format>', 'Output format for rules: markdown|raw|formatted', 'formatted')
407
+ .option('--no-metadata', 'Do not add import metadata to files')
408
+ .option('-v, --verbose', 'Verbose output')
409
+ .action(async (repoPath, options) => {
410
+ try {
411
+ const service = new reverseSync_1.ReverseQuickSyncService({ ui, t, version: version_1.VERSION });
412
+ await service.run(repoPath, {
413
+ dryRun: options.dryRun,
414
+ force: options.force,
415
+ skipAgents: options.skipAgents,
416
+ skipSkills: options.skipSkills,
417
+ skipRules: options.skipRules,
418
+ mergeStrategy: options.mergeStrategy,
419
+ format: options.format,
420
+ metadata: options.metadata !== false,
421
+ verbose: options.verbose,
422
+ });
423
+ }
424
+ catch (error) {
425
+ ui.displayError(t('errors.reverseSync.failed'), error);
426
+ process.exit(1);
427
+ }
428
+ });
387
429
  program
388
430
  .command('serve')
389
431
  .description('Start passthrough server for external AI agents (stdin/stdout JSON)')
@@ -434,6 +476,57 @@ program
434
476
  process.exit(1);
435
477
  }
436
478
  });
479
+ // MCP Install Command
480
+ program
481
+ .command('mcp:install [tool]')
482
+ .description(t('commands.mcpInstall.description'))
483
+ .option('-g, --global', t('commands.mcpInstall.options.global'), true)
484
+ .option('-l, --local', t('commands.mcpInstall.options.local'))
485
+ .option('--dry-run', t('commands.mcpInstall.options.dryRun'))
486
+ .option('-v, --verbose', t('commands.mcpInstall.options.verbose'))
487
+ .action(async (tool, options) => {
488
+ try {
489
+ const mcpInstallService = new mcp_1.MCPInstallService({ ui, t, version: version_1.VERSION });
490
+ // If no tool specified and not in CI, show interactive prompt
491
+ if (!tool && process.stdin.isTTY) {
492
+ const supportedTools = mcpInstallService.getSupportedTools();
493
+ const detectedTools = await mcpInstallService.detectInstalledTools();
494
+ const choices = supportedTools.map(tool => ({
495
+ name: detectedTools.includes(tool.id)
496
+ ? `${tool.displayName} (${t('labels.detected')})`
497
+ : tool.displayName,
498
+ value: tool.id,
499
+ }));
500
+ choices.unshift({
501
+ name: t('commands.mcpInstall.allDetected'),
502
+ value: 'all',
503
+ });
504
+ const { selectedTool } = await inquirer_1.default.prompt([
505
+ {
506
+ type: 'list',
507
+ name: 'selectedTool',
508
+ message: t('commands.mcpInstall.selectTool'),
509
+ choices,
510
+ },
511
+ ]);
512
+ tool = selectedTool;
513
+ }
514
+ const result = await mcpInstallService.run({
515
+ tool,
516
+ global: options.local ? false : options.global,
517
+ dryRun: options.dryRun,
518
+ verbose: options.verbose,
519
+ repoPath: process.cwd(),
520
+ });
521
+ if (result.installations.length > 0) {
522
+ ui.displayInfo('MCP', t('info.mcp.restartTools'));
523
+ }
524
+ }
525
+ catch (error) {
526
+ ui.displayError(t('errors.mcp.installFailed', { tool: tool || 'unknown' }), error);
527
+ process.exit(1);
528
+ }
529
+ });
437
530
  // Smart Start Command
438
531
  program
439
532
  .command('start')
@@ -732,7 +825,7 @@ workflowCommand
732
825
  .command('init <name>')
733
826
  .description('Initialize a new PREVC workflow')
734
827
  .option('-d, --description <text>', 'Project description for scale detection')
735
- .option('-s, --scale <scale>', 'Project scale: QUICK, SMALL, MEDIUM, LARGE, ENTERPRISE')
828
+ .option('-s, --scale <scale>', 'Project scale: QUICK, SMALL, MEDIUM, LARGE')
736
829
  .option('-r, --repo-path <path>', 'Repository path', process.cwd())
737
830
  .action(async (name, options) => {
738
831
  try {
@@ -921,6 +1014,11 @@ async function selectLocale(showWelcome) {
921
1014
  }
922
1015
  async function runInteractive() {
923
1016
  await selectLocale(false); // Don't show welcome yet
1017
+ // Ask user if they want to load environment variables from .env
1018
+ const loadEnv = await (0, prompts_1.promptLoadEnv)(t);
1019
+ if (loadEnv) {
1020
+ dotenv.config();
1021
+ }
924
1022
  // Show welcome screen with PREVC explanation
925
1023
  ui.displayWelcome(version_1.VERSION);
926
1024
  ui.displayPrevcExplanation();
@@ -982,18 +1080,19 @@ async function runInteractive() {
982
1080
  message: t('prompts.main.action'),
983
1081
  choices: [
984
1082
  { name: t('prompts.main.choice.quickSetup'), value: 'create' },
985
- { name: t('prompts.main.choice.scaffoldOnly'), value: 'scaffold' },
1083
+ { name: t('prompts.main.choice.enhanceWithAI'), value: 'enhance' },
986
1084
  { name: t('prompts.main.choice.exit'), value: 'exit' }
987
1085
  ]
988
1086
  }
989
1087
  ]);
990
1088
  if (action === 'create') {
991
- // Run init + fill with AI + LSP automatically
1089
+ // Quick Setup: scaffold with semantic autoFill (no AI required)
992
1090
  await runQuickSetup(projectPath);
993
1091
  }
994
- else if (action === 'scaffold') {
995
- // Scaffold only without AI fill
996
- await runInteractiveScaffold();
1092
+ else if (action === 'enhance') {
1093
+ // First scaffold, then enhance with AI
1094
+ await runQuickSetup(projectPath);
1095
+ await runEnhanceWithAI(projectPath);
997
1096
  }
998
1097
  return;
999
1098
  }
@@ -1023,44 +1122,13 @@ async function runInteractive() {
1023
1122
  await runFullMenu(result.state === 'outdated' ? result.details.daysBehind : undefined);
1024
1123
  }
1025
1124
  async function runQuickSetup(projectPath) {
1026
- // AI-first: Detect smart defaults automatically
1027
- const defaults = await (0, prompts_1.detectSmartDefaults)();
1028
- // If no API key found, prompt for one
1029
- let llmConfig = null;
1030
- if (defaults.apiKeyConfigured && defaults.provider) {
1031
- // Auto-detected config
1032
- llmConfig = {
1033
- provider: defaults.provider,
1034
- model: DEFAULT_MODEL,
1035
- apiKey: (0, providerFactory_1.getApiKeyFromEnv)(defaults.provider),
1036
- };
1037
- console.log(theme_1.colors.secondary(` Auto-detected: ${defaults.provider} API key found`));
1038
- }
1039
- else {
1040
- // Need to get API key from user
1041
- llmConfig = await (0, prompts_1.promptLLMConfig)(t);
1042
- if (!llmConfig) {
1043
- ui.displayInfo(t('info.setup.incomplete.title'), t('info.setup.incomplete.detail'));
1044
- return;
1045
- }
1046
- }
1047
- const { confirm } = await inquirer_1.default.prompt([
1048
- {
1049
- type: 'confirm',
1050
- name: 'confirm',
1051
- message: t('prompts.setup.confirmContinue'),
1052
- default: true
1053
- }
1054
- ]);
1055
- if (!confirm) {
1056
- return;
1057
- }
1058
- // Run init with semantic analysis
1125
+ // Quick Setup: Always creates scaffolds with semantic autoFill (no AI required)
1059
1126
  ui.startSpinner(t('spinner.setup.creatingStructure'));
1060
1127
  try {
1061
1128
  const localInitService = new initService_1.InitService({ ui, t, version: version_1.VERSION });
1062
1129
  await localInitService.run(projectPath, 'both', {
1063
- semantic: true
1130
+ semantic: true,
1131
+ autoFill: true // Always use autoFill for semantic-based content
1064
1132
  });
1065
1133
  ui.stopSpinner();
1066
1134
  }
@@ -1069,7 +1137,7 @@ async function runQuickSetup(projectPath) {
1069
1137
  ui.displayError('Failed to create structure', error);
1070
1138
  return;
1071
1139
  }
1072
- // Initialize skills too (AI-first)
1140
+ // Initialize skills too
1073
1141
  try {
1074
1142
  const { createSkillGenerator } = await Promise.resolve().then(() => __importStar(require('./generators/skills')));
1075
1143
  const skillGenerator = createSkillGenerator({ repoPath: projectPath });
@@ -1078,26 +1146,65 @@ async function runQuickSetup(projectPath) {
1078
1146
  catch {
1079
1147
  // Skills init failure is not critical
1080
1148
  }
1081
- // Fill with AI + LSP (default behavior)
1082
- ui.startSpinner(t('spinner.setup.fillingDocs'));
1083
- try {
1084
- const localFillService = new fillService_1.FillService({ ui, t, version: version_1.VERSION, defaultModel: DEFAULT_MODEL });
1085
- await localFillService.run(projectPath, {
1086
- model: llmConfig.model,
1087
- provider: llmConfig.provider,
1088
- apiKey: llmConfig.apiKey,
1089
- baseUrl: llmConfig.baseUrl,
1090
- verbose: false,
1091
- semantic: true,
1092
- useLsp: true // LSP enabled by default
1093
- });
1094
- ui.stopSpinner();
1095
- ui.displaySuccess(t('success.setup.docsCreated'));
1096
- console.log(theme_1.colors.secondaryDim(` ${t('info.setup.reviewFiles')}`));
1149
+ ui.displaySuccess(t('success.setup.scaffoldCreated'));
1150
+ console.log(theme_1.colors.secondaryDim(` ${t('info.setup.enhanceWithAI')}`));
1151
+ }
1152
+ async function runEnhanceWithAI(projectPath) {
1153
+ // Enhance existing scaffolds with AI
1154
+ const defaults = await (0, prompts_1.detectSmartDefaults)();
1155
+ if (!defaults.apiKeyConfigured || !defaults.provider) {
1156
+ // Need to get API key from user
1157
+ const llmConfig = await (0, prompts_1.promptLLMConfig)(t);
1158
+ if (!llmConfig) {
1159
+ ui.displayInfo(t('info.setup.incomplete.title'), t('info.setup.incomplete.detail'));
1160
+ return;
1161
+ }
1162
+ ui.startSpinner(t('spinner.setup.fillingDocs'));
1163
+ try {
1164
+ const localFillService = new fillService_1.FillService({ ui, t, version: version_1.VERSION, defaultModel: DEFAULT_MODEL });
1165
+ await localFillService.run(projectPath, {
1166
+ model: llmConfig.model,
1167
+ provider: llmConfig.provider,
1168
+ apiKey: llmConfig.apiKey,
1169
+ baseUrl: llmConfig.baseUrl,
1170
+ verbose: false,
1171
+ semantic: true,
1172
+ useLsp: true
1173
+ });
1174
+ ui.stopSpinner();
1175
+ ui.displaySuccess(t('success.setup.docsCreated'));
1176
+ }
1177
+ catch (error) {
1178
+ ui.stopSpinner();
1179
+ ui.displayError('Failed to fill documentation', error);
1180
+ }
1097
1181
  }
1098
- catch (error) {
1099
- ui.stopSpinner();
1100
- ui.displayError('Failed to fill documentation', error);
1182
+ else {
1183
+ // Auto-detected API key
1184
+ console.log(theme_1.colors.secondary(` Auto-detected: ${defaults.provider} API key found`));
1185
+ const llmConfig = {
1186
+ provider: defaults.provider,
1187
+ model: DEFAULT_MODEL,
1188
+ apiKey: (0, providerFactory_1.getApiKeyFromEnv)(defaults.provider),
1189
+ };
1190
+ ui.startSpinner(t('spinner.setup.fillingDocs'));
1191
+ try {
1192
+ const localFillService = new fillService_1.FillService({ ui, t, version: version_1.VERSION, defaultModel: DEFAULT_MODEL });
1193
+ await localFillService.run(projectPath, {
1194
+ model: llmConfig.model,
1195
+ provider: llmConfig.provider,
1196
+ apiKey: llmConfig.apiKey,
1197
+ verbose: false,
1198
+ semantic: true,
1199
+ useLsp: true
1200
+ });
1201
+ ui.stopSpinner();
1202
+ ui.displaySuccess(t('success.setup.docsCreated'));
1203
+ }
1204
+ catch (error) {
1205
+ ui.stopSpinner();
1206
+ ui.displayError('Failed to fill documentation', error);
1207
+ }
1101
1208
  }
1102
1209
  }
1103
1210
  async function runFullMenu(daysBehind) {
@@ -1110,6 +1217,7 @@ async function runFullMenu(daysBehind) {
1110
1217
  const choices = [
1111
1218
  // Quick Actions (most used)
1112
1219
  { name: t('prompts.main.choice.quickSync'), value: 'quickSync' },
1220
+ { name: t('prompts.main.choice.reverseSync'), value: 'reverseSync' },
1113
1221
  { name: t('prompts.main.choice.startWorkflow'), value: 'workflow' },
1114
1222
  { name: t('prompts.main.choice.createPlan'), value: 'plan' },
1115
1223
  new inquirer_1.default.Separator(),
@@ -1142,6 +1250,9 @@ async function runFullMenu(daysBehind) {
1142
1250
  if (action === 'quickSync') {
1143
1251
  await runQuickSync();
1144
1252
  }
1253
+ else if (action === 'reverseSync') {
1254
+ await runReverseSync();
1255
+ }
1145
1256
  else if (action === 'scaffold') {
1146
1257
  await runInteractiveScaffold();
1147
1258
  }
@@ -1235,9 +1346,10 @@ async function runInteractiveScaffold() {
1235
1346
  if (scaffoldSkills) {
1236
1347
  try {
1237
1348
  const { createSkillGenerator } = await Promise.resolve().then(() => __importStar(require('./generators/skills')));
1349
+ const relativeOutputDir = path.relative(resolvedRepo, outputDir);
1238
1350
  const generator = createSkillGenerator({
1239
1351
  repoPath: resolvedRepo,
1240
- outputDir
1352
+ outputDir: relativeOutputDir || '.context'
1241
1353
  });
1242
1354
  // Display step for skills scaffolding
1243
1355
  const stepNumber = (scaffoldDocs || scaffoldAgents) ? 4 : 1;
@@ -1703,8 +1815,7 @@ async function createNewWorkflow(workflowService) {
1703
1815
  { name: t('prompts.workflow.scale.quick'), value: 'QUICK' },
1704
1816
  { name: t('prompts.workflow.scale.small'), value: 'SMALL' },
1705
1817
  { name: t('prompts.workflow.scale.medium'), value: 'MEDIUM' },
1706
- { name: t('prompts.workflow.scale.large'), value: 'LARGE' },
1707
- { name: t('prompts.workflow.scale.enterprise'), value: 'ENTERPRISE' }
1818
+ { name: t('prompts.workflow.scale.large'), value: 'LARGE' }
1708
1819
  ],
1709
1820
  default: ''
1710
1821
  }
@@ -2127,6 +2238,102 @@ async function runQuickSync() {
2127
2238
  }
2128
2239
  ui.displaySuccess(t('success.quickSync.complete'));
2129
2240
  }
2241
+ // ============================================================================
2242
+ // Reverse Quick Sync - Import from AI tool directories
2243
+ // ============================================================================
2244
+ async function runReverseSync() {
2245
+ const projectPath = process.cwd();
2246
+ // Create service
2247
+ const reverseSyncService = new reverseSync_1.ReverseQuickSyncService({
2248
+ ui,
2249
+ t,
2250
+ version: version_1.VERSION,
2251
+ });
2252
+ // Step 1: Detect available tools
2253
+ ui.startSpinner(t('prompts.reverseSync.detecting'));
2254
+ const detection = await reverseSyncService.detect(projectPath);
2255
+ ui.stopSpinner();
2256
+ if (detection.summary.totalFiles === 0) {
2257
+ ui.displayWarning(t('prompts.reverseSync.noFilesFound'));
2258
+ return;
2259
+ }
2260
+ // Display detection summary
2261
+ console.log('');
2262
+ console.log(t('prompts.reverseSync.detected'));
2263
+ console.log('');
2264
+ for (const tool of detection.tools) {
2265
+ if (tool.detected) {
2266
+ const parts = [];
2267
+ if (tool.counts.rules > 0)
2268
+ parts.push(`${tool.counts.rules} rules`);
2269
+ if (tool.counts.agents > 0)
2270
+ parts.push(`${tool.counts.agents} agents`);
2271
+ if (tool.counts.skills > 0)
2272
+ parts.push(`${tool.counts.skills} skills`);
2273
+ console.log(` ${theme_1.colors.success('✓')} ${theme_1.colors.primary(tool.displayName)} (${parts.join(', ')})`);
2274
+ }
2275
+ }
2276
+ console.log('');
2277
+ // Step 2: Select components to import
2278
+ const { components } = await inquirer_1.default.prompt([
2279
+ {
2280
+ type: 'checkbox',
2281
+ name: 'components',
2282
+ message: t('prompts.reverseSync.selectComponents'),
2283
+ choices: [
2284
+ {
2285
+ name: `Rules (${detection.summary.totalRules} files)`,
2286
+ value: 'rules',
2287
+ checked: detection.summary.totalRules > 0,
2288
+ disabled: detection.summary.totalRules === 0,
2289
+ },
2290
+ {
2291
+ name: `Agents (${detection.summary.totalAgents} files)`,
2292
+ value: 'agents',
2293
+ checked: detection.summary.totalAgents > 0,
2294
+ disabled: detection.summary.totalAgents === 0,
2295
+ },
2296
+ {
2297
+ name: `Skills (${detection.summary.totalSkills} files)`,
2298
+ value: 'skills',
2299
+ checked: detection.summary.totalSkills > 0,
2300
+ disabled: detection.summary.totalSkills === 0,
2301
+ },
2302
+ ],
2303
+ },
2304
+ ]);
2305
+ if (components.length === 0) {
2306
+ ui.displayWarning(t('prompts.reverseSync.noComponentsSelected'));
2307
+ return;
2308
+ }
2309
+ // Step 3: Select merge strategy
2310
+ const { mergeStrategy } = await inquirer_1.default.prompt([
2311
+ {
2312
+ type: 'list',
2313
+ name: 'mergeStrategy',
2314
+ message: t('prompts.reverseSync.mergeStrategy'),
2315
+ choices: [
2316
+ { name: t('prompts.reverseSync.strategy.skip'), value: 'skip' },
2317
+ { name: t('prompts.reverseSync.strategy.overwrite'), value: 'overwrite' },
2318
+ { name: t('prompts.reverseSync.strategy.merge'), value: 'merge' },
2319
+ { name: t('prompts.reverseSync.strategy.rename'), value: 'rename' },
2320
+ ],
2321
+ },
2322
+ ]);
2323
+ // Step 4: Run import
2324
+ const result = await reverseSyncService.run(projectPath, {
2325
+ skipRules: !components.includes('rules'),
2326
+ skipAgents: !components.includes('agents'),
2327
+ skipSkills: !components.includes('skills'),
2328
+ mergeStrategy,
2329
+ verbose: false,
2330
+ });
2331
+ // Display result
2332
+ const totalImported = result.rulesImported + result.agentsImported + result.skillsImported;
2333
+ if (totalImported > 0) {
2334
+ ui.displaySuccess(t('success.reverseSync.complete', { count: totalImported }));
2335
+ }
2336
+ }
2130
2337
  async function runManageAgents() {
2131
2338
  const projectPath = process.cwd();
2132
2339
  let continueMenu = true;