@agents-inc/cli 0.75.1 → 0.77.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 (196) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/{chunk-SXGBPQY6.js → chunk-2I5SXGXR.js} +2 -2
  3. package/dist/{chunk-SYGXJBG6.js → chunk-32HX6UYI.js} +21 -11
  4. package/dist/chunk-32HX6UYI.js.map +1 -0
  5. package/dist/{chunk-T5DJCIUP.js → chunk-3REKTRAN.js} +2 -2
  6. package/dist/{chunk-ZZJ6H6VB.js → chunk-5DDHCCEB.js} +16 -6
  7. package/dist/chunk-5DDHCCEB.js.map +1 -0
  8. package/dist/{chunk-U6A4YFOF.js → chunk-7JQIMEUX.js} +4 -4
  9. package/dist/{chunk-KDYE3AGL.js → chunk-7LBYURQR.js} +2 -2
  10. package/dist/{chunk-UFKDY45I.js → chunk-A5JSBU65.js} +4 -4
  11. package/dist/{chunk-FYYIRFYT.js → chunk-A6XMJT2Q.js} +6 -6
  12. package/dist/{chunk-CUCF5LM4.js → chunk-AQ5KP4YW.js} +5 -5
  13. package/dist/{chunk-W22IYRZV.js → chunk-B66E255O.js} +5 -5
  14. package/dist/{chunk-2PZ7LBFT.js → chunk-C22ACAL2.js} +3 -3
  15. package/dist/{chunk-JOTAIMTC.js → chunk-CTZ4GEAD.js} +18 -18
  16. package/dist/chunk-CTZ4GEAD.js.map +1 -0
  17. package/dist/{chunk-BVSWWBPE.js → chunk-CY23HPDE.js} +7 -5
  18. package/dist/chunk-CY23HPDE.js.map +1 -0
  19. package/dist/{chunk-5BGBH3KD.js → chunk-CZLXZ75E.js} +68 -36
  20. package/dist/chunk-CZLXZ75E.js.map +1 -0
  21. package/dist/{chunk-PSU42CXK.js → chunk-EO6KJI5D.js} +1194 -538
  22. package/dist/chunk-EO6KJI5D.js.map +1 -0
  23. package/dist/{chunk-CBXMOWQY.js → chunk-ERHTXNIF.js} +3 -3
  24. package/dist/{chunk-TQLDQ3XZ.js → chunk-EYFBODHL.js} +2 -2
  25. package/dist/{chunk-AUNBGZS4.js → chunk-FFMWFEUH.js} +2 -2
  26. package/dist/{chunk-EGMQ3SXN.js → chunk-FMYAYX6W.js} +1 -1
  27. package/dist/chunk-FMYAYX6W.js.map +1 -0
  28. package/dist/{chunk-HKIQA4F6.js → chunk-FSK4TQX7.js} +1730 -2390
  29. package/dist/chunk-FSK4TQX7.js.map +1 -0
  30. package/dist/{chunk-JGSPESM3.js → chunk-FUWUCKES.js} +15 -12
  31. package/dist/chunk-FUWUCKES.js.map +1 -0
  32. package/dist/{chunk-WXC2Y5TF.js → chunk-G3YSDQJ2.js} +41 -42
  33. package/dist/chunk-G3YSDQJ2.js.map +1 -0
  34. package/dist/{chunk-CBYRFAUN.js → chunk-HK53FRMU.js} +3 -1
  35. package/dist/chunk-HK53FRMU.js.map +1 -0
  36. package/dist/{chunk-XHTN56UT.js → chunk-IFCASC6R.js} +3 -3
  37. package/dist/{chunk-Q3F36QZZ.js → chunk-J5OOAKB5.js} +3 -3
  38. package/dist/{chunk-MWGDG4QN.js → chunk-K63OEZW7.js} +2 -2
  39. package/dist/{chunk-GMUOEQOY.js → chunk-KB57OPUL.js} +4 -4
  40. package/dist/{chunk-DFKNFZI2.js → chunk-KMLJCO5H.js} +7 -7
  41. package/dist/{chunk-CXRVM7BA.js → chunk-M76LNKMY.js} +2 -2
  42. package/dist/{chunk-AOZBHMYL.js → chunk-MG55NDVG.js} +4 -4
  43. package/dist/{chunk-WF5PMBIR.js → chunk-MLXAZODL.js} +2 -2
  44. package/dist/{chunk-TYM4D3OF.js → chunk-MUCQ27HV.js} +3 -3
  45. package/dist/{chunk-TYM4D3OF.js.map → chunk-MUCQ27HV.js.map} +1 -1
  46. package/dist/{chunk-U5R4M7MA.js → chunk-N4KD5PBX.js} +5 -5
  47. package/dist/{chunk-SPATQKH6.js → chunk-PDYKGJGR.js} +4 -4
  48. package/dist/{chunk-7QAVO7VN.js → chunk-R6QNVMN5.js} +18 -44
  49. package/dist/{chunk-7QAVO7VN.js.map → chunk-R6QNVMN5.js.map} +1 -1
  50. package/dist/chunk-SGKNE6EJ.js +192 -0
  51. package/dist/chunk-SGKNE6EJ.js.map +1 -0
  52. package/dist/{chunk-XMLCXRTS.js → chunk-SQ7WINEU.js} +3 -3
  53. package/dist/{chunk-Q72ZBA4X.js → chunk-U2KFFRRX.js} +3 -3
  54. package/dist/{chunk-VU4ZCRZS.js → chunk-UZHD4DBD.js} +6 -6
  55. package/dist/{chunk-QN3V3ES7.js → chunk-WMTYOK4E.js} +10 -10
  56. package/dist/{chunk-UQKCYLOA.js → chunk-XA7WF3BI.js} +9 -9
  57. package/dist/chunk-XA7WF3BI.js.map +1 -0
  58. package/dist/{chunk-FHHTDPMW.js → chunk-XU6N3OIS.js} +6 -6
  59. package/dist/{chunk-6C66NL4X.js → chunk-XYPAOBBV.js} +4 -4
  60. package/dist/chunk-XYPAOBBV.js.map +1 -0
  61. package/dist/{chunk-XZ57QYVI.js → chunk-ZIZFTSQY.js} +4 -4
  62. package/dist/commands/build/marketplace.js +5 -5
  63. package/dist/commands/build/plugins.js +9 -9
  64. package/dist/commands/build/stack.js +9 -9
  65. package/dist/commands/compile.js +10 -10
  66. package/dist/commands/config/index.js +9 -9
  67. package/dist/commands/config/path.js +8 -8
  68. package/dist/commands/config/show.js +9 -9
  69. package/dist/commands/diff.js +8 -8
  70. package/dist/commands/doctor.js +8 -8
  71. package/dist/commands/edit.js +34 -34
  72. package/dist/commands/eject.js +8 -8
  73. package/dist/commands/import/skill.js +9 -9
  74. package/dist/commands/info.js +9 -9
  75. package/dist/commands/init.js +34 -34
  76. package/dist/commands/list.js +8 -8
  77. package/dist/commands/new/agent.js +9 -9
  78. package/dist/commands/new/marketplace.js +10 -10
  79. package/dist/commands/new/skill.js +9 -9
  80. package/dist/commands/outdated.js +8 -8
  81. package/dist/commands/search.js +12 -12
  82. package/dist/commands/uninstall.js +9 -9
  83. package/dist/commands/update.js +10 -10
  84. package/dist/commands/validate.js +9 -9
  85. package/dist/components/common/select-list.js +2 -2
  86. package/dist/components/skill-search/skill-search.js +4 -4
  87. package/dist/components/wizard/category-grid.js +5 -5
  88. package/dist/components/wizard/category-grid.test.js +20 -21
  89. package/dist/components/wizard/category-grid.test.js.map +1 -1
  90. package/dist/components/wizard/checkbox-grid.js +4 -4
  91. package/dist/components/wizard/checkbox-grid.test.js +4 -4
  92. package/dist/components/wizard/domain-selection.js +13 -13
  93. package/dist/components/wizard/help-modal.js +3 -3
  94. package/dist/components/wizard/menu-item.js +1 -1
  95. package/dist/components/wizard/search-modal.js +4 -4
  96. package/dist/components/wizard/search-modal.test.js +4 -4
  97. package/dist/components/wizard/section-progress.js +2 -2
  98. package/dist/components/wizard/section-progress.test.js +2 -2
  99. package/dist/components/wizard/selection-card.js +2 -2
  100. package/dist/components/wizard/source-grid.js +7 -7
  101. package/dist/components/wizard/source-grid.test.js +16 -16
  102. package/dist/components/wizard/stack-selection.js +12 -11
  103. package/dist/components/wizard/step-agents.js +12 -12
  104. package/dist/components/wizard/step-agents.test.js +15 -15
  105. package/dist/components/wizard/step-build.js +13 -13
  106. package/dist/components/wizard/step-build.test.js +17 -15
  107. package/dist/components/wizard/step-build.test.js.map +1 -1
  108. package/dist/components/wizard/step-confirm.js +6 -6
  109. package/dist/components/wizard/step-confirm.test.js +12 -12
  110. package/dist/components/wizard/step-refine.js +3 -3
  111. package/dist/components/wizard/step-refine.test.js +3 -3
  112. package/dist/components/wizard/step-settings.js +11 -11
  113. package/dist/components/wizard/step-settings.test.js +14 -14
  114. package/dist/components/wizard/step-sources.js +15 -15
  115. package/dist/components/wizard/step-sources.test.js +18 -18
  116. package/dist/components/wizard/step-stack.js +15 -16
  117. package/dist/components/wizard/step-stack.test.js +19 -19
  118. package/dist/components/wizard/step-stack.test.js.map +1 -1
  119. package/dist/components/wizard/wizard-layout.js +12 -12
  120. package/dist/components/wizard/wizard-tabs.js +2 -2
  121. package/dist/components/wizard/wizard-tabs.test.js +2 -2
  122. package/dist/components/wizard/wizard.js +31 -31
  123. package/dist/config-exports.js +1 -1
  124. package/dist/hooks/init.js +34 -34
  125. package/dist/{loader-TK7YS2I5.js → loader-JMOO2A7C.js} +5 -5
  126. package/dist/{source-loader-UQXJVVSO.js → source-loader-H3QLG5AE.js} +8 -8
  127. package/dist/source-manager-ZDBUHGIR.js +19 -0
  128. package/dist/src/agents/_templates/agent.liquid +24 -0
  129. package/dist/src/agents/_templates/methodologies/anti-over-engineering.liquid +121 -0
  130. package/dist/src/agents/_templates/methodologies/context-management.liquid +162 -0
  131. package/dist/src/agents/_templates/methodologies/improvement-protocol.liquid +150 -0
  132. package/dist/src/agents/_templates/methodologies/investigation-requirements.liquid +49 -0
  133. package/dist/src/agents/_templates/methodologies/success-criteria.liquid +111 -0
  134. package/dist/src/agents/_templates/methodologies/write-verification.liquid +43 -0
  135. package/dist/src/agents/meta/agent-summoner/workflow.md +2 -2
  136. package/dist/src/agents/meta/skill-summoner/workflow.md +48 -3
  137. package/dist/stores/wizard-store.js +8 -8
  138. package/dist/stores/wizard-store.test.js +36 -36
  139. package/dist/stores/wizard-store.test.js.map +1 -1
  140. package/package.json +1 -1
  141. package/src/agents/_templates/agent.liquid +24 -0
  142. package/src/agents/_templates/methodologies/anti-over-engineering.liquid +121 -0
  143. package/src/agents/_templates/methodologies/context-management.liquid +162 -0
  144. package/src/agents/_templates/methodologies/improvement-protocol.liquid +150 -0
  145. package/src/agents/_templates/methodologies/investigation-requirements.liquid +49 -0
  146. package/src/agents/_templates/methodologies/success-criteria.liquid +111 -0
  147. package/src/agents/_templates/methodologies/write-verification.liquid +43 -0
  148. package/src/agents/meta/agent-summoner/workflow.md +2 -2
  149. package/src/agents/meta/skill-summoner/workflow.md +48 -3
  150. package/dist/chunk-5BGBH3KD.js.map +0 -1
  151. package/dist/chunk-6C66NL4X.js.map +0 -1
  152. package/dist/chunk-BVSWWBPE.js.map +0 -1
  153. package/dist/chunk-CBYRFAUN.js.map +0 -1
  154. package/dist/chunk-EGMQ3SXN.js.map +0 -1
  155. package/dist/chunk-GCT7LSYW.js +0 -113
  156. package/dist/chunk-GCT7LSYW.js.map +0 -1
  157. package/dist/chunk-HKIQA4F6.js.map +0 -1
  158. package/dist/chunk-JGSPESM3.js.map +0 -1
  159. package/dist/chunk-JOTAIMTC.js.map +0 -1
  160. package/dist/chunk-PSU42CXK.js.map +0 -1
  161. package/dist/chunk-SYGXJBG6.js.map +0 -1
  162. package/dist/chunk-UQKCYLOA.js.map +0 -1
  163. package/dist/chunk-WXC2Y5TF.js.map +0 -1
  164. package/dist/chunk-ZZJ6H6VB.js.map +0 -1
  165. package/dist/source-manager-HS2ZT4XE.js +0 -19
  166. /package/dist/{chunk-SXGBPQY6.js.map → chunk-2I5SXGXR.js.map} +0 -0
  167. /package/dist/{chunk-T5DJCIUP.js.map → chunk-3REKTRAN.js.map} +0 -0
  168. /package/dist/{chunk-U6A4YFOF.js.map → chunk-7JQIMEUX.js.map} +0 -0
  169. /package/dist/{chunk-KDYE3AGL.js.map → chunk-7LBYURQR.js.map} +0 -0
  170. /package/dist/{chunk-UFKDY45I.js.map → chunk-A5JSBU65.js.map} +0 -0
  171. /package/dist/{chunk-FYYIRFYT.js.map → chunk-A6XMJT2Q.js.map} +0 -0
  172. /package/dist/{chunk-CUCF5LM4.js.map → chunk-AQ5KP4YW.js.map} +0 -0
  173. /package/dist/{chunk-W22IYRZV.js.map → chunk-B66E255O.js.map} +0 -0
  174. /package/dist/{chunk-2PZ7LBFT.js.map → chunk-C22ACAL2.js.map} +0 -0
  175. /package/dist/{chunk-CBXMOWQY.js.map → chunk-ERHTXNIF.js.map} +0 -0
  176. /package/dist/{chunk-TQLDQ3XZ.js.map → chunk-EYFBODHL.js.map} +0 -0
  177. /package/dist/{chunk-AUNBGZS4.js.map → chunk-FFMWFEUH.js.map} +0 -0
  178. /package/dist/{chunk-XHTN56UT.js.map → chunk-IFCASC6R.js.map} +0 -0
  179. /package/dist/{chunk-Q3F36QZZ.js.map → chunk-J5OOAKB5.js.map} +0 -0
  180. /package/dist/{chunk-MWGDG4QN.js.map → chunk-K63OEZW7.js.map} +0 -0
  181. /package/dist/{chunk-GMUOEQOY.js.map → chunk-KB57OPUL.js.map} +0 -0
  182. /package/dist/{chunk-DFKNFZI2.js.map → chunk-KMLJCO5H.js.map} +0 -0
  183. /package/dist/{chunk-CXRVM7BA.js.map → chunk-M76LNKMY.js.map} +0 -0
  184. /package/dist/{chunk-AOZBHMYL.js.map → chunk-MG55NDVG.js.map} +0 -0
  185. /package/dist/{chunk-WF5PMBIR.js.map → chunk-MLXAZODL.js.map} +0 -0
  186. /package/dist/{chunk-U5R4M7MA.js.map → chunk-N4KD5PBX.js.map} +0 -0
  187. /package/dist/{chunk-SPATQKH6.js.map → chunk-PDYKGJGR.js.map} +0 -0
  188. /package/dist/{chunk-XMLCXRTS.js.map → chunk-SQ7WINEU.js.map} +0 -0
  189. /package/dist/{chunk-Q72ZBA4X.js.map → chunk-U2KFFRRX.js.map} +0 -0
  190. /package/dist/{chunk-VU4ZCRZS.js.map → chunk-UZHD4DBD.js.map} +0 -0
  191. /package/dist/{chunk-QN3V3ES7.js.map → chunk-WMTYOK4E.js.map} +0 -0
  192. /package/dist/{chunk-FHHTDPMW.js.map → chunk-XU6N3OIS.js.map} +0 -0
  193. /package/dist/{chunk-XZ57QYVI.js.map → chunk-ZIZFTSQY.js.map} +0 -0
  194. /package/dist/{loader-TK7YS2I5.js.map → loader-JMOO2A7C.js.map} +0 -0
  195. /package/dist/{source-loader-UQXJVVSO.js.map → source-loader-H3QLG5AE.js.map} +0 -0
  196. /package/dist/{source-manager-HS2ZT4XE.js.map → source-manager-ZDBUHGIR.js.map} +0 -0
