@agents-inc/cli 0.78.0 → 0.80.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 (166) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +2 -2
  3. package/dist/{chunk-XA7WF3BI.js → chunk-3C6AXGR7.js} +3 -3
  4. package/dist/{chunk-VDVLM3KB.js → chunk-3HWFTE3S.js} +8 -4
  5. package/dist/chunk-3HWFTE3S.js.map +1 -0
  6. package/dist/{chunk-7JQIMEUX.js → chunk-3SCIYMRK.js} +3 -3
  7. package/dist/{chunk-OOWNDQCG.js → chunk-3WDZKBCE.js} +6 -4
  8. package/dist/chunk-3WDZKBCE.js.map +1 -0
  9. package/dist/{chunk-FSK4TQX7.js → chunk-4R6I6A3U.js} +3225 -134
  10. package/dist/chunk-4R6I6A3U.js.map +1 -0
  11. package/dist/{chunk-MUCQ27HV.js → chunk-4R72372U.js} +2 -2
  12. package/dist/{chunk-Q755X6QF.js → chunk-4VFBRV76.js} +4 -4
  13. package/dist/{chunk-F4IZ3UAS.js → chunk-55AZIEK6.js} +4 -4
  14. package/dist/{chunk-XYPAOBBV.js → chunk-633YIZOU.js} +2 -2
  15. package/dist/{chunk-N2XGUAJU.js → chunk-6YJXWQCI.js} +2 -12
  16. package/dist/chunk-6YJXWQCI.js.map +1 -0
  17. package/dist/{chunk-32HX6UYI.js → chunk-BN73X3JN.js} +59 -2
  18. package/dist/chunk-BN73X3JN.js.map +1 -0
  19. package/dist/{chunk-B4C2S5LP.js → chunk-BORVYGIX.js} +17 -15
  20. package/dist/chunk-BORVYGIX.js.map +1 -0
  21. package/dist/{chunk-YFHVP3VA.js → chunk-F4VG5XWZ.js} +3 -3
  22. package/dist/{chunk-NKLNT7N7.js → chunk-H3NQGJMB.js} +2 -2
  23. package/dist/{chunk-QD3GQ2CH.js → chunk-II3ISVCE.js} +6 -5
  24. package/dist/chunk-II3ISVCE.js.map +1 -0
  25. package/dist/{chunk-FUWUCKES.js → chunk-LO4X32JC.js} +2 -2
  26. package/dist/{chunk-D4T3HHE7.js → chunk-MNJAF4K2.js} +2 -2
  27. package/dist/{chunk-KVRR4PEJ.js → chunk-NJCU7OC2.js} +5 -5
  28. package/dist/{chunk-U2KFFRRX.js → chunk-NZAJTLEK.js} +2 -2
  29. package/dist/{chunk-HANGA633.js → chunk-OBTC2FD7.js} +5 -5
  30. package/dist/chunk-OBTC2FD7.js.map +1 -0
  31. package/dist/{chunk-EO6KJI5D.js → chunk-PPBUSAKG.js} +913 -33
  32. package/dist/chunk-PPBUSAKG.js.map +1 -0
  33. package/dist/{chunk-OTMIGYBB.js → chunk-RTHAMTDE.js} +6 -6
  34. package/dist/{chunk-KQDGLEBF.js → chunk-TJXBRYM4.js} +10 -10
  35. package/dist/chunk-TJXBRYM4.js.map +1 -0
  36. package/dist/{chunk-7LBYURQR.js → chunk-TQ363UUH.js} +2 -2
  37. package/dist/{chunk-N34D3ROY.js → chunk-TXFQBYOX.js} +8 -5
  38. package/dist/chunk-TXFQBYOX.js.map +1 -0
  39. package/dist/{chunk-IFCASC6R.js → chunk-TZY7WNWO.js} +2 -2
  40. package/dist/{chunk-SJNUTUSJ.js → chunk-W6PIVGMH.js} +5 -5
  41. package/dist/{chunk-W46L2PXK.js → chunk-WZGROC5L.js} +2 -2
  42. package/dist/{chunk-OIHZ2YH3.js → chunk-XFL7EIM7.js} +7 -7
  43. package/dist/{chunk-7HGMFJ4Y.js → chunk-YDB5KXMG.js} +3 -3
  44. package/dist/commands/build/marketplace.js +4 -4
  45. package/dist/commands/build/plugins.js +8 -8
  46. package/dist/commands/build/stack.js +8 -8
  47. package/dist/commands/compile.js +8 -8
  48. package/dist/commands/config/index.js +8 -8
  49. package/dist/commands/config/path.js +7 -7
  50. package/dist/commands/config/show.js +8 -8
  51. package/dist/commands/diff.js +7 -7
  52. package/dist/commands/doctor.js +7 -7
  53. package/dist/commands/edit.js +23 -23
  54. package/dist/commands/eject.js +7 -7
  55. package/dist/commands/import/skill.js +7 -7
  56. package/dist/commands/info.js +7 -7
  57. package/dist/commands/init.js +23 -23
  58. package/dist/commands/list.js +7 -7
  59. package/dist/commands/new/agent.js +8 -8
  60. package/dist/commands/new/marketplace.js +9 -9
  61. package/dist/commands/new/skill.js +8 -8
  62. package/dist/commands/outdated.js +7 -7
  63. package/dist/commands/search.js +7 -7
  64. package/dist/commands/uninstall.js +7 -7
  65. package/dist/commands/update.js +8 -8
  66. package/dist/commands/validate.js +7 -7
  67. package/dist/components/wizard/category-grid.js +2 -2
  68. package/dist/components/wizard/category-grid.test.js +11 -11
  69. package/dist/components/wizard/domain-selection.js +9 -9
  70. package/dist/components/wizard/source-grid.js +2 -2
  71. package/dist/components/wizard/source-grid.test.js +11 -11
  72. package/dist/components/wizard/stack-selection.js +8 -8
  73. package/dist/components/wizard/step-agents.js +9 -9
  74. package/dist/components/wizard/step-agents.test.js +13 -13
  75. package/dist/components/wizard/step-agents.test.js.map +1 -1
  76. package/dist/components/wizard/step-build.js +9 -9
  77. package/dist/components/wizard/step-build.test.js +12 -12
  78. package/dist/components/wizard/step-confirm.js +4 -4
  79. package/dist/components/wizard/step-confirm.test.js +10 -10
  80. package/dist/components/wizard/step-settings.js +7 -7
  81. package/dist/components/wizard/step-settings.test.js +10 -10
  82. package/dist/components/wizard/step-sources.js +9 -9
  83. package/dist/components/wizard/step-sources.test.js +12 -12
  84. package/dist/components/wizard/step-stack.js +9 -12
  85. package/dist/components/wizard/step-stack.test.js +19 -111
  86. package/dist/components/wizard/step-stack.test.js.map +1 -1
  87. package/dist/components/wizard/wizard-layout.js +10 -10
  88. package/dist/components/wizard/wizard-tabs.js +1 -1
  89. package/dist/components/wizard/wizard-tabs.test.js +12 -23
  90. package/dist/components/wizard/wizard-tabs.test.js.map +1 -1
  91. package/dist/components/wizard/wizard.js +21 -21
  92. package/dist/config-exports.js +1 -1
  93. package/dist/hooks/init.js +23 -23
  94. package/dist/{loader-JMOO2A7C.js → loader-LI3EM4VG.js} +4 -4
  95. package/dist/{source-loader-D3VIG3GM.js → source-loader-TPUCZELX.js} +7 -7
  96. package/dist/source-manager-PJ5APXX2.js +19 -0
  97. package/dist/src/agents/meta/agent-summoner/workflow.md +10 -10
  98. package/dist/src/agents/meta/convention-keeper/critical-reminders.md +17 -0
  99. package/dist/src/agents/meta/convention-keeper/critical-requirements.md +15 -0
  100. package/dist/src/agents/meta/convention-keeper/examples.md +71 -0
  101. package/dist/src/agents/meta/convention-keeper/intro.md +11 -0
  102. package/dist/src/agents/meta/convention-keeper/metadata.yaml +12 -0
  103. package/dist/src/agents/meta/convention-keeper/output-format.md +134 -0
  104. package/dist/src/agents/meta/convention-keeper/workflow.md +258 -0
  105. package/dist/src/agents/meta/{documentor → scribe}/metadata.yaml +2 -2
  106. package/{src/agents/meta/documentor → dist/src/agents/meta/scribe}/workflow.md +1 -1
  107. package/dist/src/agents/planning/web-pm/workflow.md +1 -1
  108. package/dist/stores/wizard-store.js +7 -7
  109. package/dist/stores/wizard-store.test.js +19 -13
  110. package/dist/stores/wizard-store.test.js.map +1 -1
  111. package/package.json +1 -1
  112. package/src/agents/meta/agent-summoner/workflow.md +10 -10
  113. package/src/agents/meta/convention-keeper/critical-reminders.md +17 -0
  114. package/src/agents/meta/convention-keeper/critical-requirements.md +15 -0
  115. package/src/agents/meta/convention-keeper/examples.md +71 -0
  116. package/src/agents/meta/convention-keeper/intro.md +11 -0
  117. package/src/agents/meta/convention-keeper/metadata.yaml +12 -0
  118. package/src/agents/meta/convention-keeper/output-format.md +134 -0
  119. package/src/agents/meta/convention-keeper/workflow.md +258 -0
  120. package/src/agents/meta/{documentor → scribe}/metadata.yaml +2 -2
  121. package/{dist/src/agents/meta/documentor → src/agents/meta/scribe}/workflow.md +1 -1
  122. package/src/agents/planning/web-pm/workflow.md +1 -1
  123. package/dist/chunk-32HX6UYI.js.map +0 -1
  124. package/dist/chunk-B4C2S5LP.js.map +0 -1
  125. package/dist/chunk-EO6KJI5D.js.map +0 -1
  126. package/dist/chunk-FSK4TQX7.js.map +0 -1
  127. package/dist/chunk-HANGA633.js.map +0 -1
  128. package/dist/chunk-KQDGLEBF.js.map +0 -1
  129. package/dist/chunk-N2XGUAJU.js.map +0 -1
  130. package/dist/chunk-N34D3ROY.js.map +0 -1
  131. package/dist/chunk-OOWNDQCG.js.map +0 -1
  132. package/dist/chunk-QD3GQ2CH.js.map +0 -1
  133. package/dist/chunk-VDVLM3KB.js.map +0 -1
  134. package/dist/source-manager-FPYFJRR7.js +0 -19
  135. /package/dist/{chunk-XA7WF3BI.js.map → chunk-3C6AXGR7.js.map} +0 -0
  136. /package/dist/{chunk-7JQIMEUX.js.map → chunk-3SCIYMRK.js.map} +0 -0
  137. /package/dist/{chunk-MUCQ27HV.js.map → chunk-4R72372U.js.map} +0 -0
  138. /package/dist/{chunk-Q755X6QF.js.map → chunk-4VFBRV76.js.map} +0 -0
  139. /package/dist/{chunk-F4IZ3UAS.js.map → chunk-55AZIEK6.js.map} +0 -0
  140. /package/dist/{chunk-XYPAOBBV.js.map → chunk-633YIZOU.js.map} +0 -0
  141. /package/dist/{chunk-YFHVP3VA.js.map → chunk-F4VG5XWZ.js.map} +0 -0
  142. /package/dist/{chunk-NKLNT7N7.js.map → chunk-H3NQGJMB.js.map} +0 -0
  143. /package/dist/{chunk-FUWUCKES.js.map → chunk-LO4X32JC.js.map} +0 -0
  144. /package/dist/{chunk-D4T3HHE7.js.map → chunk-MNJAF4K2.js.map} +0 -0
  145. /package/dist/{chunk-KVRR4PEJ.js.map → chunk-NJCU7OC2.js.map} +0 -0
  146. /package/dist/{chunk-U2KFFRRX.js.map → chunk-NZAJTLEK.js.map} +0 -0
  147. /package/dist/{chunk-OTMIGYBB.js.map → chunk-RTHAMTDE.js.map} +0 -0
  148. /package/dist/{chunk-7LBYURQR.js.map → chunk-TQ363UUH.js.map} +0 -0
  149. /package/dist/{chunk-IFCASC6R.js.map → chunk-TZY7WNWO.js.map} +0 -0
  150. /package/dist/{chunk-SJNUTUSJ.js.map → chunk-W6PIVGMH.js.map} +0 -0
  151. /package/dist/{chunk-W46L2PXK.js.map → chunk-WZGROC5L.js.map} +0 -0
  152. /package/dist/{chunk-OIHZ2YH3.js.map → chunk-XFL7EIM7.js.map} +0 -0
  153. /package/dist/{chunk-7HGMFJ4Y.js.map → chunk-YDB5KXMG.js.map} +0 -0
  154. /package/dist/{loader-JMOO2A7C.js.map → loader-LI3EM4VG.js.map} +0 -0
  155. /package/dist/{source-loader-D3VIG3GM.js.map → source-loader-TPUCZELX.js.map} +0 -0
  156. /package/dist/{source-manager-FPYFJRR7.js.map → source-manager-PJ5APXX2.js.map} +0 -0
  157. /package/dist/src/agents/meta/{documentor → scribe}/critical-reminders.md +0 -0
  158. /package/dist/src/agents/meta/{documentor → scribe}/critical-requirements.md +0 -0
  159. /package/dist/src/agents/meta/{documentor → scribe}/examples.md +0 -0
  160. /package/dist/src/agents/meta/{documentor → scribe}/intro.md +0 -0
  161. /package/dist/src/agents/meta/{documentor → scribe}/output-format.md +0 -0
  162. /package/src/agents/meta/{documentor → scribe}/critical-reminders.md +0 -0
  163. /package/src/agents/meta/{documentor → scribe}/critical-requirements.md +0 -0
  164. /package/src/agents/meta/{documentor → scribe}/examples.md +0 -0
  165. /package/src/agents/meta/{documentor → scribe}/intro.md +0 -0
  166. /package/src/agents/meta/{documentor → scribe}/output-format.md +0 -0
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  TEST_CATEGORIES
4
- } from "./chunk-FUWUCKES.js";
4
+ } from "./chunk-LO4X32JC.js";
5
5
  import {
6
6
  init_esm_shims
7
7
  } from "./chunk-DHET7RCE.js";
