@agents-inc/cli 0.41.2 → 0.42.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 (169) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/config/stacks.yaml +0 -321
  3. package/dist/{chunk-ZLHGJSRK.js → chunk-2TWELY5M.js} +3 -3
  4. package/dist/{chunk-4UTPJXUX.js → chunk-33D24DAF.js} +22 -54
  5. package/dist/chunk-33D24DAF.js.map +1 -0
  6. package/dist/{chunk-UKTYDNWJ.js → chunk-44QCEK7E.js} +5 -5
  7. package/dist/chunk-44QCEK7E.js.map +1 -0
  8. package/dist/{chunk-NYP5SB2V.js → chunk-52SI5XJH.js} +2 -2
  9. package/dist/{chunk-GEDWVX6Y.js → chunk-53K3URKF.js} +8 -8
  10. package/dist/chunk-53K3URKF.js.map +1 -0
  11. package/dist/{chunk-2D6LKRHW.js → chunk-ALWLM5MC.js} +2 -2
  12. package/dist/{chunk-AVVYFEMF.js → chunk-AQANPOLS.js} +2 -2
  13. package/dist/{chunk-5TMB53BV.js → chunk-BKW34TKI.js} +7 -4
  14. package/dist/chunk-BKW34TKI.js.map +1 -0
  15. package/dist/{chunk-BFISETQG.js → chunk-EFZN22TO.js} +3 -3
  16. package/dist/{chunk-7FBM7V3E.js → chunk-EPJ2GJNJ.js} +10 -10
  17. package/dist/chunk-EPJ2GJNJ.js.map +1 -0
  18. package/dist/{chunk-SILUTTV7.js → chunk-FDY6SGSA.js} +2 -2
  19. package/dist/{chunk-342YB6TQ.js → chunk-FF4Z7MHY.js} +20 -13
  20. package/dist/chunk-FF4Z7MHY.js.map +1 -0
  21. package/dist/{chunk-ACVJVYMC.js → chunk-GCN7GGWE.js} +15 -27
  22. package/dist/chunk-GCN7GGWE.js.map +1 -0
  23. package/dist/{chunk-FHBICUXB.js → chunk-GIZ6DENW.js} +4 -4
  24. package/dist/{chunk-KC2SIUIA.js → chunk-GVRZY5KI.js} +4 -5
  25. package/dist/chunk-GVRZY5KI.js.map +1 -0
  26. package/dist/{chunk-LJRP4SWY.js → chunk-HMGWGWFT.js} +2 -2
  27. package/dist/{chunk-H6H3COI5.js → chunk-IUYU2TP6.js} +5 -5
  28. package/dist/{chunk-AH7XHAKN.js → chunk-J73KIP6Z.js} +2 -2
  29. package/dist/chunk-J73KIP6Z.js.map +1 -0
  30. package/dist/{chunk-TJAZ7QCF.js → chunk-KA253GGY.js} +4 -4
  31. package/dist/{chunk-4SYXPG7L.js → chunk-MHET2RG2.js} +8 -3
  32. package/dist/chunk-MHET2RG2.js.map +1 -0
  33. package/dist/{chunk-DV4ALU5I.js → chunk-MI4NWOWD.js} +17 -24
  34. package/dist/chunk-MI4NWOWD.js.map +1 -0
  35. package/dist/chunk-MMD26LKJ.js +20 -0
  36. package/dist/chunk-MMD26LKJ.js.map +1 -0
  37. package/dist/{chunk-MNPPGIZQ.js → chunk-ORJPGZVD.js} +5 -5
  38. package/dist/{chunk-R52N7DBG.js → chunk-PEAPABFI.js} +4 -4
  39. package/dist/chunk-PEAPABFI.js.map +1 -0
  40. package/dist/{chunk-BK7TANUV.js → chunk-PP7NDFFE.js} +4 -3
  41. package/dist/{chunk-BK7TANUV.js.map → chunk-PP7NDFFE.js.map} +1 -1
  42. package/dist/{chunk-TTXV55NQ.js → chunk-SYHRJG5G.js} +6 -3
  43. package/dist/chunk-SYHRJG5G.js.map +1 -0
  44. package/dist/{chunk-NZYKDVRL.js → chunk-UVVNWF43.js} +2 -2
  45. package/dist/{chunk-NZYKDVRL.js.map → chunk-UVVNWF43.js.map} +1 -1
  46. package/dist/{chunk-XJXJZ2MJ.js → chunk-UXNHU7Y7.js} +5 -1
  47. package/dist/chunk-UXNHU7Y7.js.map +1 -0
  48. package/dist/{chunk-YLJYAQSG.js → chunk-VHGIQN5O.js} +7 -5
  49. package/dist/chunk-VHGIQN5O.js.map +1 -0
  50. package/dist/{chunk-4LT6RXMY.js → chunk-WMAALRQI.js} +4 -4
  51. package/dist/{chunk-PURJZ72D.js → chunk-X34RGEFX.js} +2 -2
  52. package/dist/{chunk-423MJ6DT.js → chunk-XRA4LHTJ.js} +5 -5
  53. package/dist/chunk-ZHJEZ7AU.js +40 -0
  54. package/dist/chunk-ZHJEZ7AU.js.map +1 -0
  55. package/dist/commands/build/marketplace.js +3 -3
  56. package/dist/commands/build/plugins.js +5 -5
  57. package/dist/commands/build/stack.js +5 -5
  58. package/dist/commands/compile.js +6 -6
  59. package/dist/commands/config/get.js +4 -4
  60. package/dist/commands/config/index.js +5 -5
  61. package/dist/commands/config/path.js +4 -4
  62. package/dist/commands/config/set-project.js +4 -4
  63. package/dist/commands/config/show.js +5 -5
  64. package/dist/commands/config/unset-project.js +4 -4
  65. package/dist/commands/diff.js +4 -4
  66. package/dist/commands/doctor.js +4 -4
  67. package/dist/commands/edit.js +37 -30
  68. package/dist/commands/edit.js.map +1 -1
  69. package/dist/commands/eject.js +33 -13
  70. package/dist/commands/eject.js.map +1 -1
  71. package/dist/commands/import/skill.js +5 -5
  72. package/dist/commands/info.js +5 -5
  73. package/dist/commands/init.js +27 -27
  74. package/dist/commands/list.js +4 -4
  75. package/dist/commands/new/agent.js +5 -5
  76. package/dist/commands/new/skill.js +4 -4
  77. package/dist/commands/outdated.js +4 -4
  78. package/dist/commands/search.js +7 -7
  79. package/dist/commands/uninstall.js +6 -6
  80. package/dist/commands/update.js +6 -6
  81. package/dist/commands/validate.js +5 -5
  82. package/dist/commands/version/bump.js +4 -4
  83. package/dist/commands/version/index.js +4 -4
  84. package/dist/commands/version/set.js +4 -4
  85. package/dist/commands/version/show.js +4 -4
  86. package/dist/components/skill-search/skill-search.js +3 -3
  87. package/dist/components/wizard/category-grid.js +2 -2
  88. package/dist/components/wizard/category-grid.test.js +2 -2
  89. package/dist/components/wizard/checkbox-grid.js +3 -2
  90. package/dist/components/wizard/checkbox-grid.test.js +16 -22
  91. package/dist/components/wizard/checkbox-grid.test.js.map +1 -1
  92. package/dist/components/wizard/domain-selection.js +8 -7
  93. package/dist/components/wizard/help-modal.js +2 -2
  94. package/dist/components/wizard/menu-item.js +25 -4
  95. package/dist/components/wizard/menu-item.js.map +1 -1
  96. package/dist/components/wizard/search-modal.js +2 -2
  97. package/dist/components/wizard/search-modal.test.js +2 -2
  98. package/dist/components/wizard/section-progress.js +2 -2
  99. package/dist/components/wizard/section-progress.test.js +2 -2
  100. package/dist/components/wizard/selection-card.js +10 -0
  101. package/dist/components/wizard/source-grid.js +3 -3
  102. package/dist/components/wizard/source-grid.test.js +3 -3
  103. package/dist/components/wizard/stack-selection.js +8 -8
  104. package/dist/components/wizard/step-agents.js +7 -6
  105. package/dist/components/wizard/step-agents.test.js +8 -8
  106. package/dist/components/wizard/step-agents.test.js.map +1 -1
  107. package/dist/components/wizard/step-build.js +7 -7
  108. package/dist/components/wizard/step-build.test.js +18 -18
  109. package/dist/components/wizard/step-build.test.js.map +1 -1
  110. package/dist/components/wizard/step-confirm.js +3 -2
  111. package/dist/components/wizard/step-confirm.test.js +7 -6
  112. package/dist/components/wizard/step-confirm.test.js.map +1 -1
  113. package/dist/components/wizard/step-refine.js +2 -2
  114. package/dist/components/wizard/step-refine.test.js +2 -2
  115. package/dist/components/wizard/step-settings.js +5 -5
  116. package/dist/components/wizard/step-settings.test.js +8 -8
  117. package/dist/components/wizard/step-sources.js +10 -9
  118. package/dist/components/wizard/step-sources.test.js +14 -12
  119. package/dist/components/wizard/step-sources.test.js.map +1 -1
  120. package/dist/components/wizard/step-stack.js +11 -11
  121. package/dist/components/wizard/step-stack.test.js +15 -16
  122. package/dist/components/wizard/step-stack.test.js.map +1 -1
  123. package/dist/components/wizard/view-title.js +2 -2
  124. package/dist/components/wizard/wizard-layout.js +8 -8
  125. package/dist/components/wizard/wizard-tabs.js +2 -2
  126. package/dist/components/wizard/wizard-tabs.test.js +2 -2
  127. package/dist/components/wizard/wizard.js +24 -24
  128. package/dist/config/stacks.yaml +0 -321
  129. package/dist/hooks/init.js +3 -3
  130. package/dist/{source-manager-PPABS6BC.js → source-manager-ABK5COKX.js} +4 -4
  131. package/dist/source-manager-ABK5COKX.js.map +1 -0
  132. package/dist/stores/wizard-store.js +5 -5
  133. package/dist/stores/wizard-store.test.js +6 -6
  134. package/package.json +1 -1
  135. package/src/schemas/project-config.schema.json +7 -0
  136. package/dist/chunk-342YB6TQ.js.map +0 -1
  137. package/dist/chunk-4SYXPG7L.js.map +0 -1
  138. package/dist/chunk-4UTPJXUX.js.map +0 -1
  139. package/dist/chunk-5TMB53BV.js.map +0 -1
  140. package/dist/chunk-7FBM7V3E.js.map +0 -1
  141. package/dist/chunk-ACVJVYMC.js.map +0 -1
  142. package/dist/chunk-AH7XHAKN.js.map +0 -1
  143. package/dist/chunk-DV4ALU5I.js.map +0 -1
  144. package/dist/chunk-GEDWVX6Y.js.map +0 -1
  145. package/dist/chunk-KC2SIUIA.js.map +0 -1
  146. package/dist/chunk-KXM7KOPE.js +0 -31
  147. package/dist/chunk-KXM7KOPE.js.map +0 -1
  148. package/dist/chunk-R52N7DBG.js.map +0 -1
  149. package/dist/chunk-TTXV55NQ.js.map +0 -1
  150. package/dist/chunk-UKTYDNWJ.js.map +0 -1
  151. package/dist/chunk-WS6OQIEN.js +0 -32
  152. package/dist/chunk-WS6OQIEN.js.map +0 -1
  153. package/dist/chunk-XJXJZ2MJ.js.map +0 -1
  154. package/dist/chunk-YLJYAQSG.js.map +0 -1
  155. /package/dist/{chunk-ZLHGJSRK.js.map → chunk-2TWELY5M.js.map} +0 -0
  156. /package/dist/{chunk-NYP5SB2V.js.map → chunk-52SI5XJH.js.map} +0 -0
  157. /package/dist/{chunk-2D6LKRHW.js.map → chunk-ALWLM5MC.js.map} +0 -0
  158. /package/dist/{chunk-AVVYFEMF.js.map → chunk-AQANPOLS.js.map} +0 -0
  159. /package/dist/{chunk-BFISETQG.js.map → chunk-EFZN22TO.js.map} +0 -0
  160. /package/dist/{chunk-SILUTTV7.js.map → chunk-FDY6SGSA.js.map} +0 -0
  161. /package/dist/{chunk-FHBICUXB.js.map → chunk-GIZ6DENW.js.map} +0 -0
  162. /package/dist/{chunk-LJRP4SWY.js.map → chunk-HMGWGWFT.js.map} +0 -0
  163. /package/dist/{chunk-H6H3COI5.js.map → chunk-IUYU2TP6.js.map} +0 -0
  164. /package/dist/{chunk-TJAZ7QCF.js.map → chunk-KA253GGY.js.map} +0 -0
  165. /package/dist/{chunk-MNPPGIZQ.js.map → chunk-ORJPGZVD.js.map} +0 -0
  166. /package/dist/{chunk-4LT6RXMY.js.map → chunk-WMAALRQI.js.map} +0 -0
  167. /package/dist/{chunk-PURJZ72D.js.map → chunk-X34RGEFX.js.map} +0 -0
  168. /package/dist/{chunk-423MJ6DT.js.map → chunk-XRA4LHTJ.js.map} +0 -0
  169. /package/dist/{source-manager-PPABS6BC.js.map → components/wizard/selection-card.js.map} +0 -0
