@agents-inc/cli 0.47.0 → 0.50.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 (261) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +113 -118
  3. package/config/skill-categories.yaml +344 -0
  4. package/config/skill-rules.yaml +740 -0
  5. package/config/stacks.yaml +0 -1
  6. package/dist/{chunk-CJFWO46A.js → chunk-26MXZUHU.js} +2 -2
  7. package/dist/{chunk-KQ27IDYL.js → chunk-2BWCR762.js} +2 -3
  8. package/dist/chunk-2BWCR762.js.map +1 -0
  9. package/dist/chunk-3VOL4WEG.js +31 -0
  10. package/dist/chunk-3VOL4WEG.js.map +1 -0
  11. package/dist/chunk-4QWDB2MD.js +571 -0
  12. package/dist/chunk-4QWDB2MD.js.map +1 -0
  13. package/dist/{chunk-LJ5E4GXC.js → chunk-4R52TQ3K.js} +2 -2
  14. package/dist/{chunk-SPSGZWTZ.js → chunk-5FCHJLM7.js} +34 -16
  15. package/dist/chunk-5FCHJLM7.js.map +1 -0
  16. package/dist/chunk-5FPIKTSA.js +40 -0
  17. package/dist/chunk-5FPIKTSA.js.map +1 -0
  18. package/dist/{chunk-HLTJK3XB.js → chunk-5L724R4C.js} +5 -6
  19. package/dist/{chunk-HLTJK3XB.js.map → chunk-5L724R4C.js.map} +1 -1
  20. package/dist/{chunk-JTTTXGHX.js → chunk-7LV4V6A4.js} +4 -4
  21. package/dist/{chunk-FTD5Z6QD.js → chunk-AWP5A6IM.js} +15 -7
  22. package/dist/chunk-AWP5A6IM.js.map +1 -0
  23. package/dist/chunk-C3Q43WLC.js +118 -0
  24. package/dist/chunk-C3Q43WLC.js.map +1 -0
  25. package/dist/{chunk-B4QYXVPZ.js → chunk-CMNKHDOX.js} +2 -2
  26. package/dist/{chunk-TBB3THSL.js → chunk-D72AFYQR.js} +8 -13
  27. package/dist/chunk-D72AFYQR.js.map +1 -0
  28. package/dist/{chunk-QR2TM4OY.js → chunk-DCE423KO.js} +46 -30
  29. package/dist/chunk-DCE423KO.js.map +1 -0
  30. package/dist/chunk-GBOW6FUW.js +74 -0
  31. package/dist/chunk-GBOW6FUW.js.map +1 -0
  32. package/dist/{chunk-GFDGYQ6M.js → chunk-HMSHB5EQ.js} +569 -269
  33. package/dist/chunk-HMSHB5EQ.js.map +1 -0
  34. package/dist/{chunk-NRCKIHND.js → chunk-HYEUETIC.js} +2 -2
  35. package/dist/{chunk-OEJDFGAF.js → chunk-I6IOGZSZ.js} +61 -52
  36. package/dist/chunk-I6IOGZSZ.js.map +1 -0
  37. package/dist/{chunk-3APMMQUA.js → chunk-JFF7P4LC.js} +30 -93
  38. package/dist/chunk-JFF7P4LC.js.map +1 -0
  39. package/dist/{chunk-N5OCAAXY.js → chunk-JWYRXE6C.js} +2 -2
  40. package/dist/{chunk-TWDVLTU6.js → chunk-KAO3LKB5.js} +3 -3
  41. package/dist/{chunk-XTRPYUWK.js → chunk-KQOU4POU.js} +26 -28
  42. package/dist/chunk-KQOU4POU.js.map +1 -0
  43. package/dist/{chunk-YTRFL3MR.js → chunk-M3GQ2R3E.js} +29 -28
  44. package/dist/chunk-M3GQ2R3E.js.map +1 -0
  45. package/dist/{chunk-LNA6M2IE.js → chunk-PGY5XROM.js} +2 -2
  46. package/dist/chunk-PGY5XROM.js.map +1 -0
  47. package/dist/{chunk-VAQJLHUW.js → chunk-QB5HHTAA.js} +8 -19
  48. package/dist/chunk-QB5HHTAA.js.map +1 -0
  49. package/dist/{chunk-VSZ5GDET.js → chunk-QYLCINGC.js} +2 -2
  50. package/dist/{chunk-IRJADQM7.js → chunk-RA2IPRO2.js} +2 -2
  51. package/dist/{chunk-DC333ZDC.js → chunk-RDWGYKDY.js} +4 -4
  52. package/dist/{chunk-FXQYEXLS.js → chunk-RFKDGJAJ.js} +26 -57
  53. package/dist/chunk-RFKDGJAJ.js.map +1 -0
  54. package/dist/{chunk-HPJP3HFD.js → chunk-SPFHPHYL.js} +7 -7
  55. package/dist/{chunk-EZ46ZTAQ.js → chunk-U2W5SENM.js} +3 -3
  56. package/dist/{chunk-MVEYK55V.js → chunk-U7X4V4HE.js} +2 -2
  57. package/dist/{chunk-INKJBMPJ.js → chunk-UAD3SC27.js} +4 -12
  58. package/dist/chunk-UAD3SC27.js.map +1 -0
  59. package/dist/{chunk-C4QI54PN.js → chunk-WBHPCBVN.js} +57 -34
  60. package/dist/chunk-WBHPCBVN.js.map +1 -0
  61. package/dist/chunk-WFFV254H.js +314 -0
  62. package/dist/chunk-WFFV254H.js.map +1 -0
  63. package/dist/{chunk-ZWAL2ZY7.js → chunk-WJHFV6RI.js} +3 -2
  64. package/dist/chunk-WJHFV6RI.js.map +1 -0
  65. package/dist/{chunk-2RQYJFKA.js → chunk-WLZHCM7O.js} +2 -2
  66. package/dist/{chunk-DVW6ASTO.js → chunk-XDSVV5GZ.js} +4 -4
  67. package/dist/{chunk-JZHIF3K7.js → chunk-YDYRAXSY.js} +57 -27
  68. package/dist/chunk-YDYRAXSY.js.map +1 -0
  69. package/dist/commands/build/marketplace.js +4 -4
  70. package/dist/commands/build/plugins.js +5 -5
  71. package/dist/commands/build/stack.js +5 -5
  72. package/dist/commands/compile.js +11 -9
  73. package/dist/commands/compile.js.map +1 -1
  74. package/dist/commands/config/get.js +4 -4
  75. package/dist/commands/config/index.js +5 -5
  76. package/dist/commands/config/path.js +4 -4
  77. package/dist/commands/config/set-project.js +4 -4
  78. package/dist/commands/config/show.js +5 -5
  79. package/dist/commands/config/unset-project.js +4 -4
  80. package/dist/commands/diff.js +4 -4
  81. package/dist/commands/doctor.js +4 -4
  82. package/dist/commands/edit.js +58 -52
  83. package/dist/commands/edit.js.map +1 -1
  84. package/dist/commands/eject.js +4 -4
  85. package/dist/commands/import/skill.js +7 -8
  86. package/dist/commands/import/skill.js.map +1 -1
  87. package/dist/commands/info.js +5 -5
  88. package/dist/commands/init.js +40 -435
  89. package/dist/commands/init.js.map +1 -1
  90. package/dist/commands/list.js +4 -4
  91. package/dist/commands/new/agent.js +11 -10
  92. package/dist/commands/new/agent.js.map +1 -1
  93. package/dist/commands/new/marketplace.js +24 -5
  94. package/dist/commands/new/marketplace.js.map +1 -1
  95. package/dist/commands/new/skill.js +15 -209
  96. package/dist/commands/new/skill.js.map +1 -1
  97. package/dist/commands/outdated.js +11 -7
  98. package/dist/commands/outdated.js.map +1 -1
  99. package/dist/commands/search.js +7 -8
  100. package/dist/commands/search.js.map +1 -1
  101. package/dist/commands/uninstall.js +6 -6
  102. package/dist/commands/update.js +6 -6
  103. package/dist/commands/validate.js +62 -250
  104. package/dist/commands/validate.js.map +1 -1
  105. package/dist/components/skill-search/skill-search.js +3 -3
  106. package/dist/components/wizard/category-grid.js +3 -2
  107. package/dist/components/wizard/category-grid.test.js +112 -58
  108. package/dist/components/wizard/category-grid.test.js.map +1 -1
  109. package/dist/components/wizard/checkbox-grid.js +5 -3
  110. package/dist/components/wizard/checkbox-grid.test.js +5 -4
  111. package/dist/components/wizard/checkbox-grid.test.js.map +1 -1
  112. package/dist/components/wizard/domain-selection.js +11 -9
  113. package/dist/components/wizard/help-modal.js +2 -2
  114. package/dist/components/wizard/menu-item.js +1 -1
  115. package/dist/components/wizard/search-modal.js +2 -2
  116. package/dist/components/wizard/search-modal.test.js +2 -2
  117. package/dist/components/wizard/section-progress.js +2 -2
  118. package/dist/components/wizard/section-progress.test.js +2 -2
  119. package/dist/components/wizard/selection-card.js +2 -2
  120. package/dist/components/wizard/source-grid.js +4 -3
  121. package/dist/components/wizard/source-grid.test.js +4 -3
  122. package/dist/components/wizard/source-grid.test.js.map +1 -1
  123. package/dist/components/wizard/stack-selection.js +8 -8
  124. package/dist/components/wizard/step-agents.js +10 -8
  125. package/dist/components/wizard/step-agents.test.js +18 -17
  126. package/dist/components/wizard/step-agents.test.js.map +1 -1
  127. package/dist/components/wizard/step-build.js +9 -8
  128. package/dist/components/wizard/step-build.test.js +17 -35
  129. package/dist/components/wizard/step-build.test.js.map +1 -1
  130. package/dist/components/wizard/step-confirm.js +4 -4
  131. package/dist/components/wizard/step-confirm.test.js +8 -8
  132. package/dist/components/wizard/step-refine.js +2 -2
  133. package/dist/components/wizard/step-refine.test.js +2 -2
  134. package/dist/components/wizard/step-settings.js +7 -5
  135. package/dist/components/wizard/step-settings.test.js +10 -8
  136. package/dist/components/wizard/step-settings.test.js.map +1 -1
  137. package/dist/components/wizard/step-sources.js +11 -10
  138. package/dist/components/wizard/step-sources.test.js +12 -11
  139. package/dist/components/wizard/step-sources.test.js.map +1 -1
  140. package/dist/components/wizard/step-stack.js +15 -12
  141. package/dist/components/wizard/step-stack.test.js +16 -13
  142. package/dist/components/wizard/step-stack.test.js.map +1 -1
  143. package/dist/components/wizard/view-title.js +2 -2
  144. package/dist/components/wizard/wizard-layout.js +8 -8
  145. package/dist/components/wizard/wizard-tabs.js +2 -2
  146. package/dist/components/wizard/wizard-tabs.test.js +2 -2
  147. package/dist/components/wizard/wizard.js +27 -25
  148. package/dist/config/skill-categories.yaml +344 -0
  149. package/dist/config/skill-rules.yaml +740 -0
  150. package/dist/config/stacks.yaml +0 -1
  151. package/dist/hooks/init.js +55 -3
  152. package/dist/hooks/init.js.map +1 -1
  153. package/dist/{source-manager-Q34LTUVM.js → source-manager-BVB2SG73.js} +4 -4
  154. package/dist/src/agents/meta/agent-summoner/critical-reminders.md +1 -1
  155. package/dist/src/agents/meta/agent-summoner/critical-requirements.md +1 -1
  156. package/dist/src/agents/meta/agent-summoner/examples.md +2 -2
  157. package/dist/src/agents/meta/agent-summoner/output-format.md +1 -1
  158. package/dist/src/agents/meta/agent-summoner/workflow.md +5 -7
  159. package/{src/agents/meta/documentor/agent.yaml → dist/src/agents/meta/documentor/metadata.yaml} +1 -0
  160. package/dist/stores/wizard-store.js +5 -5
  161. package/dist/stores/wizard-store.test.js +79 -27
  162. package/dist/stores/wizard-store.test.js.map +1 -1
  163. package/package.json +5 -1
  164. package/src/agents/meta/agent-summoner/critical-reminders.md +1 -1
  165. package/src/agents/meta/agent-summoner/critical-requirements.md +1 -1
  166. package/src/agents/meta/agent-summoner/examples.md +2 -2
  167. package/src/agents/meta/agent-summoner/output-format.md +1 -1
  168. package/src/agents/meta/agent-summoner/workflow.md +5 -7
  169. package/{dist/src/agents/meta/documentor/agent.yaml → src/agents/meta/documentor/metadata.yaml} +1 -0
  170. package/src/schemas/agent.schema.json +1 -1
  171. package/src/schemas/metadata.schema.json +2 -5
  172. package/src/schemas/project-config.schema.json +0 -3
  173. package/src/schemas/project-source-config.schema.json +4 -1
  174. package/config/skills-matrix.yaml +0 -918
  175. package/dist/chunk-3APMMQUA.js.map +0 -1
  176. package/dist/chunk-C4QI54PN.js.map +0 -1
  177. package/dist/chunk-FMQ3A7W4.js +0 -29
  178. package/dist/chunk-FMQ3A7W4.js.map +0 -1
  179. package/dist/chunk-FTD5Z6QD.js.map +0 -1
  180. package/dist/chunk-FXQYEXLS.js.map +0 -1
  181. package/dist/chunk-GFDGYQ6M.js.map +0 -1
  182. package/dist/chunk-INKJBMPJ.js.map +0 -1
  183. package/dist/chunk-JZHIF3K7.js.map +0 -1
  184. package/dist/chunk-KQ27IDYL.js.map +0 -1
  185. package/dist/chunk-LNA6M2IE.js.map +0 -1
  186. package/dist/chunk-M4P5YJ45.js +0 -99
  187. package/dist/chunk-M4P5YJ45.js.map +0 -1
  188. package/dist/chunk-OEJDFGAF.js.map +0 -1
  189. package/dist/chunk-QR2TM4OY.js.map +0 -1
  190. package/dist/chunk-SPSGZWTZ.js.map +0 -1
  191. package/dist/chunk-TBB3THSL.js.map +0 -1
  192. package/dist/chunk-VAQJLHUW.js.map +0 -1
  193. package/dist/chunk-XTRPYUWK.js.map +0 -1
  194. package/dist/chunk-YTRFL3MR.js.map +0 -1
  195. package/dist/chunk-ZWAL2ZY7.js.map +0 -1
  196. package/dist/config/skills-matrix.yaml +0 -918
  197. package/dist/src/agents/migration/cli-migrator/agent.yaml +0 -12
  198. package/dist/src/agents/migration/cli-migrator/anti-patterns.md +0 -158
  199. package/dist/src/agents/migration/cli-migrator/conversion-mappings.md +0 -63
  200. package/dist/src/agents/migration/cli-migrator/critical-reminders.md +0 -17
  201. package/dist/src/agents/migration/cli-migrator/critical-requirements.md +0 -13
  202. package/dist/src/agents/migration/cli-migrator/intro.md +0 -15
  203. package/dist/src/agents/migration/cli-migrator/output-format.md +0 -164
  204. package/dist/src/agents/migration/cli-migrator/workflow.md +0 -230
  205. package/src/agents/migration/cli-migrator/agent.yaml +0 -12
  206. package/src/agents/migration/cli-migrator/anti-patterns.md +0 -158
  207. package/src/agents/migration/cli-migrator/conversion-mappings.md +0 -63
  208. package/src/agents/migration/cli-migrator/critical-reminders.md +0 -17
  209. package/src/agents/migration/cli-migrator/critical-requirements.md +0 -13
  210. package/src/agents/migration/cli-migrator/intro.md +0 -15
  211. package/src/agents/migration/cli-migrator/output-format.md +0 -164
  212. package/src/agents/migration/cli-migrator/workflow.md +0 -230
  213. package/src/schemas/skills-matrix.schema.json +0 -179
  214. /package/dist/{chunk-CJFWO46A.js.map → chunk-26MXZUHU.js.map} +0 -0
  215. /package/dist/{chunk-LJ5E4GXC.js.map → chunk-4R52TQ3K.js.map} +0 -0
  216. /package/dist/{chunk-JTTTXGHX.js.map → chunk-7LV4V6A4.js.map} +0 -0
  217. /package/dist/{chunk-B4QYXVPZ.js.map → chunk-CMNKHDOX.js.map} +0 -0
  218. /package/dist/{chunk-NRCKIHND.js.map → chunk-HYEUETIC.js.map} +0 -0
  219. /package/dist/{chunk-N5OCAAXY.js.map → chunk-JWYRXE6C.js.map} +0 -0
  220. /package/dist/{chunk-TWDVLTU6.js.map → chunk-KAO3LKB5.js.map} +0 -0
  221. /package/dist/{chunk-VSZ5GDET.js.map → chunk-QYLCINGC.js.map} +0 -0
  222. /package/dist/{chunk-IRJADQM7.js.map → chunk-RA2IPRO2.js.map} +0 -0
  223. /package/dist/{chunk-DC333ZDC.js.map → chunk-RDWGYKDY.js.map} +0 -0
  224. /package/dist/{chunk-HPJP3HFD.js.map → chunk-SPFHPHYL.js.map} +0 -0
  225. /package/dist/{chunk-EZ46ZTAQ.js.map → chunk-U2W5SENM.js.map} +0 -0
  226. /package/dist/{chunk-MVEYK55V.js.map → chunk-U7X4V4HE.js.map} +0 -0
  227. /package/dist/{chunk-2RQYJFKA.js.map → chunk-WLZHCM7O.js.map} +0 -0
  228. /package/dist/{chunk-DVW6ASTO.js.map → chunk-XDSVV5GZ.js.map} +0 -0
  229. /package/dist/{source-manager-Q34LTUVM.js.map → source-manager-BVB2SG73.js.map} +0 -0
  230. /package/dist/src/agents/developer/api-developer/{agent.yaml → metadata.yaml} +0 -0
  231. /package/dist/src/agents/developer/cli-developer/{agent.yaml → metadata.yaml} +0 -0
  232. /package/dist/src/agents/developer/web-architecture/{agent.yaml → metadata.yaml} +0 -0
  233. /package/dist/src/agents/developer/web-developer/{agent.yaml → metadata.yaml} +0 -0
  234. /package/dist/src/agents/meta/agent-summoner/{agent.yaml → metadata.yaml} +0 -0
  235. /package/dist/src/agents/meta/skill-summoner/{agent.yaml → metadata.yaml} +0 -0
  236. /package/dist/src/agents/pattern/pattern-scout/{agent.yaml → metadata.yaml} +0 -0
  237. /package/dist/src/agents/pattern/web-pattern-critique/{agent.yaml → metadata.yaml} +0 -0
  238. /package/dist/src/agents/planning/web-pm/{agent.yaml → metadata.yaml} +0 -0
  239. /package/dist/src/agents/researcher/api-researcher/{agent.yaml → metadata.yaml} +0 -0
  240. /package/dist/src/agents/researcher/web-researcher/{agent.yaml → metadata.yaml} +0 -0
  241. /package/dist/src/agents/reviewer/api-reviewer/{agent.yaml → metadata.yaml} +0 -0
  242. /package/dist/src/agents/reviewer/cli-reviewer/{agent.yaml → metadata.yaml} +0 -0
  243. /package/dist/src/agents/reviewer/web-reviewer/{agent.yaml → metadata.yaml} +0 -0
  244. /package/dist/src/agents/tester/cli-tester/{agent.yaml → metadata.yaml} +0 -0
  245. /package/dist/src/agents/tester/web-tester/{agent.yaml → metadata.yaml} +0 -0
  246. /package/src/agents/developer/api-developer/{agent.yaml → metadata.yaml} +0 -0
  247. /package/src/agents/developer/cli-developer/{agent.yaml → metadata.yaml} +0 -0
  248. /package/src/agents/developer/web-architecture/{agent.yaml → metadata.yaml} +0 -0
  249. /package/src/agents/developer/web-developer/{agent.yaml → metadata.yaml} +0 -0
  250. /package/src/agents/meta/agent-summoner/{agent.yaml → metadata.yaml} +0 -0
  251. /package/src/agents/meta/skill-summoner/{agent.yaml → metadata.yaml} +0 -0
  252. /package/src/agents/pattern/pattern-scout/{agent.yaml → metadata.yaml} +0 -0
  253. /package/src/agents/pattern/web-pattern-critique/{agent.yaml → metadata.yaml} +0 -0
  254. /package/src/agents/planning/web-pm/{agent.yaml → metadata.yaml} +0 -0
  255. /package/src/agents/researcher/api-researcher/{agent.yaml → metadata.yaml} +0 -0
  256. /package/src/agents/researcher/web-researcher/{agent.yaml → metadata.yaml} +0 -0
  257. /package/src/agents/reviewer/api-reviewer/{agent.yaml → metadata.yaml} +0 -0
  258. /package/src/agents/reviewer/cli-reviewer/{agent.yaml → metadata.yaml} +0 -0
  259. /package/src/agents/reviewer/web-reviewer/{agent.yaml → metadata.yaml} +0 -0
  260. /package/src/agents/tester/cli-tester/{agent.yaml → metadata.yaml} +0 -0
  261. /package/src/agents/tester/web-tester/{agent.yaml → metadata.yaml} +0 -0
