agents-inc 0.152.0 → 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 +44 -0
  2. package/README.md +44 -48
  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
@@ -4,6 +4,7 @@ import {
4
4
  } from "./chunk-JFLVEFFP.js";
5
5
 
6
6
  // src/cli/components/common/prompt-confirm.tsx
7
+ import "react";
7
8
  async function promptValue(build, options) {
8
9
  return new Promise((resolve) => {
9
10
  const instance = render(
@@ -30,4 +31,4 @@ export {
30
31
  promptValue,
31
32
  promptConfirm
32
33
  };
33
- //# sourceMappingURL=chunk-Q2KG7UV3.js.map
34
+ //# sourceMappingURL=chunk-OJJLYHM3.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/cli/components/common/prompt-confirm.tsx"],"sourcesContent":["import React from \"react\";\nimport { render } from \"../render.js\";\n\nexport type ConfirmHandlers = {\n onConfirm: () => void;\n onCancel: () => void;\n};\n\nexport type PromptValueOptions<T> = {\n /** Value resolved when the Ink app exits before any callback fires (Ctrl+C / render failure). */\n onExit: T;\n /** Call instance.clear() before unmount — repaints a clean terminal (used by the dashboard). */\n clearOnResolve?: boolean;\n};\n\n/**\n * Renders an Ink prompt and resolves with the value produced by its callbacks.\n * First-wins: the first resolve (a callback or the app-exit fallback) settles the\n * promise; later resolves are ignored. The element is unmounted at the resolution\n * site (optionally cleared first). Callers own exit policy (exit codes, logging).\n */\nexport async function promptValue<T>(\n build: (resolve: (value: T) => void) => React.ReactElement,\n options: PromptValueOptions<T>,\n): Promise<T> {\n return new Promise<T>((resolve) => {\n const instance = render(\n build((value) => {\n if (options.clearOnResolve) instance.clear();\n instance.unmount();\n resolve(value);\n }),\n );\n // App exit without a callback (e.g. Ctrl+C) or a render failure counts as the\n // fallback; resolve is first-wins, so a prior callback value is unaffected.\n instance.waitUntilExit().then(\n () => resolve(options.onExit),\n () => resolve(options.onExit),\n );\n });\n}\n\n/**\n * Renders a confirm UI and resolves with the user's choice. The element is\n * unmounted as soon as either handler fires; a clean exit or render failure\n * without a choice resolves as \"cancelled\". Callers own exit policy.\n */\nexport async function promptConfirm(\n build: (handlers: ConfirmHandlers) => React.ReactElement,\n): Promise<\"confirmed\" | \"cancelled\"> {\n return promptValue<\"confirmed\" | \"cancelled\">(\n (resolve) =>\n build({ onConfirm: () => resolve(\"confirmed\"), onCancel: () => resolve(\"cancelled\") }),\n { onExit: \"cancelled\" },\n );\n}\n"],"mappings":";;;;;;AAqBA,eAAsB,YACpB,OACA,SACY;AACZ,SAAO,IAAI,QAAW,CAAC,YAAY;AACjC,UAAM,WAAW;AAAA,MACf,MAAM,CAAC,UAAU;AACf,YAAI,QAAQ,eAAgB,UAAS,MAAM;AAC3C,iBAAS,QAAQ;AACjB,gBAAQ,KAAK;AAAA,MACf,CAAC;AAAA,IACH;AAGA,aAAS,cAAc,EAAE;AAAA,MACvB,MAAM,QAAQ,QAAQ,MAAM;AAAA,MAC5B,MAAM,QAAQ,QAAQ,MAAM;AAAA,IAC9B;AAAA,EACF,CAAC;AACH;AAOA,eAAsB,cACpB,OACoC;AACpC,SAAO;AAAA,IACL,CAAC,YACC,MAAM,EAAE,WAAW,MAAM,QAAQ,WAAW,GAAG,UAAU,MAAM,QAAQ,WAAW,EAAE,CAAC;AAAA,IACvF,EAAE,QAAQ,YAAY;AAAA,EACxB;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/cli/components/common/prompt-confirm.tsx"],"sourcesContent":["import React from \"react\";\nimport { render } from \"../render.js\";\n\nexport type ConfirmHandlers = {\n onConfirm: () => void;\n onCancel: () => void;\n};\n\nexport type PromptValueOptions<T> = {\n /** Value resolved when the Ink app exits before any callback fires (Ctrl+C / render failure). */\n onExit: T;\n /** Call instance.clear() before unmount — repaints a clean terminal (used by the dashboard). */\n clearOnResolve?: boolean;\n};\n\n/**\n * Renders an Ink prompt and resolves with the value produced by its callbacks.\n * First-wins: the first resolve (a callback or the app-exit fallback) settles the\n * promise; later resolves are ignored. The element is unmounted at the resolution\n * site (optionally cleared first). Callers own exit policy (exit codes, logging).\n */\nexport async function promptValue<T>(\n build: (resolve: (value: T) => void) => React.ReactElement,\n options: PromptValueOptions<T>,\n): Promise<T> {\n return new Promise<T>((resolve) => {\n const instance = render(\n build((value) => {\n if (options.clearOnResolve) instance.clear();\n instance.unmount();\n resolve(value);\n }),\n );\n // App exit without a callback (e.g. Ctrl+C) or a render failure counts as the\n // fallback; resolve is first-wins, so a prior callback value is unaffected.\n instance.waitUntilExit().then(\n () => resolve(options.onExit),\n () => resolve(options.onExit),\n );\n });\n}\n\n/**\n * Renders a confirm UI and resolves with the user's choice. The element is\n * unmounted as soon as either handler fires; a clean exit or render failure\n * without a choice resolves as \"cancelled\". Callers own exit policy.\n */\nexport async function promptConfirm(\n build: (handlers: ConfirmHandlers) => React.ReactElement,\n): Promise<\"confirmed\" | \"cancelled\"> {\n return promptValue<\"confirmed\" | \"cancelled\">(\n (resolve) =>\n build({ onConfirm: () => resolve(\"confirmed\"), onCancel: () => resolve(\"cancelled\") }),\n { onExit: \"cancelled\" },\n );\n}\n"],"mappings":";;;;;;AAAA,OAAkB;AAqBlB,eAAsB,YACpB,OACA,SACY;AACZ,SAAO,IAAI,QAAW,CAAC,YAAY;AACjC,UAAM,WAAW;AAAA,MACf,MAAM,CAAC,UAAU;AACf,YAAI,QAAQ,eAAgB,UAAS,MAAM;AAC3C,iBAAS,QAAQ;AACjB,gBAAQ,KAAK;AAAA,MACf,CAAC;AAAA,IACH;AAGA,aAAS,cAAc,EAAE;AAAA,MACvB,MAAM,QAAQ,QAAQ,MAAM;AAAA,MAC5B,MAAM,QAAQ,QAAQ,MAAM;AAAA,IAC9B;AAAA,EACF,CAAC;AACH;AAOA,eAAsB,cACpB,OACoC;AACpC,SAAO;AAAA,IACL,CAAC,YACC,MAAM,EAAE,WAAW,MAAM,QAAQ,WAAW,GAAG,UAAU,MAAM,QAAQ,WAAW,EAAE,CAAC;AAAA,IACvF,EAAE,QAAQ,YAAY;AAAA,EACxB;AACF;","names":[]}
@@ -1,64 +1,69 @@
1
1
  #!/usr/bin/env node
2
+ import {
3
+ SelectList
4
+ } from "./chunk-XGMOXMS4.js";
2
5
  import {
3
6
  promptValue
4
- } from "./chunk-Q2KG7UV3.js";
7
+ } from "./chunk-OJJLYHM3.js";
8
+ import {
9
+ Spinner
10
+ } from "./chunk-ZBPEFQ4G.js";
5
11
  import {
6
12
  runWizardSession
7
- } from "./chunk-MVR3SYMN.js";
13
+ } from "./chunk-KET3EVGX.js";
8
14
  import {
9
15
  useTerminalDimensions
10
- } from "./chunk-MWG4VU64.js";
11
- import {
12
- SelectList
13
- } from "./chunk-RNJWAKMO.js";
14
- import {
15
- Spinner
16
- } from "./chunk-IUQBOCSU.js";
17
- import {
18
- STATUS_MESSAGES,
19
- SUCCESS_MESSAGES
20
- } from "./chunk-ODNDXQH2.js";
16
+ } from "./chunk-M5HSTNYU.js";
21
17
  import {
22
18
  compileAgentsAllScopes,
23
19
  loadSource,
24
20
  writeProjectConfig
25
- } from "./chunk-STMHDOZD.js";
21
+ } from "./chunk-F7Z5I6GU.js";
26
22
  import {
27
- discoverInstalledSkills,
28
- installPluginSkills,
29
- pluginInstallFailureError
30
- } from "./chunk-SBHBBZKF.js";
23
+ discoverInstalledSkills
24
+ } from "./chunk-REKOWTIB.js";
31
25
  import {
32
26
  copyLocalSkills
33
- } from "./chunk-IHUY4M22.js";
27
+ } from "./chunk-NXGMM5YN.js";
34
28
  import {
35
29
  loadAgentDefs
36
- } from "./chunk-QZZJFYUQ.js";
30
+ } from "./chunk-FRWKCE6R.js";
37
31
  import {
38
32
  render
39
33
  } from "./chunk-JFLVEFFP.js";