@@ -73,4 +73,4 @@ export {
73
73
  CLI_FRAMEWORK_CATEGORY,
74
74
  FRAMEWORK_CATEGORY
75
75
  };
76
- //# sourceMappingURL=chunk-MUCQ27HV.js.map
76
+ //# sourceMappingURL=chunk-4R72372U.js.map
@@ -7,11 +7,11 @@ import {
7
7
  loadConfigTypesDataInBackground,
8
8
  regenerateConfigTypes,
9
9
  resolveAuthor
10
- } from "./chunk-OIHZ2YH3.js";
10
+ } from "./chunk-XFL7EIM7.js";
11
11
  import {
12
12
  BaseCommand,
13
13
  EXIT_CODES
14
- } from "./chunk-7LBYURQR.js";
14
+ } from "./chunk-TQ363UUH.js";
15
15
  import {
16
16
  directoryExists,
17
17
  ensureDir,
@@ -19,7 +19,7 @@ import {
19
19
  getErrorMessage,
20
20
  verbose,
21
21
  writeFile
22
- } from "./chunk-XYPAOBBV.js";
22
+ } from "./chunk-633YIZOU.js";
23
23
  import {
24
24
  CLI_BIN_NAME,
25
25
  DEFAULT_VERSION,
@@ -337,4 +337,4 @@ export {
337
337
  generateSkillRulesTs,
338
338
  NewSkill
339
339
  };
340
- //# sourceMappingURL=chunk-Q755X6QF.js.map
340
+ //# sourceMappingURL=chunk-4VFBRV76.js.map
@@ -10,10 +10,10 @@ import {
10
10
  } from "./chunk-K63OEZW7.js";
11
11
  import {
12
12
  SourceGrid
13
- } from "./chunk-D4T3HHE7.js";
13
+ } from "./chunk-MNJAF4K2.js";
14
14
  import {
15
15
  useWizardStore
16
- } from "./chunk-N34D3ROY.js";
16
+ } from "./chunk-TXFQBYOX.js";
17
17
  import {
18
18
  HOTKEY_SET_ALL_LOCAL,
19
19
  HOTKEY_SET_ALL_PLUGIN,
@@ -22,7 +22,7 @@ import {
22
22
  import {
23
23
  resolveAllSources,
24
24
  searchExtraSources
25
- } from "./chunk-OIHZ2YH3.js";
25
+ } from "./chunk-XFL7EIM7.js";
26
26
  import {
27
27
  CLI_COLORS,
28
28
  DEFAULT_BRANDING
@@ -168,4 +168,4 @@ var StepSources = ({ projectDir, onContinue, onBack }) => {
168
168
  export {
169
169
  StepSources
170
170
  };
171
- //# sourceMappingURL=chunk-F4IZ3UAS.js.map
171
+ //# sourceMappingURL=chunk-55AZIEK6.js.map
@@ -4,7 +4,7 @@ import {
4
4
  CATEGORIES,
5
5
  DOMAINS,
6
6
  SKILL_SLUGS
7
- } from "./chunk-32HX6UYI.js";
7
+ } from "./chunk-BN73X3JN.js";
8
8
  import {
9
9
  KEBAB_CASE_PATTERN
10
10
  } from "./chunk-FMYAYX6W.js";
@@ -739,4 +739,4 @@ export {
739
739
  validateNestingDepth,
740
740
  warnUnknownFields
741
741
  };
742
- //# sourceMappingURL=chunk-XYPAOBBV.js.map
742
+ //# sourceMappingURL=chunk-633YIZOU.js.map
@@ -1,16 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  StackSelection
4
- } from "./chunk-OOWNDQCG.js";
4
+ } from "./chunk-3WDZKBCE.js";
5
5
  import {
6
6
  useMeasuredHeight
7
7
  } from "./chunk-K77I4XGL.js";
8
- import {
9
- DomainSelection
10
- } from "./chunk-QD3GQ2CH.js";
11
- import {
12
- useWizardStore
13
- } from "./chunk-N34D3ROY.js";
14
8
  import {
15
9
  init_esm_shims
16
10
  } from "./chunk-DHET7RCE.js";
@@ -20,15 +14,11 @@ init_esm_shims();
20
14
  import { Box } from "ink";
21
15
  import { jsx } from "react/jsx-runtime";
22
16
  var StepStack = ({ onCancel }) => {
23
- const { approach } = useWizardStore();
24
17
  const { ref: containerRef, measuredHeight } = useMeasuredHeight();
25
- if (approach !== null) {
26
- return /* @__PURE__ */ jsx(DomainSelection, {});
27
- }
28
18
  return /* @__PURE__ */ jsx(Box, { flexDirection: "column", width: "100%", flexGrow: 1, flexBasis: 0, children: /* @__PURE__ */ jsx(Box, { ref: containerRef, flexGrow: 1, flexBasis: 0, children: /* @__PURE__ */ jsx(StackSelection, { availableHeight: measuredHeight, onCancel }) }) });
29
19
  };
