agents-inc 0.152.1 → 0.153.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 (440) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +31 -35
  3. package/dist/{chunk-LDP5ASDM.js → chunk-2HC2SNRP.js} +2 -15
  4. package/dist/chunk-2HC2SNRP.js.map +1 -0
  5. package/dist/{chunk-WKTHWQKM.js → chunk-35VOK7XE.js} +1338 -2573
  6. package/dist/chunk-35VOK7XE.js.map +1 -0
  7. package/dist/{chunk-SX5H6TSC.js → chunk-4VYALFQZ.js} +11 -8
  8. package/dist/chunk-4VYALFQZ.js.map +1 -0
  9. package/dist/{chunk-KXYVJGJP.js → chunk-6CNRMCFM.js} +3 -2
  10. package/dist/{chunk-KXYVJGJP.js.map → chunk-6CNRMCFM.js.map} +1 -1
  11. package/dist/{chunk-LZ52XEPR.js → chunk-ACKC577F.js} +7 -6
  12. package/dist/chunk-ACKC577F.js.map +1 -0
  13. package/dist/{chunk-XHUODHZ4.js → chunk-BMGBA6HJ.js} +22 -49
  14. package/dist/chunk-BMGBA6HJ.js.map +1 -0
  15. package/dist/{chunk-FVDKAVOL.js → chunk-EFU6P3B7.js} +18 -51
  16. package/dist/chunk-EFU6P3B7.js.map +1 -0
  17. package/dist/{chunk-STMHDOZD.js → chunk-F7Z5I6GU.js} +12 -9
  18. package/dist/chunk-F7Z5I6GU.js.map +1 -0
  19. package/dist/{chunk-E5X6RJ4E.js → chunk-FIHTAFST.js} +29 -26
  20. package/dist/chunk-FIHTAFST.js.map +1 -0
  21. package/dist/{chunk-QZZJFYUQ.js → chunk-FRWKCE6R.js} +3 -3
  22. package/dist/chunk-FRWKCE6R.js.map +1 -0
  23. package/dist/{chunk-5UWKOOIS.js → chunk-HEBPKK5L.js} +129 -195
  24. package/dist/chunk-HEBPKK5L.js.map +1 -0
  25. package/dist/{chunk-MJ2KHG24.js → chunk-IO4VEW5U.js} +6 -6
  26. package/dist/{chunk-MJ2KHG24.js.map → chunk-IO4VEW5U.js.map} +1 -1
  27. package/dist/{chunk-TUPYW2IQ.js → chunk-JC7DBPRD.js} +9 -12
  28. package/dist/chunk-JC7DBPRD.js.map +1 -0
  29. package/dist/{chunk-5GUOIJSG.js → chunk-JFAUQDZM.js} +3 -15
  30. package/dist/chunk-JFAUQDZM.js.map +1 -0
  31. package/dist/{chunk-ZL7PFNHN.js → chunk-K3O3YQYG.js} +2 -2
  32. package/dist/{chunk-SKQWRUPX.js → chunk-K7PJDWER.js} +59 -33
  33. package/dist/chunk-K7PJDWER.js.map +1 -0
  34. package/dist/{chunk-MVR3SYMN.js → chunk-KET3EVGX.js} +4 -3
  35. package/dist/{chunk-MVR3SYMN.js.map → chunk-KET3EVGX.js.map} +1 -1
  36. package/dist/{chunk-MWG4VU64.js → chunk-M5HSTNYU.js} +50 -56
  37. package/dist/chunk-M5HSTNYU.js.map +1 -0
  38. package/dist/{chunk-TJJPWUMA.js → chunk-NSJ2S7R5.js} +3 -2
  39. package/dist/{chunk-TJJPWUMA.js.map → chunk-NSJ2S7R5.js.map} +1 -1
  40. package/dist/{chunk-IHUY4M22.js → chunk-NXGMM5YN.js} +4 -4
  41. package/dist/chunk-NXQAY5U7.js +18441 -0
  42. package/dist/chunk-NXQAY5U7.js.map +1 -0
  43. package/dist/{chunk-Q2KG7UV3.js → chunk-OJJLYHM3.js} +2 -1
  44. package/dist/{chunk-Q2KG7UV3.js.map → chunk-OJJLYHM3.js.map} +1 -1
  45. package/dist/{chunk-PZIZNMHK.js → chunk-ORJ5Y222.js} +159 -138
  46. package/dist/chunk-ORJ5Y222.js.map +1 -0
  47. package/dist/{chunk-NR3OZGL4.js → chunk-OZXAJNLA.js} +2 -1
  48. package/dist/{chunk-NR3OZGL4.js.map → chunk-OZXAJNLA.js.map} +1 -1
  49. package/dist/{chunk-MM7CTTAV.js → chunk-Q5FLW4JG.js} +2 -2
  50. package/dist/{chunk-MM7CTTAV.js.map → chunk-Q5FLW4JG.js.map} +1 -1
  51. package/dist/{chunk-GRVKW3CC.js → chunk-R4SEU3DF.js} +3 -2
  52. package/dist/{chunk-GRVKW3CC.js.map → chunk-R4SEU3DF.js.map} +1 -1
  53. package/dist/{chunk-76ADG7LQ.js → chunk-R54KIGN2.js} +8 -22
  54. package/dist/chunk-R54KIGN2.js.map +1 -0
  55. package/dist/{chunk-SBHBBZKF.js → chunk-REKOWTIB.js} +25 -120
  56. package/dist/chunk-REKOWTIB.js.map +1 -0
  57. package/dist/chunk-TY6CAOL7.js +40 -0
  58. package/dist/chunk-TY6CAOL7.js.map +1 -0
  59. package/dist/{chunk-BNSRA6HL.js → chunk-U2DNAHFE.js} +39 -176
  60. package/dist/chunk-U2DNAHFE.js.map +1 -0
  61. package/dist/{chunk-PMM2MYMA.js → chunk-U2YSGBHA.js} +624 -349
  62. package/dist/chunk-U2YSGBHA.js.map +1 -0
  63. package/dist/{chunk-DTSG5XZB.js → chunk-V3ENMW7G.js} +3 -3
  64. package/dist/{chunk-L7SZXUBJ.js → chunk-VECFAKM5.js} +7 -6
  65. package/dist/{chunk-L7SZXUBJ.js.map → chunk-VECFAKM5.js.map} +1 -1
  66. package/dist/chunk-VGEBYCQZ.js +59 -0
  67. package/dist/chunk-VGEBYCQZ.js.map +1 -0
  68. package/dist/chunk-VZRO7RYT.js +3694 -0
  69. package/dist/chunk-VZRO7RYT.js.map +1 -0
  70. package/dist/{chunk-LASI35KT.js → chunk-WDAO3RUY.js} +14 -28
  71. package/dist/chunk-WDAO3RUY.js.map +1 -0
  72. package/dist/{chunk-MQ7FLIYS.js → chunk-WG6V6VJV.js} +3 -2
  73. package/dist/{chunk-MQ7FLIYS.js.map → chunk-WG6V6VJV.js.map} +1 -1
  74. package/dist/chunk-X5XJ6WKO.js +284 -0
  75. package/dist/chunk-X5XJ6WKO.js.map +1 -0
  76. package/dist/{chunk-RNJWAKMO.js → chunk-XGMOXMS4.js} +9 -8
  77. package/dist/chunk-XGMOXMS4.js.map +1 -0
  78. package/dist/{chunk-IUQBOCSU.js → chunk-ZBPEFQ4G.js} +2 -1
  79. package/dist/{chunk-IUQBOCSU.js.map → chunk-ZBPEFQ4G.js.map} +1 -1
  80. package/dist/{chunk-QRDTLVXG.js → chunk-ZNDLUWWD.js} +9 -22
  81. package/dist/chunk-ZNDLUWWD.js.map +1 -0
  82. package/dist/commands/build/marketplace.js +114 -35
  83. package/dist/commands/build/marketplace.js.map +1 -1
  84. package/dist/commands/build/plugins.js +9 -10
  85. package/dist/commands/build/plugins.js.map +1 -1
  86. package/dist/commands/compile.js +97 -70
  87. package/dist/commands/compile.js.map +1 -1
  88. package/dist/commands/doctor.js +793 -64
  89. package/dist/commands/doctor.js.map +1 -1
  90. package/dist/commands/edit.js +169 -208
  91. package/dist/commands/edit.js.map +1 -1
  92. package/dist/commands/eject.js +24 -39
  93. package/dist/commands/eject.js.map +1 -1
  94. package/dist/commands/init.js +41 -46
  95. package/dist/commands/list.js +10 -12
  96. package/dist/commands/list.js.map +1 -1
  97. package/dist/commands/search.js +20 -81
  98. package/dist/commands/search.js.map +1 -1
  99. package/dist/commands/uninstall.js +25 -31
  100. package/dist/commands/uninstall.js.map +1 -1
  101. package/dist/commands/update.js +82 -332
  102. package/dist/commands/update.js.map +1 -1
  103. package/dist/components/common/confirm.js +1 -1
  104. package/dist/components/common/prompt-confirm.js +1 -1
  105. package/dist/components/common/select-list.js +2 -2
  106. package/dist/components/common/spinner.js +1 -1
  107. package/dist/components/wizard/category-grid.js +5 -6
  108. package/dist/components/wizard/checkbox-grid.js +5 -6
  109. package/dist/components/wizard/domain-selection.js +12 -13
  110. package/dist/components/wizard/run-wizard-session.js +30 -36
  111. package/dist/components/wizard/scroll-affordance.js +2 -2
  112. package/dist/components/wizard/skill-agent-summary.js +7 -7
  113. package/dist/components/wizard/source-grid.js +6 -11
  114. package/dist/components/wizard/stack-selection.js +9 -9
  115. package/dist/components/wizard/step-agents.js +12 -12
  116. package/dist/components/wizard/step-build.js +10 -11
  117. package/dist/components/wizard/step-confirm.js +11 -11
  118. package/dist/components/wizard/step-sources.js +11 -17
  119. package/dist/components/wizard/step-stack.js +10 -10
  120. package/dist/components/wizard/summary-panel.js +10 -10
  121. package/dist/components/wizard/toast.js +2 -2
  122. package/dist/components/wizard/wizard-layout.js +15 -16
  123. package/dist/components/wizard/wizard-tabs.js +6 -12
  124. package/dist/components/wizard/wizard.js +29 -35
  125. package/dist/config-exports.js +1 -1
  126. package/dist/copy-local-skills-KF2RAVD3.js +14 -0
  127. package/dist/hooks/init.js +49 -48
  128. package/dist/hooks/init.js.map +1 -1
  129. package/dist/index.js +3 -1
  130. package/dist/index.js.map +1 -1
  131. package/dist/load-agent-defs-DGXGBU3Q.js +15 -0
  132. package/dist/{loader-5JP4S7CJ.js → loader-4U7UCE2Y.js} +7 -5
  133. package/dist/recompile-project-agents-CJVBAWDJ.js +20 -0
  134. package/dist/{source-loader-MZYCPL2S.js → source-loader-ZNSYJJCI.js} +6 -6
  135. package/dist/src/agents/developer/ai-developer/identity.md +4 -4
  136. package/dist/src/agents/developer/ai-developer/playbook.md +1 -1
  137. package/dist/src/agents/developer/api-developer/identity.md +4 -4
  138. package/dist/src/agents/developer/api-developer/metadata.yaml +1 -1
  139. package/dist/src/agents/developer/cli-developer/identity.md +4 -4
  140. package/dist/src/agents/developer/web-developer/identity.md +2 -2
  141. package/dist/src/agents/developer/web-developer/metadata.yaml +1 -1
  142. package/dist/src/agents/meta/agent-summoner/identity.md +4 -5
  143. package/dist/src/agents/meta/agent-summoner/output.md +2 -2
  144. package/dist/src/agents/meta/agent-summoner/playbook.md +15 -16
  145. package/dist/src/agents/meta/codex-keeper/identity.md +4 -4
  146. package/dist/src/agents/meta/codex-keeper/playbook.md +1 -1
  147. package/dist/src/agents/meta/convention-keeper/identity.md +1 -1
  148. package/dist/src/agents/meta/skill-summoner/critical-reminders.md +0 -34
  149. package/dist/src/agents/meta/skill-summoner/critical-requirements.md +27 -3
  150. package/dist/src/agents/meta/skill-summoner/identity.md +2 -2
  151. package/{src/agents/planning/web-pm → dist/src/agents/planning/pm}/critical-reminders.md +10 -7
  152. package/dist/src/agents/planning/{web-pm → pm}/critical-requirements.md +8 -4
  153. package/dist/src/agents/planning/pm/identity.md +47 -0
  154. package/dist/src/agents/planning/pm/metadata.yaml +12 -0
  155. package/dist/src/agents/planning/{web-pm → pm}/output.md +7 -90
  156. package/dist/src/agents/planning/pm/playbook.md +185 -0
  157. package/dist/src/agents/researcher/ai-researcher/critical-reminders.md +58 -0
  158. package/dist/src/agents/researcher/ai-researcher/critical-requirements.md +40 -0
  159. package/dist/src/agents/researcher/ai-researcher/identity.md +86 -0
  160. package/dist/src/agents/researcher/ai-researcher/metadata.yaml +10 -0
  161. package/dist/src/agents/researcher/ai-researcher/output.md +363 -0
  162. package/dist/src/agents/researcher/ai-researcher/playbook.md +545 -0
  163. package/dist/src/agents/researcher/api-researcher/critical-reminders.md +16 -0
  164. package/dist/src/agents/researcher/api-researcher/identity.md +7 -7
  165. package/dist/src/agents/researcher/cli-researcher/critical-reminders.md +50 -0
  166. package/dist/src/agents/researcher/cli-researcher/critical-requirements.md +36 -0
  167. package/dist/src/agents/researcher/cli-researcher/identity.md +87 -0
  168. package/dist/src/agents/researcher/cli-researcher/metadata.yaml +10 -0
  169. package/dist/src/agents/researcher/cli-researcher/output.md +343 -0
  170. package/dist/src/agents/researcher/cli-researcher/playbook.md +370 -0
  171. package/dist/src/agents/researcher/web-researcher/identity.md +5 -6
  172. package/dist/src/agents/reviewer/reviewer/critical-reminders.md +29 -0
  173. package/dist/src/agents/reviewer/reviewer/critical-requirements.md +31 -0
  174. package/dist/src/agents/reviewer/reviewer/identity.md +41 -0
  175. package/dist/src/agents/reviewer/reviewer/metadata.yaml +12 -0
  176. package/dist/src/agents/reviewer/reviewer/output.md +202 -0
  177. package/dist/src/agents/reviewer/reviewer/playbook.md +141 -0
  178. package/dist/src/agents/tester/ai-tester/critical-reminders.md +48 -0
  179. package/dist/src/agents/tester/ai-tester/critical-requirements.md +49 -0
  180. package/dist/src/agents/tester/ai-tester/identity.md +62 -0
  181. package/dist/src/agents/tester/ai-tester/metadata.yaml +12 -0
  182. package/dist/src/agents/tester/ai-tester/output.md +375 -0
  183. package/dist/src/agents/tester/ai-tester/playbook.md +789 -0
  184. package/dist/src/agents/tester/api-tester/identity.md +3 -3
  185. package/dist/src/agents/tester/cli-tester/critical-reminders.md +3 -3
  186. package/dist/src/agents/tester/cli-tester/critical-requirements.md +2 -2
  187. package/dist/src/agents/tester/cli-tester/identity.md +3 -3
  188. package/dist/src/agents/tester/cli-tester/output.md +4 -4
  189. package/dist/src/agents/tester/cli-tester/playbook.md +3 -3
  190. package/dist/src/agents/tester/web-tester/identity.md +3 -3
  191. package/dist/stores/wizard-store.js +8 -6
  192. package/package.json +13 -2
  193. package/src/agents/developer/ai-developer/identity.md +4 -4
  194. package/src/agents/developer/ai-developer/playbook.md +1 -1
  195. package/src/agents/developer/api-developer/identity.md +4 -4
  196. package/src/agents/developer/api-developer/metadata.yaml +1 -1
  197. package/src/agents/developer/cli-developer/identity.md +4 -4
  198. package/src/agents/developer/web-developer/identity.md +2 -2
  199. package/src/agents/developer/web-developer/metadata.yaml +1 -1
  200. package/src/agents/meta/agent-summoner/identity.md +4 -5
  201. package/src/agents/meta/agent-summoner/output.md +2 -2
  202. package/src/agents/meta/agent-summoner/playbook.md +15 -16
  203. package/src/agents/meta/codex-keeper/identity.md +4 -4
  204. package/src/agents/meta/codex-keeper/playbook.md +1 -1
  205. package/src/agents/meta/convention-keeper/identity.md +1 -1
  206. package/src/agents/meta/skill-summoner/critical-reminders.md +0 -34
  207. package/src/agents/meta/skill-summoner/critical-requirements.md +27 -3
  208. package/src/agents/meta/skill-summoner/identity.md +2 -2
  209. package/{dist/src/agents/planning/web-pm → src/agents/planning/pm}/critical-reminders.md +10 -7
  210. package/src/agents/planning/{web-pm → pm}/critical-requirements.md +8 -4
  211. package/src/agents/planning/pm/identity.md +47 -0
  212. package/src/agents/planning/pm/metadata.yaml +12 -0
  213. package/src/agents/planning/{web-pm → pm}/output.md +7 -90
  214. package/src/agents/planning/pm/playbook.md +185 -0
  215. package/src/agents/researcher/ai-researcher/critical-reminders.md +58 -0
  216. package/src/agents/researcher/ai-researcher/critical-requirements.md +40 -0
  217. package/src/agents/researcher/ai-researcher/identity.md +86 -0
  218. package/src/agents/researcher/ai-researcher/metadata.yaml +10 -0
  219. package/src/agents/researcher/ai-researcher/output.md +363 -0
  220. package/src/agents/researcher/ai-researcher/playbook.md +545 -0
  221. package/src/agents/researcher/api-researcher/critical-reminders.md +16 -0
  222. package/src/agents/researcher/api-researcher/identity.md +7 -7
  223. package/src/agents/researcher/cli-researcher/critical-reminders.md +50 -0
  224. package/src/agents/researcher/cli-researcher/critical-requirements.md +36 -0
  225. package/src/agents/researcher/cli-researcher/identity.md +87 -0
  226. package/src/agents/researcher/cli-researcher/metadata.yaml +10 -0
  227. package/src/agents/researcher/cli-researcher/output.md +343 -0
  228. package/src/agents/researcher/cli-researcher/playbook.md +370 -0
  229. package/src/agents/researcher/web-researcher/identity.md +5 -6
  230. package/src/agents/reviewer/reviewer/critical-reminders.md +29 -0
  231. package/src/agents/reviewer/reviewer/critical-requirements.md +31 -0
  232. package/src/agents/reviewer/reviewer/identity.md +41 -0
  233. package/src/agents/reviewer/reviewer/metadata.yaml +12 -0
  234. package/src/agents/reviewer/reviewer/output.md +202 -0
  235. package/src/agents/reviewer/reviewer/playbook.md +141 -0
  236. package/src/agents/tester/ai-tester/critical-reminders.md +48 -0
  237. package/src/agents/tester/ai-tester/critical-requirements.md +49 -0
  238. package/src/agents/tester/ai-tester/identity.md +62 -0
  239. package/src/agents/tester/ai-tester/metadata.yaml +12 -0
  240. package/src/agents/tester/ai-tester/output.md +375 -0
  241. package/src/agents/tester/ai-tester/playbook.md +789 -0
  242. package/src/agents/tester/api-tester/identity.md +3 -3
  243. package/src/agents/tester/cli-tester/critical-reminders.md +3 -3
  244. package/src/agents/tester/cli-tester/critical-requirements.md +2 -2
  245. package/src/agents/tester/cli-tester/identity.md +3 -3
  246. package/src/agents/tester/cli-tester/output.md +4 -4
  247. package/src/agents/tester/cli-tester/playbook.md +3 -3
  248. package/src/agents/tester/web-tester/identity.md +3 -3
  249. package/src/schemas/metadata.schema.json +31 -2
  250. package/src/schemas/project-config.schema.json +61 -15
  251. package/src/schemas/project-source-config.schema.json +0 -47
  252. package/dist/chunk-5GUOIJSG.js.map +0 -1
  253. package/dist/chunk-5UWKOOIS.js.map +0 -1
  254. package/dist/chunk-76ADG7LQ.js.map +0 -1
  255. package/dist/chunk-BNSRA6HL.js.map +0 -1
  256. package/dist/chunk-E5X6RJ4E.js.map +0 -1
  257. package/dist/chunk-EEPELKOM.js +0 -5938
  258. package/dist/chunk-EEPELKOM.js.map +0 -1
  259. package/dist/chunk-F7T5AFFN.js +0 -20
  260. package/dist/chunk-F7T5AFFN.js.map +0 -1
  261. package/dist/chunk-FVDKAVOL.js.map +0 -1
  262. package/dist/chunk-KFB5CRXZ.js +0 -377
  263. package/dist/chunk-KFB5CRXZ.js.map +0 -1
  264. package/dist/chunk-KR65TPKC.js +0 -664
  265. package/dist/chunk-KR65TPKC.js.map +0 -1
  266. package/dist/chunk-LASI35KT.js.map +0 -1
  267. package/dist/chunk-LDP5ASDM.js.map +0 -1
  268. package/dist/chunk-LZ52XEPR.js.map +0 -1
  269. package/dist/chunk-M7HO7NBK.js +0 -88
  270. package/dist/chunk-M7HO7NBK.js.map +0 -1
  271. package/dist/chunk-MWG4VU64.js.map +0 -1
  272. package/dist/chunk-ODNDXQH2.js +0 -77
  273. package/dist/chunk-ODNDXQH2.js.map +0 -1
  274. package/dist/chunk-P44SXVH3.js +0 -80
  275. package/dist/chunk-P44SXVH3.js.map +0 -1
  276. package/dist/chunk-PMM2MYMA.js.map +0 -1
  277. package/dist/chunk-PZIZNMHK.js.map +0 -1
  278. package/dist/chunk-Q45ZU6HD.js +0 -37
  279. package/dist/chunk-Q45ZU6HD.js.map +0 -1
  280. package/dist/chunk-QRDTLVXG.js.map +0 -1
  281. package/dist/chunk-QZZJFYUQ.js.map +0 -1
  282. package/dist/chunk-R5NOI2LP.js +0 -170
  283. package/dist/chunk-R5NOI2LP.js.map +0 -1
  284. package/dist/chunk-RNJWAKMO.js.map +0 -1
  285. package/dist/chunk-SBHBBZKF.js.map +0 -1
  286. package/dist/chunk-SKQWRUPX.js.map +0 -1
  287. package/dist/chunk-STMHDOZD.js.map +0 -1
  288. package/dist/chunk-SX5H6TSC.js.map +0 -1
  289. package/dist/chunk-TUPYW2IQ.js.map +0 -1
  290. package/dist/chunk-UBEDZ4FD.js +0 -4198
  291. package/dist/chunk-UBEDZ4FD.js.map +0 -1
  292. package/dist/chunk-VY6MNOXL.js +0 -20
  293. package/dist/chunk-VY6MNOXL.js.map +0 -1
  294. package/dist/chunk-WBCPLH66.js +0 -42
  295. package/dist/chunk-WBCPLH66.js.map +0 -1
  296. package/dist/chunk-WKTHWQKM.js.map +0 -1
  297. package/dist/chunk-XHUODHZ4.js.map +0 -1
  298. package/dist/chunk-ZPPHXXAP.js +0 -252
  299. package/dist/chunk-ZPPHXXAP.js.map +0 -1
  300. package/dist/commands/import/skill.js +0 -344
  301. package/dist/commands/import/skill.js.map +0 -1
  302. package/dist/commands/new/agent.js +0 -300
  303. package/dist/commands/new/agent.js.map +0 -1
  304. package/dist/commands/new/marketplace.js +0 -310
  305. package/dist/commands/new/marketplace.js.map +0 -1
  306. package/dist/commands/new/skill.js +0 -26
  307. package/dist/commands/validate.js +0 -575
  308. package/dist/commands/validate.js.map +0 -1
  309. package/dist/components/wizard/search-modal.js +0 -13
  310. package/dist/components/wizard/selection-card.js +0 -9
  311. package/dist/components/wizard/step-settings.js +0 -18
  312. package/dist/copy-local-skills-6EMVN7RB.js +0 -14
  313. package/dist/load-agent-defs-BWOUVEAR.js +0 -15
  314. package/dist/load-agent-defs-BWOUVEAR.js.map +0 -1
  315. package/dist/loader-5JP4S7CJ.js.map +0 -1
  316. package/dist/recompile-project-agents-6DL45TDI.js +0 -19
  317. package/dist/recompile-project-agents-6DL45TDI.js.map +0 -1
  318. package/dist/source-loader-MZYCPL2S.js.map +0 -1
  319. package/dist/src/agents/developer/web-architecture/critical-reminders.md +0 -48
  320. package/dist/src/agents/developer/web-architecture/critical-requirements.md +0 -65
  321. package/dist/src/agents/developer/web-architecture/identity.md +0 -64
  322. package/dist/src/agents/developer/web-architecture/metadata.yaml +0 -12
  323. package/dist/src/agents/developer/web-architecture/output.md +0 -449
  324. package/dist/src/agents/developer/web-architecture/playbook.md +0 -481
  325. package/dist/src/agents/pattern/pattern-scout/critical-reminders.md +0 -71
  326. package/dist/src/agents/pattern/pattern-scout/critical-requirements.md +0 -31
  327. package/dist/src/agents/pattern/pattern-scout/identity.md +0 -25
  328. package/dist/src/agents/pattern/pattern-scout/metadata.yaml +0 -10
  329. package/dist/src/agents/pattern/pattern-scout/output.md +0 -290
  330. package/dist/src/agents/pattern/pattern-scout/playbook.md +0 -1806
  331. package/dist/src/agents/pattern/web-pattern-critique/critical-reminders.md +0 -30
  332. package/dist/src/agents/pattern/web-pattern-critique/critical-requirements.md +0 -28
  333. package/dist/src/agents/pattern/web-pattern-critique/identity.md +0 -41
  334. package/dist/src/agents/pattern/web-pattern-critique/metadata.yaml +0 -12
  335. package/dist/src/agents/pattern/web-pattern-critique/output.md +0 -314
  336. package/dist/src/agents/pattern/web-pattern-critique/playbook.md +0 -572
  337. package/dist/src/agents/planning/api-pm/critical-reminders.md +0 -48
  338. package/dist/src/agents/planning/api-pm/critical-requirements.md +0 -41
  339. package/dist/src/agents/planning/api-pm/identity.md +0 -39
  340. package/dist/src/agents/planning/api-pm/metadata.yaml +0 -12
  341. package/dist/src/agents/planning/api-pm/output.md +0 -475
  342. package/dist/src/agents/planning/api-pm/playbook.md +0 -129
  343. package/dist/src/agents/planning/web-pm/identity.md +0 -26
  344. package/dist/src/agents/planning/web-pm/metadata.yaml +0 -12
  345. package/dist/src/agents/planning/web-pm/playbook.md +0 -318
  346. package/dist/src/agents/reviewer/ai-reviewer/critical-reminders.md +0 -40
  347. package/dist/src/agents/reviewer/ai-reviewer/critical-requirements.md +0 -37
  348. package/dist/src/agents/reviewer/ai-reviewer/identity.md +0 -51
  349. package/dist/src/agents/reviewer/ai-reviewer/metadata.yaml +0 -10
  350. package/dist/src/agents/reviewer/ai-reviewer/output.md +0 -395
  351. package/dist/src/agents/reviewer/ai-reviewer/playbook.md +0 -90
  352. package/dist/src/agents/reviewer/api-reviewer/critical-reminders.md +0 -31
  353. package/dist/src/agents/reviewer/api-reviewer/critical-requirements.md +0 -27
  354. package/dist/src/agents/reviewer/api-reviewer/identity.md +0 -51
  355. package/dist/src/agents/reviewer/api-reviewer/metadata.yaml +0 -12
  356. package/dist/src/agents/reviewer/api-reviewer/output.md +0 -343
  357. package/dist/src/agents/reviewer/api-reviewer/playbook.md +0 -288
  358. package/dist/src/agents/reviewer/cli-reviewer/critical-reminders.md +0 -33
  359. package/dist/src/agents/reviewer/cli-reviewer/critical-requirements.md +0 -30
  360. package/dist/src/agents/reviewer/cli-reviewer/identity.md +0 -44
  361. package/dist/src/agents/reviewer/cli-reviewer/metadata.yaml +0 -12
  362. package/dist/src/agents/reviewer/cli-reviewer/output.md +0 -414
  363. package/dist/src/agents/reviewer/cli-reviewer/playbook.md +0 -218
  364. package/dist/src/agents/reviewer/infra-reviewer/critical-reminders.md +0 -38
  365. package/dist/src/agents/reviewer/infra-reviewer/critical-requirements.md +0 -38
  366. package/dist/src/agents/reviewer/infra-reviewer/identity.md +0 -53
  367. package/dist/src/agents/reviewer/infra-reviewer/metadata.yaml +0 -10
  368. package/dist/src/agents/reviewer/infra-reviewer/output.md +0 -364
  369. package/dist/src/agents/reviewer/infra-reviewer/playbook.md +0 -161
  370. package/dist/src/agents/reviewer/web-reviewer/critical-reminders.md +0 -31
  371. package/dist/src/agents/reviewer/web-reviewer/critical-requirements.md +0 -26
  372. package/dist/src/agents/reviewer/web-reviewer/identity.md +0 -40
  373. package/dist/src/agents/reviewer/web-reviewer/metadata.yaml +0 -12
  374. package/dist/src/agents/reviewer/web-reviewer/output.md +0 -333
  375. package/dist/src/agents/reviewer/web-reviewer/playbook.md +0 -156
  376. package/src/agents/developer/web-architecture/critical-reminders.md +0 -48
  377. package/src/agents/developer/web-architecture/critical-requirements.md +0 -65
  378. package/src/agents/developer/web-architecture/identity.md +0 -64
  379. package/src/agents/developer/web-architecture/metadata.yaml +0 -12
  380. package/src/agents/developer/web-architecture/output.md +0 -449
  381. package/src/agents/developer/web-architecture/playbook.md +0 -481
  382. package/src/agents/pattern/pattern-scout/critical-reminders.md +0 -71
  383. package/src/agents/pattern/pattern-scout/critical-requirements.md +0 -31
  384. package/src/agents/pattern/pattern-scout/identity.md +0 -25
  385. package/src/agents/pattern/pattern-scout/metadata.yaml +0 -10
  386. package/src/agents/pattern/pattern-scout/output.md +0 -290
  387. package/src/agents/pattern/pattern-scout/playbook.md +0 -1806
  388. package/src/agents/pattern/web-pattern-critique/critical-reminders.md +0 -30
  389. package/src/agents/pattern/web-pattern-critique/critical-requirements.md +0 -28
  390. package/src/agents/pattern/web-pattern-critique/identity.md +0 -41
  391. package/src/agents/pattern/web-pattern-critique/metadata.yaml +0 -12
  392. package/src/agents/pattern/web-pattern-critique/output.md +0 -314
  393. package/src/agents/pattern/web-pattern-critique/playbook.md +0 -572
  394. package/src/agents/planning/api-pm/critical-reminders.md +0 -48
  395. package/src/agents/planning/api-pm/critical-requirements.md +0 -41
  396. package/src/agents/planning/api-pm/identity.md +0 -39
  397. package/src/agents/planning/api-pm/metadata.yaml +0 -12
  398. package/src/agents/planning/api-pm/output.md +0 -475
  399. package/src/agents/planning/api-pm/playbook.md +0 -129
  400. package/src/agents/planning/web-pm/identity.md +0 -26
  401. package/src/agents/planning/web-pm/metadata.yaml +0 -12
  402. package/src/agents/planning/web-pm/playbook.md +0 -318
  403. package/src/agents/reviewer/ai-reviewer/critical-reminders.md +0 -40
  404. package/src/agents/reviewer/ai-reviewer/critical-requirements.md +0 -37
  405. package/src/agents/reviewer/ai-reviewer/identity.md +0 -51
  406. package/src/agents/reviewer/ai-reviewer/metadata.yaml +0 -10
  407. package/src/agents/reviewer/ai-reviewer/output.md +0 -395
  408. package/src/agents/reviewer/ai-reviewer/playbook.md +0 -90
  409. package/src/agents/reviewer/api-reviewer/critical-reminders.md +0 -31
  410. package/src/agents/reviewer/api-reviewer/critical-requirements.md +0 -27
  411. package/src/agents/reviewer/api-reviewer/identity.md +0 -51
  412. package/src/agents/reviewer/api-reviewer/metadata.yaml +0 -12
  413. package/src/agents/reviewer/api-reviewer/output.md +0 -343
  414. package/src/agents/reviewer/api-reviewer/playbook.md +0 -288
  415. package/src/agents/reviewer/cli-reviewer/critical-reminders.md +0 -33
  416. package/src/agents/reviewer/cli-reviewer/critical-requirements.md +0 -30
  417. package/src/agents/reviewer/cli-reviewer/identity.md +0 -44
  418. package/src/agents/reviewer/cli-reviewer/metadata.yaml +0 -12
  419. package/src/agents/reviewer/cli-reviewer/output.md +0 -414
  420. package/src/agents/reviewer/cli-reviewer/playbook.md +0 -218
  421. package/src/agents/reviewer/infra-reviewer/critical-reminders.md +0 -38
  422. package/src/agents/reviewer/infra-reviewer/critical-requirements.md +0 -38
  423. package/src/agents/reviewer/infra-reviewer/identity.md +0 -53
  424. package/src/agents/reviewer/infra-reviewer/metadata.yaml +0 -10
  425. package/src/agents/reviewer/infra-reviewer/output.md +0 -364
  426. package/src/agents/reviewer/infra-reviewer/playbook.md +0 -161
  427. package/src/agents/reviewer/web-reviewer/critical-reminders.md +0 -31
  428. package/src/agents/reviewer/web-reviewer/critical-requirements.md +0 -26
  429. package/src/agents/reviewer/web-reviewer/identity.md +0 -40
  430. package/src/agents/reviewer/web-reviewer/metadata.yaml +0 -12
  431. package/src/agents/reviewer/web-reviewer/output.md +0 -333
  432. package/src/agents/reviewer/web-reviewer/playbook.md +0 -156
  433. /package/dist/{chunk-ZL7PFNHN.js.map → chunk-K3O3YQYG.js.map} +0 -0
  434. /package/dist/{chunk-IHUY4M22.js.map → chunk-NXGMM5YN.js.map} +0 -0
  435. /package/dist/{chunk-DTSG5XZB.js.map → chunk-V3ENMW7G.js.map} +0 -0
  436. /package/dist/{commands/new/skill.js.map → copy-local-skills-KF2RAVD3.js.map} +0 -0
  437. /package/dist/{components/wizard/search-modal.js.map → load-agent-defs-DGXGBU3Q.js.map} +0 -0
  438. /package/dist/{components/wizard/selection-card.js.map → loader-4U7UCE2Y.js.map} +0 -0
  439. /package/dist/{components/wizard/step-settings.js.map → recompile-project-agents-CJVBAWDJ.js.map} +0 -0
  440. /package/dist/{copy-local-skills-6EMVN7RB.js.map → source-loader-ZNSYJJCI.js.map} +0 -0
