@ai-coders/context 0.6.0 → 0.7.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 (581) hide show
  1. package/README.md +125 -68
  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 +2 -0
  59. package/dist/generators/agents/agentGenerator.d.ts.map +1 -1
  60. package/dist/generators/agents/agentGenerator.js +46 -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/documentationGenerator.d.ts +2 -1
  70. package/dist/generators/documentation/documentationGenerator.d.ts.map +1 -1
  71. package/dist/generators/documentation/documentationGenerator.js +53 -34
  72. package/dist/generators/documentation/documentationGenerator.js.map +1 -1
  73. package/dist/generators/documentation/templates/apiReferenceTemplate.d.ts.map +1 -1
  74. package/dist/generators/documentation/templates/apiReferenceTemplate.js +11 -0
  75. package/dist/generators/documentation/templates/apiReferenceTemplate.js.map +1 -1
  76. package/dist/generators/documentation/templates/architectureTemplate.d.ts +11 -0
  77. package/dist/generators/documentation/templates/architectureTemplate.d.ts.map +1 -1
  78. package/dist/generators/documentation/templates/architectureTemplate.js.map +1 -1
  79. package/dist/generators/documentation/templates/dataFlowTemplate.d.ts.map +1 -1
  80. package/dist/generators/documentation/templates/dataFlowTemplate.js +11 -0
  81. package/dist/generators/documentation/templates/dataFlowTemplate.js.map +1 -1
  82. package/dist/generators/documentation/templates/developmentWorkflowTemplate.d.ts.map +1 -1
  83. package/dist/generators/documentation/templates/developmentWorkflowTemplate.js +11 -0
  84. package/dist/generators/documentation/templates/developmentWorkflowTemplate.js.map +1 -1
  85. package/dist/generators/documentation/templates/glossaryTemplate.d.ts.map +1 -1
  86. package/dist/generators/documentation/templates/glossaryTemplate.js.map +1 -1
  87. package/dist/generators/documentation/templates/index.d.ts +0 -12
  88. package/dist/generators/documentation/templates/index.d.ts.map +1 -1
  89. package/dist/generators/documentation/templates/index.js +1 -25
  90. package/dist/generators/documentation/templates/index.js.map +1 -1
  91. package/dist/generators/documentation/templates/migrationTemplate.d.ts.map +1 -1
  92. package/dist/generators/documentation/templates/migrationTemplate.js +11 -0
  93. package/dist/generators/documentation/templates/migrationTemplate.js.map +1 -1
  94. package/dist/generators/documentation/templates/onboardingTemplate.d.ts.map +1 -1
  95. package/dist/generators/documentation/templates/onboardingTemplate.js +11 -0
  96. package/dist/generators/documentation/templates/onboardingTemplate.js.map +1 -1
  97. package/dist/generators/documentation/templates/projectOverviewTemplate.d.ts.map +1 -1
  98. package/dist/generators/documentation/templates/projectOverviewTemplate.js +11 -0
  99. package/dist/generators/documentation/templates/projectOverviewTemplate.js.map +1 -1
  100. package/dist/generators/documentation/templates/securityTemplate.d.ts.map +1 -1
  101. package/dist/generators/documentation/templates/securityTemplate.js +11 -0
  102. package/dist/generators/documentation/templates/securityTemplate.js.map +1 -1
  103. package/dist/generators/documentation/templates/testingTemplate.d.ts.map +1 -1
  104. package/dist/generators/documentation/templates/testingTemplate.js +11 -0
  105. package/dist/generators/documentation/templates/testingTemplate.js.map +1 -1
  106. package/dist/generators/documentation/templates/toolingTemplate.d.ts.map +1 -1
  107. package/dist/generators/documentation/templates/toolingTemplate.js +11 -0
  108. package/dist/generators/documentation/templates/toolingTemplate.js.map +1 -1
  109. package/dist/generators/documentation/templates/troubleshootingTemplate.d.ts.map +1 -1
  110. package/dist/generators/documentation/templates/troubleshootingTemplate.js +11 -0
  111. package/dist/generators/documentation/templates/troubleshootingTemplate.js.map +1 -1
  112. package/dist/generators/plans/templates/planTemplate.d.ts +11 -0
  113. package/dist/generators/plans/templates/planTemplate.d.ts.map +1 -1
  114. package/dist/generators/plans/templates/planTemplate.js.map +1 -1
  115. package/dist/generators/shared/index.d.ts +1 -0
  116. package/dist/generators/shared/index.d.ts.map +1 -1
  117. package/dist/generators/shared/index.js +16 -0
  118. package/dist/generators/shared/index.js.map +1 -1
  119. package/dist/generators/shared/scaffoldStructures.d.ts +13 -0
  120. package/dist/generators/shared/scaffoldStructures.d.ts.map +1 -0
  121. package/dist/generators/shared/scaffoldStructures.js +30 -0
  122. package/dist/generators/shared/scaffoldStructures.js.map +1 -0
  123. package/dist/generators/shared/structures/agents/definitions.d.ts +18 -0
  124. package/dist/generators/shared/structures/agents/definitions.d.ts.map +1 -0
  125. package/dist/generators/shared/structures/agents/definitions.js +22 -0
  126. package/dist/generators/shared/structures/agents/definitions.js.map +1 -0
  127. package/dist/generators/shared/structures/agents/factory.d.ts +9 -0
  128. package/dist/generators/shared/structures/agents/factory.d.ts.map +1 -0
  129. package/dist/generators/shared/structures/agents/factory.js +112 -0
  130. package/dist/generators/shared/structures/agents/factory.js.map +1 -0
  131. package/dist/generators/shared/structures/agents/index.d.ts +6 -0
  132. package/dist/generators/shared/structures/agents/index.d.ts.map +1 -0
  133. package/dist/generators/shared/structures/agents/index.js +24 -0
  134. package/dist/generators/shared/structures/agents/index.js.map +1 -0
  135. package/dist/generators/shared/structures/documentation/apiReference.d.ts +3 -0
  136. package/dist/generators/shared/structures/documentation/apiReference.d.ts.map +1 -0
  137. package/dist/generators/shared/structures/documentation/apiReference.js +100 -0
  138. package/dist/generators/shared/structures/documentation/apiReference.js.map +1 -0
  139. package/dist/generators/shared/structures/documentation/architecture.d.ts +3 -0
  140. package/dist/generators/shared/structures/documentation/architecture.d.ts.map +1 -0
  141. package/dist/generators/shared/structures/documentation/architecture.js +121 -0
  142. package/dist/generators/shared/structures/documentation/architecture.js.map +1 -0
  143. package/dist/generators/shared/structures/documentation/dataFlow.d.ts +3 -0
  144. package/dist/generators/shared/structures/documentation/dataFlow.d.ts.map +1 -0
  145. package/dist/generators/shared/structures/documentation/dataFlow.js +72 -0
  146. package/dist/generators/shared/structures/documentation/dataFlow.js.map +1 -0
  147. package/dist/generators/shared/structures/documentation/glossary.d.ts +3 -0
  148. package/dist/generators/shared/structures/documentation/glossary.d.ts.map +1 -0
  149. package/dist/generators/shared/structures/documentation/glossary.js +71 -0
  150. package/dist/generators/shared/structures/documentation/glossary.js.map +1 -0
  151. package/dist/generators/shared/structures/documentation/index.d.ts +16 -0
  152. package/dist/generators/shared/structures/documentation/index.d.ts.map +1 -0
  153. package/dist/generators/shared/structures/documentation/index.js +31 -0
  154. package/dist/generators/shared/structures/documentation/index.js.map +1 -0
  155. package/dist/generators/shared/structures/documentation/migration.d.ts +3 -0
  156. package/dist/generators/shared/structures/documentation/migration.d.ts.map +1 -0
  157. package/dist/generators/shared/structures/documentation/migration.js +113 -0
  158. package/dist/generators/shared/structures/documentation/migration.js.map +1 -0
  159. package/dist/generators/shared/structures/documentation/onboarding.d.ts +3 -0
  160. package/dist/generators/shared/structures/documentation/onboarding.d.ts.map +1 -0
  161. package/dist/generators/shared/structures/documentation/onboarding.js +99 -0
  162. package/dist/generators/shared/structures/documentation/onboarding.js.map +1 -0
  163. package/dist/generators/shared/structures/documentation/projectOverview.d.ts +3 -0
  164. package/dist/generators/shared/structures/documentation/projectOverview.d.ts.map +1 -0
  165. package/dist/generators/shared/structures/documentation/projectOverview.js +115 -0
  166. package/dist/generators/shared/structures/documentation/projectOverview.js.map +1 -0
  167. package/dist/generators/shared/structures/documentation/security.d.ts +3 -0
  168. package/dist/generators/shared/structures/documentation/security.d.ts.map +1 -0
  169. package/dist/generators/shared/structures/documentation/security.js +55 -0
  170. package/dist/generators/shared/structures/documentation/security.js.map +1 -0
  171. package/dist/generators/shared/structures/documentation/testing.d.ts +3 -0
  172. package/dist/generators/shared/structures/documentation/testing.d.ts.map +1 -0
  173. package/dist/generators/shared/structures/documentation/testing.js +57 -0
  174. package/dist/generators/shared/structures/documentation/testing.js.map +1 -0
  175. package/dist/generators/shared/structures/documentation/tooling.d.ts +3 -0
  176. package/dist/generators/shared/structures/documentation/tooling.d.ts.map +1 -0
  177. package/dist/generators/shared/structures/documentation/tooling.js +55 -0
  178. package/dist/generators/shared/structures/documentation/tooling.js.map +1 -0
  179. package/dist/generators/shared/structures/documentation/troubleshooting.d.ts +3 -0
  180. package/dist/generators/shared/structures/documentation/troubleshooting.d.ts.map +1 -0
  181. package/dist/generators/shared/structures/documentation/troubleshooting.js +91 -0
  182. package/dist/generators/shared/structures/documentation/troubleshooting.js.map +1 -0
  183. package/dist/generators/shared/structures/documentation/workflow.d.ts +3 -0
  184. package/dist/generators/shared/structures/documentation/workflow.d.ts.map +1 -0
  185. package/dist/generators/shared/structures/documentation/workflow.js +56 -0
  186. package/dist/generators/shared/structures/documentation/workflow.js.map +1 -0
  187. package/dist/generators/shared/structures/index.d.ts +15 -0
  188. package/dist/generators/shared/structures/index.d.ts.map +1 -0
  189. package/dist/generators/shared/structures/index.js +37 -0
  190. package/dist/generators/shared/structures/index.js.map +1 -0
  191. package/dist/generators/shared/structures/plans/index.d.ts +5 -0
  192. package/dist/generators/shared/structures/plans/index.d.ts.map +1 -0
  193. package/dist/generators/shared/structures/plans/index.js +9 -0
  194. package/dist/generators/shared/structures/plans/index.js.map +1 -0
  195. package/dist/generators/shared/structures/plans/planStructure.d.ts +6 -0
  196. package/dist/generators/shared/structures/plans/planStructure.d.ts.map +1 -0
  197. package/dist/generators/shared/structures/plans/planStructure.js +65 -0
  198. package/dist/generators/shared/structures/plans/planStructure.js.map +1 -0
  199. package/dist/generators/shared/structures/registry.d.ts +18 -0
  200. package/dist/generators/shared/structures/registry.d.ts.map +1 -0
  201. package/dist/generators/shared/structures/registry.js +104 -0
  202. package/dist/generators/shared/structures/registry.js.map +1 -0
  203. package/dist/generators/shared/structures/serialization.d.ts +15 -0
  204. package/dist/generators/shared/structures/serialization.d.ts.map +1 -0
  205. package/dist/generators/shared/structures/serialization.js +119 -0
  206. package/dist/generators/shared/structures/serialization.js.map +1 -0
  207. package/dist/generators/shared/structures/skills/definitions.d.ts +14 -0
  208. package/dist/generators/shared/structures/skills/definitions.d.ts.map +1 -0
  209. package/dist/generators/shared/structures/skills/definitions.js +18 -0
  210. package/dist/generators/shared/structures/skills/definitions.js.map +1 -0
  211. package/dist/generators/shared/structures/skills/factory.d.ts +9 -0
  212. package/dist/generators/shared/structures/skills/factory.d.ts.map +1 -0
  213. package/dist/generators/shared/structures/skills/factory.js +56 -0
  214. package/dist/generators/shared/structures/skills/factory.js.map +1 -0
  215. package/dist/generators/shared/structures/skills/index.d.ts +6 -0
  216. package/dist/generators/shared/structures/skills/index.d.ts.map +1 -0
  217. package/dist/generators/shared/structures/skills/index.js +20 -0
  218. package/dist/generators/shared/structures/skills/index.js.map +1 -0
  219. package/dist/generators/shared/structures/types.d.ts +59 -0
  220. package/dist/generators/shared/structures/types.d.ts.map +1 -0
  221. package/dist/generators/shared/structures/types.js +6 -0
  222. package/dist/generators/shared/structures/types.js.map +1 -0
  223. package/dist/generators/shared/structures/validation.d.ts +13 -0
  224. package/dist/generators/shared/structures/validation.d.ts.map +1 -0
  225. package/dist/generators/shared/structures/validation.js +51 -0
  226. package/dist/generators/shared/structures/validation.js.map +1 -0
  227. package/dist/generators/skills/skillGenerator.d.ts +5 -0
  228. package/dist/generators/skills/skillGenerator.d.ts.map +1 -1
  229. package/dist/generators/skills/skillGenerator.js +26 -17
  230. package/dist/generators/skills/skillGenerator.js.map +1 -1
  231. package/dist/generators/skills/templates/skillTemplate.d.ts +10 -0
  232. package/dist/generators/skills/templates/skillTemplate.d.ts.map +1 -1
  233. package/dist/generators/skills/templates/skillTemplate.js +10 -0
  234. package/dist/generators/skills/templates/skillTemplate.js.map +1 -1
  235. package/dist/index.d.ts.map +1 -1
  236. package/dist/index.js +203 -5
  237. package/dist/index.js.map +1 -1
  238. package/dist/prompts/defaults.d.ts +5 -0
  239. package/dist/prompts/defaults.d.ts.map +1 -1
  240. package/dist/prompts/defaults.js +44 -1
  241. package/dist/prompts/defaults.js.map +1 -1
  242. package/dist/services/ai/agents/documentationAgent.d.ts +2 -0
  243. package/dist/services/ai/agents/documentationAgent.d.ts.map +1 -1
  244. package/dist/services/ai/agents/documentationAgent.js +33 -9
  245. package/dist/services/ai/agents/documentationAgent.js.map +1 -1
  246. package/dist/services/ai/agents/playbookAgent.d.ts +2 -0
  247. package/dist/services/ai/agents/playbookAgent.d.ts.map +1 -1
  248. package/dist/services/ai/agents/playbookAgent.js +44 -19
  249. package/dist/services/ai/agents/playbookAgent.js.map +1 -1
  250. package/dist/services/ai/agents/skillAgent.d.ts +2 -0
  251. package/dist/services/ai/agents/skillAgent.d.ts.map +1 -1
  252. package/dist/services/ai/agents/skillAgent.js +54 -22
  253. package/dist/services/ai/agents/skillAgent.js.map +1 -1
  254. package/dist/services/ai/schemas.d.ts +138 -9
  255. package/dist/services/ai/schemas.d.ts.map +1 -1
  256. package/dist/services/ai/schemas.js +70 -5
  257. package/dist/services/ai/schemas.js.map +1 -1
  258. package/dist/services/ai/toolRegistry.d.ts.map +1 -1
  259. package/dist/services/ai/toolRegistry.js +25 -17
  260. package/dist/services/ai/toolRegistry.js.map +1 -1
  261. package/dist/services/ai/tools/checkScaffoldingTool.d.ts.map +1 -1
  262. package/dist/services/ai/tools/checkScaffoldingTool.js +4 -1
  263. package/dist/services/ai/tools/checkScaffoldingTool.js.map +1 -1
  264. package/dist/services/ai/tools/fillScaffoldingTool.d.ts +24 -9
  265. package/dist/services/ai/tools/fillScaffoldingTool.d.ts.map +1 -1
  266. package/dist/services/ai/tools/fillScaffoldingTool.js +46 -130
  267. package/dist/services/ai/tools/fillScaffoldingTool.js.map +1 -1
  268. package/dist/services/ai/tools/getCodebaseMapTool.d.ts +1 -1
  269. package/dist/services/ai/tools/getCodebaseMapTool.d.ts.map +1 -1
  270. package/dist/services/ai/tools/getCodebaseMapTool.js +4 -1
  271. package/dist/services/ai/tools/getCodebaseMapTool.js.map +1 -1
  272. package/dist/services/ai/tools/index.d.ts +1 -1
  273. package/dist/services/ai/tools/index.d.ts.map +1 -1
  274. package/dist/services/ai/tools/index.js +3 -1
  275. package/dist/services/ai/tools/index.js.map +1 -1
  276. package/dist/services/ai/tools/initializeContextTool.d.ts +109 -7
  277. package/dist/services/ai/tools/initializeContextTool.d.ts.map +1 -1
  278. package/dist/services/ai/tools/initializeContextTool.js +282 -17
  279. package/dist/services/ai/tools/initializeContextTool.js.map +1 -1
  280. package/dist/services/ai/tools/scaffoldPlanTool.d.ts +17 -1
  281. package/dist/services/ai/tools/scaffoldPlanTool.d.ts.map +1 -1
  282. package/dist/services/ai/tools/scaffoldPlanTool.js +94 -5
  283. package/dist/services/ai/tools/scaffoldPlanTool.js.map +1 -1
  284. package/dist/services/ai/tools/toolFactory.d.ts +35 -0
  285. package/dist/services/ai/tools/toolFactory.d.ts.map +1 -0
  286. package/dist/services/ai/tools/toolFactory.js +20 -0
  287. package/dist/services/ai/tools/toolFactory.js.map +1 -0
  288. package/dist/services/export/contextExportService.d.ts +45 -0
  289. package/dist/services/export/contextExportService.d.ts.map +1 -0
  290. package/dist/services/export/contextExportService.js +161 -0
  291. package/dist/services/export/contextExportService.js.map +1 -0
  292. package/dist/services/export/exportRulesService.d.ts +15 -1
  293. package/dist/services/export/exportRulesService.d.ts.map +1 -1
  294. package/dist/services/export/exportRulesService.js +100 -36
  295. package/dist/services/export/exportRulesService.js.map +1 -1
  296. package/dist/services/export/index.d.ts +2 -0
  297. package/dist/services/export/index.d.ts.map +1 -1
  298. package/dist/services/export/index.js +3 -1
  299. package/dist/services/export/index.js.map +1 -1
  300. package/dist/services/export/skillExportService.d.ts +6 -1
  301. package/dist/services/export/skillExportService.d.ts.map +1 -1
  302. package/dist/services/export/skillExportService.js +46 -22
  303. package/dist/services/export/skillExportService.js.map +1 -1
  304. package/dist/services/fill/fillService.d.ts.map +1 -1
  305. package/dist/services/fill/fillService.js +30 -3
  306. package/dist/services/fill/fillService.js.map +1 -1
  307. package/dist/services/fill/skillFillService.d.ts.map +1 -1
  308. package/dist/services/fill/skillFillService.js +8 -1
  309. package/dist/services/fill/skillFillService.js.map +1 -1
  310. package/dist/services/import/presets.d.ts +12 -0
  311. package/dist/services/import/presets.d.ts.map +1 -1
  312. package/dist/services/import/presets.js +32 -152
  313. package/dist/services/import/presets.js.map +1 -1
  314. package/dist/services/init/initService.d.ts +1 -0
  315. package/dist/services/init/initService.d.ts.map +1 -1
  316. package/dist/services/init/initService.js +42 -9
  317. package/dist/services/init/initService.js.map +1 -1
  318. package/dist/services/mcp/actionLogger.d.ts +19 -0
  319. package/dist/services/mcp/actionLogger.d.ts.map +1 -0
  320. package/dist/services/mcp/actionLogger.js +128 -0
  321. package/dist/services/mcp/actionLogger.js.map +1 -0
  322. package/dist/services/mcp/gateway/agent.d.ts +17 -0
  323. package/dist/services/mcp/gateway/agent.d.ts.map +1 -0
  324. package/dist/services/mcp/gateway/agent.js +147 -0
  325. package/dist/services/mcp/gateway/agent.js.map +1 -0
  326. package/dist/services/mcp/gateway/context.d.ts +21 -0
  327. package/dist/services/mcp/gateway/context.d.ts.map +1 -0
  328. package/dist/services/mcp/gateway/context.js +249 -0
  329. package/dist/services/mcp/gateway/context.js.map +1 -0
  330. package/dist/services/mcp/gateway/explore.d.ts +16 -0
  331. package/dist/services/mcp/gateway/explore.d.ts.map +1 -0
  332. package/dist/services/mcp/gateway/explore.js +60 -0
  333. package/dist/services/mcp/gateway/explore.js.map +1 -0
  334. package/dist/services/mcp/gateway/index.d.ts +24 -0
  335. package/dist/services/mcp/gateway/index.d.ts.map +1 -0
  336. package/dist/services/mcp/gateway/index.js +53 -0
  337. package/dist/services/mcp/gateway/index.js.map +1 -0
  338. package/dist/services/mcp/gateway/metrics.d.ts +56 -0
  339. package/dist/services/mcp/gateway/metrics.d.ts.map +1 -0
  340. package/dist/services/mcp/gateway/metrics.js +153 -0
  341. package/dist/services/mcp/gateway/metrics.js.map +1 -0
  342. package/dist/services/mcp/gateway/plan.d.ts +18 -0
  343. package/dist/services/mcp/gateway/plan.d.ts.map +1 -0
  344. package/dist/services/mcp/gateway/plan.js +273 -0
  345. package/dist/services/mcp/gateway/plan.js.map +1 -0
  346. package/dist/services/mcp/gateway/project.d.ts +16 -0
  347. package/dist/services/mcp/gateway/project.d.ts.map +1 -0
  348. package/dist/services/mcp/gateway/project.js +149 -0
  349. package/dist/services/mcp/gateway/project.js.map +1 -0
  350. package/dist/services/mcp/gateway/projectReport.d.ts +20 -0
  351. package/dist/services/mcp/gateway/projectReport.d.ts.map +1 -0
  352. package/dist/services/mcp/gateway/projectReport.js +61 -0
  353. package/dist/services/mcp/gateway/projectReport.js.map +1 -0
  354. package/dist/services/mcp/gateway/projectSetup.d.ts +29 -0
  355. package/dist/services/mcp/gateway/projectSetup.d.ts.map +1 -0
  356. package/dist/services/mcp/gateway/projectSetup.js +141 -0
  357. package/dist/services/mcp/gateway/projectSetup.js.map +1 -0
  358. package/dist/services/mcp/gateway/response.d.ts +45 -0
  359. package/dist/services/mcp/gateway/response.d.ts.map +1 -0
  360. package/dist/services/mcp/gateway/response.js +111 -0
  361. package/dist/services/mcp/gateway/response.js.map +1 -0
  362. package/dist/services/mcp/gateway/shared.d.ts +38 -0
  363. package/dist/services/mcp/gateway/shared.d.ts.map +1 -0
  364. package/dist/services/mcp/gateway/shared.js +39 -0
  365. package/dist/services/mcp/gateway/shared.js.map +1 -0
  366. package/dist/services/mcp/gateway/skill.d.ts +17 -0
  367. package/dist/services/mcp/gateway/skill.d.ts.map +1 -0
  368. package/dist/services/mcp/gateway/skill.js +323 -0
  369. package/dist/services/mcp/gateway/skill.js.map +1 -0
  370. package/dist/services/mcp/gateway/sync.d.ts +17 -0
  371. package/dist/services/mcp/gateway/sync.d.ts.map +1 -0
  372. package/dist/services/mcp/gateway/sync.js +219 -0
  373. package/dist/services/mcp/gateway/sync.js.map +1 -0
  374. package/dist/services/mcp/gateway/types.d.ts +116 -0
  375. package/dist/services/mcp/gateway/types.d.ts.map +1 -0
  376. package/dist/services/mcp/gateway/types.js +12 -0
  377. package/dist/services/mcp/gateway/types.js.map +1 -0
  378. package/dist/services/mcp/gateway/workflow.d.ts +18 -0
  379. package/dist/services/mcp/gateway/workflow.d.ts.map +1 -0
  380. package/dist/services/mcp/gateway/workflow.js +317 -0
  381. package/dist/services/mcp/gateway/workflow.js.map +1 -0
  382. package/dist/services/mcp/gateway/workflowAdvance.d.ts +25 -0
  383. package/dist/services/mcp/gateway/workflowAdvance.d.ts.map +1 -0
  384. package/dist/services/mcp/gateway/workflowAdvance.js +133 -0
  385. package/dist/services/mcp/gateway/workflowAdvance.js.map +1 -0
  386. package/dist/services/mcp/gateway/workflowInit.d.ts +28 -0
  387. package/dist/services/mcp/gateway/workflowInit.d.ts.map +1 -0
  388. package/dist/services/mcp/gateway/workflowInit.js +213 -0
  389. package/dist/services/mcp/gateway/workflowInit.js.map +1 -0
  390. package/dist/services/mcp/gateway/workflowManage.d.ts +31 -0
  391. package/dist/services/mcp/gateway/workflowManage.d.ts.map +1 -0
  392. package/dist/services/mcp/gateway/workflowManage.js +222 -0
  393. package/dist/services/mcp/gateway/workflowManage.js.map +1 -0
  394. package/dist/services/mcp/gateway/workflowStatus.d.ts +17 -0
  395. package/dist/services/mcp/gateway/workflowStatus.d.ts.map +1 -0
  396. package/dist/services/mcp/gateway/workflowStatus.js +91 -0
  397. package/dist/services/mcp/gateway/workflowStatus.js.map +1 -0
  398. package/dist/services/mcp/gatewayTools.d.ts +15 -0
  399. package/dist/services/mcp/gatewayTools.d.ts.map +1 -0
  400. package/dist/services/mcp/gatewayTools.js +38 -0
  401. package/dist/services/mcp/gatewayTools.js.map +1 -0
  402. package/dist/services/mcp/index.d.ts +7 -0
  403. package/dist/services/mcp/index.d.ts.map +1 -1
  404. package/dist/services/mcp/index.js +22 -1
  405. package/dist/services/mcp/index.js.map +1 -1
  406. package/dist/services/mcp/mcpInstallService.d.ts +56 -0
  407. package/dist/services/mcp/mcpInstallService.d.ts.map +1 -0
  408. package/dist/services/mcp/mcpInstallService.js +549 -0
  409. package/dist/services/mcp/mcpInstallService.js.map +1 -0
  410. package/dist/services/mcp/mcpServer.d.ts +45 -19
  411. package/dist/services/mcp/mcpServer.d.ts.map +1 -1
  412. package/dist/services/mcp/mcpServer.js +637 -1696
  413. package/dist/services/mcp/mcpServer.js.map +1 -1
  414. package/dist/services/passthrough/protocol.d.ts +4 -4
  415. package/dist/services/qa/index.d.ts +9 -0
  416. package/dist/services/qa/index.d.ts.map +1 -0
  417. package/dist/services/qa/index.js +15 -0
  418. package/dist/services/qa/index.js.map +1 -0
  419. package/dist/services/qa/patternInferer.d.ts +41 -0
  420. package/dist/services/qa/patternInferer.d.ts.map +1 -0
  421. package/dist/services/qa/patternInferer.js +366 -0
  422. package/dist/services/qa/patternInferer.js.map +1 -0
  423. package/dist/services/qa/qaService.d.ts +107 -0
  424. package/dist/services/qa/qaService.d.ts.map +1 -0
  425. package/dist/services/qa/qaService.js +874 -0
  426. package/dist/services/qa/qaService.js.map +1 -0
  427. package/dist/services/qa/topicDetector.d.ts +54 -0
  428. package/dist/services/qa/topicDetector.d.ts.map +1 -0
  429. package/dist/services/qa/topicDetector.js +306 -0
  430. package/dist/services/qa/topicDetector.js.map +1 -0
  431. package/dist/services/quickSync/quickSyncService.d.ts.map +1 -1
  432. package/dist/services/quickSync/quickSyncService.js +6 -10
  433. package/dist/services/quickSync/quickSyncService.js.map +1 -1
  434. package/dist/services/reverseSync/importSkillsService.d.ts +47 -0
  435. package/dist/services/reverseSync/importSkillsService.d.ts.map +1 -0
  436. package/dist/services/reverseSync/importSkillsService.js +362 -0
  437. package/dist/services/reverseSync/importSkillsService.js.map +1 -0
  438. package/dist/services/reverseSync/index.d.ts +12 -0
  439. package/dist/services/reverseSync/index.d.ts.map +1 -0
  440. package/dist/services/reverseSync/index.js +49 -0
  441. package/dist/services/reverseSync/index.js.map +1 -0
  442. package/dist/services/reverseSync/presets.d.ts +51 -0
  443. package/dist/services/reverseSync/presets.d.ts.map +1 -0
  444. package/dist/services/reverseSync/presets.js +77 -0
  445. package/dist/services/reverseSync/presets.js.map +1 -0
  446. package/dist/services/reverseSync/reverseQuickSyncService.d.ts +37 -0
  447. package/dist/services/reverseSync/reverseQuickSyncService.d.ts.map +1 -0
  448. package/dist/services/reverseSync/reverseQuickSyncService.js +265 -0
  449. package/dist/services/reverseSync/reverseQuickSyncService.js.map +1 -0
  450. package/dist/services/reverseSync/skillsDetector.d.ts +36 -0
  451. package/dist/services/reverseSync/skillsDetector.d.ts.map +1 -0
  452. package/dist/services/reverseSync/skillsDetector.js +287 -0
  453. package/dist/services/reverseSync/skillsDetector.js.map +1 -0
  454. package/dist/services/reverseSync/toolDetector.d.ts +36 -0
  455. package/dist/services/reverseSync/toolDetector.d.ts.map +1 -0
  456. package/dist/services/reverseSync/toolDetector.js +174 -0
  457. package/dist/services/reverseSync/toolDetector.js.map +1 -0
  458. package/dist/services/reverseSync/types.d.ts +203 -0
  459. package/dist/services/reverseSync/types.d.ts.map +1 -0
  460. package/dist/services/reverseSync/types.js +9 -0
  461. package/dist/services/reverseSync/types.js.map +1 -0
  462. package/dist/services/semantic/codebaseAnalyzer.d.ts +23 -1
  463. package/dist/services/semantic/codebaseAnalyzer.d.ts.map +1 -1
  464. package/dist/services/semantic/codebaseAnalyzer.js +531 -0
  465. package/dist/services/semantic/codebaseAnalyzer.js.map +1 -1
  466. package/dist/services/semantic/contextBuilder.d.ts.map +1 -1
  467. package/dist/services/semantic/contextBuilder.js +23 -8
  468. package/dist/services/semantic/contextBuilder.js.map +1 -1
  469. package/dist/services/semantic/types.d.ts +50 -0
  470. package/dist/services/semantic/types.d.ts.map +1 -1
  471. package/dist/services/semantic/types.js.map +1 -1
  472. package/dist/services/shared/contentTypeRegistry.d.ts +66 -0
  473. package/dist/services/shared/contentTypeRegistry.d.ts.map +1 -0
  474. package/dist/services/shared/contentTypeRegistry.js +113 -0
  475. package/dist/services/shared/contentTypeRegistry.js.map +1 -0
  476. package/dist/services/shared/contextRootResolver.d.ts +57 -0
  477. package/dist/services/shared/contextRootResolver.d.ts.map +1 -0
  478. package/dist/services/shared/contextRootResolver.js +102 -0
  479. package/dist/services/shared/contextRootResolver.js.map +1 -0
  480. package/dist/services/shared/index.d.ts +4 -1
  481. package/dist/services/shared/index.d.ts.map +1 -1
  482. package/dist/services/shared/index.js +39 -1
  483. package/dist/services/shared/index.js.map +1 -1
  484. package/dist/services/shared/pathHelpers.d.ts +15 -1
  485. package/dist/services/shared/pathHelpers.d.ts.map +1 -1
  486. package/dist/services/shared/pathHelpers.js +26 -1
  487. package/dist/services/shared/pathHelpers.js.map +1 -1
  488. package/dist/services/shared/toolRegistry.d.ts +135 -0
  489. package/dist/services/shared/toolRegistry.d.ts.map +1 -0
  490. package/dist/services/shared/toolRegistry.js +515 -0
  491. package/dist/services/shared/toolRegistry.js.map +1 -0
  492. package/dist/services/stack/scaffoldFilter.d.ts +1 -1
  493. package/dist/services/sync/presets.d.ts +3 -0
  494. package/dist/services/sync/presets.d.ts.map +1 -1
  495. package/dist/services/sync/presets.js +20 -32
  496. package/dist/services/sync/presets.js.map +1 -1
  497. package/dist/services/sync/syncService.d.ts +8 -0
  498. package/dist/services/sync/syncService.d.ts.map +1 -1
  499. package/dist/services/sync/syncService.js +21 -2
  500. package/dist/services/sync/syncService.js.map +1 -1
  501. package/dist/services/sync/types.d.ts +1 -1
  502. package/dist/services/sync/types.d.ts.map +1 -1
  503. package/dist/services/tools/index.d.ts +95 -0
  504. package/dist/services/tools/index.d.ts.map +1 -0
  505. package/dist/services/tools/index.js +236 -0
  506. package/dist/services/tools/index.js.map +1 -0
  507. package/dist/services/workflow/workflowService.d.ts +57 -4
  508. package/dist/services/workflow/workflowService.d.ts.map +1 -1
  509. package/dist/services/workflow/workflowService.js +79 -6
  510. package/dist/services/workflow/workflowService.js.map +1 -1
  511. package/dist/types/scaffoldFrontmatter.d.ts +145 -0
  512. package/dist/types/scaffoldFrontmatter.d.ts.map +1 -0
  513. package/dist/types/scaffoldFrontmatter.js +172 -0
  514. package/dist/types/scaffoldFrontmatter.js.map +1 -0
  515. package/dist/utils/cliUI.d.ts +1 -1
  516. package/dist/utils/cliUI.d.ts.map +1 -1
  517. package/dist/utils/cliUI.js +4 -1
  518. package/dist/utils/cliUI.js.map +1 -1
  519. package/dist/utils/frontMatter.d.ts +48 -0
  520. package/dist/utils/frontMatter.d.ts.map +1 -1
  521. package/dist/utils/frontMatter.js +135 -0
  522. package/dist/utils/frontMatter.js.map +1 -1
  523. package/dist/utils/gitService.d.ts +26 -0
  524. package/dist/utils/gitService.d.ts.map +1 -1
  525. package/dist/utils/gitService.js +96 -0
  526. package/dist/utils/gitService.js.map +1 -1
  527. package/dist/utils/i18n.d.ts +43 -2
  528. package/dist/utils/i18n.d.ts.map +1 -1
  529. package/dist/utils/i18n.js +96 -6
  530. package/dist/utils/i18n.js.map +1 -1
  531. package/dist/utils/prompts/index.d.ts +4 -0
  532. package/dist/utils/prompts/index.d.ts.map +1 -1
  533. package/dist/utils/prompts/index.js +15 -0
  534. package/dist/utils/prompts/index.js.map +1 -1
  535. package/dist/workflow/errors.d.ts +48 -0
  536. package/dist/workflow/errors.d.ts.map +1 -0
  537. package/dist/workflow/errors.js +52 -0
  538. package/dist/workflow/errors.js.map +1 -0
  539. package/dist/workflow/gates/gateChecker.d.ts +93 -0
  540. package/dist/workflow/gates/gateChecker.d.ts.map +1 -0
  541. package/dist/workflow/gates/gateChecker.js +197 -0
  542. package/dist/workflow/gates/gateChecker.js.map +1 -0
  543. package/dist/workflow/gates/index.d.ts +7 -0
  544. package/dist/workflow/gates/index.d.ts.map +1 -0
  545. package/dist/workflow/gates/index.js +13 -0
  546. package/dist/workflow/gates/index.js.map +1 -0
  547. package/dist/workflow/index.d.ts +4 -2
  548. package/dist/workflow/index.d.ts.map +1 -1
  549. package/dist/workflow/index.js +14 -3
  550. package/dist/workflow/index.js.map +1 -1
  551. package/dist/workflow/orchestrator.d.ts +94 -5
  552. package/dist/workflow/orchestrator.d.ts.map +1 -1
  553. package/dist/workflow/orchestrator.js +300 -11
  554. package/dist/workflow/orchestrator.js.map +1 -1
  555. package/dist/workflow/plans/planLinker.d.ts +79 -3
  556. package/dist/workflow/plans/planLinker.d.ts.map +1 -1
  557. package/dist/workflow/plans/planLinker.js +522 -3
  558. package/dist/workflow/plans/planLinker.js.map +1 -1
  559. package/dist/workflow/plans/types.d.ts +64 -0
  560. package/dist/workflow/plans/types.d.ts.map +1 -1
  561. package/dist/workflow/roles.d.ts +6 -0
  562. package/dist/workflow/roles.d.ts.map +1 -1
  563. package/dist/workflow/roles.js +6 -0
  564. package/dist/workflow/roles.js.map +1 -1
  565. package/dist/workflow/scaling.d.ts +1 -0
  566. package/dist/workflow/scaling.d.ts.map +1 -1
  567. package/dist/workflow/scaling.js +8 -17
  568. package/dist/workflow/scaling.js.map +1 -1
  569. package/dist/workflow/status/statusManager.d.ts +54 -1
  570. package/dist/workflow/status/statusManager.d.ts.map +1 -1
  571. package/dist/workflow/status/statusManager.js +539 -9
  572. package/dist/workflow/status/statusManager.js.map +1 -1
  573. package/dist/workflow/status/templates.d.ts +14 -5
  574. package/dist/workflow/status/templates.d.ts.map +1 -1
  575. package/dist/workflow/status/templates.js +55 -41
  576. package/dist/workflow/status/templates.js.map +1 -1
  577. package/dist/workflow/types.d.ts +138 -2
  578. package/dist/workflow/types.d.ts.map +1 -1
  579. package/dist/workflow/types.js +0 -1
  580. package/dist/workflow/types.js.map +1 -1
  581. package/package.json +1 -1
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Type definitions for scaffold structures
3
+ */
4
+ import { ScaffoldFileType } from '../../../types/scaffoldFrontmatter';
5
+ /**
6
+ * Content type for a section
7
+ */
8
+ export type ScaffoldContentType = 'prose' | 'list' | 'code-block' | 'table' | 'checklist' | 'diagram';
9
+ /**
10
+ * Tone for document generation
11
+ */
12
+ export type ScaffoldTone = 'technical' | 'conversational' | 'formal' | 'instructional';
13
+ /**
14
+ * Target audience
15
+ */
16
+ export type ScaffoldAudience = 'developers' | 'ai-agents' | 'architects' | 'mixed';
17
+ /**
18
+ * A section within a scaffold structure
19
+ */
20
+ export interface ScaffoldSection {
21
+ /** Section heading (H2 or H3) */
22
+ heading: string;
23
+ /** Display order (1-based) */
24
+ order: number;
25
+ /** What type of content this section should contain */
26
+ contentType: ScaffoldContentType;
27
+ /** Instructions for AI on what to include */
28
+ guidance: string;
29
+ /** Optional example of expected content */
30
+ exampleContent?: string;
31
+ /** Whether this section is required */
32
+ required: boolean;
33
+ /** Heading level (2 = H2, 3 = H3) */
34
+ headingLevel?: 2 | 3;
35
+ }
36
+ /**
37
+ * Complete scaffold structure definition
38
+ */
39
+ export interface ScaffoldStructure {
40
+ /** File type */
41
+ fileType: ScaffoldFileType;
42
+ /** Document identifier (e.g., 'project-overview', 'code-reviewer') */
43
+ documentName: string;
44
+ /** Display title for the document */
45
+ title: string;
46
+ /** Brief description of document purpose */
47
+ description: string;
48
+ /** Writing tone */
49
+ tone: ScaffoldTone;
50
+ /** Target audience */
51
+ audience: ScaffoldAudience;
52
+ /** Ordered sections */
53
+ sections: ScaffoldSection[];
54
+ /** Related documents to cross-link */
55
+ linkTo?: string[];
56
+ /** Additional context for AI generation */
57
+ additionalContext?: string;
58
+ }
59
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/generators/shared/structures/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAEtE;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAC3B,OAAO,GACP,MAAM,GACN,YAAY,GACZ,OAAO,GACP,WAAW,GACX,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB,WAAW,GACX,gBAAgB,GAChB,QAAQ,GACR,eAAe,CAAC;AAEpB;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,OAAO,CAAC;AAEZ;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,WAAW,EAAE,mBAAmB,CAAC;IACjC,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uCAAuC;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,qCAAqC;IACrC,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,gBAAgB;IAChB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,sEAAsE;IACtE,YAAY,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB;IACnB,IAAI,EAAE,YAAY,CAAC;IACnB,sBAAsB;IACtB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,uBAAuB;IACvB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,2CAA2C;IAC3C,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Type definitions for scaffold structures
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/generators/shared/structures/types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Validation functions for scaffold structures
3
+ */
4
+ import { ScaffoldStructure } from './types';
5
+ /**
6
+ * Validate that a structure is well-formed
7
+ */
8
+ export declare function validateStructure(structure: ScaffoldStructure): string[];
9
+ /**
10
+ * Validate all structures in the registry
11
+ */
12
+ export declare function validateAllStructures(): Map<string, string[]>;
13
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../src/generators/shared/structures/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAG5C;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,GAAG,MAAM,EAAE,CA8BxE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAW7D"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ /**
3
+ * Validation functions for scaffold structures
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.validateStructure = validateStructure;
7
+ exports.validateAllStructures = validateAllStructures;
8
+ const registry_1 = require("./registry");
9
+ /**
10
+ * Validate that a structure is well-formed
11
+ */
12
+ function validateStructure(structure) {
13
+ const errors = [];
14
+ if (!structure.documentName) {
15
+ errors.push('Missing documentName');
16
+ }
17
+ if (!structure.title) {
18
+ errors.push('Missing title');
19
+ }
20
+ if (!structure.sections || structure.sections.length === 0) {
21
+ errors.push('No sections defined');
22
+ }
23
+ const orders = new Set();
24
+ for (const section of structure.sections) {
25
+ if (!section.heading) {
26
+ errors.push(`Section ${section.order} missing heading`);
27
+ }
28
+ if (!section.guidance) {
29
+ errors.push(`Section "${section.heading}" missing guidance`);
30
+ }
31
+ if (orders.has(section.order)) {
32
+ errors.push(`Duplicate order ${section.order}`);
33
+ }
34
+ orders.add(section.order);
35
+ }
36
+ return errors;
37
+ }
38
+ /**
39
+ * Validate all structures in the registry
40
+ */
41
+ function validateAllStructures() {
42
+ const results = new Map();
43
+ for (const [name, structure] of Object.entries(registry_1.SCAFFOLD_STRUCTURES)) {
44
+ const errors = validateStructure(structure);
45
+ if (errors.length > 0) {
46
+ results.set(name, errors);
47
+ }
48
+ }
49
+ return results;
50
+ }
51
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../src/generators/shared/structures/validation.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAQH,8CA8BC;AAKD,sDAWC;AAnDD,yCAAiD;AAEjD;;GAEG;AACH,SAAgB,iBAAiB,CAAC,SAA4B;IAC5D,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,KAAK,kBAAkB,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,OAAO,oBAAoB,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,mBAAmB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB;IACnC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE5C,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,8BAAmB,CAAC,EAAE,CAAC;QACpE,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -2,6 +2,7 @@
2
2
  * Skill Generator