package/CHANGELOG.md CHANGED
@@ -9,6 +9,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
 
10
10
  ---
11
11
 
12
+ ## [0.42.0] - 2026-02-19
13
+
14
+ **SelectionCard component, eject --templates, edit local-mode fix, wizard UI refresh**
15
+
16
+ - Extract reusable `SelectionCard` for stack selection, sources, and domain selection
17
+ - Add `eject agent-partials --templates` flag for template-only ejection
18
+ - Fix edit command falling back to project config skills in local mode
19
+ - Refresh wizard UI: tabs, titles, category grid, help modal styling
20
+
21
+ See [changelogs/0.42.0.md](./changelogs/0.42.0.md) for full details.
22
+
23
+ ---
24
+
12
25
  ## [0.41.2] - 2026-02-19
13
26
 
14
27
  **Fix README accuracy, add framework positioning task**
@@ -1863,324 +1863,3 @@ stacks:
1863
1863
  - id: meta-methodology-context-management
1864
1864
  preloaded: true
1865
1865
  philosophy: Maximum performance with minimal overhead
1866
-
1867
- - id: react-native-stack
1868
- name: React Native Stack
1869
- description: React Native + Expo mobile
1870
- agents:
1871
- web-developer:
1872
- web-framework:
1873
- - id: mobile-framework-react-native
1874
- preloaded: true
1875
- mobile-platform:
1876
- - id: mobile-framework-expo
1877
- preloaded: true
1878
- web-base-framework:
1879
- - id: web-framework-react
1880
- preloaded: true
1881
- web-client-state: web-state-zustand
1882
- web-server-state: web-server-state-react-query
1883
- web-testing: web-testing-vitest
1884
- shared-methodology:
1885
- - id: meta-methodology-investigation-requirements
1886
- preloaded: true
1887
- - id: meta-methodology-anti-over-engineering
1888
- preloaded: true
1889
- - id: meta-methodology-success-criteria
1890
- preloaded: true
1891
- - id: meta-methodology-write-verification
1892
- preloaded: true
1893
- - id: meta-methodology-improvement-protocol
1894
- preloaded: true
1895
- - id: meta-methodology-context-management
1896
- preloaded: true
1897
- web-reviewer:
1898
- shared-reviewing:
1899
- - id: meta-reviewing-reviewing
1900
- preloaded: true
1901
- web-framework: mobile-framework-react-native
1902
- mobile-platform: mobile-framework-expo
1903
- web-base-framework: web-framework-react
1904
- web-client-state: web-state-zustand
1905
- web-server-state: web-server-state-react-query
1906
- web-testing: web-testing-vitest
1907
- shared-methodology:
1908
- - id: meta-methodology-investigation-requirements
1909
- preloaded: true
1910
- - id: meta-methodology-anti-over-engineering
1911
- preloaded: true
1912
- - id: meta-methodology-success-criteria
1913
- preloaded: true
1914
- - id: meta-methodology-write-verification
1915
- preloaded: true
1916
- - id: meta-methodology-improvement-protocol
1917
- preloaded: true
1918
- - id: meta-methodology-context-management
1919
- preloaded: true
1920
- web-pm:
1921
- web-framework: mobile-framework-react-native
1922
- mobile-platform: mobile-framework-expo
1923
- web-base-framework: web-framework-react
1924
- web-client-state: web-state-zustand
1925
- web-server-state: web-server-state-react-query
1926
- web-testing: web-testing-vitest
1927
- shared-methodology:
1928
- - id: meta-methodology-investigation-requirements
1929
- preloaded: true
1930
- - id: meta-methodology-anti-over-engineering
1931
- preloaded: true
1932
- - id: meta-methodology-success-criteria
1933
- preloaded: true
1934
- - id: meta-methodology-write-verification
1935
- preloaded: true
1936
- - id: meta-methodology-improvement-protocol
1937
- preloaded: true
1938
- - id: meta-methodology-context-management
1939
- preloaded: true
1940
- web-architecture:
1941
- shared-methodology:
1942
- - id: meta-methodology-investigation-requirements
1943
- preloaded: true
1944
- - id: meta-methodology-anti-over-engineering
1945
- preloaded: true
1946
- - id: meta-methodology-success-criteria
1947
- preloaded: true
1948
- - id: meta-methodology-write-verification
1949
- preloaded: true
1950
- - id: meta-methodology-improvement-protocol
1951
- preloaded: true
1952
- - id: meta-methodology-context-management
1953
- preloaded: true
1954
- web-researcher:
1955
- web-framework: mobile-framework-react-native
1956
- mobile-platform: mobile-framework-expo
1957
- web-base-framework: web-framework-react
1958
- web-client-state: web-state-zustand
1959
- web-server-state: web-server-state-react-query
1960
- web-testing: web-testing-vitest
1961
- shared-methodology:
1962
- - id: meta-methodology-investigation-requirements
1963
- preloaded: true
1964
- - id: meta-methodology-anti-over-engineering
1965
- preloaded: true
1966
- - id: meta-methodology-success-criteria
1967
- preloaded: true
1968
- - id: meta-methodology-write-verification
1969
- preloaded: true
1970
- - id: meta-methodology-improvement-protocol
1971
- preloaded: true
1972
- - id: meta-methodology-context-management
1973
- preloaded: true
1974
- pattern-scout:
1975
- web-framework: mobile-framework-react-native
1976
- mobile-platform: mobile-framework-expo
1977
- web-base-framework: web-framework-react
1978
- web-client-state: web-state-zustand
1979
- web-server-state: web-server-state-react-query
1980
- web-testing: web-testing-vitest
1981
- shared-methodology:
1982
- - id: meta-methodology-investigation-requirements
1983
- preloaded: true
1984
- - id: meta-methodology-anti-over-engineering
1985
- preloaded: true
1986
- - id: meta-methodology-success-criteria
1987
- preloaded: true
1988
- - id: meta-methodology-write-verification
1989
- preloaded: true
1990
- - id: meta-methodology-improvement-protocol
1991
- preloaded: true
1992
- - id: meta-methodology-context-management
1993
- preloaded: true
1994
- web-pattern-critique:
1995
- web-framework: mobile-framework-react-native
1996
- mobile-platform: mobile-framework-expo
1997
- web-base-framework: web-framework-react
1998
- web-client-state: web-state-zustand
1999
- web-server-state: web-server-state-react-query
2000
- web-testing: web-testing-vitest
2001
- shared-reviewing:
2002
- - id: meta-reviewing-reviewing
2003
- preloaded: true
2004
- shared-methodology:
2005
- - id: meta-methodology-investigation-requirements
2006
- preloaded: true
2007
- - id: meta-methodology-anti-over-engineering
2008
- preloaded: true
2009
- - id: meta-methodology-success-criteria
2010
- preloaded: true
2011
- - id: meta-methodology-write-verification
2012
- preloaded: true
2013
- - id: meta-methodology-improvement-protocol
2014
- preloaded: true
2015
- - id: meta-methodology-context-management
2016
- preloaded: true
2017
- agent-summoner:
2018
- web-framework: mobile-framework-react-native
2019
- mobile-platform: mobile-framework-expo
2020
- web-base-framework: web-framework-react
2021
- web-client-state: web-state-zustand
2022
- web-server-state: web-server-state-react-query
2023
- web-testing: web-testing-vitest
2024
- shared-reviewing: meta-reviewing-reviewing
2025
- shared-methodology:
2026
- - id: meta-methodology-investigation-requirements
2027
- preloaded: true
2028
- - id: meta-methodology-anti-over-engineering
2029
- preloaded: true
2030
- - id: meta-methodology-success-criteria
2031
- preloaded: true
2032
- - id: meta-methodology-write-verification
2033
- preloaded: true
2034
- - id: meta-methodology-improvement-protocol
2035
- preloaded: true
2036
- - id: meta-methodology-context-management
2037
- preloaded: true
2038
- skill-summoner:
2039
- web-framework: mobile-framework-react-native
2040
- mobile-platform: mobile-framework-expo
2041
- web-base-framework: web-framework-react
2042
- web-client-state: web-state-zustand
2043
- web-server-state: web-server-state-react-query
2044
- web-testing: web-testing-vitest
2045
- shared-reviewing: meta-reviewing-reviewing
2046
- shared-methodology:
2047
- - id: meta-methodology-investigation-requirements
2048
- preloaded: true
2049
- - id: meta-methodology-anti-over-engineering
2050
- preloaded: true
2051
- - id: meta-methodology-success-criteria
2052
- preloaded: true
2053
- - id: meta-methodology-write-verification
2054
- preloaded: true
2055
- - id: meta-methodology-improvement-protocol
2056
- preloaded: true
2057
- - id: meta-methodology-context-management
2058
- preloaded: true
2059
- documentor:
2060
- web-framework: mobile-framework-react-native
2061
- mobile-platform: mobile-framework-expo
2062
- web-base-framework: web-framework-react
2063
- web-client-state: web-state-zustand
2064
- web-server-state: web-server-state-react-query
2065
- web-testing: web-testing-vitest
2066
- shared-reviewing: meta-reviewing-reviewing
2067
- shared-methodology:
2068
- - id: meta-methodology-investigation-requirements
2069
- preloaded: true
2070
- - id: meta-methodology-anti-over-engineering
2071
- preloaded: true
2072
- - id: meta-methodology-success-criteria
2073
- preloaded: true
2074
- - id: meta-methodology-write-verification
2075
- preloaded: true
2076
- - id: meta-methodology-improvement-protocol
2077
- preloaded: true
2078
- - id: meta-methodology-context-management
2079
- preloaded: true
2080
- web-tester:
2081
- web-testing: web-testing-vitest
2082
- shared-methodology:
2083
- - id: meta-methodology-investigation-requirements
2084
- preloaded: true
2085
- - id: meta-methodology-anti-over-engineering
2086
- preloaded: true
2087
- - id: meta-methodology-success-criteria
2088
- preloaded: true
2089
- - id: meta-methodology-write-verification
2090
- preloaded: true
2091
- - id: meta-methodology-improvement-protocol
2092
- preloaded: true
2093
- - id: meta-methodology-context-management
2094
- preloaded: true
2095
- philosophy: One codebase, iOS and Android
2096
-
2097
- - id: meta-stack
2098
- name: Meta Agent Stack
2099
- description: Meta-level agent tooling
2100
- agents:
2101
- skill-summoner:
2102
- shared-methodology:
2103
- - id: meta-methodology-investigation-requirements
2104
- preloaded: true
2105
- - id: meta-methodology-anti-over-engineering
2106
- preloaded: true
2107
- - id: meta-methodology-success-criteria
2108
- preloaded: true
2109
- - id: meta-methodology-write-verification
2110
- preloaded: true
2111
- - id: meta-methodology-improvement-protocol
2112
- preloaded: true
2113
- - id: meta-methodology-context-management
2114
- preloaded: true
2115
- shared-research:
2116
- - id: meta-research-research-methodology
2117
- preloaded: true
2118
- agent-summoner:
2119
- shared-methodology:
2120
- - id: meta-methodology-investigation-requirements
2121
- preloaded: true
2122
- - id: meta-methodology-anti-over-engineering
2123
- preloaded: true
2124
- - id: meta-methodology-success-criteria
2125
- preloaded: true
2126
- - id: meta-methodology-write-verification
2127
- preloaded: true
2128
- - id: meta-methodology-improvement-protocol
2129
- preloaded: true
2130
- - id: meta-methodology-context-management
2131
- preloaded: true
2132
- shared-research:
2133
- - id: meta-research-research-methodology
2134
- preloaded: true
2135
- documentor:
2136
- shared-methodology:
2137
- - id: meta-methodology-investigation-requirements
2138
- preloaded: true
2139
- - id: meta-methodology-anti-over-engineering
2140
- preloaded: true
2141
- - id: meta-methodology-success-criteria
2142
- preloaded: true
2143
- - id: meta-methodology-write-verification
2144
- preloaded: true
2145
- - id: meta-methodology-improvement-protocol
2146
- preloaded: true
2147
- - id: meta-methodology-context-management
2148
- preloaded: true
2149
- shared-research:
2150
- - id: meta-research-research-methodology
2151
- preloaded: true
2152
- pattern-scout:
2153
- shared-methodology:
2154
- - id: meta-methodology-investigation-requirements
2155
- preloaded: true
2156
- - id: meta-methodology-anti-over-engineering
2157
- preloaded: true
2158
- - id: meta-methodology-success-criteria
2159
- preloaded: true
2160
- - id: meta-methodology-write-verification
2161
- preloaded: true
2162
- - id: meta-methodology-improvement-protocol
2163
- preloaded: true
2164
- - id: meta-methodology-context-management
2165
- preloaded: true
2166
- shared-reviewing:
2167
- - id: meta-reviewing-reviewing
2168
- preloaded: true
2169
- web-pattern-critique:
2170
- shared-methodology:
2171
- - id: meta-methodology-investigation-requirements
2172
- preloaded: true
2173
- - id: meta-methodology-anti-over-engineering
2174
- preloaded: true
2175
- - id: meta-methodology-success-criteria
2176
- preloaded: true
2177
- - id: meta-methodology-write-verification
2178
- preloaded: true
2179
- - id: meta-methodology-improvement-protocol
2180
- preloaded: true
2181
- - id: meta-methodology-context-management
2182
- preloaded: true
2183
- shared-reviewing:
2184
- - id: meta-reviewing-reviewing
2185
- preloaded: true
2186
- philosophy: Build tools that build tools
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  cliTheme
4
- } from "./chunk-AVVYFEMF.js";
4
+ } from "./chunk-AQANPOLS.js";
5
5
  import {
6
6
  useTextInput
7
7
  } from "./chunk-U3IGFMCY.js";