@@ -1,76 +1,69 @@
1
1
  #!/usr/bin/env node
2
+ import {
3
+ Spinner
4
+ } from "../chunk-ZBPEFQ4G.js";
2
5
  import {
3
6
  runWizardSession
4
- } from "../chunk-MVR3SYMN.js";
5
- import "../chunk-XHUODHZ4.js";
6
- import "../chunk-MWG4VU64.js";
7
- import "../chunk-TJJPWUMA.js";
8
- import "../chunk-TUPYW2IQ.js";
9
- import "../chunk-SKQWRUPX.js";
10
- import "../chunk-LASI35KT.js";
11
- import "../chunk-GRVKW3CC.js";
12
- import "../chunk-L7SZXUBJ.js";
13
- import "../chunk-ZPPHXXAP.js";
14
- import "../chunk-R5NOI2LP.js";
15
- import "../chunk-BNSRA6HL.js";
16
- import "../chunk-F7T5AFFN.js";
17
- import "../chunk-MQ7FLIYS.js";
18
- import "../chunk-FVDKAVOL.js";
7
+ } from "../chunk-KET3EVGX.js";
8
+ import "../chunk-BMGBA6HJ.js";
9
+ import "../chunk-M5HSTNYU.js";
10
+ import "../chunk-NSJ2S7R5.js";
11
+ import "../chunk-JC7DBPRD.js";
12
+ import "../chunk-K7PJDWER.js";
13
+ import "../chunk-WDAO3RUY.js";
14
+ import "../chunk-R4SEU3DF.js";
15
+ import "../chunk-VECFAKM5.js";
16
+ import "../chunk-VGEBYCQZ.js";
17
+ import "../chunk-U2DNAHFE.js";
18
+ import "../chunk-WG6V6VJV.js";
19
+ import "../chunk-EFU6P3B7.js";
19
20
  import "../chunk-TSIU7DME.js";