30
20
 
31
21
  export {
32
22
  StepStack
33
23
  };
34
- //# sourceMappingURL=chunk-N2XGUAJU.js.map
24
+ //# sourceMappingURL=chunk-6YJXWQCI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/components/wizard/step-stack.tsx"],"sourcesContent":["import { Box } from \"ink\";\nimport React from \"react\";\nimport { useMeasuredHeight } from \"../hooks/use-measured-height.js\";\nimport { StackSelection } from \"./stack-selection.js\";\n\ntype StepStackProps = {\n onCancel?: () => void;\n};\n\n/**\n * First step of the wizard: select a stack or \"Start from scratch\".\n *\n * After selection, the wizard transitions to the \"domains\" step.\n */\nexport const StepStack: React.FC<StepStackProps> = ({ onCancel }) => {\n const { ref: containerRef, measuredHeight } = useMeasuredHeight();\n\n return (\n <Box flexDirection=\"column\" width=\"100%\" flexGrow={1} flexBasis={0}>\n <Box ref={containerRef} flexGrow={1} flexBasis={0}>\n <StackSelection availableHeight={measuredHeight} onCancel={onCancel} />\n </Box>\n </Box>\n );\n};\n"],"mappings":";;;;;;;;;;;;AAAA;AAAA,SAAS,WAAW;AAoBZ;AAND,IAAM,YAAsC,CAAC,EAAE,SAAS,MAAM;AACnE,QAAM,EAAE,KAAK,cAAc,eAAe,IAAI,kBAAkB;AAEhE,SACE,oBAAC,OAAI,eAAc,UAAS,OAAM,QAAO,UAAU,GAAG,WAAW,GAC/D,8BAAC,OAAI,KAAK,cAAc,UAAU,GAAG,WAAW,GAC9C,8BAAC,kBAAe,iBAAiB,gBAAgB,UAAoB,GACvE,GACF;AAEJ;","names":[]}
@@ -8,22 +8,33 @@ init_esm_shims();
8
8
  var SKILL_SLUGS = [
9
9
  "angular-standalone",
10
10
  "ant-design",
11
+ "anthropic-sdk",
11
12
  "api-performance",
13
+ "appwrite",
12
14
  "astro",
13
15
  "auth-security",
14
16
  "axiom-pino-sentry",
15
17
  "better-auth-drizzle-hono",
16
18
  "biome",
19
+ "chakra-ui",
20
+ "chroma",
21
+ "claude-vision",
17
22
  "clerk",
18
23
  "cli-commander",
19
24
  "cli-reviewing",
20
25
  "cloudflare-workers",
26
+ "cockroachdb",
27
+ "cohere-sdk",
21
28
  "css-animations",
22
29
  "cva",
23
30
  "cypress-e2e",
24
31
  "date-fns",
25
32
  "docker",
26
33
  "drizzle",
34
+ "edgedb",
35
+ "elasticsearch",
36
+ "elevenlabs",
37
+ "elysia",
27
38
  "error-boundaries",
28
39
  "eslint-prettier",
29
40
  "expo",
@@ -34,17 +45,31 @@ var SKILL_SLUGS = [
34
45
  "framer-motion",
35
46
  "git-hooks",
36
47
  "github-actions",
48
+ "google-gemini-sdk",
37
49
  "graphql-apollo",
38
50
  "graphql-urql",
39
51
  "headless-ui",
40
52
  "hono",
53
+ "huggingface-inference",
41
54
  "image-handling",
42
55
  "jotai",
56
+ "knex",
57
+ "langchain",
58
+ "langfuse",
59
+ "litellm",
60
+ "llamaindex",
61
+ "mantine",
62
+ "meilisearch",
63
+ "mistral-sdk",
43
64
  "mobx",
65
+ "modal",
44
66
  "mongodb",
67
+ "mongoose",
45
68
  "msw",
46
69
  "mui",
70
+ "mysql",
47
71
  "native-js",
72
+ "neon",
48
73
  "nestjs",
49
74
  "next-intl",
50
75
  "nextauth",
@@ -54,28 +79,42 @@ var SKILL_SLUGS = [
54
79
  "nx",
55
80
  "oclif-ink",
56
81
  "offline-first",
82
+ "ollama",
57
83
  "openai-sdk",
84
+ "openai-whisper",
85
+ "payload",
86
+ "pinecone",
58
87
  "pinia",
88
+ "planetscale",
59
89
  "playwright-e2e",
60
90
  "pnpm-workspaces",
91
+ "postgresql",
61
92
  "posthog-analytics",
62
93
  "posthog-flags",
63
94
  "prisma",
95
+ "promptfoo",
96
+ "qdrant",
97
+ "qwik",
64
98
  "radix-ui",
65
99
  "react",
66
100
  "react-hook-form",
67
101
  "react-intl",
68
102
  "react-native",
69
103
  "react-query",
104
+ "react-router",
70
105
  "react-testing-library",
71
106
  "redis",
72
107
  "redux-toolkit",
73
108
  "remix",
109
+ "replicate",
74
110
  "research-methodology",
75
111
  "resend-react-email",
76
112
  "result-types",
77
113
  "reviewing",
114
+ "rxjs",
115
+ "sanity",
78
116
  "scss-modules",
117
+ "sequelize",
79
118
  "service-workers",
80
119
  "setup-axiom-pino-sentry",
81
120
  "setup-env",
@@ -86,24 +125,36 @@ var SKILL_SLUGS = [
86
125
  "solidjs",
87
126
  "sse",
88
127
  "storybook",
128
+ "strapi",
129
+ "stripe",
89
130
  "supabase",
131
+ "surrealdb",
90
132
  "svelte",
91
133
  "sveltekit",
92
134
  "swr",
93
135
  "tailwind",
94
136
  "tanstack-router",
95
137
  "tanstack-table",
138
+ "together-ai",
139
+ "tool-use-patterns",
96
140
  "trpc",
97
141
  "turborepo",
142
+ "turso",
143
+ "typeorm",
98
144
  "typescript-config",
145
+ "upstash",
99
146
  "vee-validate",
100
147
  "vercel-ai-sdk",
148
+ "vercel-kv",
149
+ "vercel-postgres",
101
150
  "view-transitions",
102
151
  "vite",
103
152
  "vitest",
104
153
  "vue-composition-api",
105
154
  "vue-i18n",
106
155
  "vue-test-utils",
156
+ "vueuse",
157
+ "weaviate",
107
158
  "web-accessibility",
108
159
  "web-performance",
109
160
  "websockets",
@@ -116,10 +167,15 @@ var CATEGORIES = [
116
167
  "api-api",
117
168
  "api-auth",
118
169
  "api-baas",
170
+ "api-cms",
171
+ "api-commerce",
119
172
  "api-database",
120
173
  "api-email",
174
+ "api-framework",
121
175
  "api-observability",
122
176
  "api-performance",
177
+ "api-search",
178
+ "api-vector-db",
123
179
  "cli-framework",
124
180
  "mobile-framework",
125
181
  "shared-ci-cd",
@@ -159,8 +215,9 @@ var AGENT_NAMES = [
159
215
  "cli-developer",
160
216
  "cli-reviewer",
161
217
  "cli-tester",
162
- "documentor",
218
+ "convention-keeper",
163
219
  "pattern-scout",
220
+ "scribe",
164
221
  "skill-summoner",
165
222
  "web-architecture",
166
223
  "web-developer",
@@ -177,4 +234,4 @@ export {
177
234
  DOMAINS,
178
235
  AGENT_NAMES
179
236
  };
180
- //# sourceMappingURL=chunk-32HX6UYI.js.map
237
+ //# sourceMappingURL=chunk-BN73X3JN.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 \"anthropic-sdk\": \"api-ai-anthropic-sdk\",\n \"api-performance\": \"api-performance-api-performance\",\n appwrite: \"api-baas-appwrite\",\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 \"chakra-ui\": \"web-ui-chakra-ui\",\n chroma: \"api-vector-db-chroma\",\n \"claude-vision\": \"api-ai-claude-vision\",\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 cockroachdb: \"api-database-cockroachdb\",\n \"cohere-sdk\": \"api-ai-cohere-sdk\",\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 edgedb: \"api-database-edgedb\",\n elasticsearch: \"api-search-elasticsearch\",\n elevenlabs: \"api-ai-elevenlabs\",\n elysia: \"api-framework-elysia\",\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 \"google-gemini-sdk\": \"api-ai-google-gemini-sdk\",\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 \"huggingface-inference\": \"api-ai-huggingface-inference\",\n \"image-handling\": \"web-files-image-handling\",\n jotai: \"web-state-jotai\",\n knex: \"api-database-knex\",\n langchain: \"api-ai-langchain\",\n langfuse: \"api-ai-langfuse\",\n litellm: \"api-ai-litellm\",\n llamaindex: \"api-ai-llamaindex\",\n mantine: \"web-ui-mantine\",\n meilisearch: \"api-search-meilisearch\",\n \"mistral-sdk\": \"api-ai-mistral-sdk\",\n mobx: \"web-state-mobx\",\n modal: \"api-ai-modal\",\n mongodb: \"api-database-mongodb\",\n mongoose: \"api-database-mongoose\",\n msw: \"web-mocks-msw\",\n mui: \"web-ui-mui\",\n mysql: \"api-database-mysql\",\n \"native-js\": \"web-utilities-native-js\",\n neon: \"api-baas-neon\",\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 ollama: \"api-ai-ollama\",\n \"openai-sdk\": \"api-ai-openai-sdk\",\n \"openai-whisper\": \"api-ai-openai-whisper\",\n payload: \"api-cms-payload\",\n pinecone: \"api-vector-db-pinecone\",\n pinia: \"web-state-pinia\",\n planetscale: \"api-baas-planetscale\",\n \"playwright-e2e\": \"web-testing-playwright-e2e\",\n \"pnpm-workspaces\": \"shared-monorepo-pnpm-workspaces\",\n postgresql: \"api-database-postgresql\",\n \"posthog-analytics\": \"api-analytics-posthog-analytics\",\n \"posthog-flags\": \"api-flags-posthog-flags\",\n prisma: \"api-database-prisma\",\n promptfoo: \"api-ai-promptfoo\",\n qdrant: \"api-vector-db-qdrant\",\n qwik: \"web-meta-framework-qwik\",\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-router\": \"web-routing-react-router\",\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 replicate: \"api-ai-replicate\",\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 rxjs: \"web-utilities-rxjs\",\n sanity: \"api-cms-sanity\",\n \"scss-modules\": \"web-styling-scss-modules\",\n sequelize: \"api-database-sequelize\",\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 strapi: \"api-cms-strapi\",\n stripe: \"api-commerce-stripe\",\n supabase: \"api-baas-supabase\",\n surrealdb: \"api-database-surrealdb\",\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 \"together-ai\": \"api-ai-together-ai\",\n \"tool-use-patterns\": \"api-ai-tool-use-patterns\",\n trpc: \"web-data-fetching-trpc\",\n turborepo: \"shared-monorepo-turborepo\",\n turso: \"api-baas-turso\",\n typeorm: \"api-database-typeorm\",\n \"typescript-config\": \"shared-tooling-typescript-config\",\n upstash: \"api-baas-upstash\",\n \"vee-validate\": \"web-forms-vee-validate\",\n \"vercel-ai-sdk\": \"api-ai-vercel-ai-sdk\",\n \"vercel-kv\": \"api-baas-vercel-kv\",\n \"vercel-postgres\": \"api-baas-vercel-postgres\",\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 vueuse: \"web-utilities-vueuse\",\n weaviate: \"api-vector-db-weaviate\",\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 \"anthropic-sdk\",\n \"api-performance\",\n \"appwrite\",\n \"astro\",\n \"auth-security\",\n \"axiom-pino-sentry\",\n \"better-auth-drizzle-hono\",\n \"biome\",\n \"chakra-ui\",\n \"chroma\",\n \"claude-vision\",\n \"clerk\",\n \"cli-commander\",\n \"cli-reviewing\",\n \"cloudflare-workers\",\n \"cockroachdb\",\n \"cohere-sdk\",\n \"css-animations\",\n \"cva\",\n \"cypress-e2e\",\n \"date-fns\",\n \"docker\",\n \"drizzle\",\n \"edgedb\",\n \"elasticsearch\",\n \"elevenlabs\",\n \"elysia\",\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 \"google-gemini-sdk\",\n \"graphql-apollo\",\n \"graphql-urql\",\n \"headless-ui\",\n \"hono\",\n \"huggingface-inference\",\n \"image-handling\",\n \"jotai\",\n \"knex\",\n \"langchain\",\n \"langfuse\",\n \"litellm\",\n \"llamaindex\",\n \"mantine\",\n \"meilisearch\",\n \"mistral-sdk\",\n \"mobx\",\n \"modal\",\n \"mongodb\",\n \"mongoose\",\n \"msw\",\n \"mui\",\n \"mysql\",\n \"native-js\",\n \"neon\",\n \"nestjs\",\n \"next-intl\",\n \"nextauth\",\n \"nextjs\",\n \"ngrx-signalstore\",\n \"nuxt\",\n \"nx\",\n \"oclif-ink\",\n \"offline-first\",\n \"ollama\",\n \"openai-sdk\",\n \"openai-whisper\",\n \"payload\",\n \"pinecone\",\n \"pinia\",\n \"planetscale\",\n \"playwright-e2e\",\n \"pnpm-workspaces\",\n \"postgresql\",\n \"posthog-analytics\",\n \"posthog-flags\",\n \"prisma\",\n \"promptfoo\",\n \"qdrant\",\n \"qwik\",\n \"radix-ui\",\n \"react\",\n \"react-hook-form\",\n \"react-intl\",\n \"react-native\",\n \"react-query\",\n \"react-router\",\n \"react-testing-library\",\n \"redis\",\n \"redux-toolkit\",\n \"remix\",\n \"replicate\",\n \"research-methodology\",\n \"resend-react-email\",\n \"result-types\",\n \"reviewing\",\n \"rxjs\",\n \"sanity\",\n \"scss-modules\",\n \"sequelize\",\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 \"strapi\",\n \"stripe\",\n \"supabase\",\n \"surrealdb\",\n \"svelte\",\n \"sveltekit\",\n \"swr\",\n \"tailwind\",\n \"tanstack-router\",\n \"tanstack-table\",\n \"together-ai\",\n \"tool-use-patterns\",\n \"trpc\",\n \"turborepo\",\n \"turso\",\n \"typeorm\",\n \"typescript-config\",\n \"upstash\",\n \"vee-validate\",\n \"vercel-ai-sdk\",\n \"vercel-kv\",\n \"vercel-postgres\",\n \"view-transitions\",\n \"vite\",\n \"vitest\",\n \"vue-composition-api\",\n \"vue-i18n\",\n \"vue-test-utils\",\n \"vueuse\",\n \"weaviate\",\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-anthropic-sdk\",\n \"api-ai-claude-vision\",\n \"api-ai-cohere-sdk\",\n \"api-ai-elevenlabs\",\n \"api-ai-google-gemini-sdk\",\n \"api-ai-huggingface-inference\",\n \"api-ai-langchain\",\n \"api-ai-langfuse\",\n \"api-ai-litellm\",\n \"api-ai-llamaindex\",\n \"api-ai-mistral-sdk\",\n \"api-ai-modal\",\n \"api-ai-ollama\",\n \"api-ai-openai-sdk\",\n \"api-ai-openai-whisper\",\n \"api-ai-promptfoo\",\n \"api-ai-replicate\",\n \"api-ai-together-ai\",\n \"api-ai-tool-use-patterns\",\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-appwrite\",\n \"api-baas-firebase\",\n \"api-baas-neon\",\n \"api-baas-planetscale\",\n \"api-baas-supabase\",\n \"api-baas-turso\",\n \"api-baas-upstash\",\n \"api-baas-vercel-kv\",\n \"api-baas-vercel-postgres\",\n \"api-cms-payload\",\n \"api-cms-sanity\",\n \"api-cms-strapi\",\n \"api-commerce-stripe\",\n \"api-database-cockroachdb\",\n \"api-database-drizzle\",\n \"api-database-edgedb\",\n \"api-database-knex\",\n \"api-database-mongodb\",\n \"api-database-mongoose\",\n \"api-database-mysql\",\n \"api-database-postgresql\",\n \"api-database-prisma\",\n \"api-database-redis\",\n \"api-database-sequelize\",\n \"api-database-surrealdb\",\n \"api-database-typeorm\",\n \"api-email-resend-react-email\",\n \"api-email-setup-resend\",\n \"api-flags-posthog-flags\",\n \"api-framework-elysia\",\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 \"api-search-elasticsearch\",\n \"api-search-meilisearch\",\n \"api-vector-db-chroma\",\n \"api-vector-db-pinecone\",\n \"api-vector-db-qdrant\",\n \"api-vector-db-weaviate\",\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-qwik\",\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-react-router\",\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-chakra-ui\",\n \"web-ui-headless-ui\",\n \"web-ui-mantine\",\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 \"web-utilities-rxjs\",\n \"web-utilities-vueuse\",\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-cms\",\n \"api-commerce\",\n \"api-database\",\n \"api-email\",\n \"api-framework\",\n \"api-observability\",\n \"api-performance\",\n \"api-search\",\n \"api-vector-db\",\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 \"convention-keeper\",\n \"pattern-scout\",\n \"scribe\",\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;AAuKO,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;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;AAiKO,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;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;AAAA,EACA;AACF;","names":[]}
@@ -1,31 +1,34 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  WizardLayout
4
- } from "./chunk-VDVLM3KB.js";
4
+ } from "./chunk-3HWFTE3S.js";
5
5
  import {
6
6
  StepSettings
7
- } from "./chunk-YFHVP3VA.js";
7
+ } from "./chunk-F4VG5XWZ.js";
8
8
  import {
9
9
  StepSources
10
- } from "./chunk-F4IZ3UAS.js";
10
+ } from "./chunk-55AZIEK6.js";
11
11
  import {
12
12
  StepStack
13
- } from "./chunk-N2XGUAJU.js";
13
+ } from "./chunk-6YJXWQCI.js";
14
14
  import {
15
15
  StepAgents
16
- } from "./chunk-HANGA633.js";
16
+ } from "./chunk-OBTC2FD7.js";
17
17
  import {
18
18
  StepBuild
19
- } from "./chunk-KVRR4PEJ.js";
19
+ } from "./chunk-NJCU7OC2.js";
20
20
  import {
21
21
  StepConfirm
22
- } from "./chunk-NKLNT7N7.js";
22
+ } from "./chunk-H3NQGJMB.js";
23
+ import {
24
+ DomainSelection
25
+ } from "./chunk-II3ISVCE.js";
23
26
  import {
24
27
  getStackName
25
- } from "./chunk-7JQIMEUX.js";
28
+ } from "./chunk-3SCIYMRK.js";
26
29
  import {
27
30
  useWizardStore
28
- } from "./chunk-N34D3ROY.js";
31
+ } from "./chunk-TXFQBYOX.js";
29
32
  import {
30
33
  cliTheme
31
34
  } from "./chunk-3REKTRAN.js";