@@ -397,7 +397,6 @@ stacks:
397
397
  - id: meta-methodology-context-management
398
398
  preloaded: true
399
399
  cli-tester: {}
400
- cli-migrator: {}
401
400
  philosophy: Ship fast, iterate faster
402
401
 
403
402
  - id: angular-stack
@@ -1,10 +1,49 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
+ showDashboard
4
+ } from "../chunk-4QWDB2MD.js";
5
+ import "../chunk-KQOU4POU.js";
6
+ import "../chunk-I6IOGZSZ.js";
7
+ import "../chunk-U7X4V4HE.js";
8
+ import "../chunk-YDYRAXSY.js";
9
+ import "../chunk-SPFHPHYL.js";
10
+ import "../chunk-5FPIKTSA.js";
11
+ import "../chunk-DCE423KO.js";
12
+ import "../chunk-M3GQ2R3E.js";
13
+ import "../chunk-QB5HHTAA.js";
14
+ import "../chunk-K77I4XGL.js";
15
+ import "../chunk-XDSVV5GZ.js";
16
+ import "../chunk-2BWCR762.js";
17
+ import "../chunk-WJHFV6RI.js";
18
+ import "../chunk-RFKDGJAJ.js";
19
+ import "../chunk-7SOPVGDV.js";
20
+ import "../chunk-QYLCINGC.js";
21
+ import "../chunk-KUV24B5M.js";
22
+ import "../chunk-JFF7P4LC.js";
23
+ import "../chunk-GG4BSB6S.js";
24
+ import "../chunk-5L724R4C.js";
25
+ import "../chunk-HYEUETIC.js";
26
+ import "../chunk-C3Q43WLC.js";
27
+ import "../chunk-3VOL4WEG.js";
28
+ import "../chunk-CMNKHDOX.js";
29
+ import "../chunk-GBOW6FUW.js";
30
+ import "../chunk-JWYRXE6C.js";
31
+ import "../chunk-U3IGFMCY.js";
32
+ import "../chunk-26MXZUHU.js";
33
+ import "../chunk-5FCHJLM7.js";
34
+ import "../chunk-UAD3SC27.js";
35
+ import "../chunk-WLZHCM7O.js";
36
+ import {
37
+ EXIT_CODES
38
+ } from "../chunk-PGY5XROM.js";
39
+ import {
40
+ detectInstallation,
41
+ hasIndividualPlugins,
3
42
  resolveSource
4
- } from "../chunk-GFDGYQ6M.js";
43
+ } from "../chunk-HMSHB5EQ.js";
5
44
  import "../chunk-T4EXUIBY.js";