20
- import "../chunk-QRDTLVXG.js";
21
- import "../chunk-J27W6TXS.js";
22
- import "../chunk-SX5H6TSC.js";
23
- import "../chunk-5GUOIJSG.js";
24
- import "../chunk-MJ2KHG24.js";
25
- import "../chunk-DTSG5XZB.js";
26
- import "../chunk-MM7CTTAV.js";
27
- import "../chunk-KXYVJGJP.js";
28
- import "../chunk-P44SXVH3.js";
29
- import "../chunk-LDP5ASDM.js";
30
- import "../chunk-Q45ZU6HD.js";
31
- import "../chunk-WBCPLH66.js";
32
- import "../chunk-RNJWAKMO.js";
33
21
  import "../chunk-XVAQG2CV.js";
34
- import {
35
- Spinner
36
- } from "../chunk-IUQBOCSU.js";
37
- import {
38
- ERROR_MESSAGES,
39
- STATUS_MESSAGES
40
- } from "../chunk-ODNDXQH2.js";
22
+ import "../chunk-ZNDLUWWD.js";
23
+ import "../chunk-J27W6TXS.js";
24
+ import "../chunk-4VYALFQZ.js";
25
+ import "../chunk-JFAUQDZM.js";
26
+ import "../chunk-IO4VEW5U.js";
27
+ import "../chunk-V3ENMW7G.js";
28
+ import "../chunk-2HC2SNRP.js";
29
+ import "../chunk-Q5FLW4JG.js";
30
+ import "../chunk-6CNRMCFM.js";
41
31
  import {
42
32
  compileAgentsAllScopes,
43
33
  detectProject,
44
34
  loadSource,
45
35
  writeProjectConfig
46
- } from "../chunk-STMHDOZD.js";
36
+ } from "../chunk-F7Z5I6GU.js";
47
37
  import {
48
38
  discoverInstalledSkills,
49
- installPluginSkills,
50
- pluginInstallFailureError,
51
39
  uninstallPluginSkills
52
- } from "../chunk-SBHBBZKF.js";
40
+ } from "../chunk-REKOWTIB.js";
53
41
  import {
54
42
  copyLocalSkills
55
- } from "../chunk-IHUY4M22.js";
43
+ } from "../chunk-NXGMM5YN.js";
56
44
  import {
57
45
  loadAgentDefs
58
- } from "../chunk-QZZJFYUQ.js";
59
- import "../chunk-E5X6RJ4E.js";
60
- import "../chunk-LZ52XEPR.js";
46
+ } from "../chunk-FRWKCE6R.js";
47
+ import "../chunk-FIHTAFST.js";
48
+ import "../chunk-ACKC577F.js";
61
49
  import {
62
50
  render
63
51
  } from "../chunk-JFLVEFFP.js";