package/CHANGELOG.md CHANGED
@@ -7,6 +7,31 @@ Each release has detailed notes in its own file under [`changelogs/`](./changelo
7
7
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
8
8
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
9
9
 
10
+ ## [0.77.0] - 2026-03-17
11
+
12
+ **Stacks overhaul, incompatibility detection, wizard UX improvements**
13
+
14
+ - Overhaul 13 default stacks: rename, new descriptions, 4 new stacks, reorder (D-115)
15
+ - Detect unsatisfiable requires and framework incompatibility in skill matrix
16
+ - Add `web-routing` category, recategorize TanStack Router
17
+ - Replace framework filtering with visible incompatibility markers
18
+ - Add Filter Incompatible toggle (F hotkey) in build step
19
+ - Remove auto-select, deselection blocking, and section locking
20
+
21
+ See [changelogs/0.77.0.md](./changelogs/0.77.0.md) for full details.
22
+
23
+ ## [0.76.0] - 2026-03-16
24
+
25
+ **Shared meta category consolidation, web-tooling category**
26
+
27
+ - Merge `shared-methodology` + `shared-research` + `shared-reviewing` → `shared-meta`
28
+ - Add `web-tooling` category for build tools (Vite, Webpack)
29
+ - Update all 9 default stacks and generated types
30
+
31
+ See [changelogs/0.76.0.md](./changelogs/0.76.0.md) for full details.
32
+
33
+ ---
34
+
10
35
  ## [0.75.1] - 2026-03-16
11
36
 
12
37
  **Meta-framework ID rename, tags removal, schema reference**
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  CLI_COLORS
4
- } from "./chunk-EGMQ3SXN.js";
4
+ } from "./chunk-FMYAYX6W.js";
5
5
  import {
6
6
  init_esm_shims
7
7
  } from "./chunk-DHET7RCE.js";
