@claude-collective/cli 0.21.0 → 0.25.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (292) hide show
  1. package/CHANGELOG.md +174 -0
  2. package/README.md +41 -27
  3. package/config/skills-matrix.yaml +38 -37
  4. package/config/stacks.yaml +8 -14
  5. package/dist/{chunk-ZNIDWLL5.js → chunk-3X5D7RM5.js} +4 -3
  6. package/dist/chunk-3X5D7RM5.js.map +1 -0
  7. package/dist/chunk-4S4FCAA2.js +100 -0
  8. package/dist/chunk-4S4FCAA2.js.map +1 -0
  9. package/dist/chunk-4WGN6SUE.js +197 -0
  10. package/dist/chunk-4WGN6SUE.js.map +1 -0
  11. package/dist/{chunk-DHET7RCE.js → chunk-AWKZ5BDL.js} +9 -2
  12. package/dist/{chunk-DHET7RCE.js.map → chunk-AWKZ5BDL.js.map} +1 -1
  13. package/dist/{chunk-6Q3Y7KVB.js → chunk-DBRUQQUF.js} +8 -2
  14. package/dist/chunk-DBRUQQUF.js.map +1 -0
  15. package/dist/{chunk-OQYYMQJR.js → chunk-ETCVEV3S.js} +8 -11
  16. package/dist/chunk-ETCVEV3S.js.map +1 -0
  17. package/dist/{chunk-ZSVMS677.js → chunk-F4RD5FYM.js} +2 -2
  18. package/dist/chunk-F4RD5FYM.js.map +1 -0
  19. package/dist/{chunk-5KXUDHAB.js → chunk-GGFOD5PK.js} +6 -9
  20. package/dist/chunk-GGFOD5PK.js.map +1 -0
  21. package/dist/{chunk-UMORK7OK.js → chunk-H7SSBSPR.js} +2 -2
  22. package/dist/chunk-H7SSBSPR.js.map +1 -0
  23. package/dist/chunk-HWD32NP7.js +19 -0
  24. package/dist/chunk-HWD32NP7.js.map +1 -0
  25. package/dist/{chunk-HGCBZUH5.js → chunk-IAYAE6MG.js} +9 -10
  26. package/dist/chunk-IAYAE6MG.js.map +1 -0
  27. package/dist/{chunk-RTE64SJA.js → chunk-IXBCRT3F.js} +2 -2
  28. package/dist/chunk-IXBCRT3F.js.map +1 -0
  29. package/dist/{chunk-WFEFICFM.js → chunk-KWYO3M5Q.js} +5 -5
  30. package/dist/chunk-KWYO3M5Q.js.map +1 -0
  31. package/dist/{chunk-HEOHU5EZ.js → chunk-MCTSHLAF.js} +22 -11
  32. package/dist/chunk-MCTSHLAF.js.map +1 -0
  33. package/dist/chunk-MH66WDFV.js +251 -0
  34. package/dist/chunk-MH66WDFV.js.map +1 -0
  35. package/dist/{chunk-2LSGX6R4.js → chunk-MTPM7BX5.js} +83 -25
  36. package/dist/chunk-MTPM7BX5.js.map +1 -0
  37. package/dist/chunk-NQJ47R4N.js +1092 -0
  38. package/dist/chunk-NQJ47R4N.js.map +1 -0
  39. package/dist/chunk-NRC7XYCI.js +211 -0
  40. package/dist/chunk-NRC7XYCI.js.map +1 -0
  41. package/dist/{chunk-FJFEKPXF.js → chunk-O6ZTD7ZI.js} +14 -3
  42. package/dist/chunk-O6ZTD7ZI.js.map +1 -0
  43. package/dist/chunk-OBXAY23Y.js +56 -0
  44. package/dist/chunk-OBXAY23Y.js.map +1 -0
  45. package/dist/{chunk-XY3XDVMI.js → chunk-QR2EBWL2.js} +3 -3
  46. package/dist/{chunk-66UDJBF6.js → chunk-REJGRCVQ.js} +2 -2
  47. package/dist/{chunk-CBLPAMZO.js → chunk-TMED5DQ2.js} +68 -42
  48. package/dist/chunk-TMED5DQ2.js.map +1 -0
  49. package/dist/{chunk-Q3J43SF3.js → chunk-U7HFKR74.js} +2 -2
  50. package/dist/chunk-U7HFKR74.js.map +1 -0
  51. package/dist/{chunk-3EHUF54X.js → chunk-UEMRJI2K.js} +17 -4
  52. package/dist/chunk-UEMRJI2K.js.map +1 -0
  53. package/dist/{chunk-Z2CWURZ6.js → chunk-UNN7523L.js} +2 -2
  54. package/dist/chunk-V2ZIH7HV.js +29 -0
  55. package/dist/chunk-V2ZIH7HV.js.map +1 -0
  56. package/dist/{chunk-ZEI3ZUDU.js → chunk-VVYNZZUX.js} +7 -15
  57. package/dist/chunk-VVYNZZUX.js.map +1 -0
  58. package/dist/chunk-WXS4S3MA.js +220 -0
  59. package/dist/chunk-WXS4S3MA.js.map +1 -0
  60. package/dist/{chunk-A46TPNBJ.js → chunk-XENOESJZ.js} +7 -16
  61. package/dist/chunk-XENOESJZ.js.map +1 -0
  62. package/dist/chunk-YDBSSAJ6.js +4207 -0
  63. package/dist/chunk-YDBSSAJ6.js.map +1 -0
  64. package/dist/chunk-ZDREFYD2.js +696 -0
  65. package/dist/chunk-ZDREFYD2.js.map +1 -0
  66. package/dist/chunk-ZW2PELOH.js +197 -0
  67. package/dist/chunk-ZW2PELOH.js.map +1 -0
  68. package/dist/cli/defaults/agent-mappings.yaml +0 -1
  69. package/dist/commands/build/marketplace.js +15 -13
  70. package/dist/commands/build/marketplace.js.map +1 -1
  71. package/dist/commands/build/plugins.js +13 -229
  72. package/dist/commands/build/plugins.js.map +1 -1
  73. package/dist/commands/build/stack.js +11 -18
  74. package/dist/commands/build/stack.js.map +1 -1
  75. package/dist/commands/compile.js +36 -58
  76. package/dist/commands/compile.js.map +1 -1
  77. package/dist/commands/config/get.js +8 -8
  78. package/dist/commands/config/get.js.map +1 -1
  79. package/dist/commands/config/index.js +7 -7
  80. package/dist/commands/config/index.js.map +1 -1
  81. package/dist/commands/config/path.js +6 -6
  82. package/dist/commands/config/path.js.map +1 -1
  83. package/dist/commands/config/set-project.js +8 -8
  84. package/dist/commands/config/set-project.js.map +1 -1
  85. package/dist/commands/config/show.js +7 -7
  86. package/dist/commands/config/unset-project.js +8 -8
  87. package/dist/commands/config/unset-project.js.map +1 -1
  88. package/dist/commands/diff.js +10 -16
  89. package/dist/commands/diff.js.map +1 -1
  90. package/dist/commands/doctor.js +18 -51
  91. package/dist/commands/doctor.js.map +1 -1
  92. package/dist/commands/edit.js +87 -57
  93. package/dist/commands/edit.js.map +1 -1
  94. package/dist/commands/eject.js +17 -49
  95. package/dist/commands/eject.js.map +1 -1
  96. package/dist/commands/import/skill.js +26 -26
  97. package/dist/commands/import/skill.js.map +1 -1
  98. package/dist/commands/info.js +15 -17
  99. package/dist/commands/info.js.map +1 -1
  100. package/dist/commands/init.js +45 -722
  101. package/dist/commands/init.js.map +1 -1
  102. package/dist/commands/list.js +8 -87
  103. package/dist/commands/list.js.map +1 -1
  104. package/dist/commands/new/agent.js +8 -12
  105. package/dist/commands/new/agent.js.map +1 -1
  106. package/dist/commands/new/skill.js +6 -6
  107. package/dist/commands/new/skill.js.map +1 -1
  108. package/dist/commands/outdated.js +15 -19
  109. package/dist/commands/outdated.js.map +1 -1
  110. package/dist/commands/search.js +21 -34
  111. package/dist/commands/search.js.map +1 -1
  112. package/dist/commands/uninstall.js +15 -14
  113. package/dist/commands/uninstall.js.map +1 -1
  114. package/dist/commands/update.js +13 -24
  115. package/dist/commands/update.js.map +1 -1
  116. package/dist/commands/validate.js +44 -487
  117. package/dist/commands/validate.js.map +1 -1
  118. package/dist/commands/version/bump.js +11 -11
  119. package/dist/commands/version/bump.js.map +1 -1
  120. package/dist/commands/version/index.js +9 -10
  121. package/dist/commands/version/index.js.map +1 -1
  122. package/dist/commands/version/set.js +10 -8
  123. package/dist/commands/version/set.js.map +1 -1
  124. package/dist/commands/version/show.js +9 -10
  125. package/dist/commands/version/show.js.map +1 -1
  126. package/dist/components/common/confirm.js +2 -2
  127. package/dist/components/common/confirm.test.js +203 -0
  128. package/dist/components/common/confirm.test.js.map +1 -0
  129. package/dist/components/common/message.js +1 -1
  130. package/dist/components/common/spinner.js +1 -1
  131. package/dist/components/common/spinner.js.map +1 -1
  132. package/dist/components/skill-search/skill-search.js +3 -3
  133. package/dist/components/wizard/category-grid.js +2 -2
  134. package/dist/components/wizard/category-grid.test.js +132 -78
  135. package/dist/components/wizard/category-grid.test.js.map +1 -1
  136. package/dist/components/wizard/menu-item.js +2 -2
  137. package/dist/components/wizard/search-modal.js +9 -0
  138. package/dist/components/wizard/search-modal.js.map +1 -0
  139. package/dist/components/wizard/search-modal.test.js +216 -0
  140. package/dist/components/wizard/search-modal.test.js.map +1 -0
  141. package/dist/components/wizard/section-progress.js +2 -2
  142. package/dist/components/wizard/section-progress.test.js +4 -4
  143. package/dist/components/wizard/section-progress.test.js.map +1 -1
  144. package/dist/components/wizard/source-grid.js +10 -0
  145. package/dist/components/wizard/source-grid.js.map +1 -0
  146. package/dist/components/wizard/source-grid.test.js +500 -0
  147. package/dist/components/wizard/source-grid.test.js.map +1 -0
  148. package/dist/components/wizard/step-approach.js +7 -6
  149. package/dist/components/wizard/step-approach.test.js +115 -0
  150. package/dist/components/wizard/step-approach.test.js.map +1 -0
  151. package/dist/components/wizard/step-build.js +9 -4
  152. package/dist/components/wizard/step-build.test.js +103 -122
  153. package/dist/components/wizard/step-build.test.js.map +1 -1
  154. package/dist/components/wizard/step-confirm.js +3 -2
  155. package/dist/components/wizard/step-confirm.test.js +364 -0
  156. package/dist/components/wizard/step-confirm.test.js.map +1 -0
  157. package/dist/components/wizard/step-refine.js +2 -2
  158. package/dist/components/wizard/step-refine.test.js +19 -13
  159. package/dist/components/wizard/step-refine.test.js.map +1 -1
  160. package/dist/components/wizard/step-settings.js +14 -0
  161. package/dist/components/wizard/step-settings.js.map +1 -0
  162. package/dist/components/wizard/step-settings.test.js +240 -0
  163. package/dist/components/wizard/step-settings.test.js.map +1 -0
  164. package/dist/components/wizard/step-sources.js +17 -0
  165. package/dist/components/wizard/step-sources.js.map +1 -0
  166. package/dist/components/wizard/step-sources.test.js +290 -0
  167. package/dist/components/wizard/step-sources.test.js.map +1 -0
  168. package/dist/components/wizard/step-stack.js +7 -6
  169. package/dist/components/wizard/step-stack.test.js +344 -0
  170. package/dist/components/wizard/step-stack.test.js.map +1 -0
  171. package/dist/components/wizard/view-title.js +2 -2
  172. package/dist/components/wizard/wizard-layout.js +6 -5
  173. package/dist/components/wizard/wizard-tabs.js +2 -2
  174. package/dist/components/wizard/wizard-tabs.test.js +292 -0
  175. package/dist/components/wizard/wizard-tabs.test.js.map +1 -0
  176. package/dist/components/wizard/wizard.js +22 -14
  177. package/dist/config/skills-matrix.yaml +38 -37
  178. package/dist/config/stacks.yaml +8 -14
  179. package/dist/hooks/init.js +5 -5
  180. package/dist/hooks/init.js.map +1 -1
  181. package/dist/index.js +1 -1
  182. package/dist/index.js.map +1 -1
  183. package/dist/{magic-string.es-RGXYGAW3.js → magic-string.es-PAH2SOTR.js} +2 -2
  184. package/dist/source-manager-DSYZEVGZ.js +16 -0
  185. package/dist/source-manager-DSYZEVGZ.js.map +1 -0
  186. package/dist/src/agents/developer/api-developer/agent.yaml +1 -1
  187. package/dist/src/agents/developer/cli-developer/agent.yaml +1 -1
  188. package/dist/src/agents/developer/web-architecture/agent.yaml +1 -1
  189. package/dist/src/agents/developer/web-developer/agent.yaml +1 -1
  190. package/dist/src/agents/meta/agent-summoner/agent.yaml +1 -1
  191. package/dist/src/agents/meta/documentor/agent.yaml +1 -1
  192. package/dist/src/agents/meta/skill-summoner/agent.yaml +1 -1
  193. package/dist/src/agents/migration/cli-migrator/agent.yaml +1 -1
  194. package/dist/src/agents/pattern/pattern-scout/agent.yaml +1 -1
  195. package/dist/src/agents/pattern/web-pattern-critique/agent.yaml +1 -1
  196. package/dist/src/agents/planning/web-pm/agent.yaml +1 -1
  197. package/dist/src/agents/researcher/api-researcher/agent.yaml +1 -1
  198. package/dist/src/agents/researcher/web-researcher/agent.yaml +1 -1
  199. package/dist/src/agents/reviewer/api-reviewer/agent.yaml +1 -1
  200. package/dist/src/agents/reviewer/cli-reviewer/agent.yaml +1 -1
  201. package/dist/src/agents/reviewer/web-reviewer/agent.yaml +1 -1
  202. package/dist/src/agents/tester/cli-tester/agent.yaml +1 -1
  203. package/dist/src/agents/tester/web-tester/agent.yaml +1 -1
  204. package/dist/stores/wizard-store.js +4 -3
  205. package/dist/stores/wizard-store.test.js +51 -82
  206. package/dist/stores/wizard-store.test.js.map +1 -1
  207. package/package.json +5 -3
  208. package/src/agents/developer/api-developer/agent.yaml +1 -1
  209. package/src/agents/developer/cli-developer/agent.yaml +1 -1
  210. package/src/agents/developer/web-architecture/agent.yaml +1 -1
  211. package/src/agents/developer/web-developer/agent.yaml +1 -1
  212. package/src/agents/meta/agent-summoner/agent.yaml +1 -1
  213. package/src/agents/meta/documentor/agent.yaml +1 -1
  214. package/src/agents/meta/skill-summoner/agent.yaml +1 -1
  215. package/src/agents/migration/cli-migrator/agent.yaml +1 -1
  216. package/src/agents/pattern/pattern-scout/agent.yaml +1 -1
  217. package/src/agents/pattern/web-pattern-critique/agent.yaml +1 -1
  218. package/src/agents/planning/web-pm/agent.yaml +1 -1
  219. package/src/agents/researcher/api-researcher/agent.yaml +1 -1
  220. package/src/agents/researcher/web-researcher/agent.yaml +1 -1
  221. package/src/agents/reviewer/api-reviewer/agent.yaml +1 -1
  222. package/src/agents/reviewer/cli-reviewer/agent.yaml +1 -1
  223. package/src/agents/reviewer/web-reviewer/agent.yaml +1 -1
  224. package/src/agents/tester/cli-tester/agent.yaml +1 -1
  225. package/src/agents/tester/web-tester/agent.yaml +1 -1
  226. package/dist/chunk-2LSGX6R4.js.map +0 -1
  227. package/dist/chunk-2OKUEELH.js +0 -32
  228. package/dist/chunk-2OKUEELH.js.map +0 -1
  229. package/dist/chunk-374JNMR6.js +0 -212
  230. package/dist/chunk-374JNMR6.js.map +0 -1
  231. package/dist/chunk-3EHUF54X.js.map +0 -1
  232. package/dist/chunk-3XR4PALU.js +0 -529
  233. package/dist/chunk-3XR4PALU.js.map +0 -1
  234. package/dist/chunk-5K2ZLUO5.js +0 -57
  235. package/dist/chunk-5K2ZLUO5.js.map +0 -1
  236. package/dist/chunk-5KXUDHAB.js.map +0 -1
  237. package/dist/chunk-6Q3Y7KVB.js.map +0 -1
  238. package/dist/chunk-7SLV7CMF.js +0 -615
  239. package/dist/chunk-7SLV7CMF.js.map +0 -1
  240. package/dist/chunk-A46TPNBJ.js.map +0 -1
  241. package/dist/chunk-AL74GBW4.js +0 -69
  242. package/dist/chunk-AL74GBW4.js.map +0 -1
  243. package/dist/chunk-BQX23RBV.js +0 -191
  244. package/dist/chunk-BQX23RBV.js.map +0 -1
  245. package/dist/chunk-CA4LH4LI.js +0 -132
  246. package/dist/chunk-CA4LH4LI.js.map +0 -1
  247. package/dist/chunk-CBLPAMZO.js.map +0 -1
  248. package/dist/chunk-CKPQHGXR.js +0 -417
  249. package/dist/chunk-CKPQHGXR.js.map +0 -1
  250. package/dist/chunk-CXOFOJCN.js +0 -80
  251. package/dist/chunk-CXOFOJCN.js.map +0 -1
  252. package/dist/chunk-EHGD7HIE.js +0 -104
  253. package/dist/chunk-EHGD7HIE.js.map +0 -1
  254. package/dist/chunk-EHS3TWWP.js +0 -95
  255. package/dist/chunk-EHS3TWWP.js.map +0 -1
  256. package/dist/chunk-FJFEKPXF.js.map +0 -1
  257. package/dist/chunk-HEOHU5EZ.js.map +0 -1
  258. package/dist/chunk-HGCBZUH5.js.map +0 -1
  259. package/dist/chunk-HPGFY5ZN.js +0 -114
  260. package/dist/chunk-HPGFY5ZN.js.map +0 -1
  261. package/dist/chunk-INJ2EFRW.js +0 -127
  262. package/dist/chunk-INJ2EFRW.js.map +0 -1
  263. package/dist/chunk-IOBFMF6X.js +0 -61
  264. package/dist/chunk-IOBFMF6X.js.map +0 -1
  265. package/dist/chunk-KH3HA7J7.js +0 -116
  266. package/dist/chunk-KH3HA7J7.js.map +0 -1
  267. package/dist/chunk-N6JNE326.js +0 -261
  268. package/dist/chunk-N6JNE326.js.map +0 -1
  269. package/dist/chunk-NAGU7TVZ.js +0 -36
  270. package/dist/chunk-NAGU7TVZ.js.map +0 -1
  271. package/dist/chunk-OQYYMQJR.js.map +0 -1
  272. package/dist/chunk-PLZOUVDD.js +0 -419
  273. package/dist/chunk-PLZOUVDD.js.map +0 -1
  274. package/dist/chunk-Q3J43SF3.js.map +0 -1
  275. package/dist/chunk-RTE64SJA.js.map +0 -1
  276. package/dist/chunk-T25OEQFI.js +0 -26
  277. package/dist/chunk-T25OEQFI.js.map +0 -1
  278. package/dist/chunk-UMORK7OK.js.map +0 -1
  279. package/dist/chunk-VFHWU7JU.js +0 -287
  280. package/dist/chunk-VFHWU7JU.js.map +0 -1
  281. package/dist/chunk-VS4GVTZE.js +0 -91
  282. package/dist/chunk-VS4GVTZE.js.map +0 -1
  283. package/dist/chunk-WFEFICFM.js.map +0 -1
  284. package/dist/chunk-WG6KIAPK.js +0 -54
  285. package/dist/chunk-WG6KIAPK.js.map +0 -1
  286. package/dist/chunk-ZEI3ZUDU.js.map +0 -1
  287. package/dist/chunk-ZNIDWLL5.js.map +0 -1
  288. package/dist/chunk-ZSVMS677.js.map +0 -1
  289. /package/dist/{chunk-XY3XDVMI.js.map → chunk-QR2EBWL2.js.map} +0 -0
  290. /package/dist/{chunk-66UDJBF6.js.map → chunk-REJGRCVQ.js.map} +0 -0
  291. /package/dist/{chunk-Z2CWURZ6.js.map → chunk-UNN7523L.js.map} +0 -0
  292. /package/dist/{magic-string.es-RGXYGAW3.js.map → magic-string.es-PAH2SOTR.js.map} +0 -0