64
52
  import {
65
53
  formatScopeTag
66
- } from "../chunk-5UWKOOIS.js";
54
+ } from "../chunk-HEBPKK5L.js";
67
55
  import {
68
56
  BaseCommand,
69
- EXIT_CODES,
70
- source_default
71
- } from "../chunk-KR65TPKC.js";
72
- import "../chunk-ZL7PFNHN.js";
57
+ EXIT_CODES
58
+ } from "../chunk-X5XJ6WKO.js";
59
+ import "../chunk-TY6CAOL7.js";
60
+ import "../chunk-K3O3YQYG.js";
73
61
  import {
62
+ ERROR_MESSAGES,
63
+ INFO_MESSAGES,
64
+ INSTALL_MODE_DESCRIPTIONS,
65
+ STATUS_MESSAGES,
66
+ activeAgentNames,
74
67
  activeAgentScopeMap,
75
68
  applyMigratedGlobalSources,
76
69
  buildMarketplacePluginRef,
@@ -85,18 +78,20 @@ import {
85
78
  isHomeDirectory,
86
79
  migrateLocalSkillScope,
87
80
  mutateGlobal,
81
+ recompileSummary,
88
82
  resolveInstallPaths,
89
- toClaudePluginScope
90
- } from "../chunk-EEPELKOM.js";
83
+ toClaudePluginScope,
84
+ unresolvedSkillRemovalReasons
85
+ } from "../chunk-NXQAY5U7.js";
91
86
  import {
92
87
  getErrorMessage,
93
88
  remove
94
- } from "../chunk-PMM2MYMA.js";
89
+ } from "../chunk-U2YSGBHA.js";
95
90
  import {
96
91
  getSkillById,
97
92
  getSkillDisplayName,
98
93
  matrix
99
- } from "../chunk-WKTHWQKM.js";
94
+ } from "../chunk-35VOK7XE.js";
100
95
  import {
101
96
  typedKeys
102
97
  } from "../chunk-VASLW636.js";