6
- import "../chunk-C4QI54PN.js";
7
- import "../chunk-FTD5Z6QD.js";
45
+ import "../chunk-WBHPCBVN.js";
46
+ import "../chunk-AWP5A6IM.js";
8
47
  import {
9
48
  init_esm_shims
10
49
  } from "../chunk-DHET7RCE.js";
@@ -13,6 +52,19 @@ import {
13
52
  init_esm_shims();
14
53
  var hook = async function(options) {
15
54
  const projectDir = process.cwd();
55
+ if (options.id === void 0) {
56
+ const [installation, individualPlugins] = await Promise.all([
57
+ detectInstallation(projectDir),
58
+ hasIndividualPlugins(projectDir)
59
+ ]);
60
+ if (installation || individualPlugins) {
61
+ const selectedCommand = await showDashboard(projectDir);
62
+ if (selectedCommand) {
63
+ await options.config.runCommand(selectedCommand);
64
+ }
65
+ this.exit(EXIT_CODES.SUCCESS);
66
+ }
67
+ }
16
68
  let sourceFlag;
17
69
  const sourceArgIndex = options.argv.indexOf("--source");
18
70
  if (sourceArgIndex !== -1 && sourceArgIndex + 1 < options.argv.length) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/cli/hooks/init.ts"],"sourcesContent":["import { Hook } from \"@oclif/core\";\nimport { resolveSource } from \"../lib/configuration/index.js\";\nimport type { ResolvedConfig } from \"../lib/configuration/index.js\";\n\n/** Narrow interface for attaching sourceConfig to oclif's Config object. */\ninterface ConfigWithSource {\n sourceConfig?: ResolvedConfig;\n}\n\nconst hook: Hook<\"init\"> = async function (options) {\n const projectDir = process.cwd();\n\n // Extract --source flag from argv (not yet parsed by oclif at this point)\n let sourceFlag: string | undefined;\n const sourceArgIndex = options.argv.indexOf(\"--source\");\n if (sourceArgIndex !== -1 && sourceArgIndex + 1 < options.argv.length) {\n sourceFlag = options.argv[sourceArgIndex + 1];\n } else {\n const sourceFlagWithEquals = options.argv.find((arg) => arg.startsWith(\"--source=\"));\n if (sourceFlagWithEquals) {\n sourceFlag = sourceFlagWithEquals.split(\"=\")[1];\n }\n }\n\n // Short form -s\n const sArgIndex = options.argv.indexOf(\"-s\");\n if (sArgIndex !== -1 && sArgIndex + 1 < options.argv.length) {\n sourceFlag = options.argv[sArgIndex + 1];\n }\n\n try {\n const resolvedConfig = await resolveSource(sourceFlag, projectDir);\n // Boundary cast: oclif Config doesn't declare sourceConfig; read in BaseCommand.sourceConfig\n (options.config as unknown as ConfigWithSource).sourceConfig = resolvedConfig;\n } catch (error) {\n // Let the command handle config failures - commands can check if sourceConfig is undefined\n }\n};\n\nexport default hook;\n"],"mappings":";;;;;;;;;;;;AAAA;AASA,IAAM,OAAqB,eAAgB,SAAS;AAClD,QAAM,aAAa,QAAQ,IAAI;AAG/B,MAAI;AACJ,QAAM,iBAAiB,QAAQ,KAAK,QAAQ,UAAU;AACtD,MAAI,mBAAmB,MAAM,iBAAiB,IAAI,QAAQ,KAAK,QAAQ;AACrE,iBAAa,QAAQ,KAAK,iBAAiB,CAAC;AAAA,EAC9C,OAAO;AACL,UAAM,uBAAuB,QAAQ,KAAK,KAAK,CAAC,QAAQ,IAAI,WAAW,WAAW,CAAC;AACnF,QAAI,sBAAsB;AACxB,mBAAa,qBAAqB,MAAM,GAAG,EAAE,CAAC;AAAA,IAChD;AAAA,EACF;AAGA,QAAM,YAAY,QAAQ,KAAK,QAAQ,IAAI;AAC3C,MAAI,cAAc,MAAM,YAAY,IAAI,QAAQ,KAAK,QAAQ;AAC3D,iBAAa,QAAQ,KAAK,YAAY,CAAC;AAAA,EACzC;AAEA,MAAI;AACF,UAAM,iBAAiB,MAAM,cAAc,YAAY,UAAU;AAEjE,IAAC,QAAQ,OAAuC,eAAe;AAAA,EACjE,SAAS,OAAO;AAAA,EAEhB;AACF;AAEA,IAAO,eAAQ;","names":[]}
