@agents-inc/cli 0.87.0 → 0.90.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 (131) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/{chunk-O27WJ5KS.js → chunk-2RFE7LTV.js} +3 -3
  3. package/dist/{chunk-7FFNNDJQ.js → chunk-3T5XT2VU.js} +7 -7
  4. package/dist/{chunk-ANXHMG32.js → chunk-47HMJ4BY.js} +28 -1
  5. package/dist/chunk-47HMJ4BY.js.map +1 -0
  6. package/dist/{chunk-5UJJQFET.js → chunk-4DZNTUK7.js} +23 -10
  7. package/dist/chunk-4DZNTUK7.js.map +1 -0
  8. package/dist/{chunk-HSLVCKVQ.js → chunk-4ITKYWVG.js} +5 -4
  9. package/dist/{chunk-HSLVCKVQ.js.map → chunk-4ITKYWVG.js.map} +1 -1
  10. package/dist/{chunk-Q4DMIPZB.js → chunk-7AUGC7PK.js} +2 -2
  11. package/dist/{chunk-MMTMXLI4.js → chunk-7K7SA4TZ.js} +2 -2
  12. package/dist/{chunk-HZQOFFKA.js → chunk-BO4JY7BT.js} +22 -14
  13. package/dist/chunk-BO4JY7BT.js.map +1 -0
  14. package/dist/{chunk-BEZ6ZPDS.js → chunk-D254XO7K.js} +2 -2
  15. package/dist/{chunk-FBZR46GC.js → chunk-DZ2IQERZ.js} +5 -5
  16. package/dist/{chunk-SGZOFIFF.js → chunk-FGVCQBXH.js} +3 -3
  17. package/dist/{chunk-TMTUTUEV.js → chunk-FVBSRBU3.js} +37 -23
  18. package/dist/chunk-FVBSRBU3.js.map +1 -0
  19. package/dist/{chunk-BEFYAFGV.js → chunk-HCSIS35Y.js} +2 -2
  20. package/dist/{chunk-NPMMU4GY.js → chunk-IR7ADPAZ.js} +56 -1
  21. package/dist/chunk-IR7ADPAZ.js.map +1 -0
  22. package/dist/{chunk-HU6XQVZL.js → chunk-JBS4CCJG.js} +2 -2
  23. package/dist/{chunk-HU6XQVZL.js.map → chunk-JBS4CCJG.js.map} +1 -1
  24. package/dist/{chunk-CKZ65VFJ.js → chunk-JI44SVMW.js} +4 -4
  25. package/dist/chunk-JI44SVMW.js.map +1 -0
  26. package/dist/{chunk-CXWBVBDM.js → chunk-O423DMUE.js} +2 -2
  27. package/dist/{chunk-NUU3U43A.js → chunk-OOHPUT5M.js} +3 -3
  28. package/dist/chunk-OOHPUT5M.js.map +1 -0
  29. package/dist/{chunk-ANZV33N5.js → chunk-OVY7IV3C.js} +2 -2
  30. package/dist/{chunk-C5IYJ42F.js → chunk-OWPIGGPP.js} +5 -5
  31. package/dist/chunk-OWPIGGPP.js.map +1 -0
  32. package/dist/{chunk-HZ2IBXVQ.js → chunk-Q3NIGPRZ.js} +3 -3
  33. package/dist/{chunk-HH3AWXF4.js → chunk-TP6BX5M2.js} +4 -4
  34. package/dist/{chunk-ZOWRO7UQ.js → chunk-TWOHWCKS.js} +3 -3
  35. package/dist/{chunk-I44YG6VI.js → chunk-UCORQ7YO.js} +5 -19
  36. package/dist/chunk-UCORQ7YO.js.map +1 -0
  37. package/dist/{chunk-NL5EB57E.js → chunk-UHARXISZ.js} +4 -4
  38. package/dist/chunk-UHARXISZ.js.map +1 -0
  39. package/dist/{chunk-UNEJKTLP.js → chunk-VJBCOPMG.js} +4 -4
  40. package/dist/{chunk-LZ7XQ3IU.js → chunk-VYLF4IIK.js} +4 -4
  41. package/dist/{chunk-6XWHJHNZ.js → chunk-WEYWZ7UE.js} +4 -1
  42. package/dist/chunk-WEYWZ7UE.js.map +1 -0
  43. package/dist/{chunk-B6MYECV6.js → chunk-XM2Y5AFQ.js} +2 -2
  44. package/dist/{chunk-5M6Q5UQO.js → chunk-Z5FXZFX2.js} +3 -3
  45. package/dist/commands/build/marketplace.js +4 -4
  46. package/dist/commands/build/plugins.js +8 -8
  47. package/dist/commands/build/stack.js +8 -8
  48. package/dist/commands/compile.js +9 -9
  49. package/dist/commands/config/index.js +8 -8
  50. package/dist/commands/config/path.js +7 -7
  51. package/dist/commands/config/show.js +8 -8
  52. package/dist/commands/diff.js +9 -9
  53. package/dist/commands/doctor.js +9 -9
  54. package/dist/commands/edit.js +24 -24
  55. package/dist/commands/eject.js +9 -9
  56. package/dist/commands/import/skill.js +7 -7
  57. package/dist/commands/info.js +9 -9
  58. package/dist/commands/init.js +25 -25
  59. package/dist/commands/list.js +7 -7
  60. package/dist/commands/new/agent.js +8 -8
  61. package/dist/commands/new/marketplace.js +8 -8
  62. package/dist/commands/new/skill.js +7 -7
  63. package/dist/commands/outdated.js +9 -9
  64. package/dist/commands/search.js +9 -9
  65. package/dist/commands/uninstall.js +9 -8
  66. package/dist/commands/uninstall.js.map +1 -1
  67. package/dist/commands/update.js +9 -9
  68. package/dist/commands/validate.js +7 -7
  69. package/dist/components/wizard/category-grid.js +2 -2
  70. package/dist/components/wizard/category-grid.test.js +11 -11
  71. package/dist/components/wizard/domain-selection.js +9 -9
  72. package/dist/components/wizard/help-modal.js +8 -8
  73. package/dist/components/wizard/source-grid.js +2 -2
  74. package/dist/components/wizard/source-grid.test.js +11 -11
  75. package/dist/components/wizard/stack-selection.js +8 -8
  76. package/dist/components/wizard/step-agents.js +9 -9
  77. package/dist/components/wizard/step-agents.test.js +12 -12
  78. package/dist/components/wizard/step-build.js +9 -9
  79. package/dist/components/wizard/step-build.test.js +12 -12
  80. package/dist/components/wizard/step-confirm.js +4 -4
  81. package/dist/components/wizard/step-confirm.test.js +10 -10
  82. package/dist/components/wizard/step-settings.js +7 -7
  83. package/dist/components/wizard/step-settings.test.js +10 -10
  84. package/dist/components/wizard/step-sources.js +9 -9
  85. package/dist/components/wizard/step-sources.test.js +12 -12
  86. package/dist/components/wizard/step-stack.js +9 -9
  87. package/dist/components/wizard/step-stack.test.js +10 -10
  88. package/dist/components/wizard/wizard-layout.js +10 -10
  89. package/dist/components/wizard/wizard.js +21 -21
  90. package/dist/config-exports.js +1 -1
  91. package/dist/hooks/init.js +25 -25
  92. package/dist/{loader-GSEGPK64.js → loader-D5VE56SI.js} +4 -4
  93. package/dist/{source-loader-OGFTIRIX.js → source-loader-INCCYL5P.js} +7 -7
  94. package/dist/source-manager-TEOUO734.js +19 -0
  95. package/dist/stores/wizard-store.js +7 -7
  96. package/dist/stores/wizard-store.test.js +10 -10
  97. package/package.json +1 -1
  98. package/dist/chunk-5UJJQFET.js.map +0 -1
  99. package/dist/chunk-6XWHJHNZ.js.map +0 -1
  100. package/dist/chunk-ANXHMG32.js.map +0 -1
  101. package/dist/chunk-C5IYJ42F.js.map +0 -1
  102. package/dist/chunk-CKZ65VFJ.js.map +0 -1
  103. package/dist/chunk-HZQOFFKA.js.map +0 -1
  104. package/dist/chunk-I44YG6VI.js.map +0 -1
  105. package/dist/chunk-NL5EB57E.js.map +0 -1
  106. package/dist/chunk-NPMMU4GY.js.map +0 -1
  107. package/dist/chunk-NUU3U43A.js.map +0 -1
  108. package/dist/chunk-TMTUTUEV.js.map +0 -1
  109. package/dist/plugins/dummy-skill/.claude-plugin/.content-hash +0 -1
  110. package/dist/plugins/dummy-skill/.claude-plugin/plugin.json +0 -13
  111. package/dist/source-manager-FMMDDVZA.js +0 -19
  112. /package/dist/{chunk-O27WJ5KS.js.map → chunk-2RFE7LTV.js.map} +0 -0
  113. /package/dist/{chunk-7FFNNDJQ.js.map → chunk-3T5XT2VU.js.map} +0 -0
  114. /package/dist/{chunk-Q4DMIPZB.js.map → chunk-7AUGC7PK.js.map} +0 -0
  115. /package/dist/{chunk-MMTMXLI4.js.map → chunk-7K7SA4TZ.js.map} +0 -0
  116. /package/dist/{chunk-BEZ6ZPDS.js.map → chunk-D254XO7K.js.map} +0 -0
  117. /package/dist/{chunk-FBZR46GC.js.map → chunk-DZ2IQERZ.js.map} +0 -0
  118. /package/dist/{chunk-SGZOFIFF.js.map → chunk-FGVCQBXH.js.map} +0 -0
  119. /package/dist/{chunk-BEFYAFGV.js.map → chunk-HCSIS35Y.js.map} +0 -0
  120. /package/dist/{chunk-CXWBVBDM.js.map → chunk-O423DMUE.js.map} +0 -0
  121. /package/dist/{chunk-ANZV33N5.js.map → chunk-OVY7IV3C.js.map} +0 -0
  122. /package/dist/{chunk-HZ2IBXVQ.js.map → chunk-Q3NIGPRZ.js.map} +0 -0
  123. /package/dist/{chunk-HH3AWXF4.js.map → chunk-TP6BX5M2.js.map} +0 -0
  124. /package/dist/{chunk-ZOWRO7UQ.js.map → chunk-TWOHWCKS.js.map} +0 -0
  125. /package/dist/{chunk-UNEJKTLP.js.map → chunk-VJBCOPMG.js.map} +0 -0
  126. /package/dist/{chunk-LZ7XQ3IU.js.map → chunk-VYLF4IIK.js.map} +0 -0
  127. /package/dist/{chunk-B6MYECV6.js.map → chunk-XM2Y5AFQ.js.map} +0 -0
  128. /package/dist/{chunk-5M6Q5UQO.js.map → chunk-Z5FXZFX2.js.map} +0 -0
  129. /package/dist/{loader-GSEGPK64.js.map → loader-D5VE56SI.js.map} +0 -0
  130. /package/dist/{source-loader-OGFTIRIX.js.map → source-loader-INCCYL5P.js.map} +0 -0
  131. /package/dist/{source-manager-FMMDDVZA.js.map → source-manager-TEOUO734.js.map} +0 -0