40
34
  import {
41
35
  orderDomains
42
- } from "./chunk-5UWKOOIS.js";
36
+ } from "./chunk-HEBPKK5L.js";
43
37
  import {
44
38
  BaseCommand,
45
39
  EXIT_CODES
46
- } from "./chunk-KR65TPKC.js";
40
+ } from "./chunk-X5XJ6WKO.js";
47
41
  import {
48
42
  clearTerminalScreen
49
- } from "./chunk-ZL7PFNHN.js";
43
+ } from "./chunk-K3O3YQYG.js";
50
44
  import {
45
+ DEFAULT_SELECTION_OPTIONS,
46
+ INSTALL_MODE_DESCRIPTIONS,
51
47
  INSTALL_MODE_LABELS,
48
+ STATUS_MESSAGES,
49
+ SUCCESS_MESSAGES,
50
+ activeAgentNames,
52
51
  buildAgentScopeMap,
53
52
  deriveInstallMode,
54
53
  detectGlobalInstallation,
55
54
  detectInstallation,
55
+ detectProjectInstallation,
56
56
  getInstallationInfo,
57
57
  isHomeDirectory,
58
+ isScopePairCompatible,
58
59
  loadProjectConfig,
59
60
  loadProjectConfigFromDir,
60
- resolveInstallPaths
61
- } from "./chunk-EEPELKOM.js";
61
+ resolveInstallPaths,
62
+ seedPayloadSchema,
63
+ sharedConfigExistingInstall,
64
+ sharedConfigGlobalInstall,
65
+ validateSelection
66
+ } from "./chunk-NXQAY5U7.js";
62
67
  import {
63
68
  AGENT_NAMES,
64
69
  fileExists,
@@ -66,10 +71,10 @@ import {
66
71
  readFileSafe,
67
72
  settingsFileSchema,
68
73
  warn
69
- } from "./chunk-PMM2MYMA.js";
74
+ } from "./chunk-U2YSGBHA.js";
70
75
  import {
71
76
  getCategoryDomain
72
- } from "./chunk-WKTHWQKM.js";
77
+ } from "./chunk-35VOK7XE.js";
73
78
  import {
74
79
  ASCII_LOGO,
75
80
  CLAUDE_DIR,
@@ -82,50 +87,14 @@ import {
82
87
  EJECT_SOURCE,
83
88
  MAX_CONFIG_FILE_SIZE,
84
89
  STANDARD_FILES
85
- } from "./chunk-76ADG7LQ.js";
90
+ } from "./chunk-R54KIGN2.js";
86
91
 