1
+ {"version":3,"sources":["../../src/cli/hooks/init.ts"],"sourcesContent":["import { Hook } from \"@oclif/core\";\nimport { resolveSource } from \"../lib/configuration/index.js\";\nimport { detectInstallation } from \"../lib/installation/installation.js\";\nimport { hasIndividualPlugins } from \"../lib/plugins/index.js\";\nimport { showDashboard } from \"../commands/init.js\";\nimport { EXIT_CODES } from \"../lib/exit-codes.js\";\nimport type { ConfigWithSource } from \"../base-command.js\";\n\nconst hook: Hook<\"init\"> = async function (options) {\n const projectDir = process.cwd();\n\n // When no command is given and project is already initialized, show dashboard\n if (options.id === undefined) {\n const [installation, individualPlugins] = await Promise.all([\n detectInstallation(projectDir),\n hasIndividualPlugins(projectDir),\n ]);\n\n if (installation || individualPlugins) {\n const selectedCommand = await showDashboard(projectDir);\n if (selectedCommand) {\n await options.config.runCommand(selectedCommand);\n }\n this.exit(EXIT_CODES.SUCCESS);\n }\n }\n\n // Extract --source flag from argv (not yet parsed by oclif at this point)\n let sourceFlag: string | undefined;\n const sourceArgIndex = options.argv.indexOf(\"--source\");\n if (sourceArgIndex !== -1 && sourceArgIndex + 1 < options.argv.length) {\n sourceFlag = options.argv[sourceArgIndex + 1];\n } else {\n const sourceFlagWithEquals = options.argv.find((arg) => arg.startsWith(\"--source=\"));\n if (sourceFlagWithEquals) {\n sourceFlag = sourceFlagWithEquals.split(\"=\")[1];\n }\n }\n\n // Short form -s\n const sArgIndex = options.argv.indexOf(\"-s\");\n if (sArgIndex !== -1 && sArgIndex + 1 < options.argv.length) {\n sourceFlag = options.argv[sArgIndex + 1];\n }\n\n try {\n const resolvedConfig = await resolveSource(sourceFlag, projectDir);\n // Boundary cast: oclif Config doesn't declare sourceConfig; read in BaseCommand.sourceConfig\n (options.config as unknown as ConfigWithSource).sourceConfig = resolvedConfig;\n } catch (error) {\n // Let the command handle config failures - commands can check if sourceConfig is undefined\n }\n};\n\nexport default hook;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAQA,IAAM,OAAqB,eAAgB,SAAS;AAClD,QAAM,aAAa,QAAQ,IAAI;AAG/B,MAAI,QAAQ,OAAO,QAAW;AAC5B,UAAM,CAAC,cAAc,iBAAiB,IAAI,MAAM,QAAQ,IAAI;AAAA,MAC1D,mBAAmB,UAAU;AAAA,MAC7B,qBAAqB,UAAU;AAAA,IACjC,CAAC;AAED,QAAI,gBAAgB,mBAAmB;AACrC,YAAM,kBAAkB,MAAM,cAAc,UAAU;AACtD,UAAI,iBAAiB;AACnB,cAAM,QAAQ,OAAO,WAAW,eAAe;AAAA,MACjD;AACA,WAAK,KAAK,WAAW,OAAO;AAAA,IAC9B;AAAA,EACF;AAGA,MAAI;AACJ,QAAM,iBAAiB,QAAQ,KAAK,QAAQ,UAAU;AACtD,MAAI,mBAAmB,MAAM,iBAAiB,IAAI,QAAQ,KAAK,QAAQ;AACrE,iBAAa,QAAQ,KAAK,iBAAiB,CAAC;AAAA,EAC9C,OAAO;AACL,UAAM,uBAAuB,QAAQ,KAAK,KAAK,CAAC,QAAQ,IAAI,WAAW,WAAW,CAAC;AACnF,QAAI,sBAAsB;AACxB,mBAAa,qBAAqB,MAAM,GAAG,EAAE,CAAC;AAAA,IAChD;AAAA,EACF;AAGA,QAAM,YAAY,QAAQ,KAAK,QAAQ,IAAI;AAC3C,MAAI,cAAc,MAAM,YAAY,IAAI,QAAQ,KAAK,QAAQ;AAC3D,iBAAa,QAAQ,KAAK,YAAY,CAAC;AAAA,EACzC;AAEA,MAAI;AACF,UAAM,iBAAiB,MAAM,cAAc,YAAY,UAAU;AAEjE,IAAC,QAAQ,OAAuC,eAAe;AAAA,EACjE,SAAS,OAAO;AAAA,EAEhB;AACF;AAEA,IAAO,eAAQ;","names":[]}
@@ -3,14 +3,14 @@ import {
3
3
  addSource,
4
4
  getSourceSummary,
5
5
  removeSource
6
- } from "./chunk-GFDGYQ6M.js";
6
+ } from "./chunk-HMSHB5EQ.js";
7
7
  import "./chunk-T4EXUIBY.js";
