@agents-inc/cli 0.32.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 (497) hide show
  1. package/CHANGELOG.md +462 -0
  2. package/LICENSE +21 -0
  3. package/README.md +179 -0
  4. package/config/skills-matrix.yaml +926 -0
  5. package/config/stacks.yaml +2186 -0
  6. package/dist/chunk-3ZOIOVKT.js +365 -0
  7. package/dist/chunk-3ZOIOVKT.js.map +1 -0
  8. package/dist/chunk-4RAY5AOI.js +78 -0
  9. package/dist/chunk-4RAY5AOI.js.map +1 -0
  10. package/dist/chunk-5PIKNCZX.js +234 -0
  11. package/dist/chunk-5PIKNCZX.js.map +1 -0
  12. package/dist/chunk-66UDJBF6.js +96 -0
  13. package/dist/chunk-66UDJBF6.js.map +1 -0
  14. package/dist/chunk-7SOPVGDV.js +24 -0
  15. package/dist/chunk-7SOPVGDV.js.map +1 -0
  16. package/dist/chunk-A27LOC4Z.js +95 -0
  17. package/dist/chunk-A27LOC4Z.js.map +1 -0
  18. package/dist/chunk-B2UBHA66.js +301 -0
  19. package/dist/chunk-B2UBHA66.js.map +1 -0
  20. package/dist/chunk-BZN2Z5P7.js +882 -0
  21. package/dist/chunk-BZN2Z5P7.js.map +1 -0
  22. package/dist/chunk-BZQBJP34.js +186 -0
  23. package/dist/chunk-BZQBJP34.js.map +1 -0
  24. package/dist/chunk-DC5AK3LW.js +105 -0
  25. package/dist/chunk-DC5AK3LW.js.map +1 -0
  26. package/dist/chunk-DHET7RCE.js +50 -0
  27. package/dist/chunk-DHET7RCE.js.map +1 -0
  28. package/dist/chunk-EMJ2ZKS7.js +346 -0
  29. package/dist/chunk-EMJ2ZKS7.js.map +1 -0
  30. package/dist/chunk-FJQRVFMB.js +48 -0
  31. package/dist/chunk-FJQRVFMB.js.map +1 -0
  32. package/dist/chunk-FZGYSLJL.js +85 -0
  33. package/dist/chunk-FZGYSLJL.js.map +1 -0
  34. package/dist/chunk-H566H3MQ.js +87 -0
  35. package/dist/chunk-H566H3MQ.js.map +1 -0
  36. package/dist/chunk-IYG2LAIM.js +90 -0
  37. package/dist/chunk-IYG2LAIM.js.map +1 -0
  38. package/dist/chunk-IZZ4IIEG.js +29 -0
  39. package/dist/chunk-IZZ4IIEG.js.map +1 -0
  40. package/dist/chunk-JMVWYAHT.js +63 -0
  41. package/dist/chunk-JMVWYAHT.js.map +1 -0
  42. package/dist/chunk-LAPCUV4D.js +191 -0
  43. package/dist/chunk-LAPCUV4D.js.map +1 -0
  44. package/dist/chunk-LGUI3PMO.js +109 -0
  45. package/dist/chunk-LGUI3PMO.js.map +1 -0
  46. package/dist/chunk-MM7NK5N2.js +4542 -0
  47. package/dist/chunk-MM7NK5N2.js.map +1 -0
  48. package/dist/chunk-N6S7ZRIL.js +31 -0
  49. package/dist/chunk-N6S7ZRIL.js.map +1 -0
  50. package/dist/chunk-O4D67NN7.js +24 -0
  51. package/dist/chunk-O4D67NN7.js.map +1 -0
  52. package/dist/chunk-ODUOU55D.js +56 -0
  53. package/dist/chunk-ODUOU55D.js.map +1 -0
  54. package/dist/chunk-OGJIZ6QH.js +497 -0
  55. package/dist/chunk-OGJIZ6QH.js.map +1 -0
  56. package/dist/chunk-OMV7TLWD.js +340 -0
  57. package/dist/chunk-OMV7TLWD.js.map +1 -0
  58. package/dist/chunk-PBEHPQLK.js +146 -0
  59. package/dist/chunk-PBEHPQLK.js.map +1 -0
  60. package/dist/chunk-QPTOIZAT.js +32 -0
  61. package/dist/chunk-QPTOIZAT.js.map +1 -0
  62. package/dist/chunk-R3XFQKPG.js +111 -0
  63. package/dist/chunk-R3XFQKPG.js.map +1 -0
  64. package/dist/chunk-R74PZWQS.js +69 -0
  65. package/dist/chunk-R74PZWQS.js.map +1 -0
  66. package/dist/chunk-SO22IQPY.js +45 -0
  67. package/dist/chunk-SO22IQPY.js.map +1 -0
  68. package/dist/chunk-T4EXUIBY.js +19 -0
  69. package/dist/chunk-T4EXUIBY.js.map +1 -0
  70. package/dist/chunk-U3IGFMCY.js +31 -0
  71. package/dist/chunk-U3IGFMCY.js.map +1 -0
  72. package/dist/chunk-UICL22RT.js +318 -0
  73. package/dist/chunk-UICL22RT.js.map +1 -0
  74. package/dist/chunk-UX2H2K2G.js +183 -0
  75. package/dist/chunk-UX2H2K2G.js.map +1 -0
  76. package/dist/chunk-W2ZSCZ2U.js +93 -0
  77. package/dist/chunk-W2ZSCZ2U.js.map +1 -0
  78. package/dist/chunk-WEUVWHMA.js +189 -0
  79. package/dist/chunk-WEUVWHMA.js.map +1 -0
  80. package/dist/chunk-XY3XDVMI.js +15599 -0
  81. package/dist/chunk-XY3XDVMI.js.map +1 -0
  82. package/dist/chunk-YND42IXK.js +233 -0
  83. package/dist/chunk-YND42IXK.js.map +1 -0
  84. package/dist/chunk-YZTWZVGX.js +41 -0
  85. package/dist/chunk-YZTWZVGX.js.map +1 -0
  86. package/dist/chunk-Z4TWOP3H.js +81 -0
  87. package/dist/chunk-Z4TWOP3H.js.map +1 -0
  88. package/dist/cli/defaults/agent-mappings.yaml +271 -0
  89. package/dist/commands/build/marketplace.js +252 -0
  90. package/dist/commands/build/marketplace.js.map +1 -0
  91. package/dist/commands/build/plugins.js +114 -0
  92. package/dist/commands/build/plugins.js.map +1 -0
  93. package/dist/commands/build/stack.js +153 -0
  94. package/dist/commands/build/stack.js.map +1 -0
  95. package/dist/commands/compile.js +354 -0
  96. package/dist/commands/compile.js.map +1 -0
  97. package/dist/commands/config/get.js +61 -0
  98. package/dist/commands/config/get.js.map +1 -0
  99. package/dist/commands/config/index.js +23 -0
  100. package/dist/commands/config/index.js.map +1 -0
  101. package/dist/commands/config/path.js +34 -0
  102. package/dist/commands/config/path.js.map +1 -0
  103. package/dist/commands/config/set-project.js +61 -0
  104. package/dist/commands/config/set-project.js.map +1 -0
  105. package/dist/commands/config/show.js +14 -0
  106. package/dist/commands/config/show.js.map +1 -0
  107. package/dist/commands/config/unset-project.js +57 -0
  108. package/dist/commands/config/unset-project.js.map +1 -0
  109. package/dist/commands/diff.js +742 -0
  110. package/dist/commands/diff.js.map +1 -0
  111. package/dist/commands/doctor.js +370 -0
  112. package/dist/commands/doctor.js.map +1 -0
  113. package/dist/commands/edit.js +301 -0
  114. package/dist/commands/edit.js.map +1 -0
  115. package/dist/commands/eject.js +262 -0
  116. package/dist/commands/eject.js.map +1 -0
  117. package/dist/commands/import/skill.js +361 -0
  118. package/dist/commands/import/skill.js.map +1 -0
  119. package/dist/commands/info.js +217 -0
  120. package/dist/commands/info.js.map +1 -0
  121. package/dist/commands/init.js +443 -0
  122. package/dist/commands/init.js.map +1 -0
  123. package/dist/commands/list.js +49 -0
  124. package/dist/commands/list.js.map +1 -0
  125. package/dist/commands/new/agent.js +224 -0
  126. package/dist/commands/new/agent.js.map +1 -0
  127. package/dist/commands/new/skill.js +199 -0
  128. package/dist/commands/new/skill.js.map +1 -0
  129. package/dist/commands/outdated.js +176 -0
  130. package/dist/commands/outdated.js.map +1 -0
  131. package/dist/commands/search.js +288 -0
  132. package/dist/commands/search.js.map +1 -0
  133. package/dist/commands/uninstall.js +302 -0
  134. package/dist/commands/uninstall.js.map +1 -0
  135. package/dist/commands/update.js +304 -0
  136. package/dist/commands/update.js.map +1 -0
  137. package/dist/commands/validate.js +389 -0
  138. package/dist/commands/validate.js.map +1 -0
  139. package/dist/commands/version/bump.js +79 -0
  140. package/dist/commands/version/bump.js.map +1 -0
  141. package/dist/commands/version/index.js +54 -0
  142. package/dist/commands/version/index.js.map +1 -0
  143. package/dist/commands/version/set.js +86 -0
  144. package/dist/commands/version/set.js.map +1 -0
  145. package/dist/commands/version/show.js +54 -0
  146. package/dist/commands/version/show.js.map +1 -0
  147. package/dist/components/common/confirm.js +9 -0
  148. package/dist/components/common/confirm.js.map +1 -0
  149. package/dist/components/common/confirm.test.js +203 -0
  150. package/dist/components/common/confirm.test.js.map +1 -0
  151. package/dist/components/common/message.js +20 -0
  152. package/dist/components/common/message.js.map +1 -0
  153. package/dist/components/common/spinner.js +14 -0
  154. package/dist/components/common/spinner.js.map +1 -0
  155. package/dist/components/skill-search/skill-search.js +12 -0
  156. package/dist/components/skill-search/skill-search.js.map +1 -0
  157. package/dist/components/wizard/category-grid.js +11 -0
  158. package/dist/components/wizard/category-grid.js.map +1 -0
  159. package/dist/components/wizard/category-grid.test.js +997 -0
  160. package/dist/components/wizard/category-grid.test.js.map +1 -0
  161. package/dist/components/wizard/domain-selection.js +14 -0
  162. package/dist/components/wizard/domain-selection.js.map +1 -0
  163. package/dist/components/wizard/help-modal.js +10 -0
  164. package/dist/components/wizard/help-modal.js.map +1 -0
  165. package/dist/components/wizard/menu-item.js +10 -0
  166. package/dist/components/wizard/menu-item.js.map +1 -0
  167. package/dist/components/wizard/search-modal.js +11 -0
  168. package/dist/components/wizard/search-modal.js.map +1 -0
  169. package/dist/components/wizard/search-modal.test.js +218 -0
  170. package/dist/components/wizard/search-modal.test.js.map +1 -0
  171. package/dist/components/wizard/section-progress.js +10 -0
  172. package/dist/components/wizard/section-progress.js.map +1 -0
  173. package/dist/components/wizard/section-progress.test.js +192 -0
  174. package/dist/components/wizard/section-progress.test.js.map +1 -0
  175. package/dist/components/wizard/source-grid.js +14 -0
  176. package/dist/components/wizard/source-grid.js.map +1 -0
  177. package/dist/components/wizard/source-grid.test.js +504 -0
  178. package/dist/components/wizard/source-grid.test.js.map +1 -0
  179. package/dist/components/wizard/stack-selection.js +17 -0
  180. package/dist/components/wizard/stack-selection.js.map +1 -0
  181. package/dist/components/wizard/step-build.js +17 -0
  182. package/dist/components/wizard/step-build.js.map +1 -0
  183. package/dist/components/wizard/step-build.test.js +600 -0
  184. package/dist/components/wizard/step-build.test.js.map +1 -0
  185. package/dist/components/wizard/step-confirm.js +12 -0
  186. package/dist/components/wizard/step-confirm.js.map +1 -0
  187. package/dist/components/wizard/step-confirm.test.js +366 -0
  188. package/dist/components/wizard/step-confirm.test.js.map +1 -0
  189. package/dist/components/wizard/step-refine.js +10 -0
  190. package/dist/components/wizard/step-refine.js.map +1 -0
  191. package/dist/components/wizard/step-refine.test.js +237 -0
  192. package/dist/components/wizard/step-refine.test.js.map +1 -0
  193. package/dist/components/wizard/step-settings.js +17 -0
  194. package/dist/components/wizard/step-settings.js.map +1 -0
  195. package/dist/components/wizard/step-settings.test.js +243 -0
  196. package/dist/components/wizard/step-settings.test.js.map +1 -0
  197. package/dist/components/wizard/step-sources.js +20 -0
  198. package/dist/components/wizard/step-sources.js.map +1 -0
  199. package/dist/components/wizard/step-sources.test.js +294 -0
  200. package/dist/components/wizard/step-sources.test.js.map +1 -0
  201. package/dist/components/wizard/step-stack.js +19 -0
  202. package/dist/components/wizard/step-stack.js.map +1 -0
  203. package/dist/components/wizard/step-stack.test.js +357 -0
  204. package/dist/components/wizard/step-stack.test.js.map +1 -0
  205. package/dist/components/wizard/view-title.js +10 -0
  206. package/dist/components/wizard/view-title.js.map +1 -0
  207. package/dist/components/wizard/wizard-layout.js +16 -0
  208. package/dist/components/wizard/wizard-layout.js.map +1 -0
  209. package/dist/components/wizard/wizard-tabs.js +14 -0
  210. package/dist/components/wizard/wizard-tabs.js.map +1 -0
  211. package/dist/components/wizard/wizard-tabs.test.js +294 -0
  212. package/dist/components/wizard/wizard-tabs.test.js.map +1 -0
  213. package/dist/components/wizard/wizard.js +35 -0
  214. package/dist/components/wizard/wizard.js.map +1 -0
  215. package/dist/config/skills-matrix.yaml +926 -0
  216. package/dist/config/stacks.yaml +2186 -0
  217. package/dist/hooks/init.js +40 -0
  218. package/dist/hooks/init.js.map +1 -0
  219. package/dist/index.js +10 -0
  220. package/dist/index.js.map +1 -0
  221. package/dist/magic-string.es-RGXYGAW3.js +1316 -0
  222. package/dist/magic-string.es-RGXYGAW3.js.map +1 -0
  223. package/dist/source-manager-SBPPLOQQ.js +16 -0
  224. package/dist/source-manager-SBPPLOQQ.js.map +1 -0
  225. package/dist/src/agents/_templates/agent.liquid +140 -0
  226. package/dist/src/agents/developer/api-developer/agent.yaml +12 -0
  227. package/dist/src/agents/developer/api-developer/critical-reminders.md +23 -0
  228. package/dist/src/agents/developer/api-developer/critical-requirements.md +11 -0
  229. package/dist/src/agents/developer/api-developer/examples.md +72 -0
  230. package/dist/src/agents/developer/api-developer/intro.md +22 -0
  231. package/dist/src/agents/developer/api-developer/output-format.md +359 -0
  232. package/dist/src/agents/developer/api-developer/workflow.md +471 -0
  233. package/dist/src/agents/developer/cli-developer/agent.yaml +12 -0
  234. package/dist/src/agents/developer/cli-developer/critical-reminders.md +28 -0
  235. package/dist/src/agents/developer/cli-developer/critical-requirements.md +15 -0
  236. package/dist/src/agents/developer/cli-developer/examples.md +68 -0
  237. package/dist/src/agents/developer/cli-developer/intro.md +23 -0
  238. package/dist/src/agents/developer/cli-developer/output-format.md +216 -0
  239. package/dist/src/agents/developer/cli-developer/workflow.md +509 -0
  240. package/dist/src/agents/developer/web-architecture/agent.yaml +12 -0
  241. package/dist/src/agents/developer/web-architecture/critical-reminders.md +27 -0
  242. package/dist/src/agents/developer/web-architecture/critical-requirements.md +35 -0
  243. package/dist/src/agents/developer/web-architecture/examples.md +187 -0
  244. package/dist/src/agents/developer/web-architecture/intro.md +35 -0
  245. package/dist/src/agents/developer/web-architecture/output-format.md +261 -0
  246. package/dist/src/agents/developer/web-architecture/workflow.md +599 -0
  247. package/dist/src/agents/developer/web-developer/agent.yaml +12 -0
  248. package/dist/src/agents/developer/web-developer/critical-reminders.md +17 -0
  249. package/dist/src/agents/developer/web-developer/critical-requirements.md +15 -0
  250. package/dist/src/agents/developer/web-developer/examples.md +109 -0
  251. package/dist/src/agents/developer/web-developer/intro.md +5 -0
  252. package/dist/src/agents/developer/web-developer/output-format.md +213 -0
  253. package/dist/src/agents/developer/web-developer/workflow.md +459 -0
  254. package/dist/src/agents/meta/agent-summoner/agent.yaml +12 -0
  255. package/dist/src/agents/meta/agent-summoner/critical-reminders.md +31 -0
  256. package/dist/src/agents/meta/agent-summoner/critical-requirements.md +27 -0
  257. package/dist/src/agents/meta/agent-summoner/examples.md +176 -0
  258. package/dist/src/agents/meta/agent-summoner/intro.md +9 -0
  259. package/dist/src/agents/meta/agent-summoner/output-format.md +115 -0
  260. package/dist/src/agents/meta/agent-summoner/workflow.md +1540 -0
  261. package/dist/src/agents/meta/documentor/agent.yaml +11 -0
  262. package/dist/src/agents/meta/documentor/critical-reminders.md +23 -0
  263. package/dist/src/agents/meta/documentor/critical-requirements.md +13 -0
  264. package/dist/src/agents/meta/documentor/examples.md +147 -0
  265. package/dist/src/agents/meta/documentor/intro.md +11 -0
  266. package/dist/src/agents/meta/documentor/output-format.md +237 -0
  267. package/dist/src/agents/meta/documentor/workflow.md +1271 -0
  268. package/dist/src/agents/meta/skill-summoner/agent.yaml +13 -0
  269. package/dist/src/agents/meta/skill-summoner/critical-reminders.md +73 -0
  270. package/dist/src/agents/meta/skill-summoner/critical-requirements.md +62 -0
  271. package/dist/src/agents/meta/skill-summoner/examples.md +116 -0
  272. package/dist/src/agents/meta/skill-summoner/intro.md +5 -0
  273. package/dist/src/agents/meta/skill-summoner/output-format.md +279 -0
  274. package/dist/src/agents/meta/skill-summoner/workflow.md +1485 -0
  275. package/dist/src/agents/migration/cli-migrator/agent.yaml +12 -0
  276. package/dist/src/agents/migration/cli-migrator/anti-patterns.md +158 -0
  277. package/dist/src/agents/migration/cli-migrator/conversion-mappings.md +63 -0
  278. package/dist/src/agents/migration/cli-migrator/critical-reminders.md +17 -0
  279. package/dist/src/agents/migration/cli-migrator/critical-requirements.md +13 -0
  280. package/dist/src/agents/migration/cli-migrator/intro.md +15 -0
  281. package/dist/src/agents/migration/cli-migrator/output-format.md +164 -0
  282. package/dist/src/agents/migration/cli-migrator/workflow.md +230 -0
  283. package/dist/src/agents/pattern/pattern-scout/agent.yaml +10 -0
  284. package/dist/src/agents/pattern/pattern-scout/critical-reminders.md +58 -0
  285. package/dist/src/agents/pattern/pattern-scout/critical-requirements.md +17 -0
  286. package/dist/src/agents/pattern/pattern-scout/examples.md +93 -0
  287. package/dist/src/agents/pattern/pattern-scout/intro.md +3 -0
  288. package/dist/src/agents/pattern/pattern-scout/output-format.md +196 -0
  289. package/dist/src/agents/pattern/pattern-scout/workflow.md +1901 -0
  290. package/dist/src/agents/pattern/web-pattern-critique/agent.yaml +12 -0
  291. package/dist/src/agents/pattern/web-pattern-critique/critical-reminders.md +13 -0
  292. package/dist/src/agents/pattern/web-pattern-critique/critical-requirements.md +11 -0
  293. package/dist/src/agents/pattern/web-pattern-critique/examples.md +56 -0
  294. package/dist/src/agents/pattern/web-pattern-critique/intro.md +5 -0
  295. package/dist/src/agents/pattern/web-pattern-critique/output-format.md +257 -0
  296. package/dist/src/agents/pattern/web-pattern-critique/workflow.md +674 -0
  297. package/dist/src/agents/planning/web-pm/agent.yaml +12 -0
  298. package/dist/src/agents/planning/web-pm/critical-reminders.md +21 -0
  299. package/dist/src/agents/planning/web-pm/critical-requirements.md +17 -0
  300. package/dist/src/agents/planning/web-pm/examples.md +85 -0
  301. package/dist/src/agents/planning/web-pm/intro.md +3 -0
  302. package/dist/src/agents/planning/web-pm/output-format.md +228 -0
  303. package/dist/src/agents/planning/web-pm/workflow.md +393 -0
  304. package/dist/src/agents/researcher/api-researcher/agent.yaml +10 -0
  305. package/dist/src/agents/researcher/api-researcher/critical-reminders.md +27 -0
  306. package/dist/src/agents/researcher/api-researcher/critical-requirements.md +13 -0
  307. package/dist/src/agents/researcher/api-researcher/examples.md +116 -0
  308. package/dist/src/agents/researcher/api-researcher/intro.md +32 -0
  309. package/dist/src/agents/researcher/api-researcher/output-format.md +135 -0
  310. package/dist/src/agents/researcher/api-researcher/workflow.md +261 -0
  311. package/dist/src/agents/researcher/web-researcher/agent.yaml +10 -0
  312. package/dist/src/agents/researcher/web-researcher/critical-reminders.md +23 -0
  313. package/dist/src/agents/researcher/web-researcher/critical-requirements.md +11 -0
  314. package/dist/src/agents/researcher/web-researcher/examples.md +126 -0
  315. package/dist/src/agents/researcher/web-researcher/intro.md +31 -0
  316. package/dist/src/agents/researcher/web-researcher/output-format.md +112 -0
  317. package/dist/src/agents/researcher/web-researcher/workflow.md +322 -0
  318. package/dist/src/agents/reviewer/api-reviewer/agent.yaml +12 -0
  319. package/dist/src/agents/reviewer/api-reviewer/critical-reminders.md +16 -0
  320. package/dist/src/agents/reviewer/api-reviewer/critical-requirements.md +13 -0
  321. package/dist/src/agents/reviewer/api-reviewer/examples.md +54 -0
  322. package/dist/src/agents/reviewer/api-reviewer/intro.md +22 -0
  323. package/dist/src/agents/reviewer/api-reviewer/output-format.md +288 -0
  324. package/dist/src/agents/reviewer/api-reviewer/workflow.md +369 -0
  325. package/dist/src/agents/reviewer/cli-reviewer/agent.yaml +12 -0
  326. package/dist/src/agents/reviewer/cli-reviewer/critical-reminders.md +17 -0
  327. package/dist/src/agents/reviewer/cli-reviewer/critical-requirements.md +13 -0
  328. package/dist/src/agents/reviewer/cli-reviewer/examples.md +83 -0
  329. package/dist/src/agents/reviewer/cli-reviewer/intro.md +21 -0
  330. package/dist/src/agents/reviewer/cli-reviewer/output-format.md +330 -0
  331. package/dist/src/agents/reviewer/cli-reviewer/workflow.md +294 -0
  332. package/dist/src/agents/reviewer/web-reviewer/agent.yaml +12 -0
  333. package/dist/src/agents/reviewer/web-reviewer/critical-reminders.md +17 -0
  334. package/dist/src/agents/reviewer/web-reviewer/critical-requirements.md +11 -0
  335. package/dist/src/agents/reviewer/web-reviewer/examples.md +79 -0
  336. package/dist/src/agents/reviewer/web-reviewer/intro.md +20 -0
  337. package/dist/src/agents/reviewer/web-reviewer/output-format.md +253 -0
  338. package/dist/src/agents/reviewer/web-reviewer/workflow.md +228 -0
  339. package/dist/src/agents/tester/cli-tester/agent.yaml +12 -0
  340. package/dist/src/agents/tester/cli-tester/critical-reminders.md +19 -0
  341. package/dist/src/agents/tester/cli-tester/critical-requirements.md +17 -0
  342. package/dist/src/agents/tester/cli-tester/examples.md +80 -0
  343. package/dist/src/agents/tester/cli-tester/intro.md +19 -0
  344. package/dist/src/agents/tester/cli-tester/output-format.md +232 -0
  345. package/dist/src/agents/tester/cli-tester/workflow.md +304 -0
  346. package/dist/src/agents/tester/web-tester/agent.yaml +12 -0
  347. package/dist/src/agents/tester/web-tester/critical-reminders.md +15 -0
  348. package/dist/src/agents/tester/web-tester/critical-requirements.md +11 -0
  349. package/dist/src/agents/tester/web-tester/examples.md +68 -0
  350. package/dist/src/agents/tester/web-tester/intro.md +18 -0
  351. package/dist/src/agents/tester/web-tester/output-format.md +252 -0
  352. package/dist/src/agents/tester/web-tester/workflow.md +507 -0
  353. package/dist/stores/wizard-store.js +13 -0
  354. package/dist/stores/wizard-store.js.map +1 -0
  355. package/dist/stores/wizard-store.test.js +689 -0
  356. package/dist/stores/wizard-store.test.js.map +1 -0
  357. package/package.json +134 -0
  358. package/src/agents/_templates/agent.liquid +140 -0
  359. package/src/agents/developer/api-developer/agent.yaml +12 -0
  360. package/src/agents/developer/api-developer/critical-reminders.md +23 -0
  361. package/src/agents/developer/api-developer/critical-requirements.md +11 -0
  362. package/src/agents/developer/api-developer/examples.md +72 -0
  363. package/src/agents/developer/api-developer/intro.md +22 -0
  364. package/src/agents/developer/api-developer/output-format.md +359 -0
  365. package/src/agents/developer/api-developer/workflow.md +471 -0
  366. package/src/agents/developer/cli-developer/agent.yaml +12 -0
  367. package/src/agents/developer/cli-developer/critical-reminders.md +28 -0
  368. package/src/agents/developer/cli-developer/critical-requirements.md +15 -0
  369. package/src/agents/developer/cli-developer/examples.md +68 -0
  370. package/src/agents/developer/cli-developer/intro.md +23 -0
  371. package/src/agents/developer/cli-developer/output-format.md +216 -0
  372. package/src/agents/developer/cli-developer/workflow.md +509 -0
  373. package/src/agents/developer/web-architecture/agent.yaml +12 -0
  374. package/src/agents/developer/web-architecture/critical-reminders.md +27 -0
  375. package/src/agents/developer/web-architecture/critical-requirements.md +35 -0
  376. package/src/agents/developer/web-architecture/examples.md +187 -0
  377. package/src/agents/developer/web-architecture/intro.md +35 -0
  378. package/src/agents/developer/web-architecture/output-format.md +261 -0
  379. package/src/agents/developer/web-architecture/workflow.md +599 -0
  380. package/src/agents/developer/web-developer/agent.yaml +12 -0
  381. package/src/agents/developer/web-developer/critical-reminders.md +17 -0
  382. package/src/agents/developer/web-developer/critical-requirements.md +15 -0
  383. package/src/agents/developer/web-developer/examples.md +109 -0
  384. package/src/agents/developer/web-developer/intro.md +5 -0
  385. package/src/agents/developer/web-developer/output-format.md +213 -0
  386. package/src/agents/developer/web-developer/workflow.md +459 -0
  387. package/src/agents/meta/agent-summoner/agent.yaml +12 -0
  388. package/src/agents/meta/agent-summoner/critical-reminders.md +31 -0
  389. package/src/agents/meta/agent-summoner/critical-requirements.md +27 -0
  390. package/src/agents/meta/agent-summoner/examples.md +176 -0
  391. package/src/agents/meta/agent-summoner/intro.md +9 -0
  392. package/src/agents/meta/agent-summoner/output-format.md +115 -0
  393. package/src/agents/meta/agent-summoner/workflow.md +1540 -0
  394. package/src/agents/meta/documentor/agent.yaml +11 -0
  395. package/src/agents/meta/documentor/critical-reminders.md +23 -0
  396. package/src/agents/meta/documentor/critical-requirements.md +13 -0
  397. package/src/agents/meta/documentor/examples.md +147 -0
  398. package/src/agents/meta/documentor/intro.md +11 -0
  399. package/src/agents/meta/documentor/output-format.md +237 -0
  400. package/src/agents/meta/documentor/workflow.md +1271 -0
  401. package/src/agents/meta/skill-summoner/agent.yaml +13 -0
  402. package/src/agents/meta/skill-summoner/critical-reminders.md +73 -0
  403. package/src/agents/meta/skill-summoner/critical-requirements.md +62 -0
  404. package/src/agents/meta/skill-summoner/examples.md +116 -0
  405. package/src/agents/meta/skill-summoner/intro.md +5 -0
  406. package/src/agents/meta/skill-summoner/output-format.md +279 -0
  407. package/src/agents/meta/skill-summoner/workflow.md +1485 -0
  408. package/src/agents/migration/cli-migrator/agent.yaml +12 -0
  409. package/src/agents/migration/cli-migrator/anti-patterns.md +158 -0
  410. package/src/agents/migration/cli-migrator/conversion-mappings.md +63 -0
  411. package/src/agents/migration/cli-migrator/critical-reminders.md +17 -0
  412. package/src/agents/migration/cli-migrator/critical-requirements.md +13 -0
  413. package/src/agents/migration/cli-migrator/intro.md +15 -0
  414. package/src/agents/migration/cli-migrator/output-format.md +164 -0
  415. package/src/agents/migration/cli-migrator/workflow.md +230 -0
  416. package/src/agents/pattern/pattern-scout/agent.yaml +10 -0
  417. package/src/agents/pattern/pattern-scout/critical-reminders.md +58 -0
  418. package/src/agents/pattern/pattern-scout/critical-requirements.md +17 -0
  419. package/src/agents/pattern/pattern-scout/examples.md +93 -0
  420. package/src/agents/pattern/pattern-scout/intro.md +3 -0
  421. package/src/agents/pattern/pattern-scout/output-format.md +196 -0
  422. package/src/agents/pattern/pattern-scout/workflow.md +1901 -0
  423. package/src/agents/pattern/web-pattern-critique/agent.yaml +12 -0
  424. package/src/agents/pattern/web-pattern-critique/critical-reminders.md +13 -0
  425. package/src/agents/pattern/web-pattern-critique/critical-requirements.md +11 -0
  426. package/src/agents/pattern/web-pattern-critique/examples.md +56 -0
  427. package/src/agents/pattern/web-pattern-critique/intro.md +5 -0
  428. package/src/agents/pattern/web-pattern-critique/output-format.md +257 -0
  429. package/src/agents/pattern/web-pattern-critique/workflow.md +674 -0
  430. package/src/agents/planning/web-pm/agent.yaml +12 -0
  431. package/src/agents/planning/web-pm/critical-reminders.md +21 -0
  432. package/src/agents/planning/web-pm/critical-requirements.md +17 -0
  433. package/src/agents/planning/web-pm/examples.md +85 -0
  434. package/src/agents/planning/web-pm/intro.md +3 -0
  435. package/src/agents/planning/web-pm/output-format.md +228 -0
  436. package/src/agents/planning/web-pm/workflow.md +393 -0
  437. package/src/agents/researcher/api-researcher/agent.yaml +10 -0
  438. package/src/agents/researcher/api-researcher/critical-reminders.md +27 -0
  439. package/src/agents/researcher/api-researcher/critical-requirements.md +13 -0
  440. package/src/agents/researcher/api-researcher/examples.md +116 -0
  441. package/src/agents/researcher/api-researcher/intro.md +32 -0
  442. package/src/agents/researcher/api-researcher/output-format.md +135 -0
  443. package/src/agents/researcher/api-researcher/workflow.md +261 -0
  444. package/src/agents/researcher/web-researcher/agent.yaml +10 -0
  445. package/src/agents/researcher/web-researcher/critical-reminders.md +23 -0
  446. package/src/agents/researcher/web-researcher/critical-requirements.md +11 -0
  447. package/src/agents/researcher/web-researcher/examples.md +126 -0
  448. package/src/agents/researcher/web-researcher/intro.md +31 -0
  449. package/src/agents/researcher/web-researcher/output-format.md +112 -0
  450. package/src/agents/researcher/web-researcher/workflow.md +322 -0
  451. package/src/agents/reviewer/api-reviewer/agent.yaml +12 -0
  452. package/src/agents/reviewer/api-reviewer/critical-reminders.md +16 -0
  453. package/src/agents/reviewer/api-reviewer/critical-requirements.md +13 -0
  454. package/src/agents/reviewer/api-reviewer/examples.md +54 -0
  455. package/src/agents/reviewer/api-reviewer/intro.md +22 -0
  456. package/src/agents/reviewer/api-reviewer/output-format.md +288 -0
  457. package/src/agents/reviewer/api-reviewer/workflow.md +369 -0
  458. package/src/agents/reviewer/cli-reviewer/agent.yaml +12 -0
  459. package/src/agents/reviewer/cli-reviewer/critical-reminders.md +17 -0
  460. package/src/agents/reviewer/cli-reviewer/critical-requirements.md +13 -0
  461. package/src/agents/reviewer/cli-reviewer/examples.md +83 -0
  462. package/src/agents/reviewer/cli-reviewer/intro.md +21 -0
  463. package/src/agents/reviewer/cli-reviewer/output-format.md +330 -0
  464. package/src/agents/reviewer/cli-reviewer/workflow.md +294 -0
  465. package/src/agents/reviewer/web-reviewer/agent.yaml +12 -0
  466. package/src/agents/reviewer/web-reviewer/critical-reminders.md +17 -0
  467. package/src/agents/reviewer/web-reviewer/critical-requirements.md +11 -0
  468. package/src/agents/reviewer/web-reviewer/examples.md +79 -0
  469. package/src/agents/reviewer/web-reviewer/intro.md +20 -0
  470. package/src/agents/reviewer/web-reviewer/output-format.md +253 -0
  471. package/src/agents/reviewer/web-reviewer/workflow.md +228 -0
  472. package/src/agents/tester/cli-tester/agent.yaml +12 -0
  473. package/src/agents/tester/cli-tester/critical-reminders.md +19 -0
  474. package/src/agents/tester/cli-tester/critical-requirements.md +17 -0
  475. package/src/agents/tester/cli-tester/examples.md +80 -0
  476. package/src/agents/tester/cli-tester/intro.md +19 -0
  477. package/src/agents/tester/cli-tester/output-format.md +232 -0
  478. package/src/agents/tester/cli-tester/workflow.md +304 -0
  479. package/src/agents/tester/web-tester/agent.yaml +12 -0
  480. package/src/agents/tester/web-tester/critical-reminders.md +15 -0
  481. package/src/agents/tester/web-tester/critical-requirements.md +11 -0
  482. package/src/agents/tester/web-tester/examples.md +68 -0
  483. package/src/agents/tester/web-tester/intro.md +18 -0
  484. package/src/agents/tester/web-tester/output-format.md +252 -0
  485. package/src/agents/tester/web-tester/workflow.md +507 -0
  486. package/src/schemas/agent-frontmatter.schema.json +84 -0
  487. package/src/schemas/agent.schema.json +93 -0
  488. package/src/schemas/hooks.schema.json +47 -0
  489. package/src/schemas/marketplace.schema.json +119 -0
  490. package/src/schemas/metadata.schema.json +113 -0
  491. package/src/schemas/plugin.schema.json +130 -0
  492. package/src/schemas/project-config.schema.json +125 -0
  493. package/src/schemas/project-source-config.schema.json +81 -0
  494. package/src/schemas/skill-frontmatter.schema.json +42 -0
  495. package/src/schemas/skills-matrix.schema.json +467 -0
  496. package/src/schemas/stack.schema.json +191 -0
  497. package/src/schemas/stacks.schema.json +111 -0