@@ -106,19 +101,44 @@ import {
106
101
  EDIT_PROJECT_SETUP_FLAG,
107
102
  EJECT_SOURCE,
108
103
  formatSourceDisplayName
109
- } from "../chunk-76ADG7LQ.js";
110
- import "../chunk-UBEDZ4FD.js";
104
+ } from "../chunk-R54KIGN2.js";
105
+ import "../chunk-VZRO7RYT.js";
111
106
 
112
107
  // src/cli/commands/edit.tsx
113
108
  import path from "path";
109
+ import chalk from "chalk";
114
110
  import { Flags } from "@oclif/core";
115
111
  import { difference, indexBy } from "remeda";
116
112
  import { jsx } from "react/jsx-runtime";
113
+ var RECOMPILE_SUBJECT = "agents";
117
114
  function formatDualScopeTransition(displayName, to) {
118
115
  const isAdd = to === "project";
119
116
  const prefix = isAdd ? "+" : "-";
120
117
  const color = isAdd ? CLI_COLORS.SUCCESS : CLI_COLORS.ERROR;
121
- return source_default.hex(color)(` ${prefix} ${displayName} [P]`);
118
+ return chalk.hex(color)(` ${prefix} ${displayName} [P]`);
119
+ }
120
+ function formatSkillScopeChangeLine(skillId, change, dualScopeSkillTransitions) {
121
+ const displayName = getSkillDisplayName(skillId);
122
+ if (dualScopeSkillTransitions.has(skillId)) {
123
+ return formatDualScopeTransition(displayName, change.to);
124
+ }
125
+ const isGlobalToProject = change.from === "global" && change.to === "project";
126
+ const prefix = isGlobalToProject ? "+" : "~";
127
+ const color = isGlobalToProject ? CLI_COLORS.SUCCESS : CLI_COLORS.WARNING;
128
+ return chalk.hex(color)(` ${prefix} ${displayName}`) + chalk.hex(CLI_COLORS.NEUTRAL)(scopeArrow(change));
129
+ }
130
+ function formatAgentScopeChangeLine(agentName, change, dualScopeAgentTransitions) {
131
+ const agentSuffix = chalk.hex(CLI_COLORS.NEUTRAL)(" (agent)");
132
+ if (dualScopeAgentTransitions.has(agentName)) {
133
+ return formatDualScopeTransition(agentName, change.to) + agentSuffix;
134
+ }
135
+ return chalk.hex(CLI_COLORS.WARNING)(` ~ ${agentName}`) + chalk.hex(CLI_COLORS.NEUTRAL)(scopeArrow(change));
136
+ }
137
+ function scopeArrow(change) {
138
+ return ` (${formatScopeTag(change.from)} \u2192 ${formatScopeTag(change.to)})`;
139
+ }
140
+ function loadedSourceLabel(sourceResult) {
141
+ return sourceResult.marketplace ?? sourceResult.sourceConfig.source;
122
142
  }