8
- import "./chunk-C4QI54PN.js";
9
- import "./chunk-FTD5Z6QD.js";
8
+ import "./chunk-WBHPCBVN.js";
9
+ import "./chunk-AWP5A6IM.js";
10
10
  import "./chunk-DHET7RCE.js";
11
11
  export {
12
12
  addSource,
13
13
  getSourceSummary,
14
14
  removeSource
15
15
  };
16
- //# sourceMappingURL=source-manager-Q34LTUVM.js.map
16
+ //# sourceMappingURL=source-manager-BVB2SG73.js.map
@@ -8,7 +8,7 @@
8
8
 
9
9
  **(You MUST verify all edits were actually written by re-reading files after editing)**
10
10
 
11
- **(You MUST create agents as directories at `src/agents/{category}/{agent-name}/` with all required files: agent.yaml, intro.md, workflow.md, critical-requirements.md, critical-reminders.md, output-format.md, examples.md - NEVER in `.claude/agents/`)**
11
+ **(You MUST create agents as directories at `src/agents/{category}/{agent-name}/` with all required files: metadata.yaml, intro.md, workflow.md, critical-requirements.md, critical-reminders.md, output-format.md, examples.md - NEVER in `.claude/agents/`)**
12
12
 
13
13
  **(You MUST add agent configuration to `.claude-src/config.yaml`)**
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  **(You MUST verify all edits were actually written by re-reading files after editing)**
10
10
 