@@ -1,34 +1,37 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  WizardLayout
4
- } from "./chunk-UNEJKTLP.js";
4
+ } from "./chunk-VJBCOPMG.js";
5
+ import {
6
+ WIZARD_STEPS
7
+ } from "./chunk-YVFGISUO.js";
5
8
  import {
6
9
  StepSettings
7
- } from "./chunk-ZOWRO7UQ.js";
10
+ } from "./chunk-TWOHWCKS.js";
8
11
  import {
9
12
  StepSources
10
- } from "./chunk-HH3AWXF4.js";
13
+ } from "./chunk-TP6BX5M2.js";
11
14
  import {
12
15
  StepStack
13
- } from "./chunk-Q4DMIPZB.js";
16
+ } from "./chunk-7AUGC7PK.js";
14
17
  import {
15
18
  StepAgents
16
- } from "./chunk-LZ7XQ3IU.js";
19
+ } from "./chunk-VYLF4IIK.js";
17
20
  import {
18
21
  StepBuild
19
- } from "./chunk-SGZOFIFF.js";
22
+ } from "./chunk-FGVCQBXH.js";
20
23
  import {
21
24
  StepConfirm
22
- } from "./chunk-ANZV33N5.js";
25
+ } from "./chunk-OVY7IV3C.js";
23
26
  import {
24
27
  DomainSelection
25
- } from "./chunk-C5IYJ42F.js";
28
+ } from "./chunk-OWPIGGPP.js";
26
29
  import {
27
30
  getStackName
28
- } from "./chunk-NL5EB57E.js";
31
+ } from "./chunk-UHARXISZ.js";
29
32
  import {
30
33
  useWizardStore
31
- } from "./chunk-HSLVCKVQ.js";
34
+ } from "./chunk-4ITKYWVG.js";
32
35
  import {
33
36
  cliTheme
34
37
  } from "./chunk-HEQVUIHQ.js";