@@ -9,7 +9,7 @@ import {
9
9
  CLI_COLORS,
10
10
  UI_LAYOUT,
11
11
  UI_SYMBOLS
12
- } from "./chunk-BK7TANUV.js";
12
+ } from "./chunk-PP7NDFFE.js";
13
13
  import {
14
14
  init_esm_shims
15
15
  } from "./chunk-DHET7RCE.js";
@@ -343,4 +343,4 @@ var SkillSearch = ({
343
343
  export {
344
344
  SkillSearch
345
345
  };
346
- //# sourceMappingURL=chunk-ZLHGJSRK.js.map
346
+ //# sourceMappingURL=chunk-2TWELY5M.js.map
@@ -1,32 +1,35 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  SourceGrid
4
- } from "./chunk-BFISETQG.js";
4
+ } from "./chunk-EFZN22TO.js";
5
5
  import {
6
- ViewTitle
7
- } from "./chunk-KXM7KOPE.js";
6
+ SelectionCard
7
+ } from "./chunk-ZHJEZ7AU.js";
8
8
  import {
9
9
  useMeasuredHeight
10
10
  } from "./chunk-K77I4XGL.js";
11
+ import {
12
+ ViewTitle
13
+ } from "./chunk-MMD26LKJ.js";
11
14
  import {
12
15
  useWizardStore
13
- } from "./chunk-423MJ6DT.js";
16
+ } from "./chunk-XRA4LHTJ.js";
14
17
  import {
15
18
  resolveAllSources,
16
19
  searchExtraSources
17
- } from "./chunk-TTXV55NQ.js";
20
+ } from "./chunk-SYHRJG5G.js";
18
21
  import {
19
22
  CLI_COLORS,
20
23
  DEFAULT_BRANDING
21
- } from "./chunk-BK7TANUV.js";
24
+ } from "./chunk-PP7NDFFE.js";
22
25
  import {
23
26
  init_esm_shims
24
27
  } from "./chunk-DHET7RCE.js";