87
92
  // src/cli/commands/init.tsx
88
93
  import os from "os";
94
+ import "react";
89
95
  import { Flags } from "@oclif/core";
90
96
  import { Box as Box2, Text as Text2, useApp } from "ink";
91
97
 
92
- // src/cli/lib/seed/seed-schema.ts
93
- import { z } from "zod";
94
- var SEED_VERSION = 3;
95
- var seedModelSchema = z.enum(["opus", "fable", "sonnet", "haiku"]);
96
- var seedEffortSchema = z.enum(["low", "medium", "high", "xhigh", "max"]);
97
- var seedLoadStateSchema = z.enum(["lazy", "preloaded"]);
98
- var seedSkillSchema = z.object({
99
- install: z.enum(["plugin", "eject"]),
100
- scope: z.enum(["project", "global"]),
101
- /** Sub-agent id -> load state; presence is assignment. */
102
- assignments: z.record(z.string(), seedLoadStateSchema)
103
- });
104
- var seedAgentSchema = z.object({
105
- /** Explicitly switched on (bare) or off. Absent means "whatever the assignments imply". */
106
- on: z.boolean().optional(),
107
- model: seedModelSchema.optional(),
108
- effort: seedEffortSchema.optional(),
109
- /**
110
- * Which `.claude/agents` directory this sub-agent's front-matter is written to. Absent means
111
- * `project` — the CLI's own default, so a resting choice never has to travel.
112
- */
113
- scope: z.enum(["project", "global"]).optional()
114
- });
115
- var seedPayloadSchema = z.object({
116
- v: z.literal(SEED_VERSION),
117
- /**
118
- * Diagnostics only. A mismatch with this CLI's matrix must never fail a decode — it explains
119
- * why some ids were skipped, it does not decide whether to try.
120
- */
121
- matrixVersion: z.string(),
122
- stackId: z.string().nullable(),
123
- /** Sparse — presence is selection. `remembered` never leaves the browser. */
124
- skills: z.record(z.string(), seedSkillSchema),
125
- /** Sparse — an agent with nothing to say has no entry. */
126
- agents: z.record(z.string(), seedAgentSchema)
127
- });
128
-
129
98
  // src/cli/lib/seed/fetch-seed.ts
