@claude-collective/cli 0.6.0 → 0.8.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 (137) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/dist/{chunk-D4IQAT27.js → chunk-3HBTELJN.js} +2 -2
  3. package/dist/{chunk-6ESUJMM7.js → chunk-3ZCB5K33.js} +3 -3
  4. package/dist/chunk-66UDJBF6.js +96 -0
  5. package/dist/chunk-66UDJBF6.js.map +1 -0
  6. package/dist/chunk-6LS7XO3H.js +31 -0
  7. package/dist/chunk-6LS7XO3H.js.map +1 -0
  8. package/dist/{chunk-SJYG4EJZ.js → chunk-A3J6IAXK.js} +7 -7
  9. package/dist/{chunk-SJYG4EJZ.js.map → chunk-A3J6IAXK.js.map} +1 -1
  10. package/dist/chunk-A65SBAAJ.js +69 -0
  11. package/dist/chunk-A65SBAAJ.js.map +1 -0
  12. package/dist/chunk-ALEPJ6YN.js +80 -0
  13. package/dist/chunk-ALEPJ6YN.js.map +1 -0
  14. package/dist/{chunk-367K3JB3.js → chunk-C4ZTIYFR.js} +3 -3
  15. package/dist/{chunk-FKU7VSUD.js → chunk-CIY5UBRB.js} +2 -2
  16. package/dist/{chunk-6WEQADPL.js → chunk-DKGL77IY.js} +4 -4
  17. package/dist/chunk-ED73HCW2.js +315 -0
  18. package/dist/chunk-ED73HCW2.js.map +1 -0
  19. package/dist/{chunk-URDV4OCP.js → chunk-FNOYEXUE.js} +5 -5
  20. package/dist/{chunk-OSQDDJXX.js → chunk-G2FBJOZG.js} +2 -7
  21. package/dist/chunk-G2FBJOZG.js.map +1 -0
  22. package/dist/chunk-HNDT5QRB.js +120 -0
  23. package/dist/chunk-HNDT5QRB.js.map +1 -0
  24. package/dist/chunk-K7PTOVX4.js +158 -0
  25. package/dist/chunk-K7PTOVX4.js.map +1 -0
  26. package/dist/{chunk-AU7XVCLO.js → chunk-LQTST4WY.js} +2 -2
  27. package/dist/chunk-LVKRVFYR.js +54 -0
  28. package/dist/chunk-LVKRVFYR.js.map +1 -0
  29. package/dist/{chunk-ZSKHDU5P.js → chunk-NGBFJJ7Q.js} +2 -2
  30. package/dist/{chunk-UNHCZRO4.js → chunk-OLBOTK3O.js} +2 -2
  31. package/dist/chunk-PPNTD5LO.js +330 -0
  32. package/dist/chunk-PPNTD5LO.js.map +1 -0
  33. package/dist/{chunk-UFWNMW3G.js → chunk-Q2LH2DAB.js} +5 -5
  34. package/dist/{chunk-AZP2AA5M.js → chunk-Q6DR5QUH.js} +206 -84
  35. package/dist/chunk-Q6DR5QUH.js.map +1 -0
  36. package/dist/{chunk-JMQGWQZU.js → chunk-QGGSLMO3.js} +3 -3
  37. package/dist/chunk-QGGSLMO3.js.map +1 -0
  38. package/dist/{chunk-J2Y4A3LP.js → chunk-SEBPPFUW.js} +2 -2
  39. package/dist/chunk-SEBPPFUW.js.map +1 -0
  40. package/dist/chunk-UOWHJ6BE.js +83 -0
  41. package/dist/chunk-UOWHJ6BE.js.map +1 -0
  42. package/dist/{chunk-ZDQIUHAM.js → chunk-XKEG3SCV.js} +13 -16
  43. package/dist/chunk-XKEG3SCV.js.map +1 -0
  44. package/dist/chunk-XY3XDVMI.js +15599 -0
  45. package/dist/chunk-XY3XDVMI.js.map +1 -0
  46. package/dist/chunk-Y3V43XCU.js +76 -0
  47. package/dist/chunk-Y3V43XCU.js.map +1 -0
  48. package/dist/{chunk-TFV6Z7F7.js → chunk-YKXBGCFD.js} +4 -4
  49. package/dist/commands/build/marketplace.js +11 -52
  50. package/dist/commands/build/marketplace.js.map +1 -1
  51. package/dist/commands/build/plugins.js +11 -49
  52. package/dist/commands/build/plugins.js.map +1 -1
  53. package/dist/commands/build/stack.js +7 -7
  54. package/dist/commands/compile.js +10 -10
  55. package/dist/commands/diff.js +4 -4
  56. package/dist/commands/doctor.js +4 -4
  57. package/dist/commands/edit.js +24 -23
  58. package/dist/commands/edit.js.map +1 -1
  59. package/dist/commands/eject.js +2 -2
  60. package/dist/commands/info.js +4 -4
  61. package/dist/commands/init.js +20 -19
  62. package/dist/commands/init.js.map +1 -1
  63. package/dist/commands/list.js +4 -4
  64. package/dist/commands/new/agent.js +2 -2
  65. package/dist/commands/new/skill.js +1 -1
  66. package/dist/commands/outdated.js +4 -4
  67. package/dist/commands/search.js +4 -4
  68. package/dist/commands/test-imports.js +9 -9
  69. package/dist/commands/uninstall.js +15 -8
  70. package/dist/commands/uninstall.js.map +1 -1
  71. package/dist/commands/update.js +12 -12
  72. package/dist/commands/validate.js +2 -2
  73. package/dist/commands/version/bump.js +2 -2
  74. package/dist/commands/version/index.js +2 -2
  75. package/dist/commands/version/set.js +1 -1
  76. package/dist/commands/version/show.js +2 -2
  77. package/dist/components/wizard/category-grid.js +9 -0
  78. package/dist/components/wizard/category-grid.test.js +728 -0
  79. package/dist/components/wizard/category-grid.test.js.map +1 -0
  80. package/dist/components/wizard/section-progress.js +9 -0
  81. package/dist/components/wizard/section-progress.test.js +281 -0
  82. package/dist/components/wizard/section-progress.test.js.map +1 -0
  83. package/dist/components/wizard/step-approach.js +3 -3
  84. package/dist/components/wizard/step-build.js +15 -0
  85. package/dist/components/wizard/step-build.test.js +729 -0
  86. package/dist/components/wizard/step-build.test.js.map +1 -0
  87. package/dist/components/wizard/step-confirm.js +1 -4
  88. package/dist/components/wizard/step-refine.js +9 -0
  89. package/dist/components/wizard/step-refine.js.map +1 -0
  90. package/dist/components/wizard/step-refine.test.js +235 -0
  91. package/dist/components/wizard/step-refine.test.js.map +1 -0
  92. package/dist/components/wizard/step-stack-options.js +11 -0
  93. package/dist/components/wizard/step-stack-options.js.map +1 -0
  94. package/dist/components/wizard/step-stack.js +3 -3
  95. package/dist/components/wizard/wizard-tabs.js +11 -0
  96. package/dist/components/wizard/wizard-tabs.js.map +1 -0
  97. package/dist/components/wizard/wizard.js +12 -11
  98. package/dist/stores/wizard-store.js +2 -2
  99. package/dist/stores/wizard-store.test.js +249 -15835
  100. package/dist/stores/wizard-store.test.js.map +1 -1
  101. package/package.json +1 -1
  102. package/dist/chunk-6OY6ZYQF.js +0 -93
  103. package/dist/chunk-6OY6ZYQF.js.map +0 -1
  104. package/dist/chunk-AZP2AA5M.js.map +0 -1
  105. package/dist/chunk-J2Y4A3LP.js.map +0 -1
  106. package/dist/chunk-JMQGWQZU.js.map +0 -1
  107. package/dist/chunk-JY4RO76L.js +0 -73
  108. package/dist/chunk-JY4RO76L.js.map +0 -1
  109. package/dist/chunk-OSQDDJXX.js.map +0 -1
  110. package/dist/chunk-TD643KB3.js +0 -245
  111. package/dist/chunk-TD643KB3.js.map +0 -1
  112. package/dist/chunk-TGOHJCQ4.js +0 -83
  113. package/dist/chunk-TGOHJCQ4.js.map +0 -1
  114. package/dist/chunk-YI6JVSFO.js +0 -43
  115. package/dist/chunk-YI6JVSFO.js.map +0 -1
  116. package/dist/chunk-YNSNRR5D.js +0 -184
  117. package/dist/chunk-YNSNRR5D.js.map +0 -1
  118. package/dist/chunk-Z6DLWTBY.js +0 -46
  119. package/dist/chunk-Z6DLWTBY.js.map +0 -1
  120. package/dist/chunk-ZDQIUHAM.js.map +0 -1
  121. package/dist/components/wizard/selection-header.js +0 -11
  122. package/dist/components/wizard/step-category.js +0 -12
  123. package/dist/components/wizard/step-subcategory.js +0 -13
  124. /package/dist/{chunk-D4IQAT27.js.map → chunk-3HBTELJN.js.map} +0 -0
  125. /package/dist/{chunk-6ESUJMM7.js.map → chunk-3ZCB5K33.js.map} +0 -0
  126. /package/dist/{chunk-367K3JB3.js.map → chunk-C4ZTIYFR.js.map} +0 -0
  127. /package/dist/{chunk-FKU7VSUD.js.map → chunk-CIY5UBRB.js.map} +0 -0
  128. /package/dist/{chunk-6WEQADPL.js.map → chunk-DKGL77IY.js.map} +0 -0
  129. /package/dist/{chunk-URDV4OCP.js.map → chunk-FNOYEXUE.js.map} +0 -0
  130. /package/dist/{chunk-AU7XVCLO.js.map → chunk-LQTST4WY.js.map} +0 -0
  131. /package/dist/{chunk-ZSKHDU5P.js.map → chunk-NGBFJJ7Q.js.map} +0 -0
  132. /package/dist/{chunk-UNHCZRO4.js.map → chunk-OLBOTK3O.js.map} +0 -0
  133. /package/dist/{chunk-UFWNMW3G.js.map → chunk-Q2LH2DAB.js.map} +0 -0
  134. /package/dist/{chunk-TFV6Z7F7.js.map → chunk-YKXBGCFD.js.map} +0 -0
  135. /package/dist/components/wizard/{selection-header.js.map → category-grid.js.map} +0 -0
  136. /package/dist/components/wizard/{step-category.js.map → section-progress.js.map} +0 -0
  137. /package/dist/components/wizard/{step-subcategory.js.map → step-build.js.map} +0 -0