25
28
 
26
29
  // src/cli/components/wizard/step-sources.tsx
27
30
  init_esm_shims();
28
- import { useState, useCallback } from "react";
29
31
  import { Box, Text, useInput } from "ink";
32
+ import { useCallback, useState } from "react";
30
33
  import { jsx, jsxs } from "react/jsx-runtime";
31
34
  var StepSources = ({
32
35
  matrix,
@@ -132,57 +135,22 @@ var StepSources = ({
132
135
  ] }),
133
136
  /* @__PURE__ */ jsx(Text, { children: " " }),
134
137
  /* @__PURE__ */ jsx(
135
- Box,
138
+ SelectionCard,
136
139
  {
137
- borderStyle: "round",
138
- borderColor: isRecommendedSelected ? CLI_COLORS.SUCCESS : CLI_COLORS.NEUTRAL,
139
- paddingX: 2,
140
- paddingY: 1,
141
- marginBottom: 1,
142
- children: /* @__PURE__ */ jsxs(Box, { flexDirection: "column", children: [
143
- /* @__PURE__ */ jsxs(
144
- Text,
145
- {
146
- color: isRecommendedSelected ? CLI_COLORS.SUCCESS : void 0,
147
- bold: isRecommendedSelected,
148
- children: [
149
- isRecommendedSelected ? ">" : "\u25CB",
150
- " ",
151
- hasLocalSkills ? "Use installed skill sources" : "Use all recommended skills (verified)"
152
- ]
153
- }
154
- ),
155
- /* @__PURE__ */ jsx(Text, { children: " " }),
156
- /* @__PURE__ */ jsx(Text, { dimColor: true, children: hasLocalSkills ? "Keep your current local and public skill selections." : "This is the fastest option. All skills are verified and" }),
157
- !hasLocalSkills && /* @__PURE__ */ jsxs(Text, { dimColor: true, children: [
158
- "maintained by ",
159
- DEFAULT_BRANDING.NAME
160
- ] })
161
- ] })
140
+ label: hasLocalSkills ? "Use installed skill sources" : "Use all recommended skills (verified)",
141
+ description: hasLocalSkills ? "Keep your current local and public skill selections." : [
142
+ `This is the fastest option. All skills are verified and maintained by ${DEFAULT_BRANDING.NAME}`
143
+ ],
144
+ isFocused: isRecommendedSelected,
145
+ marginBottom: 1
162
146
  }
163
147
  ),
164
148
  /* @__PURE__ */ jsx(
165
- Box,
149
+ SelectionCard,
166
150
  {
167
- borderStyle: "round",
168
- borderColor: !isRecommendedSelected ? CLI_COLORS.SUCCESS : CLI_COLORS.NEUTRAL,
169
- paddingX: 2,
170
- paddingY: 1,
171
- children: /* @__PURE__ */ jsxs(Box, { flexDirection: "column", children: [
172
- /* @__PURE__ */ jsxs(
173
- Text,
174
- {
175
- color: !isRecommendedSelected ? CLI_COLORS.SUCCESS : void 0,
176
- bold: !isRecommendedSelected,
177
- children: [
178
- !isRecommendedSelected ? ">" : "\u25CB",
179
- " Customize skill sources"
180
- ]
181
- }
182
- ),
183
- /* @__PURE__ */ jsx(Text, { children: " " }),
184
- /* @__PURE__ */ jsx(Text, { dimColor: true, children: "Choose alternative skills for each technology" })
185
- ] })
151
+ label: "Customize skill sources",
152
+ description: "Choose alternative skills for each technology",
153
+ isFocused: !isRecommendedSelected
186
154
  }
187
155
  )
188
156
  ] });