@@ -0,0 +1,292 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ render
4
+ } from "../../chunk-REJGRCVQ.js";
5
+ import {
6
+ afterEach,
7
+ describe,
8
+ globalExpect,
9
+ it
10
+ } from "../../chunk-QR2EBWL2.js";
11
+ import {
12
+ WIZARD_STEPS,
13
+ WizardTabs
14
+ } from "../../chunk-3X5D7RM5.js";
15
+ import {
16
+ init_esm_shims
17
+ } from "../../chunk-AWKZ5BDL.js";
18
+
19
+ // src/cli/components/wizard/wizard-tabs.test.tsx
20
+ init_esm_shims();
21
+ import { jsx } from "react/jsx-runtime";
22
+ var renderWizardTabs = (props = {}) => {
23
+ const defaultProps = {
24
+ steps: WIZARD_STEPS,
25
+ currentStep: "approach",
26
+ completedSteps: [],
27
+ skippedSteps: [],
28
+ ...props
29
+ };
30
+ return render(/* @__PURE__ */ jsx(WizardTabs, { ...defaultProps }));
31
+ };
32
+ describe("WizardTabs component", () => {
33
+ let cleanup;
34
+ afterEach(() => {
35
+ cleanup?.();
36
+ cleanup = void 0;
37
+ });
38
+ describe("rendering", () => {
39
+ it("should render all 5 tabs", () => {
40
+ const { lastFrame, unmount } = renderWizardTabs();
41
+ cleanup = unmount;
42
+ const output = lastFrame();
43
+ globalExpect(output).toContain("[1] Intro");
44
+ globalExpect(output).toContain("[2] Stack");
45
+ globalExpect(output).toContain("[3] Build");
46
+ globalExpect(output).toContain("[4] Sources");
47
+ globalExpect(output).toContain("[5] Confirm");
48
+ });
49
+ it("should render all step numbers", () => {
50
+ const { lastFrame, unmount } = renderWizardTabs();
51
+ cleanup = unmount;
52
+ const output = lastFrame();
53
+ globalExpect(output).toContain("[1]");
54
+ globalExpect(output).toContain("[2]");
55
+ globalExpect(output).toContain("[3]");
56
+ globalExpect(output).toContain("[4]");
57
+ globalExpect(output).toContain("[5]");
58
+ });
59
+ it("should render with custom steps", () => {
60
+ const customSteps = [
61
+ { id: "one", label: "First", number: 1 },
62
+ { id: "two", label: "Second", number: 2 }
63
+ ];
64
+ const { lastFrame, unmount } = renderWizardTabs({
65
+ steps: customSteps,
66
+ currentStep: "one"
67
+ });
68
+ cleanup = unmount;
69
+ const output = lastFrame();
70
+ globalExpect(output).toContain("[1] First");
71
+ globalExpect(output).toContain("[2] Second");
72
+ globalExpect(output).not.toContain("Intro");
73
+ });
74
+ it("should render horizontal dividers above and below tabs", () => {
75
+ const { lastFrame, unmount } = renderWizardTabs();
76
+ cleanup = unmount;
77
+ const output = lastFrame();
78
+ globalExpect(output).toContain("\u2500");
79
+ });
80
+ });
81
+ describe("current step", () => {
82
+ it("should render current step label", () => {
83
+ const { lastFrame, unmount } = renderWizardTabs({
84
+ currentStep: "build"
85
+ });
86
+ cleanup = unmount;
87
+ const output = lastFrame();
88
+ globalExpect(output).toContain("[3] Build");
89
+ });
90
+ it("should mark first step as current by default", () => {
91
+ const { lastFrame, unmount } = renderWizardTabs({
92
+ currentStep: "approach",
93
+ completedSteps: []
94
+ });
95
+ cleanup = unmount;
96
+ const output = lastFrame();
97
+ globalExpect(output).toContain("[1] Intro");
98
+ });
99
+ it("should update current step when changed", () => {
100
+ const { lastFrame, unmount } = renderWizardTabs({
101
+ currentStep: "confirm",
102
+ completedSteps: ["approach", "stack", "build"]
103
+ });
104
+ cleanup = unmount;
105
+ const output = lastFrame();
106
+ globalExpect(output).toContain("[5] Confirm");
107
+ });
108
+ });
109
+ describe("completed steps", () => {
110
+ it("should render completed step labels", () => {
111
+ const { lastFrame, unmount } = renderWizardTabs({
112
+ currentStep: "stack",
113
+ completedSteps: ["approach"]
114
+ });
115
+ cleanup = unmount;
116
+ const output = lastFrame();
117
+ globalExpect(output).toContain("[1] Intro");
118
+ });
119
+ it("should render multiple completed steps", () => {
120
+ const { lastFrame, unmount } = renderWizardTabs({
121
+ currentStep: "build",
122
+ completedSteps: ["approach", "stack"]
123
+ });
124
+ cleanup = unmount;
125
+ const output = lastFrame();
126
+ globalExpect(output).toContain("[1] Intro");
127
+ globalExpect(output).toContain("[2] Stack");
128
+ });
129
+ it("should render current step separately from completed steps", () => {
130
+ const { lastFrame, unmount } = renderWizardTabs({
131
+ currentStep: "approach",
132
+ completedSteps: []
133
+ });
134
+ cleanup = unmount;
135
+ const output = lastFrame();
136
+ globalExpect(output).toContain("[1] Intro");
137
+ });
138
+ });
139
+ describe("pending steps", () => {
140
+ it("should render pending step labels", () => {
141
+ const { lastFrame, unmount } = renderWizardTabs({
142
+ currentStep: "approach",
143
+ completedSteps: []
144
+ });
145
+ cleanup = unmount;
146
+ const output = lastFrame();
147
+ globalExpect(output).toContain("[2] Stack");
148
+ globalExpect(output).toContain("[3] Build");
149
+ });
150
+ it("should render steps after current", () => {
151
+ const { lastFrame, unmount } = renderWizardTabs({
152
+ currentStep: "build",
153
+ completedSteps: ["approach", "stack"]
154
+ });
155
+ cleanup = unmount;
156
+ const output = lastFrame();
157
+ globalExpect(output).toContain("[5] Confirm");
158
+ });
159
+ });
160
+ describe("skipped steps", () => {
161
+ it("should render skipped step labels", () => {
162
+ const { lastFrame, unmount } = renderWizardTabs({
163
+ currentStep: "build",
164
+ completedSteps: ["approach"],
165
+ skippedSteps: ["stack"]
166
+ });
167
+ cleanup = unmount;
168
+ const output = lastFrame();
169
+ globalExpect(output).toContain("[2] Stack");
170
+ });
171
+ it("should handle multiple skipped steps", () => {
172
+ const { lastFrame, unmount } = renderWizardTabs({
173
+ currentStep: "confirm",
174
+ completedSteps: ["approach", "build"],
175
+ skippedSteps: ["stack"]
176
+ });
177
+ cleanup = unmount;
178
+ const output = lastFrame();
179
+ globalExpect(output).toContain("[2] Stack");
180
+ });
181
+ it("should prioritize completed over skipped when step is in both arrays", () => {
182
+ const { lastFrame, unmount } = renderWizardTabs({
183
+ currentStep: "build",
184
+ completedSteps: ["approach", "stack"],
185
+ skippedSteps: ["stack"]
186
+ // Also in skipped
187
+ });
188
+ cleanup = unmount;
189
+ const output = lastFrame();
190
+ globalExpect(output).toContain("[1] Intro");
191
+ globalExpect(output).toContain("[2] Stack");
192
+ });
193
+ });
194
+ describe("state priority", () => {
195
+ it("should prioritize completed over current", () => {
196
+ const { lastFrame, unmount } = renderWizardTabs({
197
+ currentStep: "approach",
198
+ completedSteps: ["approach"]
199
+ });
200
+ cleanup = unmount;
201
+ const output = lastFrame();
202
+ globalExpect(output).toContain("[1] Intro");
203
+ });
204
+ it("should prioritize current over skipped", () => {
205
+ const { lastFrame, unmount } = renderWizardTabs({
206
+ currentStep: "stack",
207
+ completedSteps: [],
208
+ skippedSteps: ["stack"]
209
+ // Also current
210
+ });
211
+ cleanup = unmount;
212
+ const output = lastFrame();
213
+ globalExpect(output).toContain("[2] Stack");
214
+ });
215
+ it("should prioritize completed over skipped", () => {
216
+ const { lastFrame, unmount } = renderWizardTabs({
217
+ currentStep: "build",
218
+ completedSteps: ["approach"],
219
+ skippedSteps: ["approach"]
220
+ // Also completed
221
+ });
222
+ cleanup = unmount;
223
+ const output = lastFrame();
224
+ globalExpect(output).toContain("[1] Intro");
225
+ });
226
+ });
227
+ describe("visual layout", () => {
228
+ it("should render tabs horizontally", () => {
229
+ const { lastFrame, unmount } = renderWizardTabs();
230
+ cleanup = unmount;
231
+ const output = lastFrame();
232
+ globalExpect(output).toContain("Intro");
233
+ globalExpect(output).toContain("Confirm");
234
+ });
235
+ it("should include step labels", () => {
236
+ const { lastFrame, unmount } = renderWizardTabs();
237
+ cleanup = unmount;
238
+ const output = lastFrame();
239
+ WIZARD_STEPS.forEach((step) => {
240
+ globalExpect(output).toContain(step.label);
241
+ });
242
+ });
243
+ });
244
+ describe("edge cases", () => {
245
+ it("should handle empty completed steps", () => {
246
+ const { lastFrame, unmount } = renderWizardTabs({
247
+ currentStep: "approach",
248
+ completedSteps: []
249
+ });
250
+ cleanup = unmount;
251
+ const output = lastFrame();
252
+ globalExpect(output).toContain("[1] Intro");
253
+ globalExpect(output).toContain("[5] Confirm");
254
+ });
255
+ it("should handle empty skipped steps", () => {
256
+ const { lastFrame, unmount } = renderWizardTabs({
257
+ currentStep: "build",
258
+ completedSteps: ["approach", "stack"],
259
+ skippedSteps: []
260
+ });
261
+ cleanup = unmount;
262
+ const output = lastFrame();
263
+ globalExpect(output).toContain("[1] Intro");
264
+ globalExpect(output).toContain("[2] Stack");
265
+ globalExpect(output).toContain("[3] Build");
266
+ });
267
+ it("should handle all steps completed", () => {
268
+ const { lastFrame, unmount } = renderWizardTabs({
269
+ currentStep: "confirm",
270
+ completedSteps: ["approach", "stack", "build", "confirm"]
271
+ });
272
+ cleanup = unmount;
273
+ const output = lastFrame();
274
+ globalExpect(output).toContain("[1] Intro");
275
+ globalExpect(output).toContain("[2] Stack");
276
+ globalExpect(output).toContain("[3] Build");
277
+ globalExpect(output).toContain("[5] Confirm");
278
+ });
279
+ it("should handle single step", () => {
280
+ const singleStep = [{ id: "only", label: "Only Step", number: 1 }];
281
+ const { lastFrame, unmount } = renderWizardTabs({
282
+ steps: singleStep,
283
+ currentStep: "only",
284
+ completedSteps: []
285
+ });
286
+ cleanup = unmount;
287
+ const output = lastFrame();
288
+ globalExpect(output).toContain("[1] Only Step");
289
+ });
290
+ });
291
+ });
292
+ //# sourceMappingURL=wizard-tabs.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/cli/components/wizard/wizard-tabs.test.tsx"],"sourcesContent":["import React from \"react\";\nimport { render } from \"ink-testing-library\";\nimport { afterEach, describe, expect, it } from \"vitest\";\nimport { WizardTabs, WIZARD_STEPS, type WizardTabsProps } from \"./wizard-tabs\";\n\nconst renderWizardTabs = (props: Partial<WizardTabsProps> = {}) => {\n const defaultProps: WizardTabsProps = {\n steps: WIZARD_STEPS,\n currentStep: \"approach\",\n completedSteps: [],\n skippedSteps: [],\n ...props,\n };\n return render(<WizardTabs {...defaultProps} />);\n};\n\ndescribe(\"WizardTabs component\", () => {\n let cleanup: (() => void) | undefined;\n\n afterEach(() => {\n cleanup?.();\n cleanup = undefined;\n });\n\n describe(\"rendering\", () => {\n it(\"should render all 5 tabs\", () => {\n const { lastFrame, unmount } = renderWizardTabs();\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"[1] Intro\");\n expect(output).toContain(\"[2] Stack\");\n expect(output).toContain(\"[3] Build\");\n expect(output).toContain(\"[4] Sources\");\n expect(output).toContain(\"[5] Confirm\");\n });\n\n it(\"should render all step numbers\", () => {\n const { lastFrame, unmount } = renderWizardTabs();\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"[1]\");\n expect(output).toContain(\"[2]\");\n expect(output).toContain(\"[3]\");\n expect(output).toContain(\"[4]\");\n expect(output).toContain(\"[5]\");\n });\n\n it(\"should render with custom steps\", () => {\n const customSteps = [\n { id: \"one\", label: \"First\", number: 1 },\n { id: \"two\", label: \"Second\", number: 2 },\n ];\n const { lastFrame, unmount } = renderWizardTabs({\n steps: customSteps,\n currentStep: \"one\",\n });\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"[1] First\");\n expect(output).toContain(\"[2] Second\");\n expect(output).not.toContain(\"Intro\");\n });\n\n it(\"should render horizontal dividers above and below tabs\", () => {\n const { lastFrame, unmount } = renderWizardTabs();\n cleanup = unmount;\n\n const output = lastFrame();\n // The divider uses Unicode horizontal line character (U+2500)\n expect(output).toContain(\"\\u2500\");\n });\n });\n\n describe(\"current step\", () => {\n it(\"should render current step label\", () => {\n const { lastFrame, unmount } = renderWizardTabs({\n currentStep: \"build\",\n });\n cleanup = unmount;\n\n const output = lastFrame();\n // Current step should be rendered with its label\n expect(output).toContain(\"[3] Build\");\n });\n\n it(\"should mark first step as current by default\", () => {\n const { lastFrame, unmount } = renderWizardTabs({\n currentStep: \"approach\",\n completedSteps: [],\n });\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"[1] Intro\");\n });\n\n it(\"should update current step when changed\", () => {\n const { lastFrame, unmount } = renderWizardTabs({\n currentStep: \"confirm\",\n completedSteps: [\"approach\", \"stack\", \"build\"],\n });\n cleanup = unmount;\n\n const output = lastFrame();\n // Should show confirm step\n expect(output).toContain(\"[5] Confirm\");\n });\n });\n\n describe(\"completed steps\", () => {\n it(\"should render completed step labels\", () => {\n const { lastFrame, unmount } = renderWizardTabs({\n currentStep: \"stack\",\n completedSteps: [\"approach\"],\n });\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"[1] Intro\");\n });\n\n it(\"should render multiple completed steps\", () => {\n const { lastFrame, unmount } = renderWizardTabs({\n currentStep: \"build\",\n completedSteps: [\"approach\", \"stack\"],\n });\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"[1] Intro\");\n expect(output).toContain(\"[2] Stack\");\n });\n\n it(\"should render current step separately from completed steps\", () => {\n const { lastFrame, unmount } = renderWizardTabs({\n currentStep: \"approach\",\n completedSteps: [],\n });\n cleanup = unmount;\n\n const output = lastFrame();\n // Should contain approach tab\n expect(output).toContain(\"[1] Intro\");\n });\n });\n\n describe(\"pending steps\", () => {\n it(\"should render pending step labels\", () => {\n const { lastFrame, unmount } = renderWizardTabs({\n currentStep: \"approach\",\n completedSteps: [],\n });\n cleanup = unmount;\n\n const output = lastFrame();\n // Pending steps should still be visible\n expect(output).toContain(\"[2] Stack\");\n expect(output).toContain(\"[3] Build\");\n });\n\n it(\"should render steps after current\", () => {\n const { lastFrame, unmount } = renderWizardTabs({\n currentStep: \"build\",\n completedSteps: [\"approach\", \"stack\"],\n });\n cleanup = unmount;\n\n const output = lastFrame();\n // Pending step (confirm) should be rendered\n expect(output).toContain(\"[5] Confirm\");\n });\n });\n\n describe(\"skipped steps\", () => {\n it(\"should render skipped step labels\", () => {\n const { lastFrame, unmount } = renderWizardTabs({\n currentStep: \"build\",\n completedSteps: [\"approach\"],\n skippedSteps: [\"stack\"],\n });\n cleanup = unmount;\n\n const output = lastFrame();\n // Skipped step should still be rendered\n expect(output).toContain(\"[2] Stack\");\n });\n\n it(\"should handle multiple skipped steps\", () => {\n const { lastFrame, unmount } = renderWizardTabs({\n currentStep: \"confirm\",\n completedSteps: [\"approach\", \"build\"],\n skippedSteps: [\"stack\"],\n });\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"[2] Stack\");\n });\n\n it(\"should prioritize completed over skipped when step is in both arrays\", () => {\n // Completed takes precedence over skipped\n const { lastFrame, unmount } = renderWizardTabs({\n currentStep: \"build\",\n completedSteps: [\"approach\", \"stack\"],\n skippedSteps: [\"stack\"], // Also in skipped\n });\n cleanup = unmount;\n\n const output = lastFrame();\n // Should render both - completed status takes precedence visually\n expect(output).toContain(\"[1] Intro\");\n expect(output).toContain(\"[2] Stack\");\n });\n });\n\n describe(\"state priority\", () => {\n it(\"should prioritize completed over current\", () => {\n const { lastFrame, unmount } = renderWizardTabs({\n currentStep: \"approach\",\n completedSteps: [\"approach\"],\n });\n cleanup = unmount;\n\n const output = lastFrame();\n // Should render approach - completed takes precedence\n expect(output).toContain(\"[1] Intro\");\n });\n\n it(\"should prioritize current over skipped\", () => {\n const { lastFrame, unmount } = renderWizardTabs({\n currentStep: \"stack\",\n completedSteps: [],\n skippedSteps: [\"stack\"], // Also current\n });\n cleanup = unmount;\n\n const output = lastFrame();\n // Should render stack - current takes precedence over skipped\n expect(output).toContain(\"[2] Stack\");\n });\n\n it(\"should prioritize completed over skipped\", () => {\n const { lastFrame, unmount } = renderWizardTabs({\n currentStep: \"build\",\n completedSteps: [\"approach\"],\n skippedSteps: [\"approach\"], // Also completed\n });\n cleanup = unmount;\n\n const output = lastFrame();\n // Should render approach - completed takes precedence\n expect(output).toContain(\"[1] Intro\");\n });\n });\n\n describe(\"visual layout\", () => {\n it(\"should render tabs horizontally\", () => {\n const { lastFrame, unmount } = renderWizardTabs();\n cleanup = unmount;\n\n const output = lastFrame();\n // All tabs should be in the output\n expect(output).toContain(\"Intro\");\n expect(output).toContain(\"Confirm\");\n });\n\n it(\"should include step labels\", () => {\n const { lastFrame, unmount } = renderWizardTabs();\n cleanup = unmount;\n\n const output = lastFrame();\n WIZARD_STEPS.forEach((step) => {\n expect(output).toContain(step.label);\n });\n });\n });\n\n describe(\"edge cases\", () => {\n it(\"should handle empty completed steps\", () => {\n const { lastFrame, unmount } = renderWizardTabs({\n currentStep: \"approach\",\n completedSteps: [],\n });\n cleanup = unmount;\n\n const output = lastFrame();\n // Should still render all tabs\n expect(output).toContain(\"[1] Intro\");\n expect(output).toContain(\"[5] Confirm\");\n });\n\n it(\"should handle empty skipped steps\", () => {\n const { lastFrame, unmount } = renderWizardTabs({\n currentStep: \"build\",\n completedSteps: [\"approach\", \"stack\"],\n skippedSteps: [],\n });\n cleanup = unmount;\n\n const output = lastFrame();\n // Should render all tabs\n expect(output).toContain(\"[1] Intro\");\n expect(output).toContain(\"[2] Stack\");\n expect(output).toContain(\"[3] Build\");\n });\n\n it(\"should handle all steps completed\", () => {\n const { lastFrame, unmount } = renderWizardTabs({\n currentStep: \"confirm\",\n completedSteps: [\"approach\", \"stack\", \"build\", \"confirm\"],\n });\n cleanup = unmount;\n\n const output = lastFrame();\n // All 4 tabs should be rendered\n expect(output).toContain(\"[1] Intro\");\n expect(output).toContain(\"[2] Stack\");\n expect(output).toContain(\"[3] Build\");\n expect(output).toContain(\"[5] Confirm\");\n });\n\n it(\"should handle single step\", () => {\n const singleStep = [{ id: \"only\", label: \"Only Step\", number: 1 }];\n const { lastFrame, unmount } = renderWizardTabs({\n steps: singleStep,\n currentStep: \"only\",\n completedSteps: [],\n });\n cleanup = unmount;\n\n const output = lastFrame();\n expect(output).toContain(\"[1] Only Step\");\n });\n });\n});\n"],"mappings":"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","names":[]}
@@ -1,20 +1,28 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  Wizard
4
- } from "../../chunk-2LSGX6R4.js";
5
- import "../../chunk-A46TPNBJ.js";
6
- import "../../chunk-3EHUF54X.js";
7
- import "../../chunk-ZNIDWLL5.js";
8
- import "../../chunk-WFEFICFM.js";
9
- import "../../chunk-3XR4PALU.js";
10
- import "../../chunk-Q3J43SF3.js";
11
- import "../../chunk-ZEI3ZUDU.js";
12
- import "../../chunk-OQYYMQJR.js";
13
- import "../../chunk-UMORK7OK.js";
14
- import "../../chunk-Z2CWURZ6.js";
15
- import "../../chunk-CBLPAMZO.js";
16
- import "../../chunk-FJFEKPXF.js";
17
- import "../../chunk-DHET7RCE.js";
4
+ } from "../../chunk-MTPM7BX5.js";
5
+ import "../../chunk-MH66WDFV.js";
6
+ import "../../chunk-XENOESJZ.js";
7
+ import "../../chunk-UEMRJI2K.js";
8
+ import "../../chunk-3X5D7RM5.js";
9
+ import "../../chunk-WXS4S3MA.js";
10
+ import "../../chunk-VVYNZZUX.js";
11
+ import "../../chunk-V2ZIH7HV.js";
12
+ import "../../chunk-4WGN6SUE.js";
13
+ import "../../chunk-ZW2PELOH.js";
14
+ import "../../chunk-4S4FCAA2.js";
15
+ import "../../chunk-KWYO3M5Q.js";
16
+ import "../../chunk-U7HFKR74.js";
17
+ import "../../chunk-H7SSBSPR.js";
18
+ import "../../chunk-ETCVEV3S.js";
19
+ import "../../chunk-UNN7523L.js";
20
+ import "../../chunk-TMED5DQ2.js";
21
+ import "../../chunk-YDBSSAJ6.js";
22
+ import "../../chunk-ZDREFYD2.js";
23
+ import "../../chunk-HWD32NP7.js";
24
+ import "../../chunk-O6ZTD7ZI.js";
25
+ import "../../chunk-AWKZ5BDL.js";
18
26
  export {
19
27
  Wizard
20
28
  };