11
- **(You MUST create agents as directories at `src/agents/{category}/{agent-name}/` with all required files: agent.yaml, intro.md, workflow.md, critical-requirements.md, critical-reminders.md, output-format.md, examples.md - NEVER in `.claude/agents/`)**
11
+ **(You MUST create agents as directories at `src/agents/{category}/{agent-name}/` with all required files: metadata.yaml, intro.md, workflow.md, critical-requirements.md, critical-reminders.md, output-format.md, examples.md - NEVER in `.claude/agents/`)**
12
12
 
13
13
  **(You MUST add agent configuration to `.claude-src/config.yaml` - agents won't compile without config entries)**
14
14
 
@@ -89,10 +89,10 @@ Your job is **surgical implementation**: read the spec, examine the patterns, im
89
89
  **Failure to follow these rules will produce inconsistent code.**
90
90
  ```
91
91
 
92
- ### Step 6: Create agent.yaml
92
+ ### Step 6: Create metadata.yaml
93
93
 
94
94
  ```yaml
95
- # src/agents/developer/example-developer/agent.yaml
95
+ # src/agents/developer/example-developer/metadata.yaml
96
96
  $schema: ../../../schemas/agent.schema.json
97
97
  id: example-developer
98
98
  title: Example Developer Agent
@@ -10,7 +10,7 @@ Provide your agent definition in this structure:
10
10
  **Category:** [developer | reviewer | researcher | planning | pattern | meta | tester]
11
11
  **Purpose:** [one sentence]
12
12
 
13
- ### agent.yaml
13
+ ### metadata.yaml
14
14
 
15
15
  ```yaml
16
16
  $schema: ../../../schemas/agent.schema.json
@@ -250,7 +250,7 @@ The system compiles modular source files into standalone agent markdown using Ty
250
250
  ```
251
251
  src/
252
252
  ├── agents/{category}/{agent-name}/ # Agent source files (organized by category)
253
- │ ├── agent.yaml # REQUIRED: Agent metadata (id, title, description, model, tools)
253
+ │ ├── metadata.yaml # REQUIRED: Agent metadata (id, title, description, model, tools)
254
254
  │ ├── intro.md # REQUIRED: Role definition (NO <role> tags - template adds them)
255
255
  │ ├── workflow.md # REQUIRED: Agent-specific workflow and processes
256
256
  │ ├── critical-requirements.md # REQUIRED: Top-of-file MUST rules (NO XML wrapper - template adds it)
@@ -426,7 +426,7 @@ Boundaries:
426
426
  **Directory Structure Rules:**
427
427
 
428
428
  - **Source directory:** `src/agents/{category}/{agent-name}/` (relative to project root)
429
- - **Required files:** `agent.yaml`, `intro.md`, `workflow.md`, `critical-requirements.md`, `critical-reminders.md`, `output-format.md`, `examples.md`
429
+ - **Required files:** `metadata.yaml`, `intro.md`, `workflow.md`, `critical-requirements.md`, `critical-reminders.md`, `output-format.md`, `examples.md`
430
430
  - **DO NOT create files in `.claude/agents/`** - That directory is for compiled output only
431
431
 
432
432
  **Agent Categories:**
@@ -438,7 +438,6 @@ Boundaries:
438
438
  - `pattern/` - Pattern discovery agents (pattern-scout, web-pattern-critique)
439
439
  - `meta/` - Meta-level agents (agent-summoner, skill-summoner, documentor)
440
440
  - `tester/` - Testing agents (web-tester, cli-tester)
441
- - `migration/` - Migration agents (cli-migrator)
442
441
 
443
442
  **Directory structure:**
444
443
 
@@ -1252,7 +1251,7 @@ stack:
1252
1251
  <creation_checklist>
1253
1252
  **Directory and Files:**
1254
1253
  - [ ] Agent directory created at `src/agents/{category}/{agent-name}/`
1255
- - [ ] Has `agent.yaml` with metadata (REQUIRED)
1254
+ - [ ] Has `metadata.yaml` with metadata (REQUIRED)
1256
1255
  - [ ] Has `intro.md` with expansion modifiers (REQUIRED - NO <role> tags)
1257
1256
  - [ ] Has `workflow.md` with semantic XML sections (REQUIRED)
1258
1257
  - [ ] Has `critical-requirements.md` (REQUIRED - NO XML wrapper tags)
@@ -1265,7 +1264,7 @@ stack:
1265
1264
  - [ ] Skill assignments added to `.claude-src/config.yaml` under agent name
1266
1265
 
1267
1266
  **Source File Content:**
1268
- - [ ] `agent.yaml` has id, title, description, model, tools
1267
+ - [ ] `metadata.yaml` has id, title, description, model, tools
1269
1268
  - [ ] `intro.md` has expansion modifiers ("comprehensive and thorough")
1270
1269
  - [ ] `intro.md` has NO `<role>` tags (template adds them)
1271
1270
  - [ ] `workflow.md` has `<self_correction_triggers>` section
@@ -1449,7 +1448,7 @@ Result: Wrong location or old format.
1449
1448
  ```markdown
1450
1449
  mkdir -p src/agents/{category}/my-agent/
1451
1450
 
1452
- # Then create required files: agent.yaml, intro.md, workflow.md
1451
+ # Then create required files: metadata.yaml, intro.md, workflow.md
1453
1452
 
1454
1453
  # Then create required files: critical-requirements.md, critical-reminders.md, output-format.md, examples.md
1455
1454
  ```
@@ -1503,7 +1502,6 @@ Output formats are determined by the file system with cascading resolution:
1503
1502
  | tester | web-tester, cli-tester |
1504
1503
  | pattern | pattern-scout, web-pattern-critique |
1505
1504
  | meta | documentor, agent-summoner, skill-summoner |
1506
- | migration | cli-migrator |
1507
1505
 
1508
1506
  ---
1509
1507
 
@@ -6,6 +6,7 @@ model: opus
6
6
  tools:
7
7
  - Read
8
8
  - Write
9
+ - Edit
9
10
  - Glob
10
11
  - Grep
11
12
  - Bash
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  useWizardStore
4
- } from "../chunk-SPSGZWTZ.js";
5
- import "../chunk-INKJBMPJ.js";
6
- import "../chunk-GFDGYQ6M.js";
4
+ } from "../chunk-5FCHJLM7.js";
5
+ import "../chunk-UAD3SC27.js";
6
+ import "../chunk-HMSHB5EQ.js";
7
7
  import "../chunk-T4EXUIBY.js";