@@ -81,4 +81,4 @@ export {
81
81
  formatStepLabel,
82
82
  WizardTabs
83
83
  };
84
- //# sourceMappingURL=chunk-SXGBPQY6.js.map
84
+ //# sourceMappingURL=chunk-2I5SXGXR.js.map
@@ -7,38 +7,43 @@ import {
7
7
  init_esm_shims();
8
8
  var SKILL_SLUGS = [
9
9
  "angular-standalone",
10
- "anti-over-engineering",
10
+ "ant-design",
11
11
  "api-performance",
12
12
  "astro",
13
13
  "auth-security",
14
14
  "axiom-pino-sentry",
15
15
  "better-auth-drizzle-hono",
16
+ "biome",
16
17
  "clerk",
17
18
  "cli-commander",
18
19
  "cli-reviewing",
19
- "context-management",
20
+ "cloudflare-workers",
20
21
  "css-animations",
21
22
  "cva",
22
23
  "cypress-e2e",
23
24
  "date-fns",
25
+ "docker",
24
26
  "drizzle",
25
27
  "error-boundaries",
28
+ "eslint-prettier",
26
29
  "expo",
27
30
  "express",
28
31
  "fastify",
29
32
  "file-upload-patterns",
33
+ "firebase",
30
34
  "framer-motion",
35
+ "git-hooks",
31
36
  "github-actions",
32
37
  "graphql-apollo",
33
38
  "graphql-urql",
39
+ "headless-ui",
34
40
  "hono",
35
41
  "image-handling",
36
- "improvement-protocol",
37
- "investigation-requirements",
38
42
  "jotai",
39
43
  "mobx",
40
44
  "mongodb",
41
45
  "msw",
46
+ "mui",
42
47
  "native-js",
43
48
  "nestjs",
44
49
  "next-intl",
@@ -46,10 +51,13 @@ var SKILL_SLUGS = [
46
51
  "nextjs",
47
52
  "ngrx-signalstore",
48
53
  "nuxt",
54
+ "nx",
49
55
  "oclif-ink",
50
56
  "offline-first",
57
+ "openai-sdk",
51
58
  "pinia",
52
59
  "playwright-e2e",
60
+ "pnpm-workspaces",
53
61
  "posthog-analytics",
54
62
  "posthog-flags",
55
63
  "prisma",
@@ -60,6 +68,7 @@ var SKILL_SLUGS = [
60
68
  "react-native",
61
69
  "react-query",
62
70
  "react-testing-library",
71
+ "redis",
63
72
  "redux-toolkit",
64
73
  "remix",
65
74
  "research-methodology",
@@ -72,24 +81,25 @@ var SKILL_SLUGS = [
72
81
  "setup-env",
73
82
  "setup-posthog",
74
83
  "setup-resend",
75
- "setup-tooling",
76
84
  "shadcn-ui",
77
85
  "socket-io",
78
86
  "solidjs",
79
87
  "sse",
80
88
  "storybook",
81
- "success-criteria",
82
89
  "supabase",
83
90
  "svelte",
84
91
  "sveltekit",
85
92
  "swr",
86
93
  "tailwind",
94
+ "tanstack-router",
87
95
  "tanstack-table",
88
96
  "trpc",
89
97
  "turborepo",
98
+ "typescript-config",
90
99
  "vee-validate",
91
100
  "vercel-ai-sdk",
92
101
  "view-transitions",
102
+ "vite",
93
103
  "vitest",
94
104
  "vue-composition-api",
95
105
  "vue-i18n",
@@ -97,7 +107,6 @@ var SKILL_SLUGS = [
97
107
  "web-accessibility",
98
108
  "web-performance",
99
109
  "websockets",
100
- "write-verification",
101
110
  "zod-validation",
102
111
  "zustand"
103
112
  ];
@@ -114,10 +123,9 @@ var CATEGORIES = [
114
123
  "cli-framework",
115
124
  "mobile-framework",
116
125
  "shared-ci-cd",
117
- "shared-methodology",
126
+ "shared-infra",
127
+ "shared-meta",
118
128
  "shared-monorepo",
119
- "shared-research",
120
- "shared-reviewing",
121
129
  "shared-security",
122
130
  "shared-tooling",
123
131
  "web-accessibility",
@@ -134,9 +142,11 @@ var CATEGORIES = [
134
142
  "web-performance",
135
143
  "web-pwa",
136
144
  "web-realtime",
145
+ "web-routing",
137
146
  "web-server-state",
138
147
  "web-styling",
139
148
  "web-testing",
149
+ "web-tooling",
140
150
  "web-ui-components",
141
151
  "web-utilities"
142
152
  ];
@@ -167,4 +177,4 @@ export {
167
177
  DOMAINS,
168
178
  AGENT_NAMES
169
179
  };
170
- //# sourceMappingURL=chunk-SYGXJBG6.js.map
180
+ //# sourceMappingURL=chunk-32HX6UYI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/types/generated/source-types.ts"],"sourcesContent":["// AUTO-GENERATED from skills source and agent metadata — do not edit manually\n// Run: bun run generate:types\n\n// ── Skill Map (slug → ID) ─────────────────────────────────────\n\nexport const SKILL_MAP = {\n \"angular-standalone\": \"web-framework-angular-standalone\",\n \"ant-design\": \"web-ui-ant-design\",\n \"api-performance\": \"api-performance-api-performance\",\n astro: \"web-meta-framework-astro\",\n \"auth-security\": \"shared-security-auth-security\",\n \"axiom-pino-sentry\": \"api-observability-axiom-pino-sentry\",\n \"better-auth-drizzle-hono\": \"api-auth-better-auth-drizzle-hono\",\n biome: \"shared-tooling-biome\",\n clerk: \"api-auth-clerk\",\n \"cli-commander\": \"cli-framework-cli-commander\",\n \"cli-reviewing\": \"shared-meta-cli-reviewing\",\n \"cloudflare-workers\": \"shared-ci-cd-cloudflare-workers\",\n \"css-animations\": \"web-animation-css-animations\",\n cva: \"web-styling-cva\",\n \"cypress-e2e\": \"web-testing-cypress-e2e\",\n \"date-fns\": \"web-utilities-date-fns\",\n docker: \"shared-ci-cd-docker\",\n drizzle: \"api-database-drizzle\",\n \"error-boundaries\": \"web-error-handling-error-boundaries\",\n \"eslint-prettier\": \"shared-tooling-eslint-prettier\",\n expo: \"mobile-framework-expo\",\n express: \"api-framework-express\",\n fastify: \"api-framework-fastify\",\n \"file-upload-patterns\": \"web-files-file-upload-patterns\",\n firebase: \"api-baas-firebase\",\n \"framer-motion\": \"web-animation-framer-motion\",\n \"git-hooks\": \"shared-tooling-git-hooks\",\n \"github-actions\": \"shared-ci-cd-github-actions\",\n \"graphql-apollo\": \"web-data-fetching-graphql-apollo\",\n \"graphql-urql\": \"web-data-fetching-graphql-urql\",\n \"headless-ui\": \"web-ui-headless-ui\",\n hono: \"api-framework-hono\",\n \"image-handling\": \"web-files-image-handling\",\n jotai: \"web-state-jotai\",\n mobx: \"web-state-mobx\",\n mongodb: \"api-database-mongodb\",\n msw: \"web-mocks-msw\",\n mui: \"web-ui-mui\",\n \"native-js\": \"web-utilities-native-js\",\n nestjs: \"api-framework-nestjs\",\n \"next-intl\": \"web-i18n-next-intl\",\n nextauth: \"api-auth-nextauth\",\n nextjs: \"web-meta-framework-nextjs\",\n \"ngrx-signalstore\": \"web-state-ngrx-signalstore\",\n nuxt: \"web-meta-framework-nuxt\",\n nx: \"shared-monorepo-nx\",\n \"oclif-ink\": \"cli-framework-oclif-ink\",\n \"offline-first\": \"web-pwa-offline-first\",\n \"openai-sdk\": \"api-ai-openai-sdk\",\n pinia: \"web-state-pinia\",\n \"playwright-e2e\": \"web-testing-playwright-e2e\",\n \"pnpm-workspaces\": \"shared-monorepo-pnpm-workspaces\",\n \"posthog-analytics\": \"api-analytics-posthog-analytics\",\n \"posthog-flags\": \"api-flags-posthog-flags\",\n prisma: \"api-database-prisma\",\n \"radix-ui\": \"web-ui-radix-ui\",\n react: \"web-framework-react\",\n \"react-hook-form\": \"web-forms-react-hook-form\",\n \"react-intl\": \"web-i18n-react-intl\",\n \"react-native\": \"mobile-framework-react-native\",\n \"react-query\": \"web-server-state-react-query\",\n \"react-testing-library\": \"web-testing-react-testing-library\",\n redis: \"api-database-redis\",\n \"redux-toolkit\": \"web-state-redux-toolkit\",\n remix: \"web-meta-framework-remix\",\n \"research-methodology\": \"shared-meta-research-methodology\",\n \"resend-react-email\": \"api-email-resend-react-email\",\n \"result-types\": \"web-error-handling-result-types\",\n reviewing: \"shared-meta-reviewing\",\n \"scss-modules\": \"web-styling-scss-modules\",\n \"service-workers\": \"web-pwa-service-workers\",\n \"setup-axiom-pino-sentry\": \"api-observability-setup-axiom-pino-sentry\",\n \"setup-env\": \"shared-infra-setup-env\",\n \"setup-posthog\": \"api-analytics-setup-posthog\",\n \"setup-resend\": \"api-email-setup-resend\",\n \"shadcn-ui\": \"web-ui-shadcn-ui\",\n \"socket-io\": \"web-realtime-socket-io\",\n solidjs: \"web-framework-solidjs\",\n sse: \"web-realtime-sse\",\n storybook: \"web-tooling-storybook\",\n supabase: \"api-baas-supabase\",\n svelte: \"web-framework-svelte\",\n sveltekit: \"web-meta-framework-sveltekit\",\n swr: \"web-data-fetching-swr\",\n tailwind: \"web-styling-tailwind\",\n \"tanstack-router\": \"web-routing-tanstack-router\",\n \"tanstack-table\": \"web-ui-tanstack-table\",\n trpc: \"web-data-fetching-trpc\",\n turborepo: \"shared-monorepo-turborepo\",\n \"typescript-config\": \"shared-tooling-typescript-config\",\n \"vee-validate\": \"web-forms-vee-validate\",\n \"vercel-ai-sdk\": \"api-ai-vercel-ai-sdk\",\n \"view-transitions\": \"web-animation-view-transitions\",\n vite: \"web-tooling-vite\",\n vitest: \"web-testing-vitest\",\n \"vue-composition-api\": \"web-framework-vue-composition-api\",\n \"vue-i18n\": \"web-i18n-vue-i18n\",\n \"vue-test-utils\": \"web-testing-vue-test-utils\",\n \"web-accessibility\": \"web-accessibility-web-accessibility\",\n \"web-performance\": \"web-performance-web-performance\",\n websockets: \"web-realtime-websockets\",\n \"zod-validation\": \"web-forms-zod-validation\",\n zustand: \"web-state-zustand\",\n} as const;\n\nexport type SkillSlug = keyof typeof SKILL_MAP;\nexport type SkillId = (typeof SKILL_MAP)[SkillSlug];\n\n// Derived arrays for Zod enum compatibility\n// (z.enum() requires a readonly tuple, not Object.keys/values)\nexport const SKILL_SLUGS = [\n \"angular-standalone\",\n \"ant-design\",\n \"api-performance\",\n \"astro\",\n \"auth-security\",\n \"axiom-pino-sentry\",\n \"better-auth-drizzle-hono\",\n \"biome\",\n \"clerk\",\n \"cli-commander\",\n \"cli-reviewing\",\n \"cloudflare-workers\",\n \"css-animations\",\n \"cva\",\n \"cypress-e2e\",\n \"date-fns\",\n \"docker\",\n \"drizzle\",\n \"error-boundaries\",\n \"eslint-prettier\",\n \"expo\",\n \"express\",\n \"fastify\",\n \"file-upload-patterns\",\n \"firebase\",\n \"framer-motion\",\n \"git-hooks\",\n \"github-actions\",\n \"graphql-apollo\",\n \"graphql-urql\",\n \"headless-ui\",\n \"hono\",\n \"image-handling\",\n \"jotai\",\n \"mobx\",\n \"mongodb\",\n \"msw\",\n \"mui\",\n \"native-js\",\n \"nestjs\",\n \"next-intl\",\n \"nextauth\",\n \"nextjs\",\n \"ngrx-signalstore\",\n \"nuxt\",\n \"nx\",\n \"oclif-ink\",\n \"offline-first\",\n \"openai-sdk\",\n \"pinia\",\n \"playwright-e2e\",\n \"pnpm-workspaces\",\n \"posthog-analytics\",\n \"posthog-flags\",\n \"prisma\",\n \"radix-ui\",\n \"react\",\n \"react-hook-form\",\n \"react-intl\",\n \"react-native\",\n \"react-query\",\n \"react-testing-library\",\n \"redis\",\n \"redux-toolkit\",\n \"remix\",\n \"research-methodology\",\n \"resend-react-email\",\n \"result-types\",\n \"reviewing\",\n \"scss-modules\",\n \"service-workers\",\n \"setup-axiom-pino-sentry\",\n \"setup-env\",\n \"setup-posthog\",\n \"setup-resend\",\n \"shadcn-ui\",\n \"socket-io\",\n \"solidjs\",\n \"sse\",\n \"storybook\",\n \"supabase\",\n \"svelte\",\n \"sveltekit\",\n \"swr\",\n \"tailwind\",\n \"tanstack-router\",\n \"tanstack-table\",\n \"trpc\",\n \"turborepo\",\n \"typescript-config\",\n \"vee-validate\",\n \"vercel-ai-sdk\",\n \"view-transitions\",\n \"vite\",\n \"vitest\",\n \"vue-composition-api\",\n \"vue-i18n\",\n \"vue-test-utils\",\n \"web-accessibility\",\n \"web-performance\",\n \"websockets\",\n \"zod-validation\",\n \"zustand\",\n] as const satisfies readonly SkillSlug[];\n\nexport const SKILL_IDS = [\n \"api-ai-openai-sdk\",\n \"api-ai-vercel-ai-sdk\",\n \"api-analytics-posthog-analytics\",\n \"api-analytics-setup-posthog\",\n \"api-auth-better-auth-drizzle-hono\",\n \"api-auth-clerk\",\n \"api-auth-nextauth\",\n \"api-baas-firebase\",\n \"api-baas-supabase\",\n \"api-database-drizzle\",\n \"api-database-mongodb\",\n \"api-database-prisma\",\n \"api-database-redis\",\n \"api-email-resend-react-email\",\n \"api-email-setup-resend\",\n \"api-flags-posthog-flags\",\n \"api-framework-express\",\n \"api-framework-fastify\",\n \"api-framework-hono\",\n \"api-framework-nestjs\",\n \"api-observability-axiom-pino-sentry\",\n \"api-observability-setup-axiom-pino-sentry\",\n \"api-performance-api-performance\",\n \"cli-framework-cli-commander\",\n \"cli-framework-oclif-ink\",\n \"mobile-framework-expo\",\n \"mobile-framework-react-native\",\n \"shared-ci-cd-cloudflare-workers\",\n \"shared-ci-cd-docker\",\n \"shared-ci-cd-github-actions\",\n \"shared-infra-setup-env\",\n \"shared-meta-cli-reviewing\",\n \"shared-meta-research-methodology\",\n \"shared-meta-reviewing\",\n \"shared-monorepo-nx\",\n \"shared-monorepo-pnpm-workspaces\",\n \"shared-monorepo-turborepo\",\n \"shared-security-auth-security\",\n \"shared-tooling-biome\",\n \"shared-tooling-eslint-prettier\",\n \"shared-tooling-git-hooks\",\n \"shared-tooling-typescript-config\",\n \"web-accessibility-web-accessibility\",\n \"web-animation-css-animations\",\n \"web-animation-framer-motion\",\n \"web-animation-view-transitions\",\n \"web-data-fetching-graphql-apollo\",\n \"web-data-fetching-graphql-urql\",\n \"web-data-fetching-swr\",\n \"web-data-fetching-trpc\",\n \"web-error-handling-error-boundaries\",\n \"web-error-handling-result-types\",\n \"web-files-file-upload-patterns\",\n \"web-files-image-handling\",\n \"web-forms-react-hook-form\",\n \"web-forms-vee-validate\",\n \"web-forms-zod-validation\",\n \"web-framework-angular-standalone\",\n \"web-framework-react\",\n \"web-framework-solidjs\",\n \"web-framework-svelte\",\n \"web-framework-vue-composition-api\",\n \"web-i18n-next-intl\",\n \"web-i18n-react-intl\",\n \"web-i18n-vue-i18n\",\n \"web-meta-framework-astro\",\n \"web-meta-framework-nextjs\",\n \"web-meta-framework-nuxt\",\n \"web-meta-framework-remix\",\n \"web-meta-framework-sveltekit\",\n \"web-mocks-msw\",\n \"web-performance-web-performance\",\n \"web-pwa-offline-first\",\n \"web-pwa-service-workers\",\n \"web-realtime-socket-io\",\n \"web-realtime-sse\",\n \"web-realtime-websockets\",\n \"web-routing-tanstack-router\",\n \"web-server-state-react-query\",\n \"web-state-jotai\",\n \"web-state-mobx\",\n \"web-state-ngrx-signalstore\",\n \"web-state-pinia\",\n \"web-state-redux-toolkit\",\n \"web-state-zustand\",\n \"web-styling-cva\",\n \"web-styling-scss-modules\",\n \"web-styling-tailwind\",\n \"web-testing-cypress-e2e\",\n \"web-testing-playwright-e2e\",\n \"web-testing-react-testing-library\",\n \"web-testing-vitest\",\n \"web-testing-vue-test-utils\",\n \"web-tooling-storybook\",\n \"web-tooling-vite\",\n \"web-ui-ant-design\",\n \"web-ui-headless-ui\",\n \"web-ui-mui\",\n \"web-ui-radix-ui\",\n \"web-ui-shadcn-ui\",\n \"web-ui-tanstack-table\",\n \"web-utilities-date-fns\",\n \"web-utilities-native-js\",\n] as const satisfies readonly SkillId[];\n\n// ── Categories ─────────────────────────────────────────────────\n\nexport const CATEGORIES = [\n \"api-ai\",\n \"api-analytics\",\n \"api-api\",\n \"api-auth\",\n \"api-baas\",\n \"api-database\",\n \"api-email\",\n \"api-observability\",\n \"api-performance\",\n \"cli-framework\",\n \"mobile-framework\",\n \"shared-ci-cd\",\n \"shared-infra\",\n \"shared-meta\",\n \"shared-monorepo\",\n \"shared-security\",\n \"shared-tooling\",\n \"web-accessibility\",\n \"web-animation\",\n \"web-client-state\",\n \"web-error-handling\",\n \"web-file-upload\",\n \"web-files\",\n \"web-forms\",\n \"web-framework\",\n \"web-i18n\",\n \"web-meta-framework\",\n \"web-mocking\",\n \"web-performance\",\n \"web-pwa\",\n \"web-realtime\",\n \"web-routing\",\n \"web-server-state\",\n \"web-styling\",\n \"web-testing\",\n \"web-tooling\",\n \"web-ui-components\",\n \"web-utilities\",\n] as const;\n\nexport type Category = (typeof CATEGORIES)[number];\n\n// ── Domains ────────────────────────────────────────────────────\n\nexport const DOMAINS = [\"api\", \"cli\", \"mobile\", \"shared\", \"web\"] as const;\n\nexport type Domain = (typeof DOMAINS)[number];\n\n// ── Agent Names ────────────────────────────────────────────────\n\nexport const AGENT_NAMES = [\n \"agent-summoner\",\n \"api-developer\",\n \"api-researcher\",\n \"api-reviewer\",\n \"cli-developer\",\n \"cli-reviewer\",\n \"cli-tester\",\n \"documentor\",\n \"pattern-scout\",\n \"skill-summoner\",\n \"web-architecture\",\n \"web-developer\",\n \"web-pattern-critique\",\n \"web-pm\",\n \"web-researcher\",\n \"web-reviewer\",\n \"web-tester\",\n] as const;\n\nexport type AgentName = (typeof AGENT_NAMES)[number];\n"],"mappings":";;;;;;AAAA;AAoHO,IAAM,cAAc;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AA8GO,IAAM,aAAa;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAMO,IAAM,UAAU,CAAC,OAAO,OAAO,UAAU,UAAU,KAAK;AAMxD,IAAM,cAAc;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;","names":[]}
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  CLI_COLORS
4
- } from "./chunk-EGMQ3SXN.js";
4
+ } from "./chunk-FMYAYX6W.js";
5
5
  import {
6
6
  init_esm_shims
7
7
  } from "./chunk-DHET7RCE.js";
@@ -78,4 +78,4 @@ var cliTheme = extendTheme(defaultTheme, {
78
78
  export {
79
79
  cliTheme
80
80
  };
81
- //# sourceMappingURL=chunk-T5DJCIUP.js.map
81
+ //# sourceMappingURL=chunk-3REKTRAN.js.map
@@ -2,17 +2,18 @@
2
2
  import {
3
3
  WIZARD_STEPS,
4
4
  WizardTabs
5
- } from "./chunk-SXGBPQY6.js";
5
+ } from "./chunk-2I5SXGXR.js";
6
6
  import {
7
7
  FEATURE_FLAGS
8
8
  } from "./chunk-V36FRPAU.js";
9
9
  import {
10
10
  HelpModal
11
- } from "./chunk-2PZ7LBFT.js";
11
+ } from "./chunk-C22ACAL2.js";
12
12
  import {
13
13
  useWizardStore
14
- } from "./chunk-BVSWWBPE.js";
14
+ } from "./chunk-CY23HPDE.js";
15
15
  import {
16
+ HOTKEY_FILTER_INCOMPATIBLE,
16
17
  HOTKEY_HELP,
17
18
  HOTKEY_SCOPE,
18
19
  HOTKEY_SETTINGS,
@@ -22,10 +23,10 @@ import {
22
23
  KEY_LABEL_ENTER,
23
24
  KEY_LABEL_ESC,
24
25
  KEY_LABEL_SPACE
25
- } from "./chunk-CBYRFAUN.js";
26
+ } from "./chunk-HK53FRMU.js";
26
27
  import {
27
28
  CLI_COLORS
28
- } from "./chunk-EGMQ3SXN.js";
29
+ } from "./chunk-FMYAYX6W.js";
29
30
  import {
30
31
  init_esm_shims
31
32
  } from "./chunk-DHET7RCE.js";
@@ -155,6 +156,15 @@ var WizardLayout = ({
155
156
  isVisible: store.step === "build"
156
157
  }
157
158
  ),
159
+ /* @__PURE__ */ jsx(
160
+ DefinitionItem,
161
+ {
162
+ label: "Filter incompatible",
163
+ values: [HOTKEY_FILTER_INCOMPATIBLE.label],
164
+ isVisible: store.step === "build",
165
+ isActive: store.filterIncompatible
166
+ }
167
+ ),
158
168
  /* @__PURE__ */ jsx(
159
169
  DefinitionItem,
160
170
  {
@@ -199,4 +209,4 @@ var WizardLayout = ({
199
209
  export {
200
210
  WizardLayout
201
211
  };
202
- //# sourceMappingURL=chunk-ZZJ6H6VB.js.map
212
+ //# sourceMappingURL=chunk-5DDHCCEB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/components/wizard/wizard-layout.tsx","../src/cli/components/hooks/use-terminal-dimensions.ts"],"sourcesContent":["import { Box, Static, Text } from \"ink\";\nimport React, { Fragment } from \"react\";\nimport { CLI_COLORS } from \"../../consts.js\";\nimport type { StartupMessage } from \"../../utils/logger.js\";\nimport { FEATURE_FLAGS } from \"../../lib/feature-flags.js\";\nimport { useWizardStore } from \"../../stores/wizard-store.js\";\nimport { useTerminalDimensions } from \"../hooks/use-terminal-dimensions.js\";\nimport { HelpModal } from \"./help-modal.js\";\nimport {\n HOTKEY_HELP,\n HOTKEY_SCOPE,\n HOTKEY_SET_ALL_LOCAL,\n HOTKEY_SET_ALL_PLUGIN,\n HOTKEY_SETTINGS,\n HOTKEY_FILTER_INCOMPATIBLE,\n HOTKEY_TOGGLE_LABELS,\n KEY_LABEL_ENTER,\n KEY_LABEL_ESC,\n KEY_LABEL_SPACE,\n} from \"./hotkeys.js\";\nimport { WIZARD_STEPS, WizardTabs } from \"./wizard-tabs.js\";\n\ntype KeyHintProps = {\n isVisible?: boolean;\n isActive?: boolean;\n label: string;\n values: string[];\n};\n\nconst DefinitionItem: React.FC<KeyHintProps> = ({\n isVisible = true,\n isActive = false,\n label,\n values,\n}) => {\n if (!isVisible) {\n return null;\n }\n\n return (\n <Text>\n {values.map((value) => (\n <Fragment key={value}>\n <Text\n backgroundColor=\"black\"\n color={isActive ? CLI_COLORS.PRIMARY : CLI_COLORS.UNFOCUSED}\n >\n {\" \"}\n {value}{\" \"}\n </Text>{\" \"}\n </Fragment>\n ))}\n <Text color={isActive ? CLI_COLORS.PRIMARY : undefined}>{label}</Text>\n </Text>\n );\n};\n\nconst HOT_KEYS: { label: string; values: string[] }[] = [\n { label: \"select\", values: [KEY_LABEL_SPACE] },\n { label: \"continue\", values: [KEY_LABEL_ENTER] },\n { label: \"back\", values: [KEY_LABEL_ESC] },\n];\n\nconst WizardFooter = () => {\n return (\n <Box\n columnGap={2}\n borderTop\n borderRight={false}\n borderBottom\n borderLeft={false}\n borderColor=\"blackBright\"\n borderStyle=\"single\"\n paddingLeft={1}\n paddingRight={1}\n >\n {HOT_KEYS.map((hotkey) => (\n <DefinitionItem {...hotkey} key={hotkey.label} />\n ))}\n </Box>\n );\n};\n\ntype WizardLayoutProps = {\n version?: string;\n logo?: string;\n startupMessages?: StartupMessage[];\n children: React.ReactNode;\n};\n\nexport const WizardLayout: React.FC<WizardLayoutProps> = ({\n version,\n logo,\n startupMessages,\n children,\n}) => {\n const store = useWizardStore();\n const { completedSteps, skippedSteps } = store.getStepProgress();\n const { rows: terminalHeight } = useTerminalDimensions();\n\n return (\n <>\n {startupMessages && startupMessages.length > 0 && (\n <Static items={startupMessages}>\n {(msg, index) => (\n <Box key={index}>\n <Text\n color={msg.level === \"warn\" ? \"yellow\" : msg.level === \"error\" ? \"red\" : undefined}\n >\n {msg.level === \"warn\" ? ` Warning: ${msg.text}` : msg.text}\n </Text>\n </Box>\n )}\n </Static>\n )}\n <Box flexDirection=\"column\" paddingX={1} height={terminalHeight}>\n {logo && store.step === \"stack\" && (\n <Box flexDirection=\"row\" marginTop={1} columnGap={1}>\n <Text>{logo}</Text>\n </Box>\n )}\n <WizardTabs\n steps={WIZARD_STEPS}\n currentStep={store.step}\n completedSteps={completedSteps}\n skippedSteps={skippedSteps}\n version={version}\n />\n {store.showHelp ? (\n <HelpModal currentStep={store.step} />\n ) : (\n <>\n <Box flexDirection=\"column\" flexGrow={1} flexBasis={0} marginTop={1}>\n {children}\n </Box>\n <Box paddingX={1} columnGap={2} marginTop={2}>\n <DefinitionItem\n label=\"Labels\"\n values={[HOTKEY_TOGGLE_LABELS.label]}\n isVisible={store.step === \"build\"}\n />\n <DefinitionItem\n label=\"Filter incompatible\"\n values={[HOTKEY_FILTER_INCOMPATIBLE.label]}\n isVisible={store.step === \"build\"}\n isActive={store.filterIncompatible}\n />\n <DefinitionItem\n label=\"Scope\"\n values={[HOTKEY_SCOPE.label]}\n isVisible={store.step === \"build\" || store.step === \"agents\"}\n />\n <DefinitionItem\n label=\"Set all local\"\n values={[HOTKEY_SET_ALL_LOCAL.label]}\n isVisible={store.step === \"sources\"}\n />\n <DefinitionItem\n label=\"Set all plugin\"\n values={[HOTKEY_SET_ALL_PLUGIN.label]}\n isVisible={store.step === \"sources\"}\n />\n <DefinitionItem\n label=\"Settings\"\n values={[HOTKEY_SETTINGS.label]}\n isVisible={store.step === \"sources\" && FEATURE_FLAGS.SOURCE_SEARCH}\n isActive={store.showSettings}\n />\n <DefinitionItem label=\"Help\" values={[HOTKEY_HELP.label]} />\n </Box>\n <WizardFooter />\n </>\n )}\n </Box>\n </>\n );\n};\n","import { useState, useEffect } from \"react\";\nimport { useStdout } from \"ink\";\n\nconst DEFAULT_COLUMNS = 80;\nconst DEFAULT_ROWS = 24;\n\nexport type TerminalDimensions = {\n /** Terminal width in columns */\n columns: number;\n /** Terminal height in rows */\n rows: number;\n};\n\n/**\n * Tracks terminal dimensions reactively. Re-renders on resize.\n *\n * Falls back to DEFAULT_COLUMNS x DEFAULT_ROWS when stdout is not a TTY\n * (e.g., piped output, CI environments, tests).\n */\nexport function useTerminalDimensions(): TerminalDimensions {\n const { stdout } = useStdout();\n\n const [dimensions, setDimensions] = useState<TerminalDimensions>(() => ({\n columns: stdout.columns || DEFAULT_COLUMNS,\n rows: stdout.rows || DEFAULT_ROWS,\n }));\n\n useEffect(() => {\n const handleResize = () => {\n setDimensions({\n columns: stdout.columns || DEFAULT_COLUMNS,\n rows: stdout.rows || DEFAULT_ROWS,\n });\n };\n\n stdout.on(\"resize\", handleResize);\n return () => {\n stdout.off(\"resize\", handleResize);\n };\n }, [stdout]);\n\n return dimensions;\n}\n"],"mappings":"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","names":["Fragment"]}
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  findStack
4
- } from "./chunk-HKIQA4F6.js";
4
+ } from "./chunk-FSK4TQX7.js";
5
5
  import {
6
6
  AGENT_NAMES,
7
7
  DOMAINS
8
- } from "./chunk-SYGXJBG6.js";
8
+ } from "./chunk-32HX6UYI.js";
9
9
  import {
10
10
  BUILT_IN_DOMAIN_ORDER
11
- } from "./chunk-EGMQ3SXN.js";
11
+ } from "./chunk-FMYAYX6W.js";
12
12
  import {
13
13
  init_esm_shims
14
14
  } from "./chunk-DHET7RCE.js";
@@ -51,4 +51,4 @@ export {
51
51
  getStackName,
52
52
  orderDomains
53
53
  };
54
- //# sourceMappingURL=chunk-U6A4YFOF.js.map
54
+ //# sourceMappingURL=chunk-7JQIMEUX.js.map
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  getErrorMessage
4
- } from "./chunk-6C66NL4X.js";
4
+ } from "./chunk-XYPAOBBV.js";
5
5
  import {
6
6
  init_esm_shims
7
7
  } from "./chunk-DHET7RCE.js";