3
3
  *
4
4
  * Scaffolds skill directories and SKILL.md files.
5
+ * Generates frontmatter-only files (scaffold v2) for AI to fill.
5
6
  */
6
7
  import { PrevcPhase } from '../../workflow/types';
7
8
  export interface SkillGeneratorOptions {
@@ -32,6 +33,10 @@ export declare class SkillGenerator {
32
33
  skills?: string[];
33
34
  force?: boolean;
34
35
  }): Promise<SkillGeneratorResult>;
36
+ /**
37
+ * Format skill name as display title
38
+ */
39
+ private formatSkillTitle;
35
40
  /**
36
41
  * Generate a single custom skill
37
42
  */
@@ -1 +1 @@
1
- {"version":3,"file":"skillGenerator.d.ts","sourceRoot":"","sources":["../../../src/generators/skills/skillGenerator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,WAAW,qBAAqB;IACpC,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,qCAAqC;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,OAAO,EAAE,qBAAqB;IAM1C;;OAEG;IACG,QAAQ,CAAC,OAAO,GAAE;QACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,KAAK,CAAC,EAAE,OAAO,CAAC;KACZ,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA6DtC;;OAEG;IACG,mBAAmB,CAAC,OAAO,EAAE;QACjC,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;QACtB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,GAAG,OAAO,CAAC,MAAM,CAAC;IA6BnB;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;CAevC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,cAAc,CAEnF"}
1
+ {"version":3,"file":"skillGenerator.d.ts","sourceRoot":"","sources":["../../../src/generators/skills/skillGenerator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAMlD,MAAM,WAAW,qBAAqB;IACpC,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,qCAAqC;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,OAAO,EAAE,qBAAqB;IAM1C;;OAEG;IACG,QAAQ,CAAC,OAAO,GAAE;QACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,KAAK,CAAC,EAAE,OAAO,CAAC;KACZ,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAgEtC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;OAEG;IACG,mBAAmB,CAAC,OAAO,EAAE;QACjC,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;QACtB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,GAAG,OAAO,CAAC,MAAM,CAAC;IA+BnB;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;CAevC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,cAAc,CAEnF"}
@@ -3,6 +3,7 @@
3
3
  * Skill Generator
4
4
  *
5
5
  * Scaffolds skill directories and SKILL.md files.
6
+ * Generates frontmatter-only files (scaffold v2) for AI to fill.
6
7
  */
7
8
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
9
  if (k2 === undefined) k2 = k;
@@ -45,6 +46,7 @@ const path = __importStar(require("path"));
45
46
  const skills_1 = require("../../workflow/skills");
46
47
  const skillTemplate_1 = require("./templates/skillTemplate");
47
48
  const indexTemplate_1 = require("./templates/indexTemplate");
49
+ const scaffoldFrontmatter_1 = require("../../types/scaffoldFrontmatter");
48
50
  class SkillGenerator {
49
51
  constructor(options) {
50
52
  this.repoPath = options.repoPath;
@@ -71,22 +73,23 @@ class SkillGenerator {
71
73
  }
72
74
  // Create skill directory
73
75
  fs.mkdirSync(skillDir, { recursive: true });
74
- // Generate SKILL.md content
75
- let content;
76
+ // Generate frontmatter-only content (scaffold v2)
77
+ let description;
78
+ let phases;
76
79
  if ((0, skills_1.isBuiltInSkill)(skillName)) {
77
- // Use built-in template
80
+ // Use built-in template description
78
81
  const template = templates[skillName];
79
- const phases = skills_1.SKILL_TO_PHASES[skillName];
80
- content = (0, skills_1.wrapWithFrontmatter)({ name: skillName, description: template.description, phases }, template.content);
82
+ description = template.description;
83
+ phases = skills_1.SKILL_TO_PHASES[skillName];
81
84
  }
82
85
  else {
83
- // Generate empty template for custom skill
84
- content = (0, skillTemplate_1.generateSkillContent)({
85
- name: skillName,
86
- description: `TODO: Describe when to use ${skillName}`,
87
- phases: (0, skillTemplate_1.getDefaultPhases)(skillName),
88
- });
86
+ // Default description for custom skill
87
+ description = `On-demand expertise for ${skillName}`;
88
+ phases = (0, skillTemplate_1.getDefaultPhases)(skillName);
89
89
  }
90
+ // Create frontmatter-only content
91
+ const frontmatter = (0, scaffoldFrontmatter_1.createSkillFrontmatter)(this.formatSkillTitle(skillName), description, skillName, { phases });
92
+ const content = (0, scaffoldFrontmatter_1.serializeFrontmatter)(frontmatter) + '\n';
90
93
  // Write SKILL.md
91
94
  fs.writeFileSync(skillPath, content, 'utf-8');
92
95
  generatedSkills.push(skillName);
@@ -100,6 +103,15 @@ class SkillGenerator {
100
103
  indexPath,
101
104
  };
102
105
  }
106
+ /**
107
+ * Format skill name as display title
108
+ */
109
+ formatSkillTitle(skillName) {
110
+ return skillName
111
+ .split('-')
112
+ .map(word => word.charAt(0).toUpperCase() + word.slice(1))
113
+ .join(' ');
114
+ }
103
115
  /**
104
116
  * Generate a single custom skill
105
117
  */
@@ -112,12 +124,9 @@ class SkillGenerator {
112
124
  }
113
125
  // Create skill directory
114
126
  fs.mkdirSync(skillDir, { recursive: true });
115
- // Generate content
116
- const content = (0, skillTemplate_1.generateSkillContent)({
117
- name,
118
- description,
119
- phases,
120
- });
127
+ // Generate frontmatter-only content (scaffold v2)
128
+ const frontmatter = (0, scaffoldFrontmatter_1.createSkillFrontmatter)(this.formatSkillTitle(name), description, name, { phases });
129
+ const content = (0, scaffoldFrontmatter_1.serializeFrontmatter)(frontmatter) + '\n';
121
130
  // Write SKILL.md
122
131
  fs.writeFileSync(skillPath, content, 'utf-8');
123
132
  // Update index
@@ -1 +1 @@
1
- {"version":3,"file":"skillGenerator.js","sourceRoot":"","sources":["../../../src/generators/skills/skillGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skillGenerator.js","sourceRoot":"","sources":["../../../src/generators/skills/skillGenerator.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+LH,oDAEC;AA/LD,uCAAyB;AACzB,2CAA6B;AAC7B,kDAO+B;AAC/B,6DAA6D;AAC7D,6DAAgE;AAEhE,yEAGyC;AAoBzC,MAAa,cAAc;IAKzB,YAAY,OAA8B;QACxC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,UAAU,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,UAGX,EAAE;QACJ,MAAM,EAAE,MAAM,GAAG,CAAC,GAAG,wBAAe,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;QAEjE,0BAA0B;QAC1B,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAElD,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,MAAM,aAAa,GAAa,EAAE,CAAC;QAEnC,MAAM,SAAS,GAAG,IAAA,iCAAwB,GAAE,CAAC;QAE7C,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACtD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAElD,gCAAgC;YAChC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACvC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9B,SAAS;YACX,CAAC;YAED,yBAAyB;YACzB,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAE5C,kDAAkD;YAClD,IAAI,WAAmB,CAAC;YACxB,IAAI,MAAoB,CAAC;YAEzB,IAAI,IAAA,uBAAc,EAAC,SAAS,CAAC,EAAE,CAAC;gBAC9B,oCAAoC;gBACpC,MAAM,QAAQ,GAAG,SAAS,CAAC,SAA6B,CAAC,CAAC;gBAC1D,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;gBACnC,MAAM,GAAG,wBAAe,CAAC,SAA6B,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,uCAAuC;gBACvC,WAAW,GAAG,2BAA2B,SAAS,EAAE,CAAC;gBACrD,MAAM,GAAG,IAAA,gCAAgB,EAAC,SAAS,CAAC,CAAC;YACvC,CAAC;YAED,kCAAkC;YAClC,MAAM,WAAW,GAAG,IAAA,4CAAsB,EACxC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAChC,WAAW,EACX,SAAS,EACT,EAAE,MAAM,EAAE,CACX,CAAC;YACF,MAAM,OAAO,GAAG,IAAA,0CAAoB,EAAC,WAAW,CAAC,GAAG,IAAI,CAAC;YAEzD,iBAAiB;YACjB,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9C,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;QAED,wBAAwB;QACxB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE7C,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,eAAe;YACf,aAAa;YACb,SAAS;SACV,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,SAAiB;QACxC,OAAO,SAAS;aACb,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACzD,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CAAC,OAKzB;QACC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;QAErE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAElD,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,4CAA4C,CAAC,CAAC;QAC7E,CAAC;QAED,yBAAyB;QACzB,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5C,kDAAkD;QAClD,MAAM,WAAW,GAAG,IAAA,4CAAsB,EACxC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAC3B,WAAW,EACX,IAAI,EACJ,EAAE,MAAM,EAAE,CACX,CAAC;QACF,MAAM,OAAO,GAAG,IAAA,0CAAoB,EAAC,WAAW,CAAC,GAAG,IAAI,CAAC;QAEzD,iBAAiB;QACjB,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAE9C,eAAe;QACf,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE3B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa;QACjB,MAAM,QAAQ,GAAG,IAAA,4BAAmB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAEhD,MAAM,OAAO,GAAG,IAAA,mCAAmB,EAAC;YAClC,MAAM,EAAE,UAAU,CAAC,GAAG;YACtB,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC1C,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACzD,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAE9C,OAAO,SAAS,CAAC;IACnB,CAAC;CAEF;AApJD,wCAoJC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,OAA8B;IACjE,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC"}
@@ -1,5 +1,15 @@
1
1
  /**
2
2
  * SKILL.md Template
3
+ *
4
+ * REFERENCE ONLY - This file is not used by generators anymore.
5
+ *
6
+ * Scaffold structures are now defined in:
7
+ * src/generators/shared/scaffoldStructures.ts
8
+ *
9
+ * This file serves as historical reference for the structure/content
10
+ * that should be generated for this skill type.
11
+ *
12
+ * @deprecated Since v2.0.0 scaffold system
3
13
  */
4
14
  import { PrevcPhase } from '../../../workflow/types';
5
15
  export interface SkillTemplateOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"skillTemplate.d.ts","sourceRoot":"","sources":["../../../../src/generators/skills/templates/skillTemplate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAc1E;AA+DD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE,CAKhE"}
1
+ {"version":3,"file":"skillTemplate.d.ts","sourceRoot":"","sources":["../../../../src/generators/skills/templates/skillTemplate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAc1E;AA+DD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE,CAKhE"}
@@ -1,6 +1,16 @@
1
1
  "use strict";
2
2
  /**
3
3
  * SKILL.md Template
4
+ *
5
+ * REFERENCE ONLY - This file is not used by generators anymore.
6
+ *
7
+ * Scaffold structures are now defined in:
8
+ * src/generators/shared/scaffoldStructures.ts
9
+ *
10
+ * This file serves as historical reference for the structure/content
11
+ * that should be generated for this skill type.
12
+ *
13
+ * @deprecated Since v2.0.0 scaffold system
4
14
  */
5
15
  Object.defineProperty(exports, "__esModule", { value: true });
6
16
  exports.generateSkillContent = generateSkillContent;
@@ -1 +1 @@
1
- {"version":3,"file":"skillTemplate.js","sourceRoot":"","sources":["../../../../src/generators/skills/templates/skillTemplate.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAgBH,oDAcC;AAkED,4CAKC;AAnGD,qDAA4G;AAW5G;;GAEG;AACH,SAAgB,oBAAoB,CAAC,OAA6B;IAChE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC;IAE5E,MAAM,WAAW,GAAG,gBAAgB,CAAC;QACnC,IAAI;QACJ,WAAW;QACX,MAAM;QACN,IAAI;QACJ,sBAAsB;KACvB,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAE1C,OAAO,GAAG,WAAW,OAAO,IAAI,EAAE,CAAC;AACrC,CAAC;AAED,SAAS,gBAAgB,CAAC,OAA6B;IACrD,MAAM,KAAK,GAAa,CAAC,KAAK,CAAC,CAAC;IAEhC,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACpC,KAAK,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAElD,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,OAAO,CAAC,sBAAsB,KAAK,SAAS,EAAE,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,6BAA6B,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAElB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,WAAmB;IAClD,MAAM,KAAK,GAAG,IAAI;SACf,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,OAAO,KAAK,KAAK;;;;EAIjB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;CAyBZ,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,SAAiB;IAChD,IAAI,IAAA,uBAAc,EAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,wBAAe,CAAC,SAA6B,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,6BAA6B;AAC7C,CAAC"}
1
+ {"version":3,"file":"skillTemplate.js","sourceRoot":"","sources":["../../../../src/generators/skills/templates/skillTemplate.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;AAgBH,oDAcC;AAkED,4CAKC;AAnGD,qDAA4G;AAW5G;;GAEG;AACH,SAAgB,oBAAoB,CAAC,OAA6B;IAChE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC;IAE5E,MAAM,WAAW,GAAG,gBAAgB,CAAC;QACnC,IAAI;QACJ,WAAW;QACX,MAAM;QACN,IAAI;QACJ,sBAAsB;KACvB,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAE1C,OAAO,GAAG,WAAW,OAAO,IAAI,EAAE,CAAC;AACrC,CAAC;AAED,SAAS,gBAAgB,CAAC,OAA6B;IACrD,MAAM,KAAK,GAAa,CAAC,KAAK,CAAC,CAAC;IAEhC,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACpC,KAAK,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAElD,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,OAAO,CAAC,sBAAsB,KAAK,SAAS,EAAE,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,6BAA6B,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAElB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,WAAmB;IAClD,MAAM,KAAK,GAAG,IAAI;SACf,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,OAAO,KAAK,KAAK;;;;EAIjB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;CAyBZ,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,SAAiB;IAChD,IAAI,IAAA,uBAAc,EAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,wBAAe,CAAC,SAA6B,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,6BAA6B;AAC7C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAu4BA,wBAAsB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5F;AAED,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAW/E;AAED,wBAAsB,UAAU,CAAC,GAAG,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnE;AAED,wBAAsB,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAElE;AAED,wBAAsB,UAAU,CAAC,GAAG,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnE;AAED,wBAAsB,aAAa,CAAC,GAAG,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtE;AAED,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAg/BA,wBAAsB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5F;AAED,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAW/E;AAED,wBAAsB,UAAU,CAAC,GAAG,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnE;AAED,wBAAsB,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAElE;AAED,wBAAsB,UAAU,CAAC,GAAG,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnE;AAED,wBAAsB,aAAa,CAAC,GAAG,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtE;AAED,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjF"}
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();
@@ -1110,6 +1208,7 @@ async function runFullMenu(daysBehind) {
1110
1208
  const choices = [
1111
1209
  // Quick Actions (most used)
1112
1210
  { name: t('prompts.main.choice.quickSync'), value: 'quickSync' },
1211
+ { name: t('prompts.main.choice.reverseSync'), value: 'reverseSync' },
1113
1212
  { name: t('prompts.main.choice.startWorkflow'), value: 'workflow' },
1114
1213
  { name: t('prompts.main.choice.createPlan'), value: 'plan' },
1115
1214
  new inquirer_1.default.Separator(),
@@ -1142,6 +1241,9 @@ async function runFullMenu(daysBehind) {
1142
1241
  if (action === 'quickSync') {
1143
1242
  await runQuickSync();
1144
1243
  }
1244
+ else if (action === 'reverseSync') {
1245
+ await runReverseSync();
1246
+ }
1145
1247
  else if (action === 'scaffold') {
1146
1248
  await runInteractiveScaffold();
1147
1249
  }
@@ -1235,9 +1337,10 @@ async function runInteractiveScaffold() {
1235
1337
  if (scaffoldSkills) {
1236
1338
  try {
1237
1339
  const { createSkillGenerator } = await Promise.resolve().then(() => __importStar(require('./generators/skills')));
1340
+ const relativeOutputDir = path.relative(resolvedRepo, outputDir);
1238
1341
  const generator = createSkillGenerator({
1239
1342
  repoPath: resolvedRepo,
1240
- outputDir
1343
+ outputDir: relativeOutputDir || '.context'
1241
1344
  });
1242
1345
  // Display step for skills scaffolding
1243
1346
  const stepNumber = (scaffoldDocs || scaffoldAgents) ? 4 : 1;
@@ -1703,8 +1806,7 @@ async function createNewWorkflow(workflowService) {
1703
1806
  { name: t('prompts.workflow.scale.quick'), value: 'QUICK' },
1704
1807
  { name: t('prompts.workflow.scale.small'), value: 'SMALL' },
1705
1808
  { 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' }
1809
+ { name: t('prompts.workflow.scale.large'), value: 'LARGE' }
1708
1810
  ],
1709
1811
  default: ''
1710
1812
  }
@@ -2127,6 +2229,102 @@ async function runQuickSync() {
2127
2229
  }
2128
2230
  ui.displaySuccess(t('success.quickSync.complete'));
2129
2231
  }
2232
+ // ============================================================================
2233
+ // Reverse Quick Sync - Import from AI tool directories
2234
+ // ============================================================================
2235
+ async function runReverseSync() {
2236
+ const projectPath = process.cwd();
2237
+ // Create service
2238
+ const reverseSyncService = new reverseSync_1.ReverseQuickSyncService({
2239
+ ui,
2240
+ t,
2241
+ version: version_1.VERSION,
2242
+ });
2243
+ // Step 1: Detect available tools
2244
+ ui.startSpinner(t('prompts.reverseSync.detecting'));
2245
+ const detection = await reverseSyncService.detect(projectPath);
2246
+ ui.stopSpinner();
2247
+ if (detection.summary.totalFiles === 0) {
2248
+ ui.displayWarning(t('prompts.reverseSync.noFilesFound'));
2249
+ return;
2250
+ }
2251
+ // Display detection summary
2252
+ console.log('');
2253
+ console.log(t('prompts.reverseSync.detected'));
2254
+ console.log('');
2255
+ for (const tool of detection.tools) {
2256
+ if (tool.detected) {
2257
+ const parts = [];
2258
+ if (tool.counts.rules > 0)
2259
+ parts.push(`${tool.counts.rules} rules`);
2260
+ if (tool.counts.agents > 0)
2261
+ parts.push(`${tool.counts.agents} agents`);
2262
+ if (tool.counts.skills > 0)
2263
+ parts.push(`${tool.counts.skills} skills`);
2264
+ console.log(` ${theme_1.colors.success('✓')} ${theme_1.colors.primary(tool.displayName)} (${parts.join(', ')})`);
2265
+ }
2266
+ }
2267
+ console.log('');
2268
+ // Step 2: Select components to import
2269
+ const { components } = await inquirer_1.default.prompt([
2270
+ {
2271
+ type: 'checkbox',
2272
+ name: 'components',
2273
+ message: t('prompts.reverseSync.selectComponents'),
2274
+ choices: [
2275
+ {
2276
+ name: `Rules (${detection.summary.totalRules} files)`,
2277
+ value: 'rules',
2278
+ checked: detection.summary.totalRules > 0,
2279
+ disabled: detection.summary.totalRules === 0,
2280
+ },
2281
+ {
2282
+ name: `Agents (${detection.summary.totalAgents} files)`,
2283
+ value: 'agents',
2284
+ checked: detection.summary.totalAgents > 0,
2285
+ disabled: detection.summary.totalAgents === 0,
2286
+ },
2287
+ {
2288
+ name: `Skills (${detection.summary.totalSkills} files)`,
2289
+ value: 'skills',
2290
+ checked: detection.summary.totalSkills > 0,
2291
+ disabled: detection.summary.totalSkills === 0,
2292
+ },
2293
+ ],
2294
+ },
2295
+ ]);
2296
+ if (components.length === 0) {
2297
+ ui.displayWarning(t('prompts.reverseSync.noComponentsSelected'));
2298
+ return;
2299
+ }
2300
+ // Step 3: Select merge strategy
2301
+ const { mergeStrategy } = await inquirer_1.default.prompt([
2302
+ {
2303
+ type: 'list',
2304
+ name: 'mergeStrategy',
2305
+ message: t('prompts.reverseSync.mergeStrategy'),
2306
+ choices: [
2307
+ { name: t('prompts.reverseSync.strategy.skip'), value: 'skip' },
2308
+ { name: t('prompts.reverseSync.strategy.overwrite'), value: 'overwrite' },
2309
+ { name: t('prompts.reverseSync.strategy.merge'), value: 'merge' },
2310
+ { name: t('prompts.reverseSync.strategy.rename'), value: 'rename' },
2311
+ ],
2312
+ },
2313
+ ]);
2314
+ // Step 4: Run import
2315
+ const result = await reverseSyncService.run(projectPath, {
2316
+ skipRules: !components.includes('rules'),
2317
+ skipAgents: !components.includes('agents'),
2318
+ skipSkills: !components.includes('skills'),
2319
+ mergeStrategy,
2320
+ verbose: false,
2321
+ });
2322
+ // Display result
2323
+ const totalImported = result.rulesImported + result.agentsImported + result.skillsImported;
2324
+ if (totalImported > 0) {
2325
+ ui.displaySuccess(t('success.reverseSync.complete', { count: totalImported }));
2326
+ }
2327
+ }
2130
2328
  async function runManageAgents() {
2131
2329
  const projectPath = process.cwd();
2132
2330
  let continueMenu = true;