package/CHANGELOG.md CHANGED
@@ -5,6 +5,71 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.8.0] - 2026-02-02
9
+
10
+ ### Breaking Changes
11
+
12
+ - **Skill IDs normalized to kebab-case** - Skill IDs changed from path-based format with author suffix (e.g., `web/framework/react (@vince)`) to simple kebab-case (e.g., `web-framework-react`). Consumer configs and any code referencing old skill IDs must be updated.
13
+
14
+ ### Added
15
+
16
+ - **Meta-stack** - New stack for meta-level development with 5 agents (skill-summoner, agent-summoner, documentor, pattern-scout, web-pattern-critique) mapped to methodology and research skills.
17
+
18
+ ### Changed
19
+
20
+ - `skill_aliases` in skills-matrix.yaml now map to normalized kebab-case IDs
21
+ - `DEFAULT_PRESELECTED_SKILLS` updated to use new ID format
22
+ - Simplified `skill-copier.ts`, `skill-plugin-compiler.ts`, `marketplace-generator.ts` - removed path parsing logic
23
+
24
+ ### Removed
25
+
26
+ - `normalizeSkillId()` function - no longer needed since frontmatter contains canonical IDs
27
+
28
+ ### Fixed
29
+
30
+ - **Uninstall command terminal state** - Added proper `exit()` calls to restore terminal after confirmation
31
+
32
+ [0.8.0]: https://github.com/claude-collective/cli/releases/tag/v0.8.0
33
+
34
+ ## [0.7.0] - 2026-02-02
35
+
36
+ ### Breaking Changes
37
+
38
+ - **Wizard flow redesigned** - New 5-step flow: Approach → Stack → Build → Refine → Confirm. The old category → subcategory linear flow is replaced with domain-based grid selection.
39
+
40
+ ### Added
41
+
42
+ - **Domain-based navigation** - Categories now have a `domain` field (web, api, cli, mobile, shared) for filtering in the Build step
43
+ - **CategoryGrid component** - 2D grid selection with keyboard navigation (arrows, vim keys h/j/k/l), visual states (selected, recommended, discouraged, disabled)
44
+ - **WizardTabs component** - Horizontal 5-step progress indicator with completed/current/pending/skipped states
45
+ - **SectionProgress component** - Sub-step progress for multi-domain flows
46
+ - **StepBuild component** - Grid-based technology selection per domain, replaces linear category/subcategory flow
47
+ - **StepRefine component** - Skill source selection (verified skills, customize coming soon)
48
+ - **StepStackOptions component** - Options after stack selection (continue defaults or customize)
49
+ - **CLI domain support** - New `cli` category in skills-matrix with framework, prompts, testing subcategories
50
+ - **Wizard store v2** - Complete rewrite with history-based navigation, domain selections, grid focus state
51
+
52
+ ### Changed
53
+
54
+ - `wizard.tsx` - Complete rewrite as orchestrator for new 5-step flow
55
+ - `step-approach.tsx` - Updated for v2 store
56
+ - `step-stack.tsx` - Now dual-purpose: stack selection (stack path) or domain selection (scratch path)
57
+ - `step-confirm.tsx` - Updated to show domain breakdown, technology/skill counts
58
+ - `wizard-store.ts` - Migrated to v2 state shape with approach, selectedDomains, domainSelections, stackAction, focusedRow/Col
59
+
60
+ ### Removed
61
+
62
+ - `step-category.tsx` - Replaced by StepBuild with CategoryGrid
63
+ - `step-subcategory.tsx` - Replaced by StepBuild with CategoryGrid
64
+ - `selection-header.tsx` - No longer needed
65
+
66
+ ### Fixed
67
+
68
+ - **Skill resolution for stack defaults** - Selecting a stack with "Continue with defaults" now correctly includes all stack skills (was only including methodology skills)
69
+ - **Display names in Build step** - Technologies now show clean names ("React") instead of full IDs ("React (@vince)")
70
+
71
+ [0.7.0]: https://github.com/claude-collective/cli/releases/tag/v0.7.0
72
+
8
73
  ## [0.6.0] - 2026-02-01