@@ -49,4 +49,4 @@ export {
49
49
  EXIT_CODES,
50
50
  BaseCommand
51
51
  };
52
- //# sourceMappingURL=chunk-KDYE3AGL.js.map
52
+ //# sourceMappingURL=chunk-7LBYURQR.js.map
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  SelectList
4
- } from "./chunk-WF5PMBIR.js";
4
+ } from "./chunk-MLXAZODL.js";
5
5
  import {
6
6
  KEY_LABEL_ARROWS_VERT,
7
7
  KEY_LABEL_ENTER,
8
8
  KEY_LABEL_ESC
9
- } from "./chunk-CBYRFAUN.js";
9
+ } from "./chunk-HK53FRMU.js";
10
10
  import {
11
11
  CLI_COLORS
12
- } from "./chunk-EGMQ3SXN.js";
12
+ } from "./chunk-FMYAYX6W.js";
13
13
  import {
14
14
  init_esm_shims
15
15
  } from "./chunk-DHET7RCE.js";
@@ -81,4 +81,4 @@ var SearchModal = ({
81
81
  export {
82
82
  SearchModal
83
83
  };
84
- //# sourceMappingURL=chunk-UFKDY45I.js.map
84
+ //# sourceMappingURL=chunk-A5JSBU65.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-7SOPVGDV.js";
5
5
  import {
6
6
  useRowScroll
7
- } from "./chunk-XMLCXRTS.js";
7
+ } from "./chunk-SQ7WINEU.js";
8
8
  import {
9
9
  ViewTitle
10
10
  } from "./chunk-JNQKCZA3.js";
@@ -21,20 +21,20 @@ import {
21
21
  KEY_LABEL_ENTER,
22
22
  KEY_LABEL_ESC,
23
23
  isHotkey
24
- } from "./chunk-CBYRFAUN.js";
24
+ } from "./chunk-HK53FRMU.js";
25
25
  import {
26
26
  DEFAULT_SOURCE,
27
27
  addSource,
28
28
  getSourceSummary,
29
29
  removeSource
30
- } from "./chunk-5BGBH3KD.js";
30
+ } from "./chunk-CZLXZ75E.js";
31
31
  import {
32
32
  getErrorMessage,
33
33
  verbose
34
- } from "./chunk-6C66NL4X.js";
34
+ } from "./chunk-XYPAOBBV.js";
35
35
  import {
36
36
  CLI_COLORS
37
- } from "./chunk-EGMQ3SXN.js";
37
+ } from "./chunk-FMYAYX6W.js";
38
38
  import {
39
39
  init_esm_shims
40
40
  } from "./chunk-DHET7RCE.js";