@@ -191,4 +159,4 @@ var StepSources = ({
191
159
  export {
192
160
  StepSources
193
161
  };
194
- //# sourceMappingURL=chunk-4UTPJXUX.js.map
162
+ //# sourceMappingURL=chunk-33D24DAF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/components/wizard/step-sources.tsx"],"sourcesContent":["import { Box, Text, useInput } from \"ink\";\nimport React, { useCallback, useState } from \"react\";\nimport { CLI_COLORS, DEFAULT_BRANDING } from \"../../consts.js\";\nimport { resolveAllSources } from \"../../lib/configuration/index.js\";\nimport { searchExtraSources } from \"../../lib/loading/multi-source-loader.js\";\nimport { useWizardStore } from \"../../stores/wizard-store.js\";\nimport type {\n BoundSkillCandidate,\n MergedSkillsMatrix,\n SkillAlias,\n SkillId,\n} from \"../../types/index.js\";\nimport { useMeasuredHeight } from \"../hooks/use-measured-height.js\";\nimport { SelectionCard } from \"./selection-card.js\";\nimport { SourceGrid } from \"./source-grid.js\";\nimport { ViewTitle } from \"./view-title.js\";\n\nexport type StepSourcesProps = {\n matrix: MergedSkillsMatrix;\n projectDir?: string;\n onContinue: () => void;\n onBack: () => void;\n};\n\ntype SourcesView = \"choice\" | \"customize\";\n\nexport const StepSources: React.FC<StepSourcesProps> = ({\n matrix,\n projectDir,\n onContinue,\n onBack,\n}) => {\n const store = useWizardStore();\n const [view, setView] = useState<SourcesView>(\"choice\");\n const [choiceIndex, setChoiceIndex] = useState(0);\n const [isGridSearching, setIsGridSearching] = useState(false);\n const { ref: gridRef, measuredHeight: gridHeight } = useMeasuredHeight();\n\n const handleGridSelect = useCallback(\n (skillId: SkillId, sourceId: string) => {\n store.setSourceSelection(skillId, sourceId);\n },\n [store],\n );\n\n const handleSearch = useCallback(\n async (alias: SkillAlias): Promise<BoundSkillCandidate[]> => {\n if (!projectDir) return [];\n try {\n const sources = await resolveAllSources(projectDir);\n return await searchExtraSources(alias, sources.extras);\n } catch {\n return [];\n }\n },\n [projectDir],\n );\n\n const handleBind = useCallback(\n (candidate: BoundSkillCandidate) => {\n store.bindSkill({\n id: candidate.id,\n sourceUrl: candidate.sourceUrl,\n sourceName: candidate.sourceName,\n boundTo: candidate.alias,\n description: candidate.description,\n });\n },\n [store],\n );\n\n const handleSearchStateChange = useCallback((active: boolean) => {\n setIsGridSearching(active);\n }, []);\n\n useInput((_input, key) => {\n if (view === \"choice\") {\n if (key.return) {\n if (choiceIndex === 0) {\n onContinue();\n } else {\n store.setCustomizeSources(true);\n setView(\"customize\");\n }\n }\n if (key.escape) {\n onBack();\n }\n if (key.upArrow || key.downArrow) {\n setChoiceIndex((prev) => (prev === 0 ? 1 : 0));\n }\n } else if (view === \"customize\") {\n if (isGridSearching) return;\n\n if (key.return) {\n onContinue();\n }\n if (key.escape) {\n store.setCustomizeSources(false);\n setView(\"choice\");\n }\n }\n });\n\n if (view === \"customize\") {\n const rows = store.buildSourceRows(matrix);\n return (\n <Box flexDirection=\"column\" width=\"100%\" flexGrow={1} flexBasis={0}>\n <ViewTitle>Customize skill sources</ViewTitle>\n <Box ref={gridRef} flexGrow={1} flexBasis={0}>\n <SourceGrid\n rows={rows}\n availableHeight={gridHeight}\n onSelect={handleGridSelect}\n onSearch={handleSearch}\n onBind={handleBind}\n onSearchStateChange={handleSearchStateChange}\n />\n </Box>\n </Box>\n );\n }\n\n const selectedTechnologies = store.getAllSelectedTechnologies();\n const rows = store.buildSourceRows(matrix);\n const isRecommendedSelected = choiceIndex === 0;\n const hasLocalSkills = rows.some((row) =>\n row.options.some((o) => o.installed && o.id === \"local\"),\n );\n\n return (\n <Box flexDirection=\"column\" paddingX={2}>\n <Text>\n Your stack includes{\" \"}\n <Text color={CLI_COLORS.PRIMARY} bold>\n {selectedTechnologies.length}\n </Text>{\" \"}\n technologies.\n </Text>\n <Text> </Text>\n\n <SelectionCard\n label={\n hasLocalSkills ? \"Use installed skill sources\" : \"Use all recommended skills (verified)\"\n }\n description={\n hasLocalSkills\n ? \"Keep your current local and public skill selections.\"\n : [\n `This is the fastest option. All skills are verified and maintained by ${DEFAULT_BRANDING.NAME}`,\n ]\n }\n isFocused={isRecommendedSelected}\n marginBottom={1}\n />\n\n <SelectionCard\n label=\"Customize skill sources\"\n description=\"Choose alternative skills for each technology\"\n isFocused={!isRecommendedSelected}\n />\n </Box>\n );\n};\n"],"mappings":"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","names":["rows"]}
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  CLI_COLORS
4
- } from "./chunk-BK7TANUV.js";
4
+ } from "./chunk-PP7NDFFE.js";
5
5
  import {
6
6
  init_esm_shims
7
7
  } from "./chunk-DHET7RCE.js";