130
99
  var SEED_API_URL = process.env.AGENTS_INC_API_URL ?? "https://api.agentsinc.sh";
131
100
  var SEED_USER_AGENT = "agents-inc-cli";
@@ -190,19 +159,30 @@ function readAgentMap(agents) {
190
159
  }
191
160
  return { known, switchedOff, unknown };
192
161
  }
162
+ function seedAgentScope(entry) {
163
+ return entry?.scope ?? DEFAULT_SELECTION_OPTIONS.scope;
164
+ }
193
165
  function agentScopeConfig(name, entry) {
194
166
  return {
195
167
  name,
196
- scope: entry?.scope ?? "project",
168
+ scope: seedAgentScope(entry),
197
169
  ...entry?.model !== void 0 && { model: entry.model },
198
170
  ...entry?.effort !== void 0 && { effort: entry.effort }
199
171
  };
200
172
  }
173
+ function unwritableAssignmentsError(assignments) {
174
+ return [
175
+ "This configuration cannot be installed: a project-scoped skill never reaches a sub-agent that rests at global scope, so these assignments have nowhere to be written:",
176
+ ...assignments.map(({ skillId, agent }) => ` ${skillId} -> ${agent}`),
177
+ "Re-share it with each sub-agent above pinned to the project, or each skill above at global scope."
178
+ ].join("\n");
179
+ }
201
180
  function seedToWizardResult(payload, matrix) {
202
181
  const domainSelections = {};
203
182
  const assignedStack = {};
204
183
  const skills = [];
205
184
  const skippedSkillIds = [];
185
+ const unwritable = [];
206
186
  const agentNames = /* @__PURE__ */ new Set();
207
187
  const agentMap = readAgentMap(payload.agents);
208
188
  const skippedAgentNames = new Set(agentMap.unknown);
@@ -229,10 +209,15 @@ function seedToWizardResult(payload, matrix) {
229
209
  continue;
230
210
  }
231
211
  const agent = agentName;
212
+ if (!isScopePairCompatible(entry.scope, seedAgentScope(agentMap.known.get(agent)))) {
213
+ unwritable.push({ skillId: id, agent });
214
+ continue;
215
+ }
232
216
  agentNames.add(agent);
233
217
  addToAgentStack(assignedStack, agent, category, toSkillAssignment(id, load));
234
218
  }
235
219
  }
220
+ if (unwritable.length > 0) throw new Error(unwritableAssignmentsError(unwritable));
236
221
  for (const [name, entry] of agentMap.known) {
237
222
  if (entry.on === true) agentNames.add(name);
238
223
  }