123
143
  var Edit = class _Edit extends BaseCommand {
124
144
  static summary = "Edit skills in the plugin";
@@ -127,22 +147,9 @@ var Edit = class _Edit extends BaseCommand {
127
147
  {
128
148
  description: "Open the edit wizard",
129
149
  command: "<%= config.bin %> <%= command.id %>"
130
- },
131
- {
132
- description: "Edit with a custom source",
133
- command: "<%= config.bin %> <%= command.id %> --source github:org/marketplace"
134
- },
135
- {
136
- description: "Force refresh skills from remote",
137
- command: "<%= config.bin %> <%= command.id %> --refresh"
138
150
  }
139
151
  ];
140
152
  static flags = {
141
- ...BaseCommand.baseFlags,
142
- refresh: Flags.boolean({
143
- description: "Force refresh from remote sources",
144
- default: false
145
- }),
146
153
  [EDIT_PROJECT_SETUP_FLAG]: Flags.boolean({
147
154
  description: "Internal: this run continues an `init` project setup",
148
155
  default: false,
@@ -152,15 +159,21 @@ var Edit = class _Edit extends BaseCommand {
152
159
  async run() {
153
160
  const { flags } = await this.parse(_Edit);
154
161
  const cwd = process.cwd();
162
+ await this.ensureConfigReadable(cwd);
155
163
  const { unmount, clear: clearSpinner } = render(
156
164
  /* @__PURE__ */ jsx(Spinner, { label: STATUS_MESSAGES.LOADING_SKILLS })
157
165
  );
158
- const context = await this.loadContext(flags);
166
+ const context = await this.loadContext();
159
167
  clearSpinner();
160
168
  unmount();
169
+ await this.ensureSavedSkillsReadable(
170
+ context.projectConfig?.skills ?? [],
171
+ context.sourceResult.matrix,
172
+ context.projectDir
173
+ );
161
174
  const result = await this.runEditWizard(context, cwd);
162
175
  if (!result) this.error("Cancelled", { exit: EXIT_CODES.CANCELLED });
163
- this.reportValidationErrors(result);
176
+ this.reportValidationErrors(result.validation);
164
177
  const activeNewSkills = result.skills.filter((s) => !s.excluded);
165
178
  const activeNewAgents = result.agentConfigs.filter((a) => !a.excluded);
166
179
  const activeOldSkills = (context.projectConfig?.skills ?? []).filter((s) => !s.excluded);
@@ -179,13 +192,24 @@ var Edit = class _Edit extends BaseCommand {
179
192
  });
180
193
  const isProjectSetup = flags[EDIT_PROJECT_SETUP_FLAG] && !isHomeDirectory(cwd);
181
194
  if (!hasAnyChanges(changes)) {
182
- this.log(source_default.hex(CLI_COLORS.NEUTRAL)("No changes made."));
195
+ this.log(chalk.hex(CLI_COLORS.NEUTRAL)("No changes made."));
183
196
  if (!isProjectSetup) return;
184
- await this.writeConfigAndCompile(result, context, flags, cwd);
197
+ await this.writeConfigAndCompile(result, context, cwd);
185
198
  this.logCompletionSummary(changes);
186
199
  return;
187
200
  }
188
- this.logChangeSummary(changes, filteredResult.skills, filteredOldConfig?.skills ?? []);
201
+ const removalReasons = await unresolvedSkillRemovalReasons(
202
+ result.unresolvableSkillIds,
203
+ activeOldSkills,
204
+ context.projectDir,
205
+ loadedSourceLabel(context.sourceResult)
206
+ );
207
+ this.logChangeSummary(
208
+ changes,
209
+ filteredResult.skills,
210
+ filteredOldConfig?.skills ?? [],
211
+ removalReasons
212
+ );
189
213
  const migratedSkillIds = await this.applyMigrations(
190
214
  changes,
191
215
  filteredResult,
@@ -199,11 +223,11 @@ var Edit = class _Edit extends BaseCommand {
199
223
  await this.applyPluginChanges(changes, filteredResult, activeOldSkills, context, cwd);
200
224
  await this.copyNewLocalSkills(changes, filteredResult, context, cwd);
201
225
  await this.removeDeletedLocalSkills(changes, activeOldSkills, cwd);
202
- await this.writeConfigAndCompile(result, context, flags, cwd);
226
+ await this.writeConfigAndCompile(result, context, cwd);
203
227
  await this.cleanupStaleAgentFiles(changes, activeOldAgents, cwd);
204
228
  this.logCompletionSummary(changes);
205
229
  }
206
- async loadContext(flags) {
230
+ async loadContext() {
207
231
  const detected = await detectProject();
208
232
  if (!detected) {
209
233
  this.error(ERROR_MESSAGES.NO_INSTALLATION, {
@@ -215,12 +239,7 @@ var Edit = class _Edit extends BaseCommand {
215
239
  let sourceResult;
216
240
  let startupMessages = [];
217
241
  try {
218
- const loaded = await loadSource({
219
- sourceFlag: flags.source,
220
- projectDir,
221
- forceRefresh: flags.refresh,
222
- captureStartupMessages: true
223
- });
242
+ const loaded = await loadSource({ projectDir, captureStartupMessages: true });
224
243
  sourceResult = loaded.sourceResult;
225
244
  startupMessages = loaded.startupMessages;
226
245
  const sourceInfo = sourceResult.isLocal ? "local" : sourceResult.sourceConfig.sourceOrigin;
@@ -236,9 +255,9 @@ var Edit = class _Edit extends BaseCommand {
236
255
  const discoveredSkills = await discoverAllPluginSkills(projectDir);
237
256
  const pluginSkillIds = typedKeys(discoveredSkills);
238
257
  const excludedConfigIds = new Set(
239
- projectConfig?.skills?.filter((s) => s.excluded).map((s) => s.id) ?? []
258
+ projectConfig?.skills.filter((s) => s.excluded).map((s) => s.id) ?? []
240
259
  );
241
- const configSkillIds = projectConfig?.skills?.filter((s) => !s.excluded).map((s) => s.id) ?? [];
260
+ const configSkillIds = projectConfig?.skills.filter((s) => !s.excluded).map((s) => s.id) ?? [];
242
261
  const filteredPluginSkillIds = pluginSkillIds.filter((id) => !excludedConfigIds.has(id));
243
262
  const mergedIds = /* @__PURE__ */ new Set([...filteredPluginSkillIds, ...configSkillIds]);
244
263
  currentSkillIds = [...mergedIds];
@@ -259,22 +278,24 @@ var Edit = class _Edit extends BaseCommand {
259
278
  };
260
279
  }
261
280
  async runEditWizard(context, cwd) {
262
- const { projectConfig, projectDir, currentSkillIds } = context;
281
+ const { projectConfig, currentSkillIds } = context;
282
+ const selectedAgents = projectConfig?.agents && activeAgentNames(projectConfig.agents);
263
283
  return runWizardSession({
264
284
  hydrate: {
265
285
  initialStep: "build",
266
- initialDomains: projectConfig?.domains,
267
- initialAgents: projectConfig?.selectedAgents,
286
+ ...projectConfig?.selectedDomains !== void 0 && {
287
+ initialDomains: projectConfig.selectedDomains
288
+ },
289
+ ...selectedAgents !== void 0 && { initialAgents: selectedAgents },
268
290
  installedSkillIds: currentSkillIds,
269
- installedSkillConfigs: projectConfig?.skills,
270
- installedAgentConfigs: projectConfig?.agents,
291
+ ...projectConfig?.skills !== void 0 && { installedSkillConfigs: projectConfig.skills },
292
+ ...projectConfig?.agents !== void 0 && { installedAgentConfigs: projectConfig.agents },
271
293
  isEditingFromGlobalScope: isHomeDirectory(cwd)
272
294
  },
273
295
  props: {
274
296
  version: this.config.version,
275
- initialAgents: projectConfig?.selectedAgents,
297
+ initialAgents: selectedAgents,
276
298
  installedSkillIds: currentSkillIds,
277
- projectDir,
278
299
  startupMessages: context.startupMessages
279
300
  },
280
301
  onCancel: () => this.log("\nEdit cancelled"),
@@ -322,6 +343,10 @@ var Edit = class _Edit extends BaseCommand {
322
343
  const report = await mutateGlobal(
323
344
  { kind: "migrate-skill-sources", sources: migratedSources },
324
345
  {
346
+ // The deps contract in config-gate/deps.ts declares
347
+ // `() => Promise<MergedSkillsMatrix>`; this caller happens to have its
348
+ // matrix in hand already.
349
+ // eslint-disable-next-line @typescript-eslint/require-await -- deps contract
325
350
  loadMatrix: async () => context.sourceResult.matrix,
326
351
  loadAgents: async () => (await loadAgentDefs({ projectDir: cwd })).agents
327
352
  }
@@ -331,14 +356,7 @@ var Edit = class _Edit extends BaseCommand {
331
356
  this.warn(`Could not record global source change: ${getErrorMessage(error)}`);
332
357
  }
333
358
  }
334
- reportValidationErrors(result) {
335
- if (result.validation.errors.length > 0) {
336
- for (const err of result.validation.errors) {
337
- this.warn(err.message);
338
- }
339
- }
340
- }
341
- logChangeSummary(changes, newSkills, oldSkills) {
359
+ logChangeSummary(changes, newSkills, oldSkills, removalReasons) {
342
360
  const {
343
361
  addedSkills,
344
362
  removedSkills,
@@ -351,27 +369,30 @@ var Edit = class _Edit extends BaseCommand {
351
369
  dualScopeAgentTransitions
352
370
  } = changes;
353
371
  this.log(`
354
- ${source_default.hex(CLI_COLORS.WHITE).bold("Changes:")}`);
372
+ ${chalk.hex(CLI_COLORS.WHITE).bold("Changes:")}`);
355
373
  for (const skillId of addedSkills) {
356
374
  const scope = newSkills.find((s) => s.id === skillId)?.scope;
357
375
  const scopeLabel = scope ? ` ${formatScopeTag(scope)}` : "";
358
376
  this.log(
359
- source_default.hex(CLI_COLORS.SUCCESS)(` + ${getSkillById(skillId).displayName}${scopeLabel}`)
377
+ chalk.hex(CLI_COLORS.SUCCESS)(` + ${getSkillById(skillId).displayName}${scopeLabel}`)
360
378
  );
361
379
  }
362
380
  for (const skillId of removedSkills) {
363
381
  const scope = oldSkills.find((s) => s.id === skillId)?.scope;
364
382
  const scopeLabel = scope ? ` ${formatScopeTag(scope)}` : "";
365
- this.log(source_default.hex(CLI_COLORS.ERROR)(` - ${getSkillDisplayName(skillId)}${scopeLabel}`));
383
+ const reason = removalReasons.get(skillId);
384
+ this.log(
385
+ chalk.hex(CLI_COLORS.ERROR)(` - ${getSkillDisplayName(skillId)}${scopeLabel}`) + (reason ? chalk.hex(CLI_COLORS.NEUTRAL)(` (${reason})`) : "")
386
+ );
366
387
  }
367
388
  for (const agentName of addedAgents) {
368
389
  this.log(
369
- source_default.hex(CLI_COLORS.SUCCESS)(` + ${agentName}`) + source_default.hex(CLI_COLORS.NEUTRAL)(" (agent)")
390
+ chalk.hex(CLI_COLORS.SUCCESS)(` + ${agentName}`) + chalk.hex(CLI_COLORS.NEUTRAL)(" (agent)")
370
391
  );
371
392
  }
372
393
  for (const agentName of removedAgents) {
373
394
  this.log(
374
- source_default.hex(CLI_COLORS.ERROR)(` - ${agentName}`) + source_default.hex(CLI_COLORS.NEUTRAL)(" (agent)")
395
+ chalk.hex(CLI_COLORS.ERROR)(` - ${agentName}`) + chalk.hex(CLI_COLORS.NEUTRAL)(" (agent)")
375
396
  );
376
397
  }
377
398
  for (const [skillId, change] of sourceChanges) {
@@ -379,75 +400,44 @@ ${source_default.hex(CLI_COLORS.WHITE).bold("Changes:")}`);
379
400
  const fromLabel = formatSourceDisplayName(change.from);
380
401
  const toLabel = formatSourceDisplayName(change.to);
381
402
  this.log(
382
- source_default.hex(CLI_COLORS.WARNING)(` ~ ${displayName}`) + source_default.hex(CLI_COLORS.NEUTRAL)(` (${fromLabel} \u2192 ${toLabel})`)
403
+ chalk.hex(CLI_COLORS.WARNING)(` ~ ${displayName}`) + chalk.hex(CLI_COLORS.NEUTRAL)(` (${fromLabel} \u2192 ${toLabel})`)
383
404
  );
384
405
  }
385
406
  for (const [skillId, change] of scopeChanges) {
386
- const displayName = getSkillDisplayName(skillId);
387
- if (dualScopeSkillTransitions.has(skillId)) {
388
- this.log(formatDualScopeTransition(displayName, change.to));
389
- continue;
390
- }
391
- const fromLabel = formatScopeTag(change.from);
392
- const toLabel = formatScopeTag(change.to);
393
- const isGlobalToProject = change.from === "global" && change.to === "project";
394
- const prefix = isGlobalToProject ? "+" : "~";
395
- const color = isGlobalToProject ? CLI_COLORS.SUCCESS : CLI_COLORS.WARNING;
396
- this.log(
397
- source_default.hex(color)(` ${prefix} ${displayName}`) + source_default.hex(CLI_COLORS.NEUTRAL)(` (${fromLabel} \u2192 ${toLabel})`)
398
- );
407
+ this.log(formatSkillScopeChangeLine(skillId, change, dualScopeSkillTransitions));
399
408
  }
400
409
  for (const [agentName, change] of agentScopeChanges) {
401
- if (dualScopeAgentTransitions.has(agentName)) {
402
- this.log(
403
- formatDualScopeTransition(agentName, change.to) + source_default.hex(CLI_COLORS.NEUTRAL)(" (agent)")
404
- );
405
- continue;
406
- }
407
- const fromLabel = formatScopeTag(change.from);
408
- const toLabel = formatScopeTag(change.to);
409
- this.log(
410
- source_default.hex(CLI_COLORS.WARNING)(` ~ ${agentName}`) + source_default.hex(CLI_COLORS.NEUTRAL)(` (${fromLabel} \u2192 ${toLabel})`)
411
- );
410
+ this.log(formatAgentScopeChangeLine(agentName, change, dualScopeAgentTransitions));
412
411
  }
413
412
  this.log("");
414
413
  }
415
414
  async applyMigrations(_changes, filteredResult, activeOldSkills, context, cwd) {
416
415
  const migrationPlan = detectMigrations(activeOldSkills, filteredResult.skills);
417
- const hasMigrations = migrationPlan.toEject.length > 0 || migrationPlan.toPlugin.length > 0;
418
- if (hasMigrations) {
419
- if (migrationPlan.toEject.length > 0) {
420
- this.log(
421
- source_default.hex(CLI_COLORS.NEUTRAL)(
422
- `Switching ${migrationPlan.toEject.length} skill(s) to eject`
423
- )
424
- );
425
- }
426
- if (migrationPlan.toPlugin.length > 0) {
427
- this.log(
428
- source_default.hex(CLI_COLORS.NEUTRAL)(
429
- `Switching ${migrationPlan.toPlugin.length} skill(s) to plugin`
430
- )
431
- );
432
- await this.requireMarketplaceOrExit(context.sourceResult, "migrate skills to plugin mode");
433
- }
434
- const migrationResult = await executeMigration(migrationPlan, cwd, context.sourceResult);
435
- for (const warning of migrationResult.warnings) {
436
- this.warn(warning);
437
- }
438
- for (const item of migrationResult.failedPluginInstalls) {
439
- this.warn(`Failed to install plugin ${item.id}: ${item.error}`);
440
- }
441
- if (migrationResult.failedPluginInstalls.length > 0) {
442
- this.error(pluginInstallFailureError(migrationResult.failedPluginInstalls.length), {
443
- exit: EXIT_CODES.ERROR
444
- });
445
- }
446
- }
447
- return /* @__PURE__ */ new Set([
416
+ const migratedSkillIds = /* @__PURE__ */ new Set([
448
417
  ...migrationPlan.toEject.map((m) => m.id),
449
418
  ...migrationPlan.toPlugin.map((m) => m.id)
450
419
  ]);
420
+ if (migratedSkillIds.size === 0) return migratedSkillIds;
421
+ if (migrationPlan.toEject.length > 0) {
422
+ this.logModeSwitch(migrationPlan.toEject.length, INSTALL_MODE_DESCRIPTIONS.eject);
423
+ }
424
+ if (migrationPlan.toPlugin.length > 0) {
425
+ this.logModeSwitch(migrationPlan.toPlugin.length, INSTALL_MODE_DESCRIPTIONS.plugin);
426
+ await this.requireMarketplaceOrExit(context.sourceResult, "migrate skills to plugin mode");
427
+ this.announcePluginInstall();
428
+ }
429
+ const migrationResult = await executeMigration(migrationPlan, cwd, context.sourceResult);
430
+ for (const warning of migrationResult.warnings) {
431
+ this.warn(warning);
432
+ }
433
+ if (migrationPlan.toPlugin.length > 0) {
434
+ this.reportPluginInstalls(migrationResult.pluginInstalls);
435
+ }
436
+ return migratedSkillIds;
437
+ }
438
+ /** Names what this run is switching, in the words `init` describes an install mode with. */
439
+ logModeSwitch(count, modeDescription) {
440
+ this.log(chalk.hex(CLI_COLORS.NEUTRAL)(`Switching ${count} skill(s) to ${modeDescription}`));
451
441
  }
452
442
  async applyScopeChanges(changes, filteredResult, context, cwd) {
453
443
  const { scopeChanges } = changes;
@@ -503,20 +493,7 @@ ${source_default.hex(CLI_COLORS.WHITE).bold("Changes:")}`);
503
493
  "install or uninstall plugin skills"
504
494
  );
505
495
  if (addedPluginSkills.length > 0) {
506
- const pluginResult = await installPluginSkills(addedPluginSkills, marketplace, cwd);
507
- if (pluginResult.installed.length > 0) {
508
- this.log(
509
- source_default.hex(CLI_COLORS.NEUTRAL)(`Installed ${pluginResult.installed.length} plugin(s)`)
510
- );
511
- }
512
- for (const item of pluginResult.failed) {
513
- this.warn(`Failed to install plugin ${item.id}: ${item.error}`);
514
- }
515
- if (pluginResult.failed.length > 0) {
516
- this.error(pluginInstallFailureError(pluginResult.failed.length), {
517
- exit: EXIT_CODES.ERROR
518
- });
519
- }
496
+ await this.installPluginSkillsReported(addedPluginSkills, marketplace, cwd);
520
497
  }
521
498
  if (removedPluginSkills.length > 0) {
522
499
  const uninstallResult = await uninstallPluginSkills(
@@ -527,7 +504,7 @@ ${source_default.hex(CLI_COLORS.WHITE).bold("Changes:")}`);
527
504
  );
528
505
  if (uninstallResult.uninstalled.length > 0) {
529
506
  this.log(
530
- source_default.hex(CLI_COLORS.NEUTRAL)(`Removed ${uninstallResult.uninstalled.length} plugin(s)`)
507
+ chalk.hex(CLI_COLORS.NEUTRAL)(`Removed ${uninstallResult.uninstalled.length} plugin(s)`)
531
508
  );
532
509
  }
533
510
  for (const item of uninstallResult.failed) {
@@ -542,7 +519,7 @@ ${source_default.hex(CLI_COLORS.WHITE).bold("Changes:")}`);
542
519
  );
543
520
  if (addedLocalSkills.length > 0) {
544
521
  const copyResult = await copyLocalSkills(addedLocalSkills, cwd, context.sourceResult);
545
- this.log(source_default.hex(CLI_COLORS.NEUTRAL)(`Copied ${copyResult.totalCopied} local skill(s)`));
522
+ this.log(chalk.hex(CLI_COLORS.NEUTRAL)(`Copied ${copyResult.totalCopied} local skill(s)`));
546
523
  }
547
524
  }
548
525
  async removeDeletedLocalSkills(changes, activeOldSkills, cwd) {
@@ -554,12 +531,10 @@ ${source_default.hex(CLI_COLORS.WHITE).bold("Changes:")}`);
554
531
  await deleteLocalSkill(deleteDir, skillId);
555
532
  }
556
533
  }
557
- async writeConfigAndCompile(result, context, flags, cwd) {
534
+ async writeConfigAndCompile(result, context, cwd) {
558
535
  let agentDefsResult;
559
536
  try {
560
- agentDefsResult = await loadAgentDefs({
561
- forceRefresh: flags.refresh
562
- });
537
+ agentDefsResult = await loadAgentDefs({});
563
538
  } catch (error) {
564
539
  this.handleError(error);
565
540
  }
@@ -569,7 +544,6 @@ ${source_default.hex(CLI_COLORS.WHITE).bold("Changes:")}`);
569
544
  wizardResult: result,
570
545
  sourceResult: context.sourceResult,
571
546
  projectDir: cwd,
572
- sourceFlag: flags.source,
573
547
  agents: agentDefsResult.agents,
574
548
  // A full `cc edit` pass is authoritative over the roster it owns, so deselected entries
575
549
  // are removed rather than union-preserved (D-233 Scenario C). Global-context edit owns
@@ -589,19 +563,23 @@ ${source_default.hex(CLI_COLORS.WHITE).bold("Changes:")}`);
589
563
  skills: allSkills,
590
564
  agentScopeMap
591
565
  });
592
- if (compilationResult.failed.length > 0) {
566
+ const { compiled, rewritten, failed, warnings } = compilationResult;
567
+ const summary = recompileSummary(
568
+ rewritten.length,
569
+ compiled.length - rewritten.length,
570
+ RECOMPILE_SUBJECT
571
+ );
572
+ if (failed.length > 0) {
593
573
  this.log(
594
- source_default.hex(CLI_COLORS.NEUTRAL)(`Recompiled ${compilationResult.compiled.length} agents`) + source_default.hex(CLI_COLORS.WARNING)(` (${compilationResult.failed.length} failed)`)
574
+ chalk.hex(CLI_COLORS.NEUTRAL)(summary) + chalk.hex(CLI_COLORS.WARNING)(` (${failed.length} failed)`)
595
575
  );
596
- for (const warning of compilationResult.warnings) {
576
+ for (const warning of warnings) {
597
577
  this.warn(warning);
598
578
  }
599
- } else if (compilationResult.compiled.length > 0) {
600
- this.log(
601
- source_default.hex(CLI_COLORS.NEUTRAL)(`Recompiled ${compilationResult.compiled.length} agents`)
602
- );
579
+ } else if (compiled.length > 0) {
580
+ this.log(chalk.hex(CLI_COLORS.NEUTRAL)(summary));
603
581
  } else {
604
- this.log(source_default.hex(CLI_COLORS.NEUTRAL)("No agents to recompile"));
582
+ this.log(chalk.hex(CLI_COLORS.NEUTRAL)(INFO_MESSAGES.NO_AGENTS_TO_RECOMPILE));
605
583
  }
606
584
  } catch (error) {
607
585
  this.warn(`Agent recompilation failed: ${getErrorMessage(error)}`);
@@ -611,23 +589,6 @@ ${source_default.hex(CLI_COLORS.WHITE).bold("Changes:")}`);
611
589
  this.reportPropagatedRecompile(configResult.propagation);
612
590
  }
613
591
  }
614
- /**
615
- * Renders the recompile the gated write already performed on every OTHER
616
- * registered project this run's global change was propagated into.
617
- */
618
- reportPropagatedRecompile(propagation) {
619
- if (propagation.propagated.updated.length === 0) return;
620
- const { recompiledCount, failedCount, warnings } = propagation.recompile;
621
- for (const warning of warnings) {
622
- this.warn(warning);
623
- }
624
- const summary = source_default.hex(CLI_COLORS.NEUTRAL)(
625
- `Recompiled agents in ${recompiledCount} registered project(s)`
626
- );
627
- this.log(
628
- failedCount > 0 ? summary + source_default.hex(CLI_COLORS.WARNING)(` (${failedCount} failed)`) : summary
629
- );
630
- }
631
592
  async cleanupStaleAgentFiles(changes, oldAgents, cwd) {
632
593
  const { agentScopeChanges, removedAgents } = changes;
633
594
  for (const [agentName, change] of agentScopeChanges) {
@@ -654,14 +615,14 @@ ${source_default.hex(CLI_COLORS.WHITE).bold("Changes:")}`);
654
615
  }
655
616
  logCompletionSummary(_changes) {
656
617
  this.log(`
657
- ${source_default.hex(CLI_COLORS.SUCCESS)("\u2713 Done")}
618
+ ${chalk.hex(CLI_COLORS.SUCCESS)("\u2713 Done")}
658
619
  `);
659
620
  }
660
621
  };
661
622
  function detectConfigChanges(oldConfig, wizardResult, fullEntries) {
662
- const oldSkillIds = oldConfig?.skills?.map((s) => s.id) ?? [];
623
+ const oldSkillIds = oldConfig?.skills.map((s) => s.id) ?? [];
663
624
  const newSkillIds = wizardResult.skills.map((s) => s.id);
664
- const oldAgentNames = oldConfig?.agents?.map((a) => a.name) ?? [];
625
+ const oldAgentNames = oldConfig?.agents.map((a) => a.name) ?? [];
665
626
  const newAgentNames = wizardResult.agentConfigs.map((a) => a.name);
666
627
  const oldSkillsById = indexBy(oldConfig?.skills ?? [], (s) => s.id);
667
628
  const oldAgentsByName = indexBy(oldConfig?.agents ?? [], (a) => a.name);