@@ -50,9 +50,9 @@ var STEP_SECTIONS = {
50
50
  agents: AGENTS_KEYS
51
51
  };
52
52
  var KEY_COLUMN_WIDTH = 14;
53
- var HelpSectionView = ({ section }) => /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [
54
- /* @__PURE__ */ jsx(Text, { bold: true, underline: true, children: section.title }),
55
- section.keys.map(({ key, description }) => /* @__PURE__ */ jsxs(Box, { children: [
53
+ var HelpSectionView = ({ section }) => /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginTop: 1, marginBottom: 1, children: [
54
+ /* @__PURE__ */ jsx(Text, { bold: true, children: section.title }),
55
+ section.keys.map(({ key, description }) => /* @__PURE__ */ jsxs(Box, { marginTop: 1, children: [
56
56
  /* @__PURE__ */ jsx(Box, { width: KEY_COLUMN_WIDTH, children: /* @__PURE__ */ jsxs(Text, { backgroundColor: "black", color: CLI_COLORS.UNFOCUSED, children: [
57
57
  " ",
58
58
  key,
@@ -87,4 +87,4 @@ var HelpModal = ({ currentStep }) => {
87
87
  export {
88
88
  HelpModal
89
89
  };
90
- //# sourceMappingURL=chunk-UKTYDNWJ.js.map
90
+ //# sourceMappingURL=chunk-44QCEK7E.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/components/wizard/help-modal.tsx"],"sourcesContent":["import { Box, Text } from \"ink\";\nimport React from \"react\";\nimport { CLI_COLORS } from \"../../consts.js\";\nimport type { WizardStep } from \"../../stores/wizard-store.js\";\n\ntype HelpSection = {\n title: string;\n keys: { key: string; description: string }[];\n};\n\nconst GLOBAL_KEYS: HelpSection = {\n title: \"Navigation\",\n keys: [\n { key: \"Arrow keys\", description: \"Move focus\" },\n { key: \"SPACE\", description: \"Toggle selection\" },\n { key: \"ENTER\", description: \"Confirm / continue\" },\n { key: \"ESC\", description: \"Go back\" },\n { key: \"TAB\", description: \"Jump to next section\" },\n ],\n};\n\nconst GLOBAL_TOGGLES: HelpSection = {\n title: \"Global Toggles\",\n keys: [\n { key: \"E\", description: \"Toggle expert mode\" },\n { key: \"P\", description: \"Toggle plugin/local install mode\" },\n { key: \"?\", description: \"Toggle this help\" },\n ],\n};\n\nconst BUILD_KEYS: HelpSection = {\n title: \"Build Step\",\n keys: [\n { key: \"D\", description: \"Toggle compatibility labels\" },\n { key: \"A\", description: \"Accept stack defaults (stack path only)\" },\n { key: \"h/j/k/l\", description: \"Vim-style navigation\" },\n ],\n};\n\nconst SOURCES_KEYS: HelpSection = {\n title: \"Sources Step\",\n keys: [{ key: \"G\", description: \"Toggle source settings\" }],\n};\n\nconst AGENTS_KEYS: HelpSection = {\n title: \"Agents Step\",\n keys: [],\n};\n\nconst STEP_SECTIONS: Partial<Record<WizardStep, HelpSection>> = {\n build: BUILD_KEYS,\n sources: SOURCES_KEYS,\n agents: AGENTS_KEYS,\n};\n\nconst KEY_COLUMN_WIDTH = 14;\n\ntype HelpSectionViewProps = {\n section: HelpSection;\n};\n\nconst HelpSectionView: React.FC<HelpSectionViewProps> = ({ section }) => (\n <Box flexDirection=\"column\" marginTop={1} marginBottom={1}>\n <Text bold>{section.title}</Text>\n {section.keys.map(({ key, description }) => (\n <Box key={key} marginTop={1}>\n <Box width={KEY_COLUMN_WIDTH}>\n <Text backgroundColor=\"black\" color={CLI_COLORS.UNFOCUSED}>\n {\" \"}\n {key}{\" \"}\n </Text>\n </Box>\n <Text>{description}</Text>\n </Box>\n ))}\n </Box>\n);\n\nexport type HelpModalProps = {\n currentStep: WizardStep;\n};\n\nexport const HelpModal: React.FC<HelpModalProps> = ({ currentStep }) => {\n const stepSection = STEP_SECTIONS[currentStep];\n\n return (\n <Box\n flexDirection=\"column\"\n borderStyle=\"single\"\n borderColor={CLI_COLORS.PRIMARY}\n paddingX={2}\n paddingY={1}\n marginTop={1}\n >\n <Text bold color={CLI_COLORS.PRIMARY}>\n Keyboard Shortcuts\n </Text>\n <Text> </Text>\n\n <HelpSectionView section={GLOBAL_KEYS} />\n <HelpSectionView section={GLOBAL_TOGGLES} />\n {stepSection && <HelpSectionView section={stepSection} />}\n\n <Text dimColor>Press ESC or ? to close</Text>\n </Box>\n );\n};\n"],"mappings":";;;;;;;;;AAAA;AAAA,SAAS,KAAK,YAAY;AA+DtB,cAIM,YAJN;AArDJ,IAAM,cAA2B;AAAA,EAC/B,OAAO;AAAA,EACP,MAAM;AAAA,IACJ,EAAE,KAAK,cAAc,aAAa,aAAa;AAAA,IAC/C,EAAE,KAAK,SAAS,aAAa,mBAAmB;AAAA,IAChD,EAAE,KAAK,SAAS,aAAa,qBAAqB;AAAA,IAClD,EAAE,KAAK,OAAO,aAAa,UAAU;AAAA,IACrC,EAAE,KAAK,OAAO,aAAa,uBAAuB;AAAA,EACpD;AACF;AAEA,IAAM,iBAA8B;AAAA,EAClC,OAAO;AAAA,EACP,MAAM;AAAA,IACJ,EAAE,KAAK,KAAK,aAAa,qBAAqB;AAAA,IAC9C,EAAE,KAAK,KAAK,aAAa,mCAAmC;AAAA,IAC5D,EAAE,KAAK,KAAK,aAAa,mBAAmB;AAAA,EAC9C;AACF;AAEA,IAAM,aAA0B;AAAA,EAC9B,OAAO;AAAA,EACP,MAAM;AAAA,IACJ,EAAE,KAAK,KAAK,aAAa,8BAA8B;AAAA,IACvD,EAAE,KAAK,KAAK,aAAa,0CAA0C;AAAA,IACnE,EAAE,KAAK,WAAW,aAAa,uBAAuB;AAAA,EACxD;AACF;AAEA,IAAM,eAA4B;AAAA,EAChC,OAAO;AAAA,EACP,MAAM,CAAC,EAAE,KAAK,KAAK,aAAa,yBAAyB,CAAC;AAC5D;AAEA,IAAM,cAA2B;AAAA,EAC/B,OAAO;AAAA,EACP,MAAM,CAAC;AACT;AAEA,IAAM,gBAA0D;AAAA,EAC9D,OAAO;AAAA,EACP,SAAS;AAAA,EACT,QAAQ;AACV;AAEA,IAAM,mBAAmB;AAMzB,IAAM,kBAAkD,CAAC,EAAE,QAAQ,MACjE,qBAAC,OAAI,eAAc,UAAS,WAAW,GAAG,cAAc,GACtD;AAAA,sBAAC,QAAK,MAAI,MAAE,kBAAQ,OAAM;AAAA,EACzB,QAAQ,KAAK,IAAI,CAAC,EAAE,KAAK,YAAY,MACpC,qBAAC,OAAc,WAAW,GACxB;AAAA,wBAAC,OAAI,OAAO,kBACV,+BAAC,QAAK,iBAAgB,SAAQ,OAAO,WAAW,WAC7C;AAAA;AAAA,MACA;AAAA,MAAK;AAAA,OACR,GACF;AAAA,IACA,oBAAC,QAAM,uBAAY;AAAA,OAPX,GAQV,CACD;AAAA,GACH;AAOK,IAAM,YAAsC,CAAC,EAAE,YAAY,MAAM;AACtE,QAAM,cAAc,cAAc,WAAW;AAE7C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAc;AAAA,MACd,aAAY;AAAA,MACZ,aAAa,WAAW;AAAA,MACxB,UAAU;AAAA,MACV,UAAU;AAAA,MACV,WAAW;AAAA,MAEX;AAAA,4BAAC,QAAK,MAAI,MAAC,OAAO,WAAW,SAAS,gCAEtC;AAAA,QACA,oBAAC,QAAK,eAAC;AAAA,QAEP,oBAAC,mBAAgB,SAAS,aAAa;AAAA,QACvC,oBAAC,mBAAgB,SAAS,gBAAgB;AAAA,QACzC,eAAe,oBAAC,mBAAgB,SAAS,aAAa;AAAA,QAEvD,oBAAC,QAAK,UAAQ,MAAC,qCAAuB;AAAA;AAAA;AAAA,EACxC;AAEJ;","names":[]}
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-KUV24B5M.js";
5
5
  import {
6
6
  CLI_COLORS
7
- } from "./chunk-BK7TANUV.js";
7
+ } from "./chunk-PP7NDFFE.js";
8
8
  import {
9
9
  init_esm_shims
10
10
  } from "./chunk-DHET7RCE.js";
@@ -92,4 +92,4 @@ var SearchModal = ({ results, alias, onBind, onClose }) => {
92
92
  export {
93
93
  SearchModal
94
94
  };
95
- //# sourceMappingURL=chunk-NYP5SB2V.js.map
95
+ //# sourceMappingURL=chunk-52SI5XJH.js.map
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  CLI_COLORS,
7
7
  SCROLL_VIEWPORT
8
- } from "./chunk-BK7TANUV.js";
8
+ } from "./chunk-PP7NDFFE.js";
9
9
  import {
10
10
  init_esm_shims
11
11
  } from "./chunk-DHET7RCE.js";
@@ -177,7 +177,6 @@ var SkillTag = ({ option, isFocused, isLocked, showLabels }) => {
177
177
  if (option.state === "discouraged") return CLI_COLORS.WARNING;
178
178
  return CLI_COLORS.UNFOCUSED;
179
179
  };
180
- const isBold = isFocused || option.selected;
181
180
  const textColor = getTextColor();
182
181
  const compatibilityLabel = showLabels ? getCompatibilityLabel(option, isLocked) : null;
183
182
  return /* @__PURE__ */ jsx(
@@ -186,10 +185,9 @@ var SkillTag = ({ option, isFocused, isLocked, showLabels }) => {
186
185
  marginRight: 1,
187
186
  borderColor: isFocused ? getStateBorderColor() : CLI_COLORS.NEUTRAL,
188
187
  borderStyle: "single",
189
- borderDimColor: !isFocused,
190
188
  flexShrink: 0,
191
189
  children: /* @__PURE__ */ jsxs(Fragment, { children: [
192
- /* @__PURE__ */ jsxs(Text, { color: textColor, bold: isBold, dimColor: false, children: [
190
+ /* @__PURE__ */ jsxs(Text, { color: textColor, bold: true, children: [
193
191
  " ",
194
192
  option.label,
195
193
  " "
@@ -203,6 +201,7 @@ var SkillTag = ({ option, isFocused, isLocked, showLabels }) => {
203
201
  );
204
202
  };
205
203
  var CategorySection = ({
204
+ isFirst,
206
205
  category,
207
206
  options,
208
207
  isLocked,
@@ -210,9 +209,9 @@ var CategorySection = ({
210
209
  focusedOptionIndex,
211
210
  showLabels
212
211
  }) => {
213
- return /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginTop: 1, children: [
212
+ return /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginTop: isFirst ? 0 : 1, children: [
214
213
  /* @__PURE__ */ jsxs(Box, { flexDirection: "row", children: [
215
- /* @__PURE__ */ jsx(Text, { dimColor: isLocked, children: category.displayName }),
214
+ /* @__PURE__ */ jsx(Text, { dimColor: isLocked, color: isFocused ? "#fff" : "gray", children: category.displayName }),
216
215
  category.required && /* @__PURE__ */ jsxs(Text, { color: isLocked ? CLI_COLORS.NEUTRAL : CLI_COLORS.ERROR, dimColor: isLocked, children: [
217
216
  " ",
218
217
  SYMBOL_REQUIRED
@@ -358,7 +357,8 @@ var CategoryGrid = ({
358
357
  isLocked,
359
358
  isFocused: index === focusedRow,
360
359
  focusedOptionIndex: focusedCol,
361
- showLabels
360
+ showLabels,
361
+ isFirst: index === 0
362
362
  }
363
363
  ) }, category.id);
364
364
  });
@@ -371,4 +371,4 @@ var CategoryGrid = ({
371
371
  export {
372
372
  CategoryGrid
373
373
  };
374
- //# sourceMappingURL=chunk-GEDWVX6Y.js.map
374
+ //# sourceMappingURL=chunk-53K3URKF.js.map