@@ -247,12 +232,17 @@ function seedToWizardResult(payload, matrix) {
247
232
  domainSelections,
248
233
  selectedDomains: orderDomains(Object.keys(domainSelections)),
249
234
  // Nothing was dropped from a *saved config* — the skipped ids came off the wire and are
250
- // reported to the user directly, so there is no existing entry to preserve.
235
+ // reported to the user directly, so there is no config removal to explain.
251
236
  unresolvableSkillIds: [],
252
237
  cancelled: false,
253
- // A shared configuration was already validated by the app that built it; this path has no
254
- // interactive step in which a validation warning could be acted on.
255
- validation: { valid: true, errors: [], warnings: [] }
238
+ // Revalidated here rather than taken on trust from the app that built the payload. That app
239
+ // validated against ITS catalog; this one skips ids it does not know and carries its own
240
+ // relationship rules, so a configuration that was consistent where it was authored can
241
+ // arrive with a requirement genuinely unmet. Running the same validator the wizard runs
242
+ // makes that this catalog's verdict on what it can install — reported through the spine
243
+ // `init` already has, beside the skips that explain it — rather than a fault in what was
244
+ // shared.
245
+ validation: validateSelection(skills.map((skill) => skill.id))
256
246
  },
257
247
  skippedSkillIds,
258
248
  skippedAgentNames: [...skippedAgentNames]
@@ -260,6 +250,8 @@ function seedToWizardResult(payload, matrix) {
260
250
  }
261
251
 
262
252
  // src/cli/lib/permission-checker.tsx
253
+ import "react";
254
+ import "zod";
263
255
  import { Text, Box } from "ink";
264
256
  import path from "path";
265
257
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -392,6 +384,9 @@ async function runDashboardFlow(projectDir, config, origin, log) {
392
384
  }
393
385
  return true;
394
386
  }