9
74
 
10
75
  ### Breaking Changes
@@ -4,7 +4,7 @@ import {
4
4
  PLUGINS_SUBDIR,
5
5
  PLUGIN_MANIFEST_DIR,
6
6
  PLUGIN_MANIFEST_FILE
7
- } from "./chunk-SJYG4EJZ.js";
7
+ } from "./chunk-A3J6IAXK.js";
8
8
  import {
9
9
  verbose
10
10
  } from "./chunk-TOPAIL5W.js";
@@ -111,4 +111,4 @@ export {
111
111
  readPluginManifest,
112
112
  getPluginSkillIds
113
113
  };
114
- //# sourceMappingURL=chunk-D4IQAT27.js.map
114
+ //# sourceMappingURL=chunk-3HBTELJN.js.map
@@ -4,10 +4,10 @@ import {
4
4
  } from "./chunk-MYAVQ23U.js";
5
5
  import {
6
6
  getCollectivePluginDir
7
- } from "./chunk-D4IQAT27.js";
7
+ } from "./chunk-3HBTELJN.js";
8
8
  import {
9
9
  CLAUDE_DIR
10
- } from "./chunk-SJYG4EJZ.js";
10
+ } from "./chunk-A3J6IAXK.js";
11
11
  import {
12
12
  directoryExists,
13
13
  fileExists
@@ -51,4 +51,4 @@ async function detectInstallation(projectDir = process.cwd()) {
51
51
  export {
52
52
  detectInstallation
53
53
  };
54
- //# sourceMappingURL=chunk-6ESUJMM7.js.map
54
+ //# sourceMappingURL=chunk-3ZCB5K33.js.map
@@ -0,0 +1,96 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ init_esm_shims
4
+ } from "./chunk-DHET7RCE.js";
5
+
6
+ // node_modules/ink-testing-library/build/index.js
7
+ init_esm_shims();
8
+ import { EventEmitter } from "events";
9
+ import { render as inkRender } from "ink";
10
+ var Stdout = class extends EventEmitter {
11
+ get columns() {
12
+ return 100;
13
+ }
14
+ frames = [];
15
+ _lastFrame;
16
+ write = (frame) => {
17
+ this.frames.push(frame);
18
+ this._lastFrame = frame;
19
+ };
20
+ lastFrame = () => this._lastFrame;
21
+ };
22
+ var Stderr = class extends EventEmitter {
23
+ frames = [];
24
+ _lastFrame;
25
+ write = (frame) => {
26
+ this.frames.push(frame);
27
+ this._lastFrame = frame;
28
+ };
29
+ lastFrame = () => this._lastFrame;
30
+ };
31
+ var Stdin = class extends EventEmitter {
32
+ // eslint-disable-next-line @typescript-eslint/naming-convention
33
+ isTTY = true;
34
+ data = null;
35
+ // eslint-disable-line @typescript-eslint/ban-types
36
+ constructor(options = {}) {
37
+ super();
38
+ this.isTTY = options.isTTY ?? true;
39
+ }
40
+ write = (data) => {
41
+ this.data = data;
42
+ this.emit("readable");
43
+ this.emit("data", data);
44
+ };
45
+ setEncoding() {
46
+ }
47
+ setRawMode() {
48
+ }
49
+ resume() {
50
+ }
51
+ pause() {
52
+ }
53
+ ref() {
54
+ }
55
+ unref() {
56
+ }
57
+ // eslint-disable-next-line @typescript-eslint/ban-types
58
+ read = () => {
59
+ const { data } = this;
60
+ this.data = null;
61
+ return data;
62
+ };
63
+ };
64
+ var instances = [];
65
+ var render = (tree) => {
66
+ const stdout = new Stdout();
67
+ const stderr = new Stderr();
68
+ const stdin = new Stdin();
69
+ const instance = inkRender(tree, {
70
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
71
+ stdout,
72
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
73
+ stderr,
74
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
75
+ stdin,
76
+ debug: true,
77
+ exitOnCtrlC: false,
78
+ patchConsole: false
79
+ });
80
+ instances.push(instance);
81
+ return {
82
+ rerender: instance.rerender,
83
+ unmount: instance.unmount,
84
+ cleanup: instance.cleanup,
85
+ stdout,
86
+ stderr,
87
+ stdin,
88
+ frames: stdout.frames,
89
+ lastFrame: stdout.lastFrame
90
+ };
91
+ };
92
+
93
+ export {
94
+ render
95
+ };
96
+ //# sourceMappingURL=chunk-66UDJBF6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../node_modules/ink-testing-library/source/index.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA;SAAQ,oBAAmB;AAC3B,SAAQ,UAAU,iBAA8C;AAGhE,IAAM,SAAN,cAAqB,aAAY;EAChC,IAAI,UAAO;AACV,WAAO;EACR;EAES,SAAmB,CAAA;EACpB;EAER,QAAQ,CAAC,UAAiB;AACzB,SAAK,OAAO,KAAK,KAAK;AACtB,SAAK,aAAa;EACnB;EAEA,YAAY,MAAM,KAAK;;AAGxB,IAAM,SAAN,cAAqB,aAAY;EACvB,SAAmB,CAAA;EACpB;EAER,QAAQ,CAAC,UAAiB;AACzB,SAAK,OAAO,KAAK,KAAK;AACtB,SAAK,aAAa;EACnB;EAEA,YAAY,MAAM,KAAK;;AAGxB,IAAM,QAAN,cAAoB,aAAY;;EAE/B,QAAQ;EACR,OAAsB;;EACtB,YAAY,UAA6B,CAAA,GAAE;AAC1C,UAAK;AACL,SAAK,QAAQ,QAAQ,SAAS;EAC/B;EAEA,QAAQ,CAAC,SAAgB;AACxB,SAAK,OAAO;AACZ,SAAK,KAAK,UAAU;AACpB,SAAK,KAAK,QAAQ,IAAI;EACvB;EAEA,cAAW;EAEX;EAEA,aAAU;EAEV;EAEA,SAAM;EAEN;EAEA,QAAK;EAEL;EAEA,MAAG;EAEH;EAEA,QAAK;EAEL;;EAGA,OAA4B,MAAK;AAChC,UAAM,EAAC,KAAI,IAAI;AACf,SAAK,OAAO;AACZ,WAAO;EACR;;AAcD,IAAM,YAA2B,CAAA;AAE1B,IAAM,SAAS,CAAC,SAAgC;AACtD,QAAM,SAAS,IAAI,OAAM;AACzB,QAAM,SAAS,IAAI,OAAM;AACzB,QAAM,QAAQ,IAAI,MAAK;AAEvB,QAAM,WAAW,UAAU,MAAM;;IAEhC;;IAEA;;IAEA;IACA,OAAO;IACP,aAAa;IACb,cAAc;GACd;AAED,YAAU,KAAK,QAAQ;AAEvB,SAAO;IACN,UAAU,SAAS;IACnB,SAAS,SAAS;IAClB,SAAS,SAAS;IAClB;IACA;IACA;IACA,QAAQ,OAAO;IACf,WAAW,OAAO;;AAEpB;","names":[]}
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ init_esm_shims
4
+ } from "./chunk-DHET7RCE.js";
5
+
6
+ // src/cli-v2/lib/__tests__/test-constants.ts
7
+ init_esm_shims();
8
+ var ARROW_UP = "\x1B[A";
9
+ var ARROW_DOWN = "\x1B[B";
10
+ var ARROW_LEFT = "\x1B[D";
11
+ var ARROW_RIGHT = "\x1B[C";
12
+ var ENTER = "\r";
13
+ var ESCAPE = "\x1B";
14
+ var TAB = " ";
15
+ var INPUT_DELAY_MS = 50;
16
+ var RENDER_DELAY_MS = 100;
17
+ var delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
18
+
19
+ export {
20
+ ARROW_UP,
21
+ ARROW_DOWN,
22
+ ARROW_LEFT,
23
+ ARROW_RIGHT,
24
+ ENTER,
25
+ ESCAPE,
26
+ TAB,
27
+ INPUT_DELAY_MS,
28
+ RENDER_DELAY_MS,
29
+ delay
30
+ };
31
+ //# sourceMappingURL=chunk-6LS7XO3H.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli-v2/lib/__tests__/test-constants.ts"],"sourcesContent":["/**\n * Shared test constants for CLI tests.\n *\n * Contains keyboard escape sequences and timing constants for ink-testing-library tests.\n */\n\n// =============================================================================\n// Keyboard Escape Sequences\n// =============================================================================\n\n/** Arrow Up key escape sequence */\nexport const ARROW_UP = \"\\x1B[A\";\n\n/** Arrow Down key escape sequence */\nexport const ARROW_DOWN = \"\\x1B[B\";\n\n/** Arrow Left key escape sequence */\nexport const ARROW_LEFT = \"\\x1B[D\";\n\n/** Arrow Right key escape sequence */\nexport const ARROW_RIGHT = \"\\x1B[C\";\n\n/** Enter key */\nexport const ENTER = \"\\r\";\n\n/** Escape key */\nexport const ESCAPE = \"\\x1B\";\n\n/** Ctrl+C key */\nexport const CTRL_C = \"\\x03\";\n\n/** Tab key */\nexport const TAB = \"\\t\";\n\n/** Backspace key */\nexport const BACKSPACE = \"\\x7F\";\n\n/** Letter Y for ConfirmInput */\nexport const KEY_Y = \"y\";\n\n/** Letter N for ConfirmInput */\nexport const KEY_N = \"n\";\n\n// =============================================================================\n// Timing Constants\n// =============================================================================\n\n/** Delay after keyboard input to allow terminal to process (ms) */\nexport const INPUT_DELAY_MS = 50;\n\n/** Delay for render/rerender operations (ms) */\nexport const RENDER_DELAY_MS = 100;\n\n/** Delay for complex multi-step operations (ms) */\nexport const OPERATION_DELAY_MS = 150;\n\n// =============================================================================\n// Test Utilities\n// =============================================================================\n\n/**\n * Create a delay promise for async tests.\n *\n * @param ms - Milliseconds to wait\n * @returns Promise that resolves after the delay\n */\nexport const delay = (ms: number): Promise<void> =>\n new Promise((resolve) => setTimeout(resolve, ms));\n"],"mappings":";;;;;;AAAA;AAWO,IAAM,WAAW;AAGjB,IAAM,aAAa;AAGnB,IAAM,aAAa;AAGnB,IAAM,cAAc;AAGpB,IAAM,QAAQ;AAGd,IAAM,SAAS;AAMf,IAAM,MAAM;AAgBZ,IAAM,iBAAiB;AAGvB,IAAM,kBAAkB;AAexB,IAAM,QAAQ,CAAC,OACpB,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,EAAE,CAAC;","names":[]}
@@ -31,12 +31,12 @@ var DIRS = {
31
31
  var DEFAULT_VERSION = "1.0.0";
32
32
  var DEFAULT_DISPLAY_VERSION = "0.0.0";
33
33
  var DEFAULT_PRESELECTED_SKILLS = [
34
- "meta/methodology/anti-over-engineering (@vince)",
35
- "meta/methodology/context-management (@vince)",
36
- "meta/methodology/improvement-protocol (@vince)",
37
- "meta/methodology/investigation-requirements (@vince)",
38
- "meta/methodology/success-criteria (@vince)",
39
- "meta/methodology/write-verification (@vince)"
34
+ "meta-methodology-anti-over-engineering",
35
+ "meta-methodology-context-management",
36
+ "meta-methodology-improvement-protocol",
37
+ "meta-methodology-investigation-requirements",
38
+ "meta-methodology-success-criteria",
39
+ "meta-methodology-write-verification"
40
40
  ];
41
41
 
42
42
  export {
@@ -54,4 +54,4 @@ export {
54
54
  DEFAULT_DISPLAY_VERSION,
55
55
  DEFAULT_PRESELECTED_SKILLS
56
56
  };
57
- //# sourceMappingURL=chunk-SJYG4EJZ.js.map
57
+ //# sourceMappingURL=chunk-A3J6IAXK.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/cli-v2/consts.ts"],"sourcesContent":["import path from \"path\";\nimport os from \"os\";\nimport { fileURLToPath } from \"url\";\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = path.dirname(__filename);\n\n// After tsup build, dist/ is flat, so we go up one level from dist/ to get CLI root\n// In development (src/cli-v2/consts.ts), we go up two levels\nconst isInDist = __dirname.includes(\"/dist\");\nexport const CLI_ROOT = isInDist\n ? path.resolve(__dirname, \"..\")\n : path.resolve(__dirname, \"../..\");\nexport const PROJECT_ROOT = CLI_ROOT;\n\nexport const OUTPUT_DIR = \".claude\";\nexport const GITHUB_REPO = \"claude-collective/skills\";\nexport const DEFAULT_MATRIX_PATH = \"src/config/skills-matrix.yaml\";\n\nexport const PLUGIN_NAME = \"claude-collective\";\n\nexport const CLAUDE_DIR = \".claude\";\nexport const PLUGINS_SUBDIR = \"plugins\";\nexport const PLUGIN_MANIFEST_DIR = \".claude-plugin\";\nexport const PLUGIN_MANIFEST_FILE = \"plugin.json\";\n\nexport const CACHE_DIR = path.join(os.homedir(), \".cache\", \"claude-collective\");\n\nexport const SKILLS_MATRIX_PATH = \"config/skills-matrix.yaml\";\nexport const SKILLS_DIR_PATH = \"src/skills\";\nexport const LOCAL_SKILLS_PATH = \".claude/skills\";\n\nexport const DIRS = {\n agents: \"src/agents\",\n skills: \"src/skills\",\n stacks: \"src/stacks\",\n templates: \"src/agents/_templates\",\n commands: \"src/commands\",\n} as const;\n\nexport const DEFAULT_VERSION = \"1.0.0\";\n\n/** Uses \"0.0.0\" to clearly indicate \"no version was explicitly set\" */\nexport const DEFAULT_DISPLAY_VERSION = \"0.0.0\";\n\n/**\n * Skills that are preselected by default in the wizard.\n * These are foundational methodology skills that apply to all projects.\n */\nexport const DEFAULT_PRESELECTED_SKILLS = [\n \"meta/methodology/anti-over-engineering (@vince)\",\n \"meta/methodology/context-management (@vince)\",\n \"meta/methodology/improvement-protocol (@vince)\",\n \"meta/methodology/investigation-requirements (@vince)\",\n \"meta/methodology/success-criteria (@vince)\",\n \"meta/methodology/write-verification (@vince)\",\n] as const;\n"],"mappings":";;;;;;AAAA;AAAA,OAAO,UAAU;AACjB,OAAO,QAAQ;AACf,SAAS,qBAAqB;AAE9B,IAAM,aAAa,cAAc,YAAY,GAAG;AAChD,IAAM,YAAY,KAAK,QAAQ,UAAU;AAIzC,IAAM,WAAW,UAAU,SAAS,OAAO;AACpC,IAAM,WAAW,WACpB,KAAK,QAAQ,WAAW,IAAI,IAC5B,KAAK,QAAQ,WAAW,OAAO;AAC5B,IAAM,eAAe;AAQrB,IAAM,aAAa;AACnB,IAAM,iBAAiB;AACvB,IAAM,sBAAsB;AAC5B,IAAM,uBAAuB;AAE7B,IAAM,YAAY,KAAK,KAAK,GAAG,QAAQ,GAAG,UAAU,mBAAmB;AAEvE,IAAM,qBAAqB;AAC3B,IAAM,kBAAkB;AACxB,IAAM,oBAAoB;AAE1B,IAAM,OAAO;AAAA,EAClB,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,UAAU;AACZ;AAEO,IAAM,kBAAkB;AAGxB,IAAM,0BAA0B;AAMhC,IAAM,6BAA6B;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/cli-v2/consts.ts"],"sourcesContent":["import path from \"path\";\nimport os from \"os\";\nimport { fileURLToPath } from \"url\";\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = path.dirname(__filename);\n\n// After tsup build, dist/ is flat, so we go up one level from dist/ to get CLI root\n// In development (src/cli-v2/consts.ts), we go up two levels\nconst isInDist = __dirname.includes(\"/dist\");\nexport const CLI_ROOT = isInDist\n ? path.resolve(__dirname, \"..\")\n : path.resolve(__dirname, \"../..\");\nexport const PROJECT_ROOT = CLI_ROOT;\n\nexport const OUTPUT_DIR = \".claude\";\nexport const GITHUB_REPO = \"claude-collective/skills\";\nexport const DEFAULT_MATRIX_PATH = \"src/config/skills-matrix.yaml\";\n\nexport const PLUGIN_NAME = \"claude-collective\";\n\nexport const CLAUDE_DIR = \".claude\";\nexport const PLUGINS_SUBDIR = \"plugins\";\nexport const PLUGIN_MANIFEST_DIR = \".claude-plugin\";\nexport const PLUGIN_MANIFEST_FILE = \"plugin.json\";\n\nexport const CACHE_DIR = path.join(os.homedir(), \".cache\", \"claude-collective\");\n\nexport const SKILLS_MATRIX_PATH = \"config/skills-matrix.yaml\";\nexport const SKILLS_DIR_PATH = \"src/skills\";\nexport const LOCAL_SKILLS_PATH = \".claude/skills\";\n\nexport const DIRS = {\n agents: \"src/agents\",\n skills: \"src/skills\",\n stacks: \"src/stacks\",\n templates: \"src/agents/_templates\",\n commands: \"src/commands\",\n} as const;\n\nexport const DEFAULT_VERSION = \"1.0.0\";\n\n/** Uses \"0.0.0\" to clearly indicate \"no version was explicitly set\" */\nexport const DEFAULT_DISPLAY_VERSION = \"0.0.0\";\n\n/**\n * Skills that are preselected by default in the wizard.\n * These are foundational methodology skills that apply to all projects.\n *\n * Note: Skill IDs are in normalized kebab-case format (no author suffix, slashes replaced with dashes).\n */\nexport const DEFAULT_PRESELECTED_SKILLS = [\n \"meta-methodology-anti-over-engineering\",\n \"meta-methodology-context-management\",\n \"meta-methodology-improvement-protocol\",\n \"meta-methodology-investigation-requirements\",\n \"meta-methodology-success-criteria\",\n \"meta-methodology-write-verification\",\n] as const;\n"],"mappings":";;;;;;AAAA;AAAA,OAAO,UAAU;AACjB,OAAO,QAAQ;AACf,SAAS,qBAAqB;AAE9B,IAAM,aAAa,cAAc,YAAY,GAAG;AAChD,IAAM,YAAY,KAAK,QAAQ,UAAU;AAIzC,IAAM,WAAW,UAAU,SAAS,OAAO;AACpC,IAAM,WAAW,WACpB,KAAK,QAAQ,WAAW,IAAI,IAC5B,KAAK,QAAQ,WAAW,OAAO;AAC5B,IAAM,eAAe;AAQrB,IAAM,aAAa;AACnB,IAAM,iBAAiB;AACvB,IAAM,sBAAsB;AAC5B,IAAM,uBAAuB;AAE7B,IAAM,YAAY,KAAK,KAAK,GAAG,QAAQ,GAAG,UAAU,mBAAmB;AAEvE,IAAM,qBAAqB;AAC3B,IAAM,kBAAkB;AACxB,IAAM,oBAAoB;AAE1B,IAAM,OAAO;AAAA,EAClB,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,UAAU;AACZ;AAEO,IAAM,kBAAkB;AAGxB,IAAM,0BAA0B;AAQhC,IAAM,6BAA6B;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;","names":[]}
@@ -0,0 +1,69 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ useWizardStore
4
+ } from "./chunk-K7PTOVX4.js";
5
+ import {
6
+ init_esm_shims
7
+ } from "./chunk-DHET7RCE.js";
8
+
9
+ // src/cli-v2/components/wizard/step-stack-options.tsx
10
+ init_esm_shims();
11
+ import { Box, Text } from "ink";
12
+ import { Select } from "@inkjs/ui";
13
+ import { jsx, jsxs } from "react/jsx-runtime";
14
+ var BACK_VALUE = "_back";
15
+ var DEFAULTS_VALUE = "defaults";
16
+ var CUSTOMIZE_VALUE = "customize";
17
+ var StepStackOptions = ({
18
+ stackName,
19
+ technologyCount
20
+ }) => {
21
+ const { setStep, setStackAction, goBack } = useWizardStore();
22
+ const options = [
23
+ { value: BACK_VALUE, label: "\u2190 Back" },
24
+ {
25
+ value: DEFAULTS_VALUE,
26
+ label: `Continue with defaults (${technologyCount} technologies)`
27
+ },
28
+ {
29
+ value: CUSTOMIZE_VALUE,
30
+ label: "Customize technologies"
31
+ }
32
+ ];
33
+ const handleSelect = (value) => {
34
+ if (value === BACK_VALUE) {
35
+ goBack();
36
+ return;
37
+ }
38
+ if (value === DEFAULTS_VALUE) {
39
+ setStackAction("defaults");
40
+ setStep("refine");
41
+ return;
42
+ }
43
+ if (value === CUSTOMIZE_VALUE) {
44
+ setStackAction("customize");
45
+ setStep("build");
46
+ return;
47
+ }
48
+ };
49
+ return /* @__PURE__ */ jsxs(Box, { flexDirection: "column", children: [
50
+ /* @__PURE__ */ jsxs(Text, { bold: true, children: [
51
+ "You selected: ",
52
+ /* @__PURE__ */ jsx(Text, { color: "cyan", children: stackName })
53
+ ] }),
54
+ /* @__PURE__ */ jsx(Text, { children: " " }),
55
+ /* @__PURE__ */ jsx(Text, { children: "What would you like to do?" }),
56
+ /* @__PURE__ */ jsx(Box, { marginTop: 1, children: /* @__PURE__ */ jsx(Select, { options, onChange: handleSelect }) }),
57
+ /* @__PURE__ */ jsx(Box, { marginTop: 1, children: /* @__PURE__ */ jsxs(Text, { dimColor: true, children: [
58
+ "\u2191",
59
+ "/",
60
+ "\u2193",
61
+ " navigate ENTER select ESC back"
62
+ ] }) })
63
+ ] });
64
+ };
65
+
66
+ export {
67
+ StepStackOptions
68
+ };
69
+ //# sourceMappingURL=chunk-A65SBAAJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli-v2/components/wizard/step-stack-options.tsx"],"sourcesContent":["/**\n * StepStackOptions component - Options after stack selection.\n *\n * After selecting a pre-built stack, user can:\n * 1. Continue with defaults -> goes to refine step\n * 2. Customize technologies -> goes to build step (pre-populated)\n *\n * Keyboard: Enter to select, Escape to go back\n */\nimport React from \"react\";\nimport { Box, Text, useInput } from \"ink\";\nimport { Select } from \"@inkjs/ui\";\nimport { useWizardStore } from \"../../stores/wizard-store.js\";\n\n// =============================================================================\n// Constants\n// =============================================================================\n\nconst BACK_VALUE = \"_back\";\nconst DEFAULTS_VALUE = \"defaults\";\nconst CUSTOMIZE_VALUE = \"customize\";\n\n// =============================================================================\n// Types\n// =============================================================================\n\nexport interface StepStackOptionsProps {\n /** Stack name for display */\n stackName: string;\n /** Number of technologies in the stack */\n technologyCount: number;\n}\n\n// =============================================================================\n// Component\n// =============================================================================\n\nexport const StepStackOptions: React.FC<StepStackOptionsProps> = ({\n stackName,\n technologyCount,\n}) => {\n const { setStep, setStackAction, goBack } = useWizardStore();\n\n const options = [\n { value: BACK_VALUE, label: \"\\u2190 Back\" },\n {\n value: DEFAULTS_VALUE,\n label: `Continue with defaults (${technologyCount} technologies)`,\n },\n {\n value: CUSTOMIZE_VALUE,\n label: \"Customize technologies\",\n },\n ];\n\n const handleSelect = (value: string) => {\n if (value === BACK_VALUE) {\n goBack();\n return;\n }\n\n if (value === DEFAULTS_VALUE) {\n setStackAction(\"defaults\");\n setStep(\"refine\");\n return;\n }\n\n if (value === CUSTOMIZE_VALUE) {\n setStackAction(\"customize\");\n setStep(\"build\");\n return;\n }\n };\n\n return (\n <Box flexDirection=\"column\">\n <Text bold>\n You selected: <Text color=\"cyan\">{stackName}</Text>\n </Text>\n <Text> </Text>\n <Text>What would you like to do?</Text>\n <Box marginTop={1}>\n <Select options={options} onChange={handleSelect} />\n </Box>\n <Box marginTop={1}>\n <Text dimColor>\n {\"\\u2191\"}/{\"\\u2193\"} navigate ENTER select ESC back\n </Text>\n </Box>\n </Box>\n );\n};\n"],"mappings":";;;;;;;;;AAAA;AAUA,SAAS,KAAK,YAAsB;AACpC,SAAS,cAAc;AAiEjB,SACgB,KADhB;AA1DN,IAAM,aAAa;AACnB,IAAM,iBAAiB;AACvB,IAAM,kBAAkB;AAiBjB,IAAM,mBAAoD,CAAC;AAAA,EAChE;AAAA,EACA;AACF,MAAM;AACJ,QAAM,EAAE,SAAS,gBAAgB,OAAO,IAAI,eAAe;AAE3D,QAAM,UAAU;AAAA,IACd,EAAE,OAAO,YAAY,OAAO,cAAc;AAAA,IAC1C;AAAA,MACE,OAAO;AAAA,MACP,OAAO,2BAA2B,eAAe;AAAA,IACnD;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,IACT;AAAA,EACF;AAEA,QAAM,eAAe,CAAC,UAAkB;AACtC,QAAI,UAAU,YAAY;AACxB,aAAO;AACP;AAAA,IACF;AAEA,QAAI,UAAU,gBAAgB;AAC5B,qBAAe,UAAU;AACzB,cAAQ,QAAQ;AAChB;AAAA,IACF;AAEA,QAAI,UAAU,iBAAiB;AAC7B,qBAAe,WAAW;AAC1B,cAAQ,OAAO;AACf;AAAA,IACF;AAAA,EACF;AAEA,SACE,qBAAC,OAAI,eAAc,UACjB;AAAA,yBAAC,QAAK,MAAI,MAAC;AAAA;AAAA,MACK,oBAAC,QAAK,OAAM,QAAQ,qBAAU;AAAA,OAC9C;AAAA,IACA,oBAAC,QAAK,eAAC;AAAA,IACP,oBAAC,QAAK,wCAA0B;AAAA,IAChC,oBAAC,OAAI,WAAW,GACd,8BAAC,UAAO,SAAkB,UAAU,cAAc,GACpD;AAAA,IACA,oBAAC,OAAI,WAAW,GACd,+BAAC,QAAK,UAAQ,MACX;AAAA;AAAA,MAAS;AAAA,MAAE;AAAA,MAAS;AAAA,OACvB,GACF;AAAA,KACF;AAEJ;","names":[]}
@@ -0,0 +1,80 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ init_esm_shims
4
+ } from "./chunk-DHET7RCE.js";
5
+
6
+ // src/cli-v2/components/wizard/wizard-tabs.tsx
7
+ init_esm_shims();
8
+ import { Box, Text } from "ink";
9
+ import { jsx, jsxs } from "react/jsx-runtime";
10
+ var WIZARD_STEPS = [
11
+ { id: "approach", label: "Approach", number: 1 },
12
+ { id: "stack", label: "Stack", number: 2 },
13
+ { id: "build", label: "Build", number: 3 },
14
+ { id: "refine", label: "Refine", number: 4 },
15
+ { id: "confirm", label: "Confirm", number: 5 }
16
+ ];
17
+ var getStepState = (stepId, currentStep, completedSteps, skippedSteps) => {
18
+ if (completedSteps.includes(stepId)) return "completed";
19
+ if (stepId === currentStep) return "current";
20
+ if (skippedSteps.includes(stepId)) return "skipped";
21
+ return "pending";
22
+ };
23
+ var getStatusSymbol = (state) => {
24
+ switch (state) {
25
+ case "completed":
26
+ return "\u2713";
27
+ case "current":
28
+ return "\u25CF";
29
+ case "pending":
30
+ return "\u25CB";
31
+ case "skipped":
32
+ return "\u25CB";
33
+ }
34
+ };
35
+ var getStatusColor = (state) => {
36
+ switch (state) {
37
+ case "completed":
38
+ return "green";
39
+ case "current":
40
+ return "cyan";
41
+ case "pending":
42
+ return void 0;
43
+ // default white
44
+ case "skipped":
45
+ return "gray";
46
+ }
47
+ };
48
+ var WizardTabs = ({
49
+ steps,
50
+ currentStep,
51
+ completedSteps,
52
+ skippedSteps = []
53
+ }) => {
54
+ return /* @__PURE__ */ jsx(Box, { flexDirection: "row", justifyContent: "space-around", marginBottom: 1, children: steps.map((step) => {
55
+ const state = getStepState(
56
+ step.id,
57
+ currentStep,
58
+ completedSteps,
59
+ skippedSteps
60
+ );
61
+ const symbol = getStatusSymbol(state);
62
+ const color = getStatusColor(state);
63
+ const dimmed = state === "skipped";
64
+ return /* @__PURE__ */ jsxs(Box, { flexDirection: "column", alignItems: "center", children: [
65
+ /* @__PURE__ */ jsxs(Text, { dimColor: dimmed, color: dimmed ? "gray" : void 0, children: [
66
+ "[",
67
+ step.number,
68
+ "] ",
69
+ step.label
70
+ ] }),
71
+ /* @__PURE__ */ jsx(Text, { color, dimColor: dimmed, children: symbol })
72
+ ] }, step.id);
73
+ }) });
74
+ };
75
+
76
+ export {
77
+ WIZARD_STEPS,
78
+ WizardTabs
79
+ };
80
+ //# sourceMappingURL=chunk-ALEPJ6YN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli-v2/components/wizard/wizard-tabs.tsx"],"sourcesContent":["/**\n * WizardTabs component - horizontal progress indicator for wizard steps.\n *\n * Displays all 5 wizard steps with visual indicators:\n * - Completed: green checkmark (✓)\n * - Current: cyan dot (●)\n * - Pending: white circle (○)\n * - Skipped: dimmed circle (○)\n */\nimport React from \"react\";\nimport { Box, Text } from \"ink\";\n\n// =============================================================================\n// Types\n// =============================================================================\n\nexport interface WizardTabStep {\n id: string;\n label: string;\n number: number;\n}\n\nexport interface WizardTabsProps {\n /** All wizard steps in order */\n steps: WizardTabStep[];\n /** Current active step ID */\n currentStep: string;\n /** IDs of completed steps */\n completedSteps: string[];\n /** IDs of skipped/inapplicable steps (shown dimmed) */\n skippedSteps?: string[];\n}\n\n// =============================================================================\n// Constants\n// =============================================================================\n\n/** Default wizard steps */\nexport const WIZARD_STEPS: WizardTabStep[] = [\n { id: \"approach\", label: \"Approach\", number: 1 },\n { id: \"stack\", label: \"Stack\", number: 2 },\n { id: \"build\", label: \"Build\", number: 3 },\n { id: \"refine\", label: \"Refine\", number: 4 },\n { id: \"confirm\", label: \"Confirm\", number: 5 },\n];\n\n// =============================================================================\n// Step State Helpers\n// =============================================================================\n\ntype StepState = \"completed\" | \"current\" | \"pending\" | \"skipped\";\n\nconst getStepState = (\n stepId: string,\n currentStep: string,\n completedSteps: string[],\n skippedSteps: string[],\n): StepState => {\n if (completedSteps.includes(stepId)) return \"completed\";\n if (stepId === currentStep) return \"current\";\n if (skippedSteps.includes(stepId)) return \"skipped\";\n return \"pending\";\n};\n\nconst getStatusSymbol = (state: StepState): string => {\n switch (state) {\n case \"completed\":\n return \"✓\";\n case \"current\":\n return \"●\";\n case \"pending\":\n return \"○\";\n case \"skipped\":\n return \"○\";\n }\n};\n\nconst getStatusColor = (state: StepState): string | undefined => {\n switch (state) {\n case \"completed\":\n return \"green\";\n case \"current\":\n return \"cyan\";\n case \"pending\":\n return undefined; // default white\n case \"skipped\":\n return \"gray\";\n }\n};\n\n// =============================================================================\n// Component\n// =============================================================================\n\nexport const WizardTabs: React.FC<WizardTabsProps> = ({\n steps,\n currentStep,\n completedSteps,\n skippedSteps = [],\n}) => {\n return (\n <Box flexDirection=\"row\" justifyContent=\"space-around\" marginBottom={1}>\n {steps.map((step) => {\n const state = getStepState(\n step.id,\n currentStep,\n completedSteps,\n skippedSteps,\n );\n const symbol = getStatusSymbol(state);\n const color = getStatusColor(state);\n const dimmed = state === \"skipped\";\n\n return (\n <Box key={step.id} flexDirection=\"column\" alignItems=\"center\">\n <Text dimColor={dimmed} color={dimmed ? \"gray\" : undefined}>\n [{step.number}] {step.label}\n </Text>\n <Text color={color} dimColor={dimmed}>\n {symbol}\n </Text>\n </Box>\n );\n })}\n </Box>\n );\n};\n"],"mappings":";;;;;;AAAA;AAUA,SAAS,KAAK,YAAY;AAyGd,SAGA,KAHA;AA7EL,IAAM,eAAgC;AAAA,EAC3C,EAAE,IAAI,YAAY,OAAO,YAAY,QAAQ,EAAE;AAAA,EAC/C,EAAE,IAAI,SAAS,OAAO,SAAS,QAAQ,EAAE;AAAA,EACzC,EAAE,IAAI,SAAS,OAAO,SAAS,QAAQ,EAAE;AAAA,EACzC,EAAE,IAAI,UAAU,OAAO,UAAU,QAAQ,EAAE;AAAA,EAC3C,EAAE,IAAI,WAAW,OAAO,WAAW,QAAQ,EAAE;AAC/C;AAQA,IAAM,eAAe,CACnB,QACA,aACA,gBACA,iBACc;AACd,MAAI,eAAe,SAAS,MAAM,EAAG,QAAO;AAC5C,MAAI,WAAW,YAAa,QAAO;AACnC,MAAI,aAAa,SAAS,MAAM,EAAG,QAAO;AAC1C,SAAO;AACT;AAEA,IAAM,kBAAkB,CAAC,UAA6B;AACpD,UAAQ,OAAO;AAAA,IACb,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,EACX;AACF;AAEA,IAAM,iBAAiB,CAAC,UAAyC;AAC/D,UAAQ,OAAO;AAAA,IACb,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA;AAAA,IACT,KAAK;AACH,aAAO;AAAA,EACX;AACF;AAMO,IAAM,aAAwC,CAAC;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe,CAAC;AAClB,MAAM;AACJ,SACE,oBAAC,OAAI,eAAc,OAAM,gBAAe,gBAAe,cAAc,GAClE,gBAAM,IAAI,CAAC,SAAS;AACnB,UAAM,QAAQ;AAAA,MACZ,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,UAAM,SAAS,gBAAgB,KAAK;AACpC,UAAM,QAAQ,eAAe,KAAK;AAClC,UAAM,SAAS,UAAU;AAEzB,WACE,qBAAC,OAAkB,eAAc,UAAS,YAAW,UACnD;AAAA,2BAAC,QAAK,UAAU,QAAQ,OAAO,SAAS,SAAS,QAAW;AAAA;AAAA,QACxD,KAAK;AAAA,QAAO;AAAA,QAAG,KAAK;AAAA,SACxB;AAAA,MACA,oBAAC,QAAK,OAAc,UAAU,QAC3B,kBACH;AAAA,SANQ,KAAK,EAOf;AAAA,EAEJ,CAAC,GACH;AAEJ;","names":[]}
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  fetchFromSource
4
- } from "./chunk-ZSKHDU5P.js";
4
+ } from "./chunk-NGBFJJ7Q.js";
5
5
  import {
6
6
  CLAUDE_DIR,
7
7
  DIRS,
8
8
  PROJECT_ROOT
9
- } from "./chunk-SJYG4EJZ.js";
9
+ } from "./chunk-A3J6IAXK.js";
10
10
  import {
11
11
  verbose
12
12
  } from "./chunk-TOPAIL5W.js";