@@ -270,4 +270,4 @@ var StepSettings = ({
270
270
  export {
271
271
  StepSettings
272
272
  };
273
- //# sourceMappingURL=chunk-FYYIRFYT.js.map
273
+ //# sourceMappingURL=chunk-A6XMJT2Q.js.map
@@ -2,17 +2,17 @@
2
2
  import {
3
3
  getDomainDisplayName,
4
4
  orderDomains
5
- } from "./chunk-U6A4YFOF.js";
5
+ } from "./chunk-7JQIMEUX.js";
6
6
  import {
7
7
  CheckboxGrid
8
- } from "./chunk-CBXMOWQY.js";
8
+ } from "./chunk-ERHTXNIF.js";
9
9
  import {
10
10
  useWizardStore
11
- } from "./chunk-BVSWWBPE.js";
11
+ } from "./chunk-CY23HPDE.js";
12
12
  import {
13
13
  matrix,
14
14
  typedEntries
15
- } from "./chunk-HKIQA4F6.js";
15
+ } from "./chunk-FSK4TQX7.js";
16
16
  import {
17
17
  init_esm_shims
18
18
  } from "./chunk-DHET7RCE.js";
@@ -63,4 +63,4 @@ var DomainSelection = () => {
63
63
  export {
64
64
  DomainSelection
65
65
  };
66
- //# sourceMappingURL=chunk-CUCF5LM4.js.map
66
+ //# sourceMappingURL=chunk-AQ5KP4YW.js.map
@@ -4,21 +4,21 @@ import {
4
4
  } from "./chunk-7SOPVGDV.js";
5
5
  import {
6
6
  SearchModal
7
- } from "./chunk-UFKDY45I.js";
7
+ } from "./chunk-A5JSBU65.js";
8
8
  import {
9
9
  useFocusedListItem
10
10
  } from "./chunk-P2FHS5IS.js";