387
+ function writesGlobalContent(result) {
388
+ return result.skills.some((skill) => skill.scope === "global") || result.agentConfigs.some((agent) => agent.scope === "global");
389
+ }
395
390
  var Init = class _Init extends BaseCommand {
396
391
  static summary = `Initialize ${DEFAULT_BRANDING.NAME} in this project`;
397
392
  static description = "Interactive wizard to set up skills and agents. Supports Plugin Mode (native install) and Eject Mode (copy to .claude/).";
@@ -403,17 +398,13 @@ var Init = class _Init extends BaseCommand {
403
398
  {
404
399
  description: "Initialize from a custom marketplace",
405
400
  command: "<%= config.bin %> <%= command.id %> --source github:org/marketplace"
406
- },
407
- {
408
- description: "Force refresh skills from remote",
409
- command: "<%= config.bin %> <%= command.id %> --refresh"
410
401
  }
411
402
  ];
412
403
  static flags = {
413
- ...BaseCommand.baseFlags,
414
- refresh: Flags.boolean({
415
- description: "Force refresh from remote source",
416
- default: false
404
+ source: Flags.string({
405
+ char: "s",
406
+ description: "Skills source path or URL",
407
+ required: false
417
408
  }),
418
409
  from: Flags.string({
419
410
  description: "Install a configuration shared from agentsinc.sh by its id, without the wizard",
@@ -428,9 +419,11 @@ var Init = class _Init extends BaseCommand {
428
419
  async run() {
429
420
  const { flags } = await this.parse(_Init);
430
421
  const projectDir = process.cwd();
422
+ await this.ensureConfigReadable(projectDir);
431
423
  if (!flags.from && await this.showDashboardIfInitialized(projectDir)) return;
432
- const selection = flags.from ? await this.selectionFromSharedConfig(flags.from, flags) : await this.selectionFromWizard(flags, projectDir);
424
+ const selection = flags.from ? await this.selectionFromSharedConfig(flags.from, flags, projectDir) : await this.selectionFromWizard(flags, projectDir);
433
425
  if (!selection) this.exit(EXIT_CODES.CANCELLED);
426
+ this.reportValidationErrors(selection.result.validation);
434
427
  if (selection.result.skills.length === 0 && selection.result.selectedAgents.length === 0) {
435
428
  this.error(selection.emptyMessage, { exit: EXIT_CODES.ERROR });
436
429
  }
@@ -472,18 +465,23 @@ var Init = class _Init extends BaseCommand {
472
465
  /**
473
466
  * The `--from <id>` producer: fetch and map, no wizard. Nothing here may assume a TTY — running
474
467
  * headless is most of why the flag exists.
468
+ *
469
+ * It is also greenfield-only, which is what the two refusals are: a shared configuration is
470
+ * installed whole, so anything it would have to install over has to be uninstalled first.
475
471
  */
476
- async selectionFromSharedConfig(id, flags) {
472
+ async selectionFromSharedConfig(id, flags, projectDir) {
473
+ await this.refuseInstalledProject(projectDir);
477
474
  this.log(`Fetching configuration ${id}...`);
478
475
  const fetched = await fetchSeedConfig(id);
479
476
  if (!fetched.ok) {
480
477
  this.error(fetched.error, { exit: EXIT_CODES.ERROR });
481
478
  }
482
479
  const { sourceResult } = await this.loadSourceOrFail(flags);
483
- const { result, skippedSkillIds, skippedAgentNames } = seedToWizardResult(
480
+ const { result, skippedSkillIds, skippedAgentNames } = this.decodeSeedOrFail(
484
481
  fetched.payload,
485
482
  sourceResult.matrix
486
483
  );
484
+ await this.refuseBlockingGlobalInstall(result);
487
485
  if (skippedSkillIds.length > 0) {
488
486
  this.warn(
489
487
  `Skipped ${skippedSkillIds.length} skill(s) this catalog does not know: ${skippedSkillIds.join(", ")}`
@@ -507,6 +505,47 @@ var Init = class _Init extends BaseCommand {
507
505
  emptyMessage: `Configuration '${id}' contains no skills this catalog can install.`
508
506
  };
509
507
  }
508
+ /**
509
+ * Refuses to install a shared configuration into a directory that already has one.
510
+ *
511
+ * Project-scoped detection rather than `detectInstallation`, whose global fallback would refuse
512
+ * every clean project on a machine with a global install — including for a payload that never
513
+ * goes near it. Whether a global install is in the way is a question about the PAYLOAD, and
514
+ * {@link refuseBlockingGlobalInstall} is where it is asked.
515
+ *
516
+ * This runs before the fetch: there is nothing to learn from the network about a directory that
517
+ * is already spoken for.
518
+ */
519
+ async refuseInstalledProject(projectDir) {
520
+ const installation = await detectProjectInstallation(projectDir);
521
+ if (!installation) return;
522
+ this.error(sharedConfigExistingInstall(installation.configPath), { exit: EXIT_CODES.ERROR });
523
+ }
524
+ /**
525
+ * The other half of the same rule. A payload carrying global-scoped skills or sub-agents writes
526
+ * into the user's own ~/.claude, so an installation there is in its way even when this project
527
+ * is spotless. A payload with nothing global cannot reach that far and is never refused for it.
528
+ */
529
+ async refuseBlockingGlobalInstall(result) {
530
+ if (!writesGlobalContent(result)) return;
531
+ const globalInstallation = await detectGlobalInstallation();
532
+ if (!globalInstallation) return;
533
+ this.error(sharedConfigGlobalInstall(globalInstallation.configPath), {
534
+ exit: EXIT_CODES.ERROR
535
+ });
536
+ }
537
+ /**
538
+ * The decode refuses a payload the config model has nowhere to write (see `seedToWizardResult`).
539
+ * That is a failure of this command, reported with this command's exit code rather than left to
540
+ * surface as an unhandled throw.
541
+ */
542
+ decodeSeedOrFail(payload, matrix) {
543
+ try {
544
+ return seedToWizardResult(payload, matrix);
545
+ } catch (error) {
546
+ this.handleError(error);
547
+ }
548
+ }
510
549
  async showDashboardIfInitialized(projectDir) {
511
550
  return runDashboardFlow(projectDir, this.config, "init", (msg) => this.log(msg));
512
551
  }
@@ -519,9 +558,10 @@ var Init = class _Init extends BaseCommand {
519
558
  async loadSourceOrFail(flags) {
520
559
  try {
521
560
  const loaded = await loadSource({
522
- sourceFlag: flags.source,
561
+ // The one load that may CHOOSE a source rather than read the stored one.
562
+ caller: "init",
563
+ ...flags.source !== void 0 && { sourceFlag: flags.source },
523
564
  projectDir: process.cwd(),
524
- forceRefresh: flags.refresh,
525
565
  captureStartupMessages: true
526
566
  });
527
567
  return { sourceResult: loaded.sourceResult, startupMessages: loaded.startupMessages };
@@ -532,20 +572,23 @@ var Init = class _Init extends BaseCommand {
532
572
  }
533
573
  }
534
574
  async runWizard(sourceResult, startupMessages, projectDir, globalConfig, isGlobalRoot) {
575
+ const selectedAgents = globalConfig?.agents && activeAgentNames(globalConfig.agents);
576
+ const globalSkills = globalConfig?.skills;
535
577
  return runWizardSession({
536
578
  hydrate: {
537
- initialAgents: globalConfig?.selectedAgents,
538
- installedSkillIds: globalConfig?.skills?.map((s) => s.id),
539
- installedSkillConfigs: globalConfig?.skills,
540
- installedAgentConfigs: globalConfig?.agents,
579
+ ...selectedAgents !== void 0 && { initialAgents: selectedAgents },
580
+ ...globalSkills !== void 0 && {
581
+ installedSkillIds: globalSkills.map((s) => s.id),
582
+ installedSkillConfigs: globalSkills
583
+ },
584
+ ...globalConfig?.agents !== void 0 && { installedAgentConfigs: globalConfig.agents },
541
585
  isEditingFromGlobalScope: isGlobalRoot
542
586
  },
543
587
  props: {
544
588
  version: this.config.version,
545
589
  logo: ASCII_LOGO,
546
- initialAgents: globalConfig?.selectedAgents,
547
- installedSkillIds: globalConfig?.skills?.map((s) => s.id),
548
- projectDir,
590
+ initialAgents: selectedAgents,
591
+ installedSkillIds: globalConfig?.skills.map((s) => s.id),
549
592
  startupMessages
550
593
  },
551
594
  onCancel: () => this.log("Setup cancelled"),
@@ -566,7 +609,7 @@ var Init = class _Init extends BaseCommand {
566
609
  ) : null;
567
610
  const copyResult = installMode === "eject" || installMode === "mixed" ? await this.copyEjectSkillsStep(ejectedSkills, projectDir, sourceResult, installMode) : null;
568
611
  if (resolvedMarketplace !== null) {
569
- await this.installPluginsStep(pluginSkills, resolvedMarketplace, projectDir);
612
+ await this.installPluginSkillsReported(pluginSkills, resolvedMarketplace, projectDir);
570
613
  }
571
614
  const pluginModeSucceeded = resolvedMarketplace !== null;
572
615
  try {
@@ -583,25 +626,34 @@ var Init = class _Init extends BaseCommand {
583
626
  pluginModeSucceeded,
584
627
  copyResult
585
628
  );
586
- const permissionWarning = await checkPermissions(projectDir);
587
- if (permissionWarning) {
588
- if (interactive) {
589
- const { waitUntilExit } = render(permissionWarning);
590
- await waitUntilExit();
591
- } else {
592
- const { unmount } = render(permissionWarning);
593
- unmount();
594
- }
595
- }
629
+ await this.showPermissionNotice(projectDir, interactive);
596
630
  } catch (error) {
597
631
  this.handleError(error);
598
632
  }
599
633
  }
634
+ /**
635
+ * The permission notice, where there is one to show. It is an Ink app with no exit of its own,
636
+ * so `waitUntilExit()` only ever resolves because a person is there to end it — which is fine
637
+ * after the wizard and a hang everywhere else. Without a terminal to hold, one frame is
638
+ * rendered and let go: the notice is information, not a prompt, so there is nothing to answer
639
+ * and nothing to wait for.
640
+ */
641
+ async showPermissionNotice(projectDir, interactive) {
642
+ const permissionWarning = await checkPermissions(projectDir);
643
+ if (!permissionWarning) return;
644
+ if (!interactive) {
645
+ const { unmount } = render(permissionWarning);
646
+ unmount();
647
+ return;
648
+ }
649
+ const { waitUntilExit } = render(permissionWarning);
650
+ await waitUntilExit();
651
+ }
600
652
  logInstallPlan(installMode, ejectedSkills, pluginSkills) {
601
653
  this.log("\n");
602
654
  this.log(`Selected ${ejectedSkills.length + pluginSkills.length} skills`);
603
655
  this.log(
604
- `Install mode: ${installMode === "plugin" ? `${INSTALL_MODE_LABELS.plugin} (native install)` : installMode === "mixed" ? `${INSTALL_MODE_LABELS.mixed} (${ejectedSkills.length} eject, ${pluginSkills.length} plugin)` : `${INSTALL_MODE_LABELS.eject} (copy to .claude/skills/)`}`
656
+ `Install mode: ${installMode === "mixed" ? `${INSTALL_MODE_LABELS.mixed} (${ejectedSkills.length} eject, ${pluginSkills.length} plugin)` : INSTALL_MODE_DESCRIPTIONS[installMode]}`
605
657
  );
606
658
  }
607
659
  async copyEjectSkillsStep(localSkills, projectDir, sourceResult, installMode) {
@@ -623,30 +675,13 @@ var Init = class _Init extends BaseCommand {
623
675
  }
624
676
  return copyResult;
625
677
  }
626
- async installPluginsStep(pluginSkills, marketplace, projectDir) {
627
- this.log("Installing skill plugins...");
628
- const pluginResult = await installPluginSkills(pluginSkills, marketplace, projectDir);
629
- for (const item of pluginResult.installed) {
630
- this.log(` Installed ${item.ref}`);
631
- }
632
- for (const item of pluginResult.failed) {
633
- this.warn(`Failed to install plugin ${item.id}: ${item.error}`);
634
- }
635
- if (pluginResult.failed.length > 0) {
636
- this.error(pluginInstallFailureError(pluginResult.failed.length), {
637
- exit: EXIT_CODES.ERROR
638
- });
639
- }
640
- this.log(`Installed ${pluginResult.installed.length} skill plugins
641
- `);
642
- }
643
678
  async writeConfigAndCompile(result, sourceResult, flags) {
644
679
  this.log("Generating configuration...");
645
680
  const configResult = await writeProjectConfig({
646
681
  wizardResult: result,
647
682
  sourceResult,
648
683
  projectDir: process.cwd(),
649
- sourceFlag: flags.source
684
+ ...flags.source !== void 0 && { sourceFlag: flags.source }
650
685
  });
651
686
  if (configResult.wasMerged) {
652
687
  this.log(`Merged with existing config at ${configResult.existingConfigPath}`);
@@ -669,20 +704,6 @@ var Init = class _Init extends BaseCommand {
669
704
  this.reportPropagatedRecompile(configResult.propagation);
670
705
  return { configResult, compileResult, agentScopeMap };
671
706
  }
672
- /**
673
- * Renders the recompile the gated write already performed on every OTHER
674
- * registered project this run's global change was propagated into.
675
- */
676
- reportPropagatedRecompile(propagation) {
677
- if (propagation.propagated.updated.length === 0) return;
678
- const { recompiledCount, failedCount, warnings } = propagation.recompile;
679
- for (const warning of warnings) {
680
- this.warn(warning);
681
- }
682
- const failureSuffix = failedCount > 0 ? ` (${failedCount} failed)` : "";
683
- this.log(`Recompiled agents in ${recompiledCount} registered projects${failureSuffix}
684
- `);
685
- }
686
707
  reportSuccess(configResult, compileResult, agentScopeMap, installMode, pluginModeSucceeded, copyResult) {
687
708
  this.log(`${SUCCESS_MESSAGES.INIT_SUCCESS}
688
709
  `);
@@ -759,12 +780,12 @@ var Init = class _Init extends BaseCommand {
759
780
  };
760
781
  async function getDashboardData(projectDir) {
761
782
  const [info, loaded] = await Promise.all([getInstallationInfo(), loadProjectConfig(projectDir)]);
762
- const activeSkills = loaded?.config?.skills?.filter((s) => !s.excluded);
783
+ const activeSkills = loaded?.config.skills.filter((s) => !s.excluded);
763
784
  const skillCount = info?.skillCount ?? 0;
764
785
  const agentCount = info?.agentCount ?? 0;
765
786
  const mode = info?.mode ?? (activeSkills ? deriveInstallMode(activeSkills) : "eject");
766
- const source = loaded?.config?.source;
767
- return { skillCount, agentCount, mode, source };
787
+ const source = loaded?.config.source;
788
+ return { skillCount, agentCount, mode, ...source !== void 0 && { source } };
768
789
  }
769
790
 
770
791
  export {
@@ -774,4 +795,4 @@ export {
774
795
  Init,
775
796
  getDashboardData
776
797
  };
777
- //# sourceMappingURL=chunk-PZIZNMHK.js.map
798
+ //# sourceMappingURL=chunk-ORJ5Y222.js.map