@@ -81,4 +81,4 @@ async function fetchAgentDefinitionsFromRemote(source, options = {}) {
81
81
  export {
82
82
  getAgentDefinitions
83
83
  };
84
- //# sourceMappingURL=chunk-367K3JB3.js.map
84
+ //# sourceMappingURL=chunk-C4ZTIYFR.js.map
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  PROJECT_ROOT
4
- } from "./chunk-SJYG4EJZ.js";
4
+ } from "./chunk-A3J6IAXK.js";
5
5
  import {
6
6
  directoryExists,
7
7
  fileExists,
@@ -450,4 +450,4 @@ export {
450
450
  validateAllPlugins,
451
451
  printPluginValidationResult
452
452
  };
453
- //# sourceMappingURL=chunk-FKU7VSUD.js.map
453
+ //# sourceMappingURL=chunk-CIY5UBRB.js.map
@@ -6,10 +6,10 @@ import {
6
6
  mergeMatrixWithSkills,
7
7
  parseFrontmatter,
8
8
  resolveAgentConfigToSkills
9
- } from "./chunk-JMQGWQZU.js";
9
+ } from "./chunk-QGGSLMO3.js";
10
10
  import {
11
11
  fetchFromSource
12
- } from "./chunk-ZSKHDU5P.js";
12
+ } from "./chunk-NGBFJJ7Q.js";
13
13
  import {
14
14
  isLocalSource,
15
15
  resolveSource
@@ -19,7 +19,7 @@ import {
19
19
  PROJECT_ROOT,
20
20
  SKILLS_DIR_PATH,
21
21
  SKILLS_MATRIX_PATH
22
- } from "./chunk-SJYG4EJZ.js";
22
+ } from "./chunk-A3J6IAXK.js";
23
23
  import {
24
24
  verbose
25
25
  } from "./chunk-TOPAIL5W.js";
@@ -304,4 +304,4 @@ export {
304
304
  discoverLocalSkills,
305
305
  loadSkillsMatrixFromSource
306
306
  };
307
- //# sourceMappingURL=chunk-6WEQADPL.js.map
307
+ //# sourceMappingURL=chunk-DKGL77IY.js.map