11
11
  import {
12
12
  useSectionScroll
13
- } from "./chunk-AUNBGZS4.js";
13
+ } from "./chunk-FFMWFEUH.js";
14
14
  import {
15
15
  getSkillById,
16
16
  matrix
17
- } from "./chunk-HKIQA4F6.js";
17
+ } from "./chunk-FSK4TQX7.js";
18
18
  import {
19
19
  CLI_COLORS,
20
20
  SOURCE_DISPLAY_NAMES
21
- } from "./chunk-EGMQ3SXN.js";
21
+ } from "./chunk-FMYAYX6W.js";
22
22
  import {
23
23
  init_esm_shims
24
24
  } from "./chunk-DHET7RCE.js";
@@ -260,4 +260,4 @@ var SourceGrid = ({
260
260
  export {
261
261
  SourceGrid
262
262
  };
263
- //# sourceMappingURL=chunk-W22IYRZV.js.map
263
+ //# sourceMappingURL=chunk-B66E255O.js.map
@@ -9,10 +9,10 @@ import {
9
9
  KEY_LABEL_SPACE,
10
10
  KEY_LABEL_TAB,
11
11
  KEY_LABEL_VIM
12
- } from "./chunk-CBYRFAUN.js";
12
+ } from "./chunk-HK53FRMU.js";
13
13
  import {
14
14
  CLI_COLORS
15
- } from "./chunk-EGMQ3SXN.js";
15
+ } from "./chunk-FMYAYX6W.js";
16
16
  import {
17
17
  init_esm_shims
18
18
  } from "./chunk-DHET7RCE.js";