8
- import "../chunk-C4QI54PN.js";
9
- import "../chunk-FTD5Z6QD.js";
8
+ import "../chunk-WBHPCBVN.js";
9
+ import "../chunk-AWP5A6IM.js";
10
10
  import "../chunk-DHET7RCE.js";
11
11
  export {
12
12
  useWizardStore
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  createMockMatrix,
4
4
  getTestSkill
5
- } from "../chunk-TBB3THSL.js";
5
+ } from "../chunk-D72AFYQR.js";
6
6
  import {
7
7
  beforeEach,
8
8
  describe,
@@ -11,16 +11,16 @@ import {
11
11
  } from "../chunk-XY3XDVMI.js";
12
12
  import {
13
13
  useWizardStore
14
- } from "../chunk-SPSGZWTZ.js";
15
- import "../chunk-INKJBMPJ.js";
16
- import "../chunk-GFDGYQ6M.js";
14
+ } from "../chunk-5FCHJLM7.js";
15
+ import "../chunk-UAD3SC27.js";
16
+ import "../chunk-HMSHB5EQ.js";
17
17
  import {
18
18
  typedKeys
19
19
  } from "../chunk-T4EXUIBY.js";
20
- import "../chunk-C4QI54PN.js";
20
+ import "../chunk-WBHPCBVN.js";
21
21
  import {
22
22
  DEFAULT_PRESELECTED_SKILLS
23
- } from "../chunk-FTD5Z6QD.js";
23
+ } from "../chunk-AWP5A6IM.js";
24
24
  import {
25
25
  init_esm_shims
26
26
  } from "../chunk-DHET7RCE.js";
@@ -47,10 +47,6 @@ describe("WizardStore", () => {
47
47
  const { selectedStackId } = useWizardStore.getState();
48
48
  globalExpect(selectedStackId).toBeNull();
49
49
  });