@@ -42,11 +45,11 @@ import {
42
45
  import {
43
46
  resolveAlias,
44
47
  validateSelection
45
- } from "./chunk-TMTUTUEV.js";
48
+ } from "./chunk-FVBSRBU3.js";
46
49
  import {
47
50
  findStack,
48
51
  matrix
49
- } from "./chunk-ANXHMG32.js";
52
+ } from "./chunk-47HMJ4BY.js";
50
53
  import {
51
54
  CLI_COLORS
52
55
  } from "./chunk-6PGL2XMY.js";
@@ -81,7 +84,12 @@ function useWizardInitialization({
81
84
  if (installedSkillIds?.length) {
82
85
  useWizardStore.getState().populateFromSkillIds(installedSkillIds, installedSkillConfigs);
83
86
  }
84
- useWizardStore.setState({ step: initialStep, approach: "scratch" });
87
+ useWizardStore.setState({ approach: "scratch" });
88
+ const stepIds = WIZARD_STEPS.map((s) => s.id);
89
+ const targetIndex = stepIds.indexOf(initialStep);
90
+ for (let i = 1; i <= targetIndex; i++) {
91
+ useWizardStore.getState().setStep(stepIds[i]);
92
+ }
85
93
  }
86
94
  if (initialDomains?.length) {
87
95
  useWizardStore.setState({ selectedDomains: initialDomains, currentDomainIndex: 0 });
@@ -342,4 +350,4 @@ var Wizard = ({
342
350
  export {
343
351
  Wizard
344
352
  };
345
- //# sourceMappingURL=chunk-HZQOFFKA.js.map
353
+ //# sourceMappingURL=chunk-BO4JY7BT.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 isEditingFromGlobalScope?: boolean;\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 isEditingFromGlobalScope,\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 isEditingFromGlobalScope,\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 if (store.isEditingFromGlobalScope) return;\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 if (store.isEditingFromGlobalScope) return;\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 { WIZARD_STEPS } from \"../wizard/wizard-tabs.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 isEditingFromGlobalScope?: boolean;\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 isEditingFromGlobalScope,\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 // Walk through steps via setStep() so history builds naturally.\n // E.g. initialStep=\"build\" → setStep(\"domains\") then setStep(\"build\")\n // → history=[\"stack\", \"domains\"], step=\"build\".\n useWizardStore.setState({ approach: \"scratch\" });\n const stepIds = WIZARD_STEPS.map((s) => s.id);\n const targetIndex = stepIds.indexOf(initialStep);\n for (let i = 1; i <= targetIndex; i++) {\n useWizardStore.getState().setStep(stepIds[i]!);\n }\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 if (isEditingFromGlobalScope) {\n useWizardStore.setState({ isEditingFromGlobalScope });\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":"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","names":["useCallback","useCallback"]}
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-HK53FRMU.js";
13
13
  import {
14
14
  getSkillById
15
- } from "./chunk-ANXHMG32.js";
15
+ } from "./chunk-47HMJ4BY.js";
16
16
  import {
17
17
  CLI_COLORS
18
18
  } from "./chunk-6PGL2XMY.js";
@@ -371,4 +371,4 @@ var CategoryGrid = ({
371
371
  export {
372
372
  CategoryGrid
373
373
  };
374
- //# sourceMappingURL=chunk-BEZ6ZPDS.js.map
374
+ //# sourceMappingURL=chunk-D254XO7K.js.map
@@ -17,15 +17,15 @@ import {
17
17
  resolveAgents,
18
18
  writeContentHash,
19
19
  writePluginManifest
20
- } from "./chunk-TMTUTUEV.js";
20
+ } from "./chunk-FVBSRBU3.js";
21
21
  import {
22
22
  loadAllAgents,
23
23
  loadProjectAgents
24
- } from "./chunk-B6MYECV6.js";
24
+ } from "./chunk-XM2Y5AFQ.js";
25
25
  import {
26
26
  typedEntries,
27
27
  typedKeys
28
- } from "./chunk-ANXHMG32.js";
28
+ } from "./chunk-47HMJ4BY.js";
29
29
  import {
30
30
  agentFrontmatterValidationSchema,
31
31
  copy,
@@ -39,7 +39,7 @@ import {
39
39
  verbose,
40
40
  warn,
41
41
  writeFile
42
- } from "./chunk-NUU3U43A.js";
42
+ } from "./chunk-OOHPUT5M.js";
43
43
  import {
44
44
  CLAUDE_DIR,
45
45
  DIRS,
@@ -325,4 +325,4 @@ export {
325
325
  compileAllAgentPlugins,
326
326
  printAgentCompilationSummary
327
327
  };
328
- //# sourceMappingURL=chunk-FBZR46GC.js.map
328
+ //# sourceMappingURL=chunk-DZ2IQERZ.js.map
@@ -7,11 +7,11 @@ import {
7
7
  } from "./chunk-K77I4XGL.js";
8
8
  import {
9
9
  CategoryGrid
10
- } from "./chunk-BEZ6ZPDS.js";
10
+ } from "./chunk-D254XO7K.js";
11
11
  import {
12
12
  buildCategoriesForDomain,
13
13
  useWizardStore
14
- } from "./chunk-HSLVCKVQ.js";
14
+ } from "./chunk-4ITKYWVG.js";
15
15
  import {
16
16
  init_esm_shims
17
17
  } from "./chunk-DHET7RCE.js";
@@ -140,4 +140,4 @@ var StepBuild = ({
140
140
  export {
141
141
  StepBuild
142
142
  };
143
- //# sourceMappingURL=chunk-SGZOFIFF.js.map
143
+ //# sourceMappingURL=chunk-FGVCQBXH.js.map
@@ -4,7 +4,7 @@ import {
4
4
  loadPluginSkills,
5
5
  loadSkillsByIds,
6
6
  parseFrontmatter
7
- } from "./chunk-B6MYECV6.js";
7
+ } from "./chunk-XM2Y5AFQ.js";
8
8
  import {
9
9
  BUILT_IN_MATRIX,
10
10
  getSkillById,
@@ -13,7 +13,7 @@ import {
13
13
  matrix,
14
14
  typedEntries,
15
15
  typedKeys
16
- } from "./chunk-ANXHMG32.js";
16
+ } from "./chunk-47HMJ4BY.js";
17
17
  import {
18
18
  agentFrontmatterValidationSchema,
19
19
  agentYamlGenerationSchema,
@@ -51,7 +51,7 @@ import {
51
51
  warn,
52
52
  warnUnknownFields,
53
53
  writeFile
54
- } from "./chunk-NUU3U43A.js";
54
+ } from "./chunk-OOHPUT5M.js";
55
55
  import {
56
56
  CACHE_DIR,
57
57
  CACHE_HASH_LENGTH,
@@ -92,7 +92,7 @@ import {
92
92
  defaultCategories,
93
93
  defaultRules,
94
94
  defaultStacks
95
- } from "./chunk-NPMMU4GY.js";
95
+ } from "./chunk-IR7ADPAZ.js";
96
96
  import {
97
97
  init_esm_shims
98
98
  } from "./chunk-DHET7RCE.js";
@@ -989,8 +989,8 @@ function loadConfigTypesDataInBackground(sourceFlag, projectDir) {
989
989
  if (!await directoryExists(claudeSrcDir)) {
990
990
  throw new Error(`${CLAUDE_SRC_DIR}/ not found \u2014 run '${CLI_BIN_NAME} init' first`);
991
991
  }
992
- const { loadSkillsMatrixFromSource: loadSkillsMatrixFromSource2 } = await import("./source-loader-OGFTIRIX.js");
993
- const { loadAllAgents: loadAllAgents2 } = await import("./loader-GSEGPK64.js");
992
+ const { loadSkillsMatrixFromSource: loadSkillsMatrixFromSource2 } = await import("./source-loader-INCCYL5P.js");
993
+ const { loadAllAgents: loadAllAgents2 } = await import("./loader-D5VE56SI.js");
994
994
  const sourceResult = await loadSkillsMatrixFromSource2({
995
995
  sourceFlag,
996
996
  projectDir,
@@ -1845,6 +1845,9 @@ import { z } from "zod";
1845
1845
  init_esm_shims();
1846
1846
  var AUTO_SYNTH_ORDER = 999;
1847
1847
  function synthesizeCategory(category, domain) {
1848
+ verbose(
1849
+ `Category '${category}' has no definition in skill-categories.ts \u2014 using auto-generated placeholder`
1850
+ );
1848
1851
  const displayName = category.split("-").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ");
1849
1852
  return {
1850
1853
  id: category,
@@ -2546,8 +2549,9 @@ function buildAuthor(name, email) {
2546
2549
  return author;
2547
2550
  }
2548
2551
  function generateSkillPluginManifest(options) {
2552
+ const name = `${SKILL_PLUGIN_PREFIX}${options.skillName}`;
2549
2553
  const manifest = {
2550
- name: `${SKILL_PLUGIN_PREFIX}${options.skillName}`,
2554
+ name,
2551
2555
  version: options.version ?? DEFAULT_VERSION,
2552
2556
  skills: "./skills/"
2553
2557
  };
@@ -2564,8 +2568,9 @@ function generateSkillPluginManifest(options) {
2564
2568
  return manifest;
2565
2569
  }
2566
2570
  function generateAgentPluginManifest(options) {
2571
+ const name = `${AGENT_PLUGIN_PREFIX}${options.agentName}`;
2567
2572
  const manifest = {
2568
- name: `${AGENT_PLUGIN_PREFIX}${options.agentName}`,
2573
+ name,
2569
2574
  version: options.version ?? DEFAULT_VERSION,
2570
2575
  agents: "./agents/"
2571
2576
  };
@@ -4844,12 +4849,17 @@ function printPluginValidationResult(name, result, verbose2 = false) {
4844
4849
  }
4845
4850
 
4846
4851
  // src/cli/lib/loading/multi-source-loader.ts
4847
- async function loadSkillsFromAllSources(primaryMatrix, sourceConfig, projectDir, forceRefresh = false, marketplace) {
4852
+ async function loadSkillsFromAllSources(primaryMatrix, sourceConfig, projectDir, forceRefresh = false, marketplace, marketplaceDisplayName) {
4848
4853
  const resolvedMarketplace = marketplace ?? sourceConfig.marketplace;
4849
4854
  const isDefaultPublicSource = sourceConfig.source === DEFAULT_SOURCE;
4850
4855
  const primarySourceName = resolvedMarketplace ?? DEFAULT_PUBLIC_SOURCE_NAME;
4851
4856
  const primarySourceType = isDefaultPublicSource ? "public" : "private";
4852
- tagPrimarySourceSkills(primaryMatrix, primarySourceName, primarySourceType);
4857
+ tagPrimarySourceSkills(
4858
+ primaryMatrix,
4859
+ primarySourceName,
4860
+ primarySourceType,
4861
+ marketplaceDisplayName
4862
+ );
4853
4863
  tagLocalSkills(primaryMatrix);
4854
4864
  await tagPluginSkills(primaryMatrix, projectDir, primarySourceName, primarySourceType);
4855
4865
  if (!isDefaultPublicSource) {
@@ -4858,11 +4868,12 @@ async function loadSkillsFromAllSources(primaryMatrix, sourceConfig, projectDir,
4858
4868
  await tagExtraSources(primaryMatrix, projectDir, forceRefresh);
4859
4869
  setActiveSources(primaryMatrix);
4860
4870
  }
4861
- function tagPrimarySourceSkills(matrix2, sourceName, sourceType) {
4871
+ function tagPrimarySourceSkills(matrix2, sourceName, sourceType, displayName) {
4862
4872
  for (const [, skill] of typedEntries(matrix2.skills)) {
4863
4873
  if (!skill) continue;
4864
4874
  const source = {
4865
4875
  name: sourceName,
4876
+ displayName,
4866
4877
  type: sourceType,
4867
4878
  installed: false,
4868
4879
  primary: true
@@ -5204,7 +5215,8 @@ async function loadSkillsMatrixFromSource(options = {}) {
5204
5215
  sourceConfig,
5205
5216
  sourcePath: fetchResult.path,
5206
5217
  isLocal: false,
5207
- marketplace: sourceConfig.marketplace
5218
+ marketplace: sourceConfig.marketplace,
5219
+ marketplaceDisplayName: DEFAULT_BRANDING.NAME
5208
5220
  };
5209
5221
  } else {
5210
5222
  const isLocal = isLocalSource(source) || devMode === true;
@@ -5238,7 +5250,8 @@ async function loadSkillsMatrixFromSource(options = {}) {
5238
5250
  sourceConfig,
5239
5251
  resolvedProjectDir,
5240
5252
  forceRefresh,
5241
- result.marketplace
5253
+ result.marketplace,
5254
+ result.marketplaceDisplayName
5242
5255
  );
5243
5256
  }
5244
5257
  checkMatrixHealth(result.matrix);
@@ -5268,21 +5281,22 @@ async function loadFromRemote(source, sourceConfig, forceRefresh) {
5268
5281
  verbose(`Fetched to: ${fetchResult.path}`);
5269
5282
  const mergedMatrix = await loadAndMergeFromBasePath(fetchResult.path);
5270
5283
  let marketplace = sourceConfig.marketplace;
5271
- if (!marketplace) {
5272
- try {
5273
- const marketplaceResult = await fetchMarketplace(source, { forceRefresh });
5274
- marketplace = marketplaceResult.marketplace.name;
5275
- verbose(`Using marketplace name from marketplace.json: ${marketplace}`);
5276
- } catch {
5277
- verbose(`Source does not have a marketplace.json \u2014 using source name as label`);
5278
- }
5284
+ let marketplaceDisplayName;
5285
+ try {
5286
+ const marketplaceResult = await fetchMarketplace(source, { forceRefresh });
5287
+ marketplace ??= marketplaceResult.marketplace.name;
5288
+ marketplaceDisplayName = marketplaceResult.marketplace.owner.name;
5289
+ verbose(`Using marketplace name from marketplace.json: ${marketplace}`);
5290
+ } catch {
5291
+ verbose(`Source does not have a marketplace.json \u2014 using source name as label`);
5279
5292
  }
5280
5293
  return {
5281
5294
  matrix: mergedMatrix,
5282
5295
  sourceConfig,
5283
5296
  sourcePath: fetchResult.path,
5284
5297
  isLocal: false,
5285
- marketplace
5298
+ marketplace,
5299
+ marketplaceDisplayName
5286
5300
  };
5287
5301
  }
5288
5302
  async function loadAndMergeFromBasePath(basePath) {
@@ -5536,4 +5550,4 @@ export {
5536
5550
  detectMigrations,
5537
5551
  executeMigration
5538
5552
  };
5539
- //# sourceMappingURL=chunk-TMTUTUEV.js.map
5553
+ //# sourceMappingURL=chunk-FVBSRBU3.js.map