@@ -100,4 +100,4 @@ var HelpModal = ({ currentStep }) => {
100
100
  export {
101
101
  HelpModal
102
102
  };
103
- //# sourceMappingURL=chunk-2PZ7LBFT.js.map
103
+ //# sourceMappingURL=chunk-C22ACAL2.js.map
@@ -4,17 +4,18 @@ import {
4
4
  } from "./chunk-P2FHS5IS.js";
5
5
  import {
6
6
  useSectionScroll
7
- } from "./chunk-AUNBGZS4.js";
7
+ } from "./chunk-FFMWFEUH.js";
8
8
  import {
9
+ HOTKEY_FILTER_INCOMPATIBLE,
9
10
  HOTKEY_TOGGLE_LABELS,
10
11
  isHotkey
11
- } from "./chunk-CBYRFAUN.js";
12
+ } from "./chunk-HK53FRMU.js";
12
13
  import {
13
14
  getSkillById
14
- } from "./chunk-HKIQA4F6.js";
15
+ } from "./chunk-FSK4TQX7.js";
15
16
  import {
16
17
  CLI_COLORS
17
- } from "./chunk-EGMQ3SXN.js";
18
+ } from "./chunk-FMYAYX6W.js";
18
19
  import {
19
20
  init_esm_shims
20
21
  } from "./chunk-DHET7RCE.js";