@@ -0,0 +1,111 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ CLI_COLORS,
4
+ DEFAULT_BRANDING
5
+ } from "./chunk-LAPCUV4D.js";
6
+ import {
7
+ init_esm_shims
8
+ } from "./chunk-DHET7RCE.js";
9
+
10
+ // src/cli/components/wizard/step-refine.tsx
11
+ init_esm_shims();
12
+ import { Box, Text, useInput } from "ink";
13
+ import { jsx, jsxs } from "react/jsx-runtime";
14
+ var StepRefine = ({
15
+ technologyCount,
16
+ refineAction,
17
+ onSelectAction,
18
+ onContinue,
19
+ onBack
20
+ }) => {
21
+ useInput((_input, key) => {
22
+ if (key.return) {
23
+ onContinue();
24
+ }
25
+ if (key.escape) {
26
+ onBack();
27
+ }
28
+ if (key.upArrow || key.downArrow) {
29
+ onSelectAction(refineAction === "all-recommended" ? "customize" : "all-recommended");
30
+ }
31
+ });
32
+ const isRecommendedSelected = refineAction === "all-recommended" || refineAction === null;
33
+ return /* @__PURE__ */ jsxs(Box, { flexDirection: "column", paddingX: 2, children: [
34
+ /* @__PURE__ */ jsxs(Text, { children: [
35
+ "Your stack includes",
36
+ " ",
37
+ /* @__PURE__ */ jsx(Text, { color: CLI_COLORS.PRIMARY, bold: true, children: technologyCount }),
38
+ " ",
39
+ "technologies."
40
+ ] }),
41
+ /* @__PURE__ */ jsx(Text, { children: " " }),
42
+ /* @__PURE__ */ jsx(
43
+ Box,
44
+ {
45
+ borderStyle: "round",
46
+ borderColor: isRecommendedSelected ? CLI_COLORS.SUCCESS : CLI_COLORS.NEUTRAL,
47
+ paddingX: 2,
48
+ paddingY: 1,
49
+ marginBottom: 1,
50
+ children: /* @__PURE__ */ jsxs(Box, { flexDirection: "column", children: [
51
+ /* @__PURE__ */ jsxs(
52
+ Text,
53
+ {
54
+ color: isRecommendedSelected ? CLI_COLORS.SUCCESS : void 0,
55
+ bold: isRecommendedSelected,
56
+ children: [
57
+ isRecommendedSelected ? ">" : "\u25CB",
58
+ " Use all recommended skills (verified)",
59
+ " ",
60
+ /* @__PURE__ */ jsx(Text, { dimColor: true, children: isRecommendedSelected ? "(Selected)" : "(Not selected)" })
61
+ ]
62
+ }
63
+ ),
64
+ /* @__PURE__ */ jsx(Text, { children: " " }),
65
+ /* @__PURE__ */ jsx(Text, { dimColor: true, children: "This is the fastest option. All skills are verified and" }),
66
+ /* @__PURE__ */ jsxs(Text, { dimColor: true, children: [
67
+ "maintained by ",
68
+ DEFAULT_BRANDING.NAME
69
+ ] })
70
+ ] })
71
+ }
72
+ ),
73
+ /* @__PURE__ */ jsx(
74
+ Box,
75
+ {
76
+ borderStyle: "round",
77
+ borderColor: !isRecommendedSelected ? CLI_COLORS.SUCCESS : CLI_COLORS.NEUTRAL,
78
+ paddingX: 2,
79
+ paddingY: 1,
80
+ children: /* @__PURE__ */ jsxs(Box, { flexDirection: "column", children: [
81
+ /* @__PURE__ */ jsxs(
82
+ Text,
83
+ {
84
+ color: !isRecommendedSelected ? CLI_COLORS.SUCCESS : void 0,
85
+ bold: !isRecommendedSelected,
86
+ children: [
87
+ !isRecommendedSelected ? ">" : "\u25CB",
88
+ " Customize skill sources",
89
+ " ",
90
+ /* @__PURE__ */ jsx(Text, { dimColor: true, children: !isRecommendedSelected ? "(Selected)" : "(Not selected)" })
91
+ ]
92
+ }
93
+ ),
94
+ /* @__PURE__ */ jsx(Text, { children: " " }),
95
+ /* @__PURE__ */ jsx(Text, { dimColor: true, children: "Choose alternative skills for each technology" })
96
+ ] })
97
+ }
98
+ ),
99
+ /* @__PURE__ */ jsx(Box, { marginTop: 1, children: /* @__PURE__ */ jsxs(Text, { dimColor: true, children: [
100
+ "\u2191",
101
+ "/",
102
+ "\u2193",
103
+ " navigate ENTER continue ESC back"
104
+ ] }) })
105
+ ] });
106
+ };
107
+
108
+ export {
109
+ StepRefine
110
+ };
111
+ //# sourceMappingURL=chunk-R3XFQKPG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/components/wizard/step-refine.tsx"],"sourcesContent":["import React from \"react\";\nimport { Box, Text, useInput } from \"ink\";\nimport { CLI_COLORS, DEFAULT_BRANDING } from \"../../consts.js\";\n\nexport type RefineAction = \"all-recommended\" | \"customize\" | null;\n\nexport type StepRefineProps = {\n technologyCount: number;\n refineAction: RefineAction;\n onSelectAction: (action: \"all-recommended\" | \"customize\") => void;\n onContinue: () => void;\n onBack: () => void;\n};\n\nexport const StepRefine: React.FC<StepRefineProps> = ({\n technologyCount,\n refineAction,\n onSelectAction,\n onContinue,\n onBack,\n}) => {\n useInput((_input, key) => {\n if (key.return) {\n onContinue();\n }\n if (key.escape) {\n onBack();\n }\n if (key.upArrow || key.downArrow) {\n onSelectAction(refineAction === \"all-recommended\" ? \"customize\" : \"all-recommended\");\n }\n });\n\n const isRecommendedSelected = refineAction === \"all-recommended\" || refineAction === null;\n\n return (\n <Box flexDirection=\"column\" paddingX={2}>\n <Text>\n Your stack includes{\" \"}\n <Text color={CLI_COLORS.PRIMARY} bold>\n {technologyCount}\n </Text>{\" \"}\n technologies.\n </Text>\n <Text> </Text>\n\n <Box\n borderStyle=\"round\"\n borderColor={isRecommendedSelected ? CLI_COLORS.SUCCESS : CLI_COLORS.NEUTRAL}\n paddingX={2}\n paddingY={1}\n marginBottom={1}\n >\n <Box flexDirection=\"column\">\n <Text\n color={isRecommendedSelected ? CLI_COLORS.SUCCESS : undefined}\n bold={isRecommendedSelected}\n >\n {isRecommendedSelected ? \">\" : \"○\"} Use all recommended skills (verified){\" \"}\n <Text dimColor>{isRecommendedSelected ? \"(Selected)\" : \"(Not selected)\"}</Text>\n </Text>\n <Text> </Text>\n <Text dimColor>This is the fastest option. All skills are verified and</Text>\n <Text dimColor>maintained by {DEFAULT_BRANDING.NAME}</Text>\n </Box>\n </Box>\n\n <Box\n borderStyle=\"round\"\n borderColor={!isRecommendedSelected ? CLI_COLORS.SUCCESS : CLI_COLORS.NEUTRAL}\n paddingX={2}\n paddingY={1}\n >\n <Box flexDirection=\"column\">\n <Text\n color={!isRecommendedSelected ? CLI_COLORS.SUCCESS : undefined}\n bold={!isRecommendedSelected}\n >\n {!isRecommendedSelected ? \">\" : \"○\"} Customize skill sources{\" \"}\n <Text dimColor>{!isRecommendedSelected ? \"(Selected)\" : \"(Not selected)\"}</Text>\n </Text>\n <Text> </Text>\n <Text dimColor>Choose alternative skills for each technology</Text>\n </Box>\n </Box>\n\n <Box marginTop={1}>\n <Text dimColor>\n {\"\\u2191\"}/{\"\\u2193\"} navigate ENTER continue ESC back\n </Text>\n </Box>\n </Box>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA,SAAS,KAAK,MAAM,gBAAgB;AAoC9B,SAEE,KAFF;AAvBC,IAAM,aAAwC,CAAC;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,WAAS,CAAC,QAAQ,QAAQ;AACxB,QAAI,IAAI,QAAQ;AACd,iBAAW;AAAA,IACb;AACA,QAAI,IAAI,QAAQ;AACd,aAAO;AAAA,IACT;AACA,QAAI,IAAI,WAAW,IAAI,WAAW;AAChC,qBAAe,iBAAiB,oBAAoB,cAAc,iBAAiB;AAAA,IACrF;AAAA,EACF,CAAC;AAED,QAAM,wBAAwB,iBAAiB,qBAAqB,iBAAiB;AAErF,SACE,qBAAC,OAAI,eAAc,UAAS,UAAU,GACpC;AAAA,yBAAC,QAAK;AAAA;AAAA,MACgB;AAAA,MACpB,oBAAC,QAAK,OAAO,WAAW,SAAS,MAAI,MAClC,2BACH;AAAA,MAAQ;AAAA,MAAI;AAAA,OAEd;AAAA,IACA,oBAAC,QAAK,eAAC;AAAA,IAEP;AAAA,MAAC;AAAA;AAAA,QACC,aAAY;AAAA,QACZ,aAAa,wBAAwB,WAAW,UAAU,WAAW;AAAA,QACrE,UAAU;AAAA,QACV,UAAU;AAAA,QACV,cAAc;AAAA,QAEd,+BAAC,OAAI,eAAc,UACjB;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,OAAO,wBAAwB,WAAW,UAAU;AAAA,cACpD,MAAM;AAAA,cAEL;AAAA,wCAAwB,MAAM;AAAA,gBAAI;AAAA,gBAAuC;AAAA,gBAC1E,oBAAC,QAAK,UAAQ,MAAE,kCAAwB,eAAe,kBAAiB;AAAA;AAAA;AAAA,UAC1E;AAAA,UACA,oBAAC,QAAK,eAAC;AAAA,UACP,oBAAC,QAAK,UAAQ,MAAC,qEAAuD;AAAA,UACtE,qBAAC,QAAK,UAAQ,MAAC;AAAA;AAAA,YAAe,iBAAiB;AAAA,aAAK;AAAA,WACtD;AAAA;AAAA,IACF;AAAA,IAEA;AAAA,MAAC;AAAA;AAAA,QACC,aAAY;AAAA,QACZ,aAAa,CAAC,wBAAwB,WAAW,UAAU,WAAW;AAAA,QACtE,UAAU;AAAA,QACV,UAAU;AAAA,QAEV,+BAAC,OAAI,eAAc,UACjB;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,OAAO,CAAC,wBAAwB,WAAW,UAAU;AAAA,cACrD,MAAM,CAAC;AAAA,cAEN;AAAA,iBAAC,wBAAwB,MAAM;AAAA,gBAAI;AAAA,gBAAyB;AAAA,gBAC7D,oBAAC,QAAK,UAAQ,MAAE,WAAC,wBAAwB,eAAe,kBAAiB;AAAA;AAAA;AAAA,UAC3E;AAAA,UACA,oBAAC,QAAK,eAAC;AAAA,UACP,oBAAC,QAAK,UAAQ,MAAC,2DAA6C;AAAA,WAC9D;AAAA;AAAA,IACF;AAAA,IAEA,oBAAC,OAAI,WAAW,GACd,+BAAC,QAAK,UAAQ,MACX;AAAA;AAAA,MAAS;AAAA,MAAE;AAAA,MAAS;AAAA,OACvB,GACF;AAAA,KACF;AAEJ;","names":[]}
@@ -0,0 +1,69 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ DEFAULT_BRANDING
4
+ } from "./chunk-LAPCUV4D.js";
5
+ import {
6
+ init_esm_shims
7
+ } from "./chunk-DHET7RCE.js";
8
+
9
+ // src/cli/utils/messages.ts
10
+ init_esm_shims();
11
+ var ERROR_MESSAGES = {
12
+ UNKNOWN_ERROR: "Unknown error occurred",
13
+ UNKNOWN_ERROR_SHORT: "Unknown error",
14
+ NO_INSTALLATION: `No installation found. Run 'cc init' first to set up ${DEFAULT_BRANDING.NAME}`,
15
+ NO_LOCAL_SKILLS: "No local skills found. Run `cc init` or `cc edit` first.",
16
+ NO_SKILLS_FOUND: "No skills found",
17
+ VALIDATION_FAILED: "Validation failed",
18
+ FAILED_RESOLVE_SOURCE: "Failed to resolve source",
19
+ FAILED_LOAD_AGENT_PARTIALS: "Failed to load agent partials",
20
+ FAILED_COMPILE_AGENTS: "Failed to compile agents",
21
+ SKILL_NOT_FOUND: "Skill not found"
22
+ };
23
+ var SUCCESS_MESSAGES = {
24
+ IMPORT_COMPLETE: "Import complete!",
25
+ UNINSTALL_COMPLETE: "Uninstall complete!",
26
+ INIT_SUCCESS: `${DEFAULT_BRANDING.NAME} initialized successfully!`,
27
+ PLUGIN_COMPILE_COMPLETE: "Plugin compile complete!",
28
+ CUSTOM_COMPILE_COMPLETE: "Custom output compile complete!",
29
+ ALL_SKILLS_UP_TO_DATE: "All skills are up to date."
30
+ };
31
+ var STATUS_MESSAGES = {
32
+ LOADING_SKILLS: "Loading skills...",
33
+ LOADING_MARKETPLACE_SOURCE: "Loading marketplace source...",
34
+ RECOMPILING_AGENTS: "Recompiling agents...",
35
+ COMPILING_AGENTS: "Compiling agents...",
36
+ DISCOVERING_SKILLS: "Discovering skills...",
37
+ RESOLVING_SOURCE: "Resolving source...",
38
+ RESOLVING_MARKETPLACE_SOURCE: "Resolving marketplace source...",
39
+ FETCHING_AGENT_PARTIALS: "Fetching agent partials...",
40
+ LOADING_AGENT_PARTIALS: "Loading agent partials...",
41
+ FETCHING_REPOSITORY: "Fetching repository...",
42
+ COPYING_SKILLS: "Copying skills...",
43
+ UPDATING_PLUGIN_SKILLS: "Updating plugin skills..."
44
+ };
45
+ var INFO_MESSAGES = {
46
+ NO_CHANGES_MADE: "No changes made.",
47
+ RUN_COMPILE: "Run 'cc compile' to include imported skills in your agents.",
48
+ NO_AGENTS_TO_RECOMPILE: "No agents to recompile",
49
+ NO_AGENTS_TO_COMPILE: "No agents to compile",
50
+ NO_PLUGIN_INSTALLATION: "No plugin installation found.",
51
+ NO_LOCAL_INSTALLATION: "No local installation found.",
52
+ NOT_INSTALLED: `${DEFAULT_BRANDING.NAME} is not installed in this project.`
53
+ };
54
+ var DRY_RUN_MESSAGES = {
55
+ PREVIEW_NO_FILES_REMOVED: "[dry-run] Preview mode - no files will be removed",
56
+ PREVIEW_NO_FILES_CREATED: "[dry-run] Preview mode - no files will be created",
57
+ COMPLETE_NO_FILES_REMOVED: "[dry-run] Preview complete - no files were removed",
58
+ COMPLETE_NO_FILES_WRITTEN: "[dry-run] Preview complete - no files were written",
59
+ COMPLETE_NO_FILES_CREATED: "[dry-run] Preview complete - no files were created"
60
+ };
61
+
62
+ export {
63
+ ERROR_MESSAGES,
64
+ SUCCESS_MESSAGES,
65
+ STATUS_MESSAGES,
66
+ INFO_MESSAGES,
67
+ DRY_RUN_MESSAGES
68
+ };
69
+ //# sourceMappingURL=chunk-R74PZWQS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/utils/messages.ts"],"sourcesContent":["import { DEFAULT_BRANDING } from \"../consts.js\";\n\nexport const ERROR_MESSAGES = {\n UNKNOWN_ERROR: \"Unknown error occurred\",\n UNKNOWN_ERROR_SHORT: \"Unknown error\",\n NO_INSTALLATION: `No installation found. Run 'cc init' first to set up ${DEFAULT_BRANDING.NAME}`,\n NO_LOCAL_SKILLS: \"No local skills found. Run `cc init` or `cc edit` first.\",\n NO_SKILLS_FOUND: \"No skills found\",\n VALIDATION_FAILED: \"Validation failed\",\n FAILED_RESOLVE_SOURCE: \"Failed to resolve source\",\n FAILED_LOAD_AGENT_PARTIALS: \"Failed to load agent partials\",\n FAILED_COMPILE_AGENTS: \"Failed to compile agents\",\n SKILL_NOT_FOUND: \"Skill not found\",\n} as const;\n\nexport const SUCCESS_MESSAGES = {\n IMPORT_COMPLETE: \"Import complete!\",\n UNINSTALL_COMPLETE: \"Uninstall complete!\",\n INIT_SUCCESS: `${DEFAULT_BRANDING.NAME} initialized successfully!`,\n PLUGIN_COMPILE_COMPLETE: \"Plugin compile complete!\",\n CUSTOM_COMPILE_COMPLETE: \"Custom output compile complete!\",\n ALL_SKILLS_UP_TO_DATE: \"All skills are up to date.\",\n} as const;\n\nexport const STATUS_MESSAGES = {\n LOADING_SKILLS: \"Loading skills...\",\n LOADING_MARKETPLACE_SOURCE: \"Loading marketplace source...\",\n RECOMPILING_AGENTS: \"Recompiling agents...\",\n COMPILING_AGENTS: \"Compiling agents...\",\n DISCOVERING_SKILLS: \"Discovering skills...\",\n RESOLVING_SOURCE: \"Resolving source...\",\n RESOLVING_MARKETPLACE_SOURCE: \"Resolving marketplace source...\",\n FETCHING_AGENT_PARTIALS: \"Fetching agent partials...\",\n LOADING_AGENT_PARTIALS: \"Loading agent partials...\",\n FETCHING_REPOSITORY: \"Fetching repository...\",\n COPYING_SKILLS: \"Copying skills...\",\n UPDATING_PLUGIN_SKILLS: \"Updating plugin skills...\",\n} as const;\n\nexport const INFO_MESSAGES = {\n NO_CHANGES_MADE: \"No changes made.\",\n RUN_COMPILE: \"Run 'cc compile' to include imported skills in your agents.\",\n NO_AGENTS_TO_RECOMPILE: \"No agents to recompile\",\n NO_AGENTS_TO_COMPILE: \"No agents to compile\",\n NO_PLUGIN_INSTALLATION: \"No plugin installation found.\",\n NO_LOCAL_INSTALLATION: \"No local installation found.\",\n NOT_INSTALLED: `${DEFAULT_BRANDING.NAME} is not installed in this project.`,\n} as const;\n\nexport const DRY_RUN_MESSAGES = {\n PREVIEW_NO_FILES_REMOVED: \"[dry-run] Preview mode - no files will be removed\",\n PREVIEW_NO_FILES_CREATED: \"[dry-run] Preview mode - no files will be created\",\n COMPLETE_NO_FILES_REMOVED: \"[dry-run] Preview complete - no files were removed\",\n COMPLETE_NO_FILES_WRITTEN: \"[dry-run] Preview complete - no files were written\",\n COMPLETE_NO_FILES_CREATED: \"[dry-run] Preview complete - no files were created\",\n} as const;\n"],"mappings":";;;;;;;;;AAAA;AAEO,IAAM,iBAAiB;AAAA,EAC5B,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,iBAAiB,wDAAwD,iBAAiB,IAAI;AAAA,EAC9F,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,uBAAuB;AAAA,EACvB,4BAA4B;AAAA,EAC5B,uBAAuB;AAAA,EACvB,iBAAiB;AACnB;AAEO,IAAM,mBAAmB;AAAA,EAC9B,iBAAiB;AAAA,EACjB,oBAAoB;AAAA,EACpB,cAAc,GAAG,iBAAiB,IAAI;AAAA,EACtC,yBAAyB;AAAA,EACzB,yBAAyB;AAAA,EACzB,uBAAuB;AACzB;AAEO,IAAM,kBAAkB;AAAA,EAC7B,gBAAgB;AAAA,EAChB,4BAA4B;AAAA,EAC5B,oBAAoB;AAAA,EACpB,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,kBAAkB;AAAA,EAClB,8BAA8B;AAAA,EAC9B,yBAAyB;AAAA,EACzB,wBAAwB;AAAA,EACxB,qBAAqB;AAAA,EACrB,gBAAgB;AAAA,EAChB,wBAAwB;AAC1B;AAEO,IAAM,gBAAgB;AAAA,EAC3B,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,wBAAwB;AAAA,EACxB,sBAAsB;AAAA,EACtB,wBAAwB;AAAA,EACxB,uBAAuB;AAAA,EACvB,eAAe,GAAG,iBAAiB,IAAI;AACzC;AAEO,IAAM,mBAAmB;AAAA,EAC9B,0BAA0B;AAAA,EAC1B,0BAA0B;AAAA,EAC1B,2BAA2B;AAAA,EAC3B,2BAA2B;AAAA,EAC3B,2BAA2B;AAC7B;","names":[]}
@@ -0,0 +1,45 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ typedKeys
4
+ } from "./chunk-T4EXUIBY.js";
5
+ import {
6
+ init_esm_shims
7
+ } from "./chunk-DHET7RCE.js";
8
+
9
+ // src/cli/components/wizard/utils.ts
10
+ init_esm_shims();
11
+ import { unique } from "remeda";
12
+ function getDomainDisplayName(domain) {
13
+ const displayNames = {
14
+ web: "Web",
15
+ "web-extras": "Web Extras",
16
+ api: "API",
17
+ cli: "CLI",
18
+ mobile: "Mobile",
19
+ shared: "Shared"
20
+ };
21
+ return displayNames[domain] || domain.charAt(0).toUpperCase() + domain.slice(1);
22
+ }
23
+ function getStackName(stackId, matrix) {
24
+ if (!stackId) return void 0;
25
+ const stack = matrix.suggestedStacks.find((s) => s.id === stackId);
26
+ return stack?.name;
27
+ }
28
+ function getDomainsFromStack(stack, categories) {
29
+ const subcategories = Object.values(stack.skills).flatMap(
30
+ (config) => config ? typedKeys(config) : []
31
+ );
32
+ return unique(
33
+ subcategories.flatMap((sub) => {
34
+ const d = categories[sub]?.domain;
35
+ return d ? [d] : [];
36
+ })
37
+ ).sort();
38
+ }
39
+
40
+ export {
41
+ getDomainDisplayName,
42
+ getStackName,
43
+ getDomainsFromStack
44
+ };
45
+ //# sourceMappingURL=chunk-SO22IQPY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/components/wizard/utils.ts"],"sourcesContent":["import { unique } from \"remeda\";\nimport type { CategoryMap, Domain, MergedSkillsMatrix, ResolvedStack } from \"../../types/index.js\";\nimport { typedKeys } from \"../../utils/typed-object.js\";\n\nexport function getDomainDisplayName(domain: Domain): string {\n const displayNames: Record<Domain, string> = {\n web: \"Web\",\n \"web-extras\": \"Web Extras\",\n api: \"API\",\n cli: \"CLI\",\n mobile: \"Mobile\",\n shared: \"Shared\",\n };\n return displayNames[domain] || domain.charAt(0).toUpperCase() + domain.slice(1);\n}\n\nexport function getStackName(\n stackId: string | null,\n matrix: MergedSkillsMatrix,\n): string | undefined {\n if (!stackId) return undefined;\n const stack = matrix.suggestedStacks.find((s) => s.id === stackId);\n return stack?.name;\n}\n\n/** Extract unique domains from a stack's agent-to-skill mappings. */\nexport function getDomainsFromStack(stack: ResolvedStack, categories: CategoryMap): Domain[] {\n const subcategories = Object.values(stack.skills).flatMap((config) =>\n config ? typedKeys(config) : [],\n );\n return unique(\n subcategories.flatMap((sub) => {\n const d = categories[sub]?.domain;\n return d ? [d] : [];\n }),\n ).sort();\n}\n"],"mappings":";;;;;;;;;AAAA;AAAA,SAAS,cAAc;AAIhB,SAAS,qBAAqB,QAAwB;AAC3D,QAAM,eAAuC;AAAA,IAC3C,KAAK;AAAA,IACL,cAAc;AAAA,IACd,KAAK;AAAA,IACL,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV;AACA,SAAO,aAAa,MAAM,KAAK,OAAO,OAAO,CAAC,EAAE,YAAY,IAAI,OAAO,MAAM,CAAC;AAChF;AAEO,SAAS,aACd,SACA,QACoB;AACpB,MAAI,CAAC,QAAS,QAAO;AACrB,QAAM,QAAQ,OAAO,gBAAgB,KAAK,CAAC,MAAM,EAAE,OAAO,OAAO;AACjE,SAAO,OAAO;AAChB;AAGO,SAAS,oBAAoB,OAAsB,YAAmC;AAC3F,QAAM,gBAAgB,OAAO,OAAO,MAAM,MAAM,EAAE;AAAA,IAAQ,CAAC,WACzD,SAAS,UAAU,MAAM,IAAI,CAAC;AAAA,EAChC;AACA,SAAO;AAAA,IACL,cAAc,QAAQ,CAAC,QAAQ;AAC7B,YAAM,IAAI,WAAW,GAAG,GAAG;AAC3B,aAAO,IAAI,CAAC,CAAC,IAAI,CAAC;AAAA,IACpB,CAAC;AAAA,EACH,EAAE,KAAK;AACT;","names":[]}
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ init_esm_shims
4
+ } from "./chunk-DHET7RCE.js";
5
+
6
+ // src/cli/utils/typed-object.ts
7
+ init_esm_shims();
8
+ function typedEntries(obj) {
9
+ return Object.entries(obj);
10
+ }
11
+ function typedKeys(obj) {
12
+ return Object.keys(obj);
13
+ }
14
+
15
+ export {
16
+ typedEntries,
17
+ typedKeys
18
+ };
19
+ //# sourceMappingURL=chunk-T4EXUIBY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/utils/typed-object.ts"],"sourcesContent":["// Type-safe Object.entries that preserves key types (avoids `as [K, V][]` casts)\nexport function typedEntries<K extends string, V>(obj: Partial<Record<K, V>>): [K, V][] {\n return Object.entries(obj) as [K, V][];\n}\n\n// Type-safe Object.keys that preserves key types (avoids `as K[]` casts)\nexport function typedKeys<K extends string>(obj: Partial<Record<K, unknown>>): K[] {\n return Object.keys(obj) as K[];\n}\n"],"mappings":";;;;;;AAAA;AACO,SAAS,aAAkC,KAAsC;AACtF,SAAO,OAAO,QAAQ,GAAG;AAC3B;AAGO,SAAS,UAA4B,KAAuC;AACjF,SAAO,OAAO,KAAK,GAAG;AACxB;","names":[]}
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ init_esm_shims
4
+ } from "./chunk-DHET7RCE.js";
5
+
6
+ // src/cli/components/hooks/use-text-input.ts
7
+ init_esm_shims();
8
+ import { useState, useCallback } from "react";
9
+ var MIN_PRINTABLE_CHAR_CODE = 32;
10
+ var MAX_PRINTABLE_CHAR_CODE = 126;
11
+ function useTextInput(initialValue = "") {
12
+ const [value, setValue] = useState(initialValue);
13
+ const handleInput = useCallback((input, key) => {
14
+ if (key.backspace || key.delete) {
15
+ setValue((prev) => prev.slice(0, -1));
16
+ return;
17
+ }
18
+ if (!key.ctrl && !key.meta && input && input.length === 1) {
19
+ const charCode = input.charCodeAt(0);
20
+ if (charCode >= MIN_PRINTABLE_CHAR_CODE && charCode <= MAX_PRINTABLE_CHAR_CODE) {
21
+ setValue((prev) => prev + input);
22
+ }
23
+ }
24
+ }, []);
25
+ return { value, setValue, handleInput };
26
+ }
27
+
28
+ export {
29
+ useTextInput
30
+ };
31
+ //# sourceMappingURL=chunk-U3IGFMCY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/components/hooks/use-text-input.ts"],"sourcesContent":["import { useState, useCallback } from \"react\";\nimport type { Key } from \"ink\";\n\nconst MIN_PRINTABLE_CHAR_CODE = 32;\nconst MAX_PRINTABLE_CHAR_CODE = 126;\n\ntype UseTextInputResult = {\n value: string;\n setValue: (value: string) => void;\n handleInput: (input: string, key: Key) => void;\n};\n\n/**\n * Encapsulates text input handling for terminal UIs:\n * backspace/delete to remove the last character, and\n * printable ASCII character filtering (codes 32-126).\n */\nexport function useTextInput(initialValue = \"\"): UseTextInputResult {\n const [value, setValue] = useState(initialValue);\n\n const handleInput = useCallback((input: string, key: Key) => {\n if (key.backspace || key.delete) {\n setValue((prev) => prev.slice(0, -1));\n return;\n }\n\n if (!key.ctrl && !key.meta && input && input.length === 1) {\n const charCode = input.charCodeAt(0);\n if (charCode >= MIN_PRINTABLE_CHAR_CODE && charCode <= MAX_PRINTABLE_CHAR_CODE) {\n setValue((prev) => prev + input);\n }\n }\n }, []);\n\n return { value, setValue, handleInput };\n}\n"],"mappings":";;;;;;AAAA;AAAA,SAAS,UAAU,mBAAmB;AAGtC,IAAM,0BAA0B;AAChC,IAAM,0BAA0B;AAazB,SAAS,aAAa,eAAe,IAAwB;AAClE,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,YAAY;AAE/C,QAAM,cAAc,YAAY,CAAC,OAAe,QAAa;AAC3D,QAAI,IAAI,aAAa,IAAI,QAAQ;AAC/B,eAAS,CAAC,SAAS,KAAK,MAAM,GAAG,EAAE,CAAC;AACpC;AAAA,IACF;AAEA,QAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,QAAQ,SAAS,MAAM,WAAW,GAAG;AACzD,YAAM,WAAW,MAAM,WAAW,CAAC;AACnC,UAAI,YAAY,2BAA2B,YAAY,yBAAyB;AAC9E,iBAAS,CAAC,SAAS,OAAO,KAAK;AAAA,MACjC;AAAA,IACF;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,SAAO,EAAE,OAAO,UAAU,YAAY;AACxC;","names":[]}
@@ -0,0 +1,318 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ buildSkillRefsFromConfig,
4
+ compileAgentForPlugin,
5
+ computeStringHash,
6
+ createLiquidEngine,
7
+ determinePluginVersion,
8
+ discoverAllPluginSkills,
9
+ extractFrontmatter,
10
+ fetchFromSource,
11
+ generateAgentPluginManifest,
12
+ getPluginAgentsDir,
13
+ getPluginManifestPath,
14
+ loadAllAgents,
15
+ loadProjectAgents,
16
+ loadProjectConfig,
17
+ loadProjectSourceConfig,
18
+ resolveAgents,
19
+ writeContentHash,
20
+ writePluginManifest
21
+ } from "./chunk-MM7NK5N2.js";
22
+ import {
23
+ typedEntries,
24
+ typedKeys
25
+ } from "./chunk-T4EXUIBY.js";
26
+ import {
27
+ agentFrontmatterValidationSchema,
28
+ copy,
29
+ directoryExists,
30
+ ensureDir,
31
+ formatZodErrors,
32
+ getErrorMessage,
33
+ glob,
34
+ log,
35
+ readFile,
36
+ verbose,
37
+ warn,
38
+ writeFile
39
+ } from "./chunk-BZN2Z5P7.js";
40
+ import {
41
+ CLAUDE_DIR,
42
+ DIRS,
43
+ PROJECT_ROOT
44
+ } from "./chunk-LAPCUV4D.js";
45
+ import {
46
+ init_esm_shims
47
+ } from "./chunk-DHET7RCE.js";
48
+
49
+ // src/cli/lib/agents/agent-fetcher.ts
50
+ init_esm_shims();
51
+ import path from "path";
52
+ async function getAgentDefinitions(remoteSource, options = {}) {
53
+ if (remoteSource) {
54
+ return fetchAgentDefinitionsFromRemote(remoteSource, options);
55
+ }
56
+ return getLocalAgentDefinitions(options);
57
+ }
58
+ async function getLocalAgentDefinitions(options = {}) {
59
+ const agentsDir = path.join(PROJECT_ROOT, DIRS.agents);
60
+ let templatesDir = path.join(PROJECT_ROOT, DIRS.templates);
61
+ if (!await directoryExists(agentsDir)) {
62
+ throw new Error(
63
+ `Agent partials not found at '${agentsDir}'. Ensure the CLI is properly installed.`
64
+ );
65
+ }
66
+ if (options.projectDir) {
67
+ const localTemplatesDir = path.join(options.projectDir, CLAUDE_DIR, "templates");
68
+ if (await directoryExists(localTemplatesDir)) {
69
+ verbose(`Using local templates from: ${localTemplatesDir}`);
70
+ templatesDir = localTemplatesDir;
71
+ }
72
+ }
73
+ if (!await directoryExists(templatesDir)) {
74
+ verbose(`Templates directory not found: ${templatesDir}`);
75
+ }
76
+ verbose(`Agent partials loaded from CLI: ${agentsDir}`);
77
+ verbose(`Templates directory: ${templatesDir}`);
78
+ return {
79
+ agentsDir,
80
+ templatesDir,
81
+ sourcePath: PROJECT_ROOT
82
+ };
83
+ }
84
+ async function fetchAgentDefinitionsFromRemote(source, options = {}) {
85
+ verbose(`Fetching agent partials from remote: ${source}`);
86
+ const result = await fetchFromSource(source, {
87
+ forceRefresh: options.forceRefresh,
88
+ subdir: ""
89
+ });
90
+ let agentsDirRelPath = options.agentsDir;
91
+ if (!agentsDirRelPath) {
92
+ const sourceProjectConfig = await loadProjectSourceConfig(result.path);
93
+ agentsDirRelPath = sourceProjectConfig?.agents_dir ?? DIRS.agents;
94
+ if (sourceProjectConfig?.agents_dir) {
95
+ verbose(`Using agents_dir from source config: ${sourceProjectConfig.agents_dir}`);
96
+ }
97
+ }
98
+ const agentsDir = path.join(result.path, agentsDirRelPath);
99
+ const templatesDir = path.join(agentsDir, "_templates");
100
+ if (!await directoryExists(agentsDir)) {
101
+ throw new Error(`Agent partials not found at '${agentsDir}'`);
102
+ }
103
+ if (!await directoryExists(templatesDir)) {
104
+ verbose(`Templates directory not found: ${templatesDir}`);
105
+ }
106
+ verbose(`Agent partials fetched from: ${result.path}`);
107
+ return {
108
+ agentsDir,
109
+ templatesDir,
110
+ sourcePath: result.path
111
+ };
112
+ }
113
+
114
+ // src/cli/lib/agents/agent-recompiler.ts
115
+ init_esm_shims();
116
+ import path2 from "path";
117
+ async function getExistingAgentNames(pluginDir) {
118
+ const agentsDir = getPluginAgentsDir(pluginDir);
119
+ const files = await glob("*.md", agentsDir);
120
+ return files.map((f) => path2.basename(f, ".md"));
121
+ }
122
+ async function resolveAgentNames(params) {
123
+ const { specifiedAgents, projectConfig, allAgents, outputDir, pluginDir } = params;
124
+ if (specifiedAgents) {
125
+ return specifiedAgents;
126
+ }
127
+ if (projectConfig?.agents) {
128
+ verbose(`Using agents from config.yaml: ${projectConfig.agents.join(", ")}`);
129
+ return projectConfig.agents;
130
+ }
131
+ if (outputDir) {
132
+ const names = typedKeys(allAgents);
133
+ verbose(`Using all available agents from source: ${names.join(", ")}`);
134
+ return names;
135
+ }
136
+ return getExistingAgentNames(pluginDir);
137
+ }
138
+ function buildCompileConfig(params) {
139
+ const { agentNames, allAgents, projectConfig, pluginDir } = params;
140
+ const warnings = [];
141
+ const compileAgents = {};
142
+ for (const agentName of agentNames) {
143
+ if (allAgents[agentName]) {
144
+ const agentStack = projectConfig?.stack?.[agentName];
145
+ compileAgents[agentName] = agentStack ? { skills: buildSkillRefsFromConfig(agentStack) } : {};
146
+ } else {
147
+ warnings.push(`Agent "${agentName}" not found in source definitions`);
148
+ }
149
+ }
150
+ const compileConfig = {
151
+ name: projectConfig?.name || path2.basename(pluginDir),
152
+ description: projectConfig?.description || "Recompiled plugin",
153
+ agents: compileAgents
154
+ };
155
+ return { compileConfig, warnings };
156
+ }
157
+ async function compileAndWriteAgents(params, result) {
158
+ const { resolvedAgents, agentsDir, sourcePath, engine, installMode } = params;
159
+ for (const [agentName, agent] of typedEntries(resolvedAgents)) {
160
+ try {
161
+ const output = await compileAgentForPlugin(agentName, agent, sourcePath, engine, installMode);
162
+ await writeFile(path2.join(agentsDir, `${agentName}.md`), output);
163
+ result.compiled.push(agentName);
164
+ verbose(` Recompiled: ${agentName}`);
165
+ } catch (error) {
166
+ result.failed.push(agentName);
167
+ result.warnings.push(`Failed to compile ${agentName}: ${getErrorMessage(error)}`);
168
+ }
169
+ }
170
+ }
171
+ async function recompileAgents(options) {
172
+ const { pluginDir, sourcePath, skills: providedSkills, projectDir, outputDir } = options;
173
+ const result = {
174
+ compiled: [],
175
+ failed: [],
176
+ warnings: []
177
+ };
178
+ const configDir = projectDir ?? pluginDir;
179
+ const loadedConfig = await loadProjectConfig(configDir);
180
+ const projectConfig = loadedConfig?.config ?? null;
181
+ const builtinAgents = await loadAllAgents(sourcePath);
182
+ const projectAgents = projectDir ? await loadProjectAgents(projectDir) : {};
183
+ const allAgents = {
184
+ ...builtinAgents,
185
+ ...projectAgents
186
+ };
187
+ const agentNames = await resolveAgentNames({
188
+ specifiedAgents: options.agents,
189
+ projectConfig,
190
+ allAgents,
191
+ outputDir,
192
+ pluginDir
193
+ });
194
+ if (agentNames.length === 0) {
195
+ result.warnings.push("No agents found to recompile");
196
+ return result;
197
+ }
198
+ verbose(`Recompiling ${agentNames.length} agents in ${outputDir ?? pluginDir}`);
199
+ let pluginSkills;
200
+ if (providedSkills) {
201
+ pluginSkills = providedSkills;
202
+ } else {
203
+ pluginSkills = await discoverAllPluginSkills(projectDir ?? pluginDir);
204
+ }
205
+ const { compileConfig, warnings } = buildCompileConfig({
206
+ agentNames,
207
+ allAgents,
208
+ projectConfig,
209
+ pluginDir
210
+ });
211
+ result.warnings.push(...warnings);
212
+ const engine = await createLiquidEngine(projectDir);
213
+ const resolvedAgents = await resolveAgents(allAgents, pluginSkills, compileConfig, sourcePath);
214
+ const agentsDir = outputDir ?? getPluginAgentsDir(pluginDir);
215
+ await ensureDir(agentsDir);
216
+ await compileAndWriteAgents(
217
+ {
218
+ resolvedAgents,
219
+ agentsDir,
220
+ sourcePath,
221
+ engine,
222
+ installMode: projectConfig?.installMode
223
+ },
224
+ result
225
+ );
226
+ return result;
227
+ }
228
+
229
+ // src/cli/lib/agents/agent-plugin-compiler.ts
230
+ init_esm_shims();
231
+ import path3 from "path";
232
+ function parseAgentFrontmatter(content, filePath) {
233
+ const raw = extractFrontmatter(content);
234
+ if (!raw) {
235
+ return null;
236
+ }
237
+ const result = agentFrontmatterValidationSchema.safeParse(raw);
238
+ if (!result.success) {
239
+ warn(`Invalid agent frontmatter in ${filePath}: ${formatZodErrors(result.error.issues)}`);
240
+ return null;
241
+ }
242
+ return { name: result.data.name, description: result.data.description };
243
+ }
244
+ async function compileAgentPlugin(options) {
245
+ const { agentPath, outputDir } = options;
246
+ const fileName = path3.basename(agentPath);
247
+ const content = await readFile(agentPath);
248
+ const frontmatter = parseAgentFrontmatter(content, agentPath);
249
+ if (!frontmatter) {
250
+ throw new Error(
251
+ `Agent '${fileName}' has invalid or missing YAML frontmatter. Required fields: 'name' and 'description'. File: ${agentPath}`
252
+ );
253
+ }
254
+ const agentName = frontmatter.name;
255
+ verbose(`Compiling agent plugin: ${agentName} from ${agentPath}`);
256
+ const pluginDir = path3.join(outputDir, `agent-${agentName}`);
257
+ const agentsDir = path3.join(pluginDir, "agents");
258
+ await ensureDir(pluginDir);
259
+ await ensureDir(agentsDir);
260
+ const newHash = computeStringHash(content);
261
+ const { version, contentHash } = await determinePluginVersion(
262
+ newHash,
263
+ pluginDir,
264
+ getPluginManifestPath
265
+ );
266
+ const manifest = generateAgentPluginManifest({
267
+ agentName,
268
+ description: frontmatter.description,
269
+ version
270
+ });
271
+ await writePluginManifest(pluginDir, manifest);
272
+ await writeContentHash(pluginDir, contentHash, getPluginManifestPath);
273
+ verbose(` Wrote plugin.json for ${agentName} (v${version})`);
274
+ await copy(agentPath, path3.join(agentsDir, `${agentName}.md`));
275
+ verbose(` Copied agent ${fileName} -> agents/${agentName}.md`);
276
+ return {
277
+ pluginPath: pluginDir,
278
+ manifest,
279
+ agentName
280
+ };
281
+ }
282
+ async function compileAllAgentPlugins(agentsDir, outputDir) {
283
+ const results = [];
284
+ const agentMdFiles = await glob("*.md", agentsDir);
285
+ for (const agentFile of agentMdFiles) {
286
+ const agentPath = path3.join(agentsDir, agentFile);
287
+ try {
288
+ const result = await compileAgentPlugin({
289
+ agentPath,
290
+ outputDir
291
+ });
292
+ results.push(result);
293
+ log(` [OK] agent-${result.agentName}`);
294
+ } catch (error) {
295
+ const errorMessage = getErrorMessage(error);
296
+ warn(`Failed to compile agent from '${agentFile}': ${errorMessage}`);
297
+ }
298
+ }
299
+ return results;
300
+ }
301
+ function printAgentCompilationSummary(results) {
302
+ log(`
303
+ Compiled ${results.length} agent plugins:`);
304
+ for (const result of results) {
305
+ log(` - agent-${result.agentName} (v${result.manifest.version})`);
306
+ }
307
+ }
308
+
309
+ // src/cli/lib/agents/index.ts
310
+ init_esm_shims();
311
+
312
+ export {
313
+ getAgentDefinitions,
314
+ recompileAgents,
315
+ compileAllAgentPlugins,
316
+ printAgentCompilationSummary
317
+ };
318
+ //# sourceMappingURL=chunk-UICL22RT.js.map