@@ -39,11 +42,11 @@ import {
39
42
  import {
40
43
  resolveAlias,
41
44
  validateSelection
42
- } from "./chunk-OIHZ2YH3.js";
45
+ } from "./chunk-XFL7EIM7.js";
43
46
  import {
44
47
  findStack,
45
48
  matrix
46
- } from "./chunk-FSK4TQX7.js";
49
+ } from "./chunk-4R6I6A3U.js";
47
50
  import {
48
51
  CLI_COLORS
49
52
  } from "./chunk-FMYAYX6W.js";
@@ -200,9 +203,6 @@ var Wizard = ({
200
203
  return;
201
204
  }
202
205
  if (key.escape) {
203
- if (store.step !== "build" && store.step !== "confirm" && store.step !== "sources" && store.step !== "agents" && store.step !== "stack") {
204
- store.goBack();
205
- }
206
206
  return;
207
207
  }
208
208
  if (isHotkey(input, HOTKEY_ACCEPT_DEFAULTS) && store.step === "build" && store.selectedStackId) {
@@ -267,6 +267,8 @@ var Wizard = ({
267
267
  switch (store.step) {
268
268
  case "stack":
269
269
  return /* @__PURE__ */ jsx(StepStack, { onCancel: handleCancel });
270
+ case "domains":
271
+ return /* @__PURE__ */ jsx(DomainSelection, {});
270
272
  case "build":
271
273
  return /* @__PURE__ */ jsx(StepBuild, { ...buildStepProps });
272
274
  case "sources": {
@@ -332,4 +334,4 @@ var Wizard = ({
332
334
  export {
333
335
  Wizard
334
336
  };
335
- //# sourceMappingURL=chunk-B4C2S5LP.js.map
337
+ //# sourceMappingURL=chunk-BORVYGIX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/components/wizard/wizard.tsx","../src/cli/components/hooks/use-wizard-initialization.ts","../src/cli/components/hooks/use-build-step-props.ts"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { Box, Text, useApp, useInput, useStdout } from \"ink\";\nimport { ThemeProvider } from \"@inkjs/ui\";\nimport { useWizardStore, type WizardStep } from \"../../stores/wizard-store.js\";\nimport { CLI_COLORS } from \"../../consts.js\";\nimport { cliTheme } from \"../themes/default.js\";\nimport { WizardLayout } from \"./wizard-layout.js\";\nimport { StepStack } from \"./step-stack.js\";\nimport { StepBuild } from \"./step-build.js\";\nimport { StepConfirm } from \"./step-confirm.js\";\nimport { StepSources } from \"./step-sources.js\";\nimport { StepSettings } from \"./step-settings.js\";\nimport { StepAgents } from \"./step-agents.js\";\nimport { DomainSelection } from \"./domain-selection.js\";\nimport { resolveAlias, validateSelection } from \"../../lib/matrix/index.js\";\nimport { matrix, findStack } from \"../../lib/matrix/matrix-provider.js\";\nimport {\n HOTKEY_ACCEPT_DEFAULTS,\n HOTKEY_HELP,\n HOTKEY_SCOPE,\n HOTKEY_SETTINGS,\n isHotkey,\n} from \"./hotkeys.js\";\nimport type { AgentName, Domain, DomainSelections, SkillId } from \"../../types/index.js\";\nimport type { AgentScopeConfig, SkillConfig } from \"../../types/config.js\";\nimport { getStackName } from \"./utils.js\";\nimport type { StartupMessage } from \"../../utils/logger.js\";\nimport { useWizardInitialization } from \"../hooks/use-wizard-initialization.js\";\nimport { useBuildStepProps } from \"../hooks/use-build-step-props.js\";\n\nexport type WizardResultV2 = {\n skills: SkillConfig[];\n selectedAgents: AgentName[];\n agentConfigs: AgentScopeConfig[];\n selectedStackId: string | null;\n domainSelections: DomainSelections;\n selectedDomains: Domain[];\n cancelled: boolean;\n validation: {\n valid: boolean;\n errors: Array<{ message: string }>;\n warnings: Array<{ message: string }>;\n };\n};\n\ntype WizardProps = {\n onComplete: (result: WizardResultV2) => void;\n onCancel: () => void;\n version?: string;\n logo?: string;\n initialStep?: WizardStep;\n initialDomains?: Domain[];\n initialAgents?: AgentName[];\n installedSkillIds?: SkillId[];\n installedSkillConfigs?: SkillConfig[];\n installedAgentConfigs?: AgentScopeConfig[];\n lockedSkillIds?: SkillId[];\n lockedAgentNames?: AgentName[];\n projectDir?: string;\n startupMessages?: StartupMessage[];\n};\n\nconst MIN_TERMINAL_WIDTH = 80;\nconst MIN_TERMINAL_HEIGHT = 15;\n\nexport const Wizard: React.FC<WizardProps> = ({\n onComplete,\n onCancel,\n version,\n logo,\n initialStep,\n initialDomains,\n initialAgents,\n installedSkillIds,\n installedSkillConfigs,\n installedAgentConfigs,\n lockedSkillIds,\n lockedAgentNames,\n projectDir,\n startupMessages,\n}) => {\n const store = useWizardStore();\n const { exit } = useApp();\n const { stdout } = useStdout();\n\n const terminalWidth = stdout.columns || MIN_TERMINAL_WIDTH;\n const terminalHeight = stdout.rows || MIN_TERMINAL_HEIGHT;\n const isNarrowTerminal = terminalWidth < MIN_TERMINAL_WIDTH;\n const isShortTerminal = terminalHeight < MIN_TERMINAL_HEIGHT;\n\n useWizardInitialization({\n initialStep,\n initialDomains,\n initialAgents,\n installedSkillIds,\n installedSkillConfigs,\n installedAgentConfigs,\n lockedSkillIds,\n lockedAgentNames,\n });\n\n const buildStepProps = useBuildStepProps({ store, installedSkillIds });\n\n useInput((input, key) => {\n // ESC is handled by step-settings.tsx's own useKeyboardNavigation hook\n if (store.showSettings) {\n if (isHotkey(input, HOTKEY_SETTINGS)) {\n store.toggleSettings();\n }\n return;\n }\n\n if (store.showHelp) {\n if (key.escape || isHotkey(input, HOTKEY_HELP)) {\n store.toggleHelp();\n }\n return;\n }\n\n if (isHotkey(input, HOTKEY_HELP)) {\n store.toggleHelp();\n return;\n }\n\n if (key.escape) {\n // Steps with their own ESC handling (via useInput in child components):\n // - \"stack\": StackSelection handles ESC via onCancel prop\n // - \"domains\": DomainSelection handles ESC via CheckboxGrid onBack\n // - \"build\": StepBuild handles ESC via its own useInput\n // - \"sources\": StepSources handles ESC via onBack prop\n // - \"confirm\": StepConfirm handles ESC via onBack prop\n // - \"agents\": StepAgents handles ESC via its own useInput\n // All steps handle their own ESC, so this is a no-op.\n return;\n }\n\n if (\n isHotkey(input, HOTKEY_ACCEPT_DEFAULTS) &&\n store.step === \"build\" &&\n store.selectedStackId\n ) {\n store.setStackAction(\"defaults\");\n store.setStep(\"confirm\");\n return;\n }\n\n if (isHotkey(input, HOTKEY_SCOPE) && store.step === \"build\") {\n const focused = store.focusedSkillId;\n if (focused) {\n store.toggleSkillScope(focused);\n }\n return;\n }\n\n if (isHotkey(input, HOTKEY_SCOPE) && store.step === \"agents\") {\n const focused = store.focusedAgentId;\n if (focused) {\n store.toggleAgentScope(focused);\n }\n return;\n }\n\n if (isHotkey(input, HOTKEY_SETTINGS) && store.step === \"sources\") {\n store.toggleSettings();\n return;\n }\n });\n\n const handleComplete = useCallback(() => {\n let allSkills: SkillId[];\n\n if (store.selectedStackId && store.stackAction === \"defaults\") {\n const stack = findStack(store.selectedStackId);\n if (!stack) {\n throw new Error(`Stack not found: ${store.selectedStackId}`);\n }\n allSkills = [...stack.allSkillIds];\n } else {\n const techNames = store.getAllSelectedTechnologies();\n allSkills = techNames.map((tech) => resolveAlias(tech));\n }\n\n const skillConfigs: SkillConfig[] = allSkills.map((id) => {\n const existing = store.skillConfigs.find((sc) => sc.id === id);\n return existing ?? { id, scope: \"global\" as const, source: \"local\" };\n });\n\n const validation = validateSelection(allSkills);\n\n const result: WizardResultV2 = {\n skills: skillConfigs,\n selectedAgents: store.selectedAgents,\n agentConfigs: store.agentConfigs,\n selectedStackId: store.selectedStackId,\n domainSelections: store.domainSelections,\n selectedDomains: store.selectedDomains,\n cancelled: false,\n validation,\n };\n\n onComplete(result);\n exit();\n }, [store, onComplete, exit]);\n\n const handleCancel = useCallback(() => {\n onCancel();\n exit();\n }, [onCancel, exit]);\n\n const renderStep = () => {\n switch (store.step) {\n case \"stack\":\n return <StepStack onCancel={handleCancel} />;\n\n case \"domains\":\n return <DomainSelection />;\n\n case \"build\":\n return <StepBuild {...buildStepProps} />;\n\n case \"sources\": {\n if (store.showSettings) {\n return (\n <StepSettings\n projectDir={projectDir || process.cwd()}\n onClose={() => store.toggleSettings()}\n />\n );\n }\n return (\n <StepSources\n projectDir={projectDir}\n onContinue={() => {\n if (!initialAgents?.length) {\n store.preselectAgentsFromDomains();\n }\n store.setStep(\"agents\");\n }}\n onBack={store.goBack}\n />\n );\n }\n\n case \"agents\":\n return <StepAgents />;\n\n case \"confirm\": {\n const stackName = getStackName(store.selectedStackId);\n const selectedSkills = store.getAllSelectedTechnologies();\n return (\n <StepConfirm\n onComplete={handleComplete}\n stackName={stackName}\n selectedDomains={store.selectedDomains}\n domainSelections={store.domainSelections}\n technologyCount={selectedSkills.length}\n skillCount={selectedSkills.length}\n agentCount={store.selectedAgents.length}\n skillConfigs={store.skillConfigs}\n agentConfigs={store.agentConfigs}\n onBack={store.goBack}\n />\n );\n }\n\n default:\n return null;\n }\n };\n\n if (isNarrowTerminal || isShortTerminal) {\n const issue = isNarrowTerminal\n ? `too narrow (${terminalWidth} columns, need ${MIN_TERMINAL_WIDTH})`\n : `too short (${terminalHeight} rows, need ${MIN_TERMINAL_HEIGHT})`;\n\n return (\n <ThemeProvider theme={cliTheme}>\n <Box flexDirection=\"column\" padding={1}>\n <Text color={CLI_COLORS.WARNING}>Terminal {issue}. Please resize your terminal.</Text>\n </Box>\n </ThemeProvider>\n );\n }\n\n return (\n <ThemeProvider theme={cliTheme}>\n <WizardLayout version={version} logo={logo} startupMessages={startupMessages}>\n {renderStep()}\n </WizardLayout>\n </ThemeProvider>\n );\n};\n","import { useRef } from \"react\";\nimport { useWizardStore, type WizardStep } from \"../../stores/wizard-store.js\";\nimport type { AgentScopeConfig, SkillConfig } from \"../../types/config.js\";\nimport type { AgentName, Domain, SkillId } from \"../../types/index.js\";\n\ntype UseWizardInitializationOptions = {\n initialStep?: WizardStep;\n initialDomains?: Domain[];\n initialAgents?: AgentName[];\n installedSkillIds?: SkillId[];\n installedSkillConfigs?: SkillConfig[];\n installedAgentConfigs?: AgentScopeConfig[];\n lockedSkillIds?: SkillId[];\n lockedAgentNames?: AgentName[];\n};\n\n/**\n * Runs one-time wizard store initialization before the first render.\n * Populates step, approach, and skill selections from props.\n */\nexport function useWizardInitialization({\n initialStep,\n initialDomains,\n initialAgents,\n installedSkillIds,\n installedSkillConfigs,\n installedAgentConfigs,\n lockedSkillIds,\n lockedAgentNames,\n}: UseWizardInitializationOptions): void {\n const initialized = useRef(false);\n\n if (!initialized.current) {\n initialized.current = true;\n\n if (initialStep) {\n if (installedSkillIds?.length) {\n useWizardStore.getState().populateFromSkillIds(installedSkillIds, installedSkillConfigs);\n }\n useWizardStore.setState({ step: initialStep, approach: \"scratch\" });\n }\n // Restore saved domains from config, overriding the domains\n // derived by populateFromSkillIds\n if (initialDomains?.length) {\n useWizardStore.setState({ selectedDomains: initialDomains, currentDomainIndex: 0 });\n }\n // Restore saved agents from config, overriding the default empty array\n if (initialAgents?.length) {\n useWizardStore.setState({ selectedAgents: initialAgents });\n }\n // Restore saved agent scope configs (project vs global)\n if (initialAgents?.length && installedAgentConfigs?.length) {\n useWizardStore.setState({ agentConfigs: installedAgentConfigs });\n }\n // Set locked IDs (D9: global items read-only in project context)\n if (lockedSkillIds?.length || lockedAgentNames?.length) {\n useWizardStore.setState({\n ...(lockedSkillIds?.length && { lockedSkillIds }),\n ...(lockedAgentNames?.length && { lockedAgentNames }),\n });\n }\n }\n}\n","import { useCallback } from \"react\";\nimport type { Domain, SkillId } from \"../../types/index.js\";\nimport type { WizardState } from \"../../stores/wizard-store.js\";\nimport { matrix } from \"../../lib/matrix/matrix-provider.js\";\nimport type { StepBuildProps } from \"../wizard/step-build.js\";\n\ntype UseBuildStepPropsOptions = {\n store: WizardState;\n installedSkillIds?: SkillId[];\n};\n\nexport function useBuildStepProps({\n store,\n installedSkillIds,\n}: UseBuildStepPropsOptions): StepBuildProps {\n const currentDomain = store.getCurrentDomain();\n const defaultDomains: Domain[] = [\"web\"];\n const effectiveDomains =\n store.selectedDomains.length > 0 ? store.selectedDomains : defaultDomains;\n\n const allSelections = store.getAllSelectedTechnologies();\n\n const activeDomain: Domain = currentDomain || effectiveDomains[0] || \"web\";\n\n const onToggle = useCallback(\n (categoryId: Parameters<StepBuildProps[\"onToggle\"]>[0], techId: SkillId) => {\n const domain: Domain = store.getCurrentDomain() || \"web\";\n const cat = matrix.categories[categoryId];\n const exclusive = cat?.exclusive ?? true;\n store.toggleTechnology(domain, categoryId, techId, exclusive);\n },\n [store],\n );\n\n const onContinue = useCallback(() => {\n if (!store.nextDomain()) {\n store.setStep(\"sources\");\n }\n }, [store]);\n\n const onBack = useCallback(() => {\n if (!store.prevDomain()) {\n store.goBack();\n }\n }, [store]);\n\n return {\n domain: activeDomain,\n selectedDomains: effectiveDomains,\n selections: store.domainSelections[activeDomain] || {},\n allSelections,\n showLabels: store.showLabels,\n filterIncompatible: store.filterIncompatible,\n installedSkillIds,\n onToggle,\n onToggleLabels: store.toggleShowLabels,\n onToggleFilterIncompatible: store.toggleFilterIncompatible,\n onContinue,\n onBack,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA,SAAgB,eAAAA,oBAAmB;AACnC,SAAS,KAAK,MAAM,QAAQ,UAAU,iBAAiB;AACvD,SAAS,qBAAqB;;;ACF9B;AAAA,SAAS,cAAc;AAoBhB,SAAS,wBAAwB;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAyC;AACvC,QAAM,cAAc,OAAO,KAAK;AAEhC,MAAI,CAAC,YAAY,SAAS;AACxB,gBAAY,UAAU;AAEtB,QAAI,aAAa;AACf,UAAI,mBAAmB,QAAQ;AAC7B,uBAAe,SAAS,EAAE,qBAAqB,mBAAmB,qBAAqB;AAAA,MACzF;AACA,qBAAe,SAAS,EAAE,MAAM,aAAa,UAAU,UAAU,CAAC;AAAA,IACpE;AAGA,QAAI,gBAAgB,QAAQ;AAC1B,qBAAe,SAAS,EAAE,iBAAiB,gBAAgB,oBAAoB,EAAE,CAAC;AAAA,IACpF;AAEA,QAAI,eAAe,QAAQ;AACzB,qBAAe,SAAS,EAAE,gBAAgB,cAAc,CAAC;AAAA,IAC3D;AAEA,QAAI,eAAe,UAAU,uBAAuB,QAAQ;AAC1D,qBAAe,SAAS,EAAE,cAAc,sBAAsB,CAAC;AAAA,IACjE;AAEA,QAAI,gBAAgB,UAAU,kBAAkB,QAAQ;AACtD,qBAAe,SAAS;AAAA,QACtB,GAAI,gBAAgB,UAAU,EAAE,eAAe;AAAA,QAC/C,GAAI,kBAAkB,UAAU,EAAE,iBAAiB;AAAA,MACrD,CAAC;AAAA,IACH;AAAA,EACF;AACF;;;AC9DA;AAAA,SAAS,mBAAmB;AAWrB,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AACF,GAA6C;AAC3C,QAAM,gBAAgB,MAAM,iBAAiB;AAC7C,QAAM,iBAA2B,CAAC,KAAK;AACvC,QAAM,mBACJ,MAAM,gBAAgB,SAAS,IAAI,MAAM,kBAAkB;AAE7D,QAAM,gBAAgB,MAAM,2BAA2B;AAEvD,QAAM,eAAuB,iBAAiB,iBAAiB,CAAC,KAAK;AAErE,QAAM,WAAW;AAAA,IACf,CAAC,YAAuD,WAAoB;AAC1E,YAAM,SAAiB,MAAM,iBAAiB,KAAK;AACnD,YAAM,MAAM,OAAO,WAAW,UAAU;AACxC,YAAM,YAAY,KAAK,aAAa;AACpC,YAAM,iBAAiB,QAAQ,YAAY,QAAQ,SAAS;AAAA,IAC9D;AAAA,IACA,CAAC,KAAK;AAAA,EACR;AAEA,QAAM,aAAa,YAAY,MAAM;AACnC,QAAI,CAAC,MAAM,WAAW,GAAG;AACvB,YAAM,QAAQ,SAAS;AAAA,IACzB;AAAA,EACF,GAAG,CAAC,KAAK,CAAC;AAEV,QAAM,SAAS,YAAY,MAAM;AAC/B,QAAI,CAAC,MAAM,WAAW,GAAG;AACvB,YAAM,OAAO;AAAA,IACf;AAAA,EACF,GAAG,CAAC,KAAK,CAAC;AAEV,SAAO;AAAA,IACL,QAAQ;AAAA,IACR,iBAAiB;AAAA,IACjB,YAAY,MAAM,iBAAiB,YAAY,KAAK,CAAC;AAAA,IACrD;AAAA,IACA,YAAY,MAAM;AAAA,IAClB,oBAAoB,MAAM;AAAA,IAC1B;AAAA,IACA;AAAA,IACA,gBAAgB,MAAM;AAAA,IACtB,4BAA4B,MAAM;AAAA,IAClC;AAAA,IACA;AAAA,EACF;AACF;;;AFwJe,cAkEL,YAlEK;AAtJf,IAAM,qBAAqB;AAC3B,IAAM,sBAAsB;AAErB,IAAM,SAAgC,CAAC;AAAA,EAC5C;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,MAAM;AACJ,QAAM,QAAQ,eAAe;AAC7B,QAAM,EAAE,KAAK,IAAI,OAAO;AACxB,QAAM,EAAE,OAAO,IAAI,UAAU;AAE7B,QAAM,gBAAgB,OAAO,WAAW;AACxC,QAAM,iBAAiB,OAAO,QAAQ;AACtC,QAAM,mBAAmB,gBAAgB;AACzC,QAAM,kBAAkB,iBAAiB;AAEzC,0BAAwB;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,iBAAiB,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;AAErE,WAAS,CAAC,OAAO,QAAQ;AAEvB,QAAI,MAAM,cAAc;AACtB,UAAI,SAAS,OAAO,eAAe,GAAG;AACpC,cAAM,eAAe;AAAA,MACvB;AACA;AAAA,IACF;AAEA,QAAI,MAAM,UAAU;AAClB,UAAI,IAAI,UAAU,SAAS,OAAO,WAAW,GAAG;AAC9C,cAAM,WAAW;AAAA,MACnB;AACA;AAAA,IACF;AAEA,QAAI,SAAS,OAAO,WAAW,GAAG;AAChC,YAAM,WAAW;AACjB;AAAA,IACF;AAEA,QAAI,IAAI,QAAQ;AASd;AAAA,IACF;AAEA,QACE,SAAS,OAAO,sBAAsB,KACtC,MAAM,SAAS,WACf,MAAM,iBACN;AACA,YAAM,eAAe,UAAU;AAC/B,YAAM,QAAQ,SAAS;AACvB;AAAA,IACF;AAEA,QAAI,SAAS,OAAO,YAAY,KAAK,MAAM,SAAS,SAAS;AAC3D,YAAM,UAAU,MAAM;AACtB,UAAI,SAAS;AACX,cAAM,iBAAiB,OAAO;AAAA,MAChC;AACA;AAAA,IACF;AAEA,QAAI,SAAS,OAAO,YAAY,KAAK,MAAM,SAAS,UAAU;AAC5D,YAAM,UAAU,MAAM;AACtB,UAAI,SAAS;AACX,cAAM,iBAAiB,OAAO;AAAA,MAChC;AACA;AAAA,IACF;AAEA,QAAI,SAAS,OAAO,eAAe,KAAK,MAAM,SAAS,WAAW;AAChE,YAAM,eAAe;AACrB;AAAA,IACF;AAAA,EACF,CAAC;AAED,QAAM,iBAAiBC,aAAY,MAAM;AACvC,QAAI;AAEJ,QAAI,MAAM,mBAAmB,MAAM,gBAAgB,YAAY;AAC7D,YAAM,QAAQ,UAAU,MAAM,eAAe;AAC7C,UAAI,CAAC,OAAO;AACV,cAAM,IAAI,MAAM,oBAAoB,MAAM,eAAe,EAAE;AAAA,MAC7D;AACA,kBAAY,CAAC,GAAG,MAAM,WAAW;AAAA,IACnC,OAAO;AACL,YAAM,YAAY,MAAM,2BAA2B;AACnD,kBAAY,UAAU,IAAI,CAAC,SAAS,aAAa,IAAI,CAAC;AAAA,IACxD;AAEA,UAAM,eAA8B,UAAU,IAAI,CAAC,OAAO;AACxD,YAAM,WAAW,MAAM,aAAa,KAAK,CAAC,OAAO,GAAG,OAAO,EAAE;AAC7D,aAAO,YAAY,EAAE,IAAI,OAAO,UAAmB,QAAQ,QAAQ;AAAA,IACrE,CAAC;AAED,UAAM,aAAa,kBAAkB,SAAS;AAE9C,UAAM,SAAyB;AAAA,MAC7B,QAAQ;AAAA,MACR,gBAAgB,MAAM;AAAA,MACtB,cAAc,MAAM;AAAA,MACpB,iBAAiB,MAAM;AAAA,MACvB,kBAAkB,MAAM;AAAA,MACxB,iBAAiB,MAAM;AAAA,MACvB,WAAW;AAAA,MACX;AAAA,IACF;AAEA,eAAW,MAAM;AACjB,SAAK;AAAA,EACP,GAAG,CAAC,OAAO,YAAY,IAAI,CAAC;AAE5B,QAAM,eAAeA,aAAY,MAAM;AACrC,aAAS;AACT,SAAK;AAAA,EACP,GAAG,CAAC,UAAU,IAAI,CAAC;AAEnB,QAAM,aAAa,MAAM;AACvB,YAAQ,MAAM,MAAM;AAAA,MAClB,KAAK;AACH,eAAO,oBAAC,aAAU,UAAU,cAAc;AAAA,MAE5C,KAAK;AACH,eAAO,oBAAC,mBAAgB;AAAA,MAE1B,KAAK;AACH,eAAO,oBAAC,aAAW,GAAG,gBAAgB;AAAA,MAExC,KAAK,WAAW;AACd,YAAI,MAAM,cAAc;AACtB,iBACE;AAAA,YAAC;AAAA;AAAA,cACC,YAAY,cAAc,QAAQ,IAAI;AAAA,cACtC,SAAS,MAAM,MAAM,eAAe;AAAA;AAAA,UACtC;AAAA,QAEJ;AACA,eACE;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,YAAY,MAAM;AAChB,kBAAI,CAAC,eAAe,QAAQ;AAC1B,sBAAM,2BAA2B;AAAA,cACnC;AACA,oBAAM,QAAQ,QAAQ;AAAA,YACxB;AAAA,YACA,QAAQ,MAAM;AAAA;AAAA,QAChB;AAAA,MAEJ;AAAA,MAEA,KAAK;AACH,eAAO,oBAAC,cAAW;AAAA,MAErB,KAAK,WAAW;AACd,cAAM,YAAY,aAAa,MAAM,eAAe;AACpD,cAAM,iBAAiB,MAAM,2BAA2B;AACxD,eACE;AAAA,UAAC;AAAA;AAAA,YACC,YAAY;AAAA,YACZ;AAAA,YACA,iBAAiB,MAAM;AAAA,YACvB,kBAAkB,MAAM;AAAA,YACxB,iBAAiB,eAAe;AAAA,YAChC,YAAY,eAAe;AAAA,YAC3B,YAAY,MAAM,eAAe;AAAA,YACjC,cAAc,MAAM;AAAA,YACpB,cAAc,MAAM;AAAA,YACpB,QAAQ,MAAM;AAAA;AAAA,QAChB;AAAA,MAEJ;AAAA,MAEA;AACE,eAAO;AAAA,IACX;AAAA,EACF;AAEA,MAAI,oBAAoB,iBAAiB;AACvC,UAAM,QAAQ,mBACV,eAAe,aAAa,kBAAkB,kBAAkB,MAChE,cAAc,cAAc,eAAe,mBAAmB;AAElE,WACE,oBAAC,iBAAc,OAAO,UACpB,8BAAC,OAAI,eAAc,UAAS,SAAS,GACnC,+BAAC,QAAK,OAAO,WAAW,SAAS;AAAA;AAAA,MAAU;AAAA,MAAM;AAAA,OAA8B,GACjF,GACF;AAAA,EAEJ;AAEA,SACE,oBAAC,iBAAc,OAAO,UACpB,8BAAC,gBAAa,SAAkB,MAAY,iBACzC,qBAAW,GACd,GACF;AAEJ;","names":["useCallback","useCallback"]}
@@ -24,11 +24,11 @@ import {
24
24
  addSource,
25
25
  getSourceSummary,
26
26
  removeSource
27
- } from "./chunk-OIHZ2YH3.js";
27
+ } from "./chunk-XFL7EIM7.js";
28
28
  import {
29
29
  getErrorMessage,
30
30
  verbose
31
- } from "./chunk-XYPAOBBV.js";
31
+ } from "./chunk-633YIZOU.js";
32
32
  import {
33
33
  CLI_COLORS
34
34
  } from "./chunk-FMYAYX6W.js";
@@ -263,4 +263,4 @@ var StepSettings = ({
263
263
  export {
264
264
  StepSettings
265
265
  };
266
- //# sourceMappingURL=chunk-YFHVP3VA.js.map
266
+ //# sourceMappingURL=chunk-F4VG5XWZ.js.map
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  getDomainDisplayName
4
- } from "./chunk-7JQIMEUX.js";
4
+ } from "./chunk-3SCIYMRK.js";
5
5
  import {
6
6
  CLI_COLORS
7
7
  } from "./chunk-FMYAYX6W.js";
@@ -106,4 +106,4 @@ var StepConfirm = ({
106
106
  export {
107
107
  StepConfirm
108
108
  };
109
- //# sourceMappingURL=chunk-NKLNT7N7.js.map
109
+ //# sourceMappingURL=chunk-H3NQGJMB.js.map
@@ -2,17 +2,17 @@
2
2
  import {
3
3
  getDomainDisplayName,
4
4
  orderDomains
5
- } from "./chunk-7JQIMEUX.js";
5
+ } from "./chunk-3SCIYMRK.js";
6
6
  import {
7
7
  CheckboxGrid
8
8
  } from "./chunk-RU5XLS5Q.js";
9
9
  import {
10
10
  useWizardStore
11
- } from "./chunk-N34D3ROY.js";
11
+ } from "./chunk-TXFQBYOX.js";
12
12
  import {
13
13
  matrix,
14
14
  typedEntries
15
- } from "./chunk-FSK4TQX7.js";
15
+ } from "./chunk-4R6I6A3U.js";
16
16
  import {
17
17
  init_esm_shims
18
18
  } from "./chunk-DHET7RCE.js";
@@ -30,7 +30,7 @@ var BUILT_IN_DOMAIN_DESCRIPTIONS = {
30
30
  shared: "Shared utilities and methodology"
31
31
  };
32
32
  var DomainSelection = () => {
33
- const { selectedDomains, toggleDomain, setStep, setApproach, selectStack } = useWizardStore();
33
+ const { selectedDomains, toggleDomain, setStep, setApproach, selectStack, goBack } = useWizardStore();
34
34
  const availableDomains = useMemo(() => {
35
35
  const matrixDomains = unique(
36
36
  typedEntries(matrix.categories).map(([, cat]) => cat?.domain).filter((d) => d != null)
@@ -45,6 +45,7 @@ var DomainSelection = () => {
45
45
  const handleBack = () => {
46
46
  setApproach(null);
47
47
  selectStack(null);
48
+ goBack();
48
49
  };
49
50
  return /* @__PURE__ */ jsx(
50
51
  CheckboxGrid,
@@ -63,4 +64,4 @@ var DomainSelection = () => {
63
64
  export {
64
65
  DomainSelection
65
66
  };
66
- //# sourceMappingURL=chunk-QD3GQ2CH.js.map
67
+ //# sourceMappingURL=chunk-II3ISVCE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/components/wizard/domain-selection.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { unique } from \"remeda\";\nimport { useWizardStore } from \"../../stores/wizard-store.js\";\nimport { matrix } from \"../../lib/matrix/matrix-provider.js\";\nimport type { Domain } from \"../../types/index.js\";\nimport { typedEntries } from \"../../utils/typed-object.js\";\nimport { CheckboxGrid, type CheckboxItem } from \"./checkbox-grid.js\";\nimport { getDomainDisplayName, orderDomains } from \"./utils.js\";\n\nconst BUILT_IN_DOMAIN_DESCRIPTIONS: Record<Domain, string> = {\n web: \"Frontend web applications\",\n api: \"Backend APIs and services\",\n cli: \"Command-line tools\",\n mobile: \"Mobile applications\",\n shared: \"Shared utilities and methodology\",\n};\n\nexport const DomainSelection: React.FC = () => {\n const { selectedDomains, toggleDomain, setStep, setApproach, selectStack, goBack } =\n useWizardStore();\n\n const availableDomains = useMemo((): CheckboxItem<Domain>[] => {\n const matrixDomains = unique(\n typedEntries(matrix.categories)\n .map(([, cat]) => cat?.domain)\n .filter((d): d is Domain => d != null),\n );\n\n const ordered = orderDomains(matrixDomains);\n\n return ordered.map((domain) => ({\n id: domain,\n label: getDomainDisplayName(domain),\n description: BUILT_IN_DOMAIN_DESCRIPTIONS[domain],\n }));\n }, [matrix]);\n\n const handleBack = () => {\n setApproach(null);\n selectStack(null);\n goBack();\n };\n\n return (\n <CheckboxGrid\n title=\"Select domains to configure\"\n items={availableDomains}\n selectedIds={selectedDomains}\n onToggle={toggleDomain}\n onContinue={() => setStep(\"build\")}\n onBack={handleBack}\n emptyMessage=\"Please select at least one domain\"\n />\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA,SAAgB,eAAe;AAC/B,SAAS,cAAc;AA2CnB;AAnCJ,IAAM,+BAAuD;AAAA,EAC3D,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,QAAQ;AACV;AAEO,IAAM,kBAA4B,MAAM;AAC7C,QAAM,EAAE,iBAAiB,cAAc,SAAS,aAAa,aAAa,OAAO,IAC/E,eAAe;AAEjB,QAAM,mBAAmB,QAAQ,MAA8B;AAC7D,UAAM,gBAAgB;AAAA,MACpB,aAAa,OAAO,UAAU,EAC3B,IAAI,CAAC,CAAC,EAAE,GAAG,MAAM,KAAK,MAAM,EAC5B,OAAO,CAAC,MAAmB,KAAK,IAAI;AAAA,IACzC;AAEA,UAAM,UAAU,aAAa,aAAa;AAE1C,WAAO,QAAQ,IAAI,CAAC,YAAY;AAAA,MAC9B,IAAI;AAAA,MACJ,OAAO,qBAAqB,MAAM;AAAA,MAClC,aAAa,6BAA6B,MAAM;AAAA,IAClD,EAAE;AAAA,EACJ,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,aAAa,MAAM;AACvB,gBAAY,IAAI;AAChB,gBAAY,IAAI;AAChB,WAAO;AAAA,EACT;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,UAAU;AAAA,MACV,YAAY,MAAM,QAAQ,OAAO;AAAA,MACjC,QAAQ;AAAA,MACR,cAAa;AAAA;AAAA,EACf;AAEJ;","names":[]}
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  typedEntries
4
- } from "./chunk-FSK4TQX7.js";
4
+ } from "./chunk-4R6I6A3U.js";
5
5
  import {
6
6
  init_esm_shims
7
7
  } from "./chunk-DHET7RCE.js";
@@ -362,4 +362,4 @@ export {
362
362
  createMockCompileConfig,
363
363
  testSkillToResolvedSkill
364
364
  };
365
- //# sourceMappingURL=chunk-FUWUCKES.js.map
365
+ //# sourceMappingURL=chunk-LO4X32JC.js.map
@@ -14,7 +14,7 @@ import {
14
14
  import {
15
15
  getSkillById,
16
16
  matrix
17
- } from "./chunk-FSK4TQX7.js";
17
+ } from "./chunk-4R6I6A3U.js";
18
18
  import {
19
19
  CLI_COLORS,
20
20
  SOURCE_DISPLAY_NAMES
@@ -260,4 +260,4 @@ var SourceGrid = ({
260
260
  export {
261
261
  SourceGrid
262
262
  };
263
- //# sourceMappingURL=chunk-D4T3HHE7.js.map
263
+ //# sourceMappingURL=chunk-MNJAF4K2.js.map
@@ -7,19 +7,19 @@ import {
7
7
  } from "./chunk-K77I4XGL.js";
8
8
  import {
9
9
  CategoryGrid
10
- } from "./chunk-W46L2PXK.js";
10
+ } from "./chunk-WZGROC5L.js";
11
11
  import {
12
12
  useWizardStore
13
- } from "./chunk-N34D3ROY.js";
13
+ } from "./chunk-TXFQBYOX.js";
14
14
  import {
15
15
  getAvailableSkills,
16
16
  getUnmetRequiredBy,
17
17
  resolveAlias
18
- } from "./chunk-OIHZ2YH3.js";
18
+ } from "./chunk-XFL7EIM7.js";
19
19
  import {
20
20
  getSkillById,
21
21
  matrix
22
- } from "./chunk-FSK4TQX7.js";
22
+ } from "./chunk-4R6I6A3U.js";
23
23
  import {
24
24
  init_esm_shims
25
25
  } from "./chunk-DHET7RCE.js";
@@ -217,4 +217,4 @@ export {
217
217
  validateBuildStep,
218
218
  StepBuild
219
219
  };
220
- //# sourceMappingURL=chunk-KVRR4PEJ.js.map
220
+ //# sourceMappingURL=chunk-NJCU7OC2.js.map
@@ -8,7 +8,7 @@ import {
8
8
  verbose,
9
9
  warn,
10
10
  writeFile
11
- } from "./chunk-XYPAOBBV.js";
11
+ } from "./chunk-633YIZOU.js";
12
12
  import {
13
13
  MAX_PLUGIN_FILE_SIZE
14
14
  } from "./chunk-FMYAYX6W.js";
@@ -129,4 +129,4 @@ export {
129
129
  writeMarketplace,
130
130
  getMarketplaceStats
131
131
  };
132
- //# sourceMappingURL=chunk-U2KFFRRX.js.map
132
+ //# sourceMappingURL=chunk-NZAJTLEK.js.map