@@ -28,14 +29,8 @@ import { Box, Text } from "ink";
28
29
  init_esm_shims();
29
30
  import { useCallback, useEffect, useRef } from "react";
30
31
  import { useInput } from "ink";
31
- var FRAMEWORK_CATEGORY_ID = "web-framework";
32
- var isSectionLocked = (categoryId, categories) => {
33
- if (categoryId === FRAMEWORK_CATEGORY_ID) {
34
- return false;
35
- }
36
- const frameworkCategory = categories.find((cat) => cat.id === FRAMEWORK_CATEGORY_ID);
37
- if (!frameworkCategory) return false;
38
- return !frameworkCategory.options.some((opt) => opt.selected);
32
+ var isSectionLocked = (_categoryId, _categories) => {
33
+ return false;
39
34
  };
40
35
  var findValidStartColumn = (_options) => {
41
36
  return 0;
@@ -64,7 +59,8 @@ function useCategoryGridInput({
64
59
  setFocused,
65
60
  moveFocus,
66
61
  onToggle,
67
- onToggleLabels
62
+ onToggleLabels,
63
+ onToggleFilterIncompatible
68
64
  }) {
69
65
  const currentRow = processedCategories[focusedRow];
70
66
  const currentOptions = currentRow?.sortedOptions || [];
@@ -106,6 +102,10 @@ function useCategoryGridInput({
106
102
  onToggleLabels();
107
103
  return;
108
104
  }
105
+ if (isHotkey(input, HOTKEY_FILTER_INCOMPATIBLE) && onToggleFilterIncompatible) {
106
+ onToggleFilterIncompatible();
107
+ return;
108
+ }
109
109
  if (input === " ") {
110
110
  if (currentLocked) return;
111
111
  const currentOption = currentOptions[focusedCol];
@@ -153,13 +153,11 @@ var findNextValidOption = (options, currentIndex, direction, wrap = true) => {
153
153
  return index;
154
154
  };
155
155
  var getCompatibilityLabel = (option) => {
156
- if (option.selected && option.requiredBy) {
157
- return `(required by ${option.requiredBy})`;
158
- }
159
156
  if (option.selected && option.hasUnmetRequirements && option.unmetRequirementsReason) {
160
157
  return `(${option.unmetRequirementsReason})`;
161
158
  }
162
159
  if (option.selected) return null;
160
+ if (option.requiredBy) return `(required by ${option.requiredBy})`;
163
161
  if (option.state.status === "incompatible") return "(incompatible)";
164
162
  if (option.state.status === "recommended") return "(recommended)";
165
163
  if (option.state.status === "discouraged") return "(discouraged)";
@@ -259,6 +257,7 @@ var CategoryGrid = ({
259
257
  showLabels,
260
258
  onToggle,
261
259
  onToggleLabels,
260
+ onToggleFilterIncompatible,
262
261
  defaultFocusedRow = 0,
263
262
  defaultFocusedCol = 0,
264
263
  onFocusChange,
@@ -323,7 +322,8 @@ var CategoryGrid = ({
323
322
  setFocused,
324
323
  moveFocus,
325
324
  onToggle,
326
- onToggleLabels
325
+ onToggleLabels,
326
+ onToggleFilterIncompatible
327
327
  });
328
328
  const { setSectionRef, scrollEnabled, scrollTopPx } = useSectionScroll({
329
329
  sectionCount: processedCategories.length,
@@ -362,4 +362,4 @@ var CategoryGrid = ({
362
362
  export {
363
363
  CategoryGrid
364
364
  };
365
- //# sourceMappingURL=chunk-JOTAIMTC.js.map
365
+ //# sourceMappingURL=chunk-CTZ4GEAD.js.map