50
- it("should have expert mode off", () => {
51
- const { expertMode } = useWizardStore.getState();
52
- globalExpect(expertMode).toBe(false);
53
- });
54
50
  it("should default to local install mode", () => {
55
51
  const { installMode } = useWizardStore.getState();
56
52
  globalExpect(installMode).toBe("local");
@@ -193,6 +189,78 @@ describe("WizardStore", () => {
193
189
  globalExpect(store.getTechnologyCount()).toBe(1);
194
190
  globalExpect(store.getAllSelectedTechnologies()).toEqual(["api-framework-hono"]);
195
191
  });
192
+ it("should restore stack skills when re-toggling a domain ON after populateFromStack", () => {
193
+ const store = useWizardStore.getState();
194
+ const stack = {
195
+ agents: {
196
+ web: {
197
+ "web-framework": [sa("web-framework-react", true)],
198
+ "web-client-state": [sa("web-state-zustand")]
199
+ },
200
+ api: { "api-api": [sa("api-framework-hono", true)] }
201
+ }
202
+ };
203
+ const categories = {
204
+ "web-framework": { domain: "web" },
205
+ "web-client-state": { domain: "web" },
206
+ "api-api": { domain: "api" }
207
+ };
208
+ store.populateFromStack(stack, categories);
209
+ store.toggleDomain("web");
210
+ globalExpect(useWizardStore.getState().domainSelections.web).toBeUndefined();
211
+ store.toggleDomain("web");
212
+ const { domainSelections } = useWizardStore.getState();
213
+ globalExpect(domainSelections.web["web-framework"]).toEqual(["web-framework-react"]);
214
+ globalExpect(domainSelections.web["web-client-state"]).toEqual(["web-state-zustand"]);
215
+ });
216
+ it("should restore stack skills when re-toggling a domain ON after populateFromSkillIds", () => {
217
+ const store = useWizardStore.getState();
218
+ const skills = {
219
+ "web-framework-react": { category: "web-framework", displayName: "React" },
220
+ "api-framework-hono": { category: "api-api", displayName: "Hono" }
221
+ };
222
+ const categories = {
223
+ "web-framework": { domain: "web" },
224
+ "api-api": { domain: "api" }
225
+ };
226
+ store.populateFromSkillIds(["web-framework-react", "api-framework-hono"], skills, categories);
227
+ store.toggleDomain("web");
228
+ globalExpect(useWizardStore.getState().domainSelections.web).toBeUndefined();
229
+ store.toggleDomain("web");
230
+ const { domainSelections } = useWizardStore.getState();
231
+ globalExpect(domainSelections.web["web-framework"]).toEqual(["web-framework-react"]);
232
+ });
233
+ it("should not restore skills when no stack was populated", () => {
234
+ const store = useWizardStore.getState();
235
+ store.toggleDomain("web");
236
+ store.toggleTechnology("web", "web-framework", "web-framework-react", true);
237
+ store.toggleDomain("web");
238
+ store.toggleDomain("web");
239
+ const { domainSelections } = useWizardStore.getState();
240
+ globalExpect(domainSelections.web).toBeUndefined();
241
+ globalExpect(store.getAllSelectedTechnologies()).toEqual([]);
242
+ });
243
+ it("should not affect other domains when restoring stack skills for one domain", () => {
244
+ const store = useWizardStore.getState();
245
+ const stack = {
246
+ agents: {
247
+ web: { "web-framework": [sa("web-framework-react", true)] },
248
+ api: { "api-api": [sa("api-framework-hono", true)] }
249
+ }
250
+ };
251
+ const categories = {
252
+ "web-framework": { domain: "web" },
253
+ "api-api": { domain: "api" }
254
+ };
255
+ store.populateFromStack(stack, categories);
256
+ store.toggleTechnology("api", "api-api", "api-framework-hono", true);
257
+ store.toggleTechnology("api", "api-api", "api-framework-express", true);
258
+ store.toggleDomain("web");
259
+ store.toggleDomain("web");
260
+ const { domainSelections } = useWizardStore.getState();
261
+ globalExpect(domainSelections.web["web-framework"]).toEqual(["web-framework-react"]);
262
+ globalExpect(domainSelections.api["api-api"]).toEqual(["api-framework-express"]);
263
+ });
196
264
  });
197
265
  describe("technology selection", () => {
198
266
  it("should toggle technology in exclusive mode", () => {
@@ -281,19 +349,6 @@ describe("WizardStore", () => {
281
349
  });
282
350
  });
283
351
  describe("mode toggles", () => {
284
- it("should toggle expert mode on", () => {
285
- const store = useWizardStore.getState();
286
- store.toggleExpertMode();
287
- const { expertMode } = useWizardStore.getState();
288
- globalExpect(expertMode).toBe(true);
289
- });
290
- it("should toggle expert mode off", () => {
291
- const store = useWizardStore.getState();
292
- store.toggleExpertMode();
293
- store.toggleExpertMode();
294
- const { expertMode } = useWizardStore.getState();
295
- globalExpect(expertMode).toBe(false);
296
- });
297
352
  it("should toggle install mode to plugin", () => {
298
353
  const store = useWizardStore.getState();
299
354
  store.toggleInstallMode();
@@ -479,14 +534,12 @@ describe("WizardStore", () => {
479
534
  store.setApproach("scratch");
480
535
  store.selectStack("nextjs-fullstack");
481
536
  store.toggleDomain("web");
482
- store.toggleExpertMode();
483
537
  store.reset();
484
538
  const state = useWizardStore.getState();
485
539
  globalExpect(state.step).toBe("stack");
486
540
  globalExpect(state.approach).toBeNull();
487
541
  globalExpect(state.selectedStackId).toBeNull();
488
542
  globalExpect(state.selectedDomains).toEqual([]);
489
- globalExpect(state.expertMode).toBe(false);
490
543
  globalExpect(state.installMode).toBe("local");
491
544
  globalExpect(state.history).toEqual([]);
492
545
  });
@@ -504,7 +557,7 @@ describe("WizardStore", () => {
504
557
  };
505
558
  store.populateFromStack(stack, categories);
506
559
  const { selectedDomains, domainSelections } = useWizardStore.getState();
507
- globalExpect(selectedDomains).toEqual(["web", "api", "cli", "mobile", "shared"]);
560
+ globalExpect(selectedDomains).toEqual(["web", "api", "mobile", "cli", "shared"]);
508
561
  globalExpect(domainSelections.web).toBeDefined();
509
562
  globalExpect(domainSelections.web["web-framework"]).toEqual(["web-framework-react"]);
510
563
  globalExpect(domainSelections.api).toBeUndefined();
@@ -812,7 +865,6 @@ describe("WizardStore", () => {
812
865
  globalExpect(selectedAgents).toContain("cli-developer");
813
866
  globalExpect(selectedAgents).toContain("cli-tester");
814
867
  globalExpect(selectedAgents).toContain("cli-reviewer");
815
- globalExpect(selectedAgents).toContain("cli-migrator");
816
868
  });
817
869
  it("should never include optional agents regardless of domains", () => {
818
870
  const store = useWizardStore.getState();