@claude-collective/cli 0.29.4 → 0.30.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 (175) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/config/skills-matrix.yaml +1 -1
  3. package/config/stacks.yaml +1 -1
  4. package/dist/{chunk-XPMEGGJK.js → chunk-34E7MWJI.js} +13 -38
  5. package/dist/chunk-34E7MWJI.js.map +1 -0
  6. package/dist/{chunk-IFODQTCX.js → chunk-52XVP55K.js} +6 -3
  7. package/dist/chunk-52XVP55K.js.map +1 -0
  8. package/dist/{chunk-N73GQTCK.js → chunk-5P6RUVA7.js} +6 -6
  9. package/dist/{chunk-ZX5DM4D5.js → chunk-AGNT3FUE.js} +3 -3
  10. package/dist/{chunk-A4T4YSV4.js → chunk-AGQRRJSY.js} +2 -2
  11. package/dist/{chunk-6F3ZKDVE.js → chunk-AXND7NCM.js} +3 -3
  12. package/dist/{chunk-EP6J44I4.js → chunk-DH6F7EOJ.js} +5 -5
  13. package/dist/{chunk-AG5YGYJT.js → chunk-DTFEFLUU.js} +2 -2
  14. package/dist/chunk-EOJTMX7T.js +183 -0
  15. package/dist/chunk-EOJTMX7T.js.map +1 -0
  16. package/dist/{chunk-AJFSCLJ7.js → chunk-F23LEXMC.js} +2 -2
  17. package/dist/{chunk-G5WXKKQM.js → chunk-FFZSN5C5.js} +5 -5
  18. package/dist/chunk-FFZSN5C5.js.map +1 -0
  19. package/dist/{chunk-FY5D4KIC.js → chunk-H2NM6BDH.js} +2 -2
  20. package/dist/{chunk-56ERY7H7.js → chunk-HMZPUOWU.js} +4 -4
  21. package/dist/{chunk-RI5QEK5W.js → chunk-I6YQDA2J.js} +2 -2
  22. package/dist/{chunk-MQAYAISQ.js → chunk-JWIH7YQE.js} +2 -2
  23. package/dist/{chunk-VTUPUKFD.js → chunk-KFL72CWK.js} +2 -2
  24. package/dist/{chunk-OA5RCL2L.js → chunk-LY5HM34M.js} +2 -2
  25. package/dist/{chunk-XZKVOPCR.js → chunk-MYLRA7NI.js} +4 -4
  26. package/dist/{chunk-EUPMWSM3.js → chunk-QR2ONHDW.js} +5 -5
  27. package/dist/{chunk-SSHG7MEE.js → chunk-QUL7R35E.js} +307 -504
  28. package/dist/chunk-QUL7R35E.js.map +1 -0
  29. package/dist/{chunk-7UKQZSWT.js → chunk-RFW2RIM7.js} +2 -2
  30. package/dist/{chunk-PNXFJPXF.js → chunk-URUSBWWI.js} +2 -2
  31. package/dist/{chunk-GVVEPVR7.js → chunk-VHVRPLDY.js} +4 -4
  32. package/dist/{chunk-IRG52AN5.js → chunk-VIBOSHRL.js} +2 -2
  33. package/dist/{chunk-IQUBOWWU.js → chunk-WWLEF4MQ.js} +3 -3
  34. package/dist/{chunk-WLQUQXWO.js → chunk-WXW6SQ5K.js} +3 -3
  35. package/dist/{chunk-DUIYVKFK.js → chunk-X5AD7WWC.js} +12 -12
  36. package/dist/commands/build/marketplace.js +1 -1
  37. package/dist/commands/build/plugins.js +3 -3
  38. package/dist/commands/build/stack.js +3 -3
  39. package/dist/commands/compile.js +21 -70
  40. package/dist/commands/compile.js.map +1 -1
  41. package/dist/commands/config/get.js +2 -2
  42. package/dist/commands/config/index.js +3 -3
  43. package/dist/commands/config/path.js +2 -2
  44. package/dist/commands/config/set-project.js +2 -2
  45. package/dist/commands/config/show.js +3 -3
  46. package/dist/commands/config/unset-project.js +2 -2
  47. package/dist/commands/diff.js +2 -2
  48. package/dist/commands/doctor.js +2 -2
  49. package/dist/commands/edit.js +40 -71
  50. package/dist/commands/edit.js.map +1 -1
  51. package/dist/commands/eject.js +2 -2
  52. package/dist/commands/import/skill.js +2 -2
  53. package/dist/commands/info.js +2 -2
  54. package/dist/commands/init.js +79 -109
  55. package/dist/commands/init.js.map +1 -1
  56. package/dist/commands/list.js +2 -2
  57. package/dist/commands/new/agent.js +5 -3
  58. package/dist/commands/new/agent.js.map +1 -1
  59. package/dist/commands/new/skill.js +2 -2
  60. package/dist/commands/outdated.js +2 -2
  61. package/dist/commands/search.js +4 -4
  62. package/dist/commands/uninstall.js +41 -29
  63. package/dist/commands/uninstall.js.map +1 -1
  64. package/dist/commands/update.js +4 -6
  65. package/dist/commands/update.js.map +1 -1
  66. package/dist/commands/validate.js +2 -2
  67. package/dist/commands/version/bump.js +2 -2
  68. package/dist/commands/version/index.js +2 -2
  69. package/dist/commands/version/set.js +2 -2
  70. package/dist/commands/version/show.js +2 -2
  71. package/dist/components/skill-search/skill-search.js +3 -3
  72. package/dist/components/wizard/category-grid.js +2 -2
  73. package/dist/components/wizard/category-grid.test.js +2 -2
  74. package/dist/components/wizard/domain-selection.js +4 -4
  75. package/dist/components/wizard/help-modal.js +2 -2
  76. package/dist/components/wizard/menu-item.js +2 -2
  77. package/dist/components/wizard/search-modal.js +2 -2
  78. package/dist/components/wizard/search-modal.test.js +2 -2
  79. package/dist/components/wizard/section-progress.js +2 -2
  80. package/dist/components/wizard/section-progress.test.js +2 -2
  81. package/dist/components/wizard/source-grid.js +3 -3
  82. package/dist/components/wizard/source-grid.test.js +3 -3
  83. package/dist/components/wizard/stack-selection.js +6 -6
  84. package/dist/components/wizard/step-approach.js +6 -6
  85. package/dist/components/wizard/step-approach.test.js +6 -6
  86. package/dist/components/wizard/step-build.js +5 -5
  87. package/dist/components/wizard/step-build.test.js +5 -5
  88. package/dist/components/wizard/step-confirm.js +2 -2
  89. package/dist/components/wizard/step-confirm.test.js +4 -4
  90. package/dist/components/wizard/step-refine.js +2 -2
  91. package/dist/components/wizard/step-refine.test.js +2 -2
  92. package/dist/components/wizard/step-settings.js +4 -4
  93. package/dist/components/wizard/step-settings.test.js +8 -8
  94. package/dist/components/wizard/step-settings.test.js.map +1 -1
  95. package/dist/components/wizard/step-sources.js +7 -7
  96. package/dist/components/wizard/step-sources.test.js +7 -7
  97. package/dist/components/wizard/step-stack.js +8 -8
  98. package/dist/components/wizard/step-stack.test.js +8 -8
  99. package/dist/components/wizard/view-title.js +2 -2
  100. package/dist/components/wizard/wizard-layout.js +6 -6
  101. package/dist/components/wizard/wizard-tabs.js +2 -2
  102. package/dist/components/wizard/wizard-tabs.test.js +2 -2
  103. package/dist/components/wizard/wizard.js +21 -21
  104. package/dist/config/skills-matrix.yaml +1 -1
  105. package/dist/config/stacks.yaml +1 -1
  106. package/dist/hooks/init.js +2 -2
  107. package/dist/{source-manager-TV2YGPAN.js → source-manager-S5XTC6RW.js} +3 -3
  108. package/dist/src/agents/developer/api-developer/agent.yaml +1 -1
  109. package/dist/src/agents/developer/cli-developer/agent.yaml +1 -1
  110. package/dist/src/agents/developer/web-architecture/agent.yaml +1 -1
  111. package/dist/src/agents/developer/web-developer/agent.yaml +1 -1
  112. package/dist/src/agents/meta/agent-summoner/agent.yaml +1 -1
  113. package/dist/src/agents/meta/documentor/agent.yaml +1 -1
  114. package/dist/src/agents/meta/skill-summoner/agent.yaml +1 -1
  115. package/dist/src/agents/meta/skill-summoner/output-format.md +1 -1
  116. package/dist/src/agents/migration/cli-migrator/agent.yaml +1 -1
  117. package/dist/src/agents/pattern/pattern-scout/agent.yaml +1 -1
  118. package/dist/src/agents/pattern/web-pattern-critique/agent.yaml +1 -1
  119. package/dist/src/agents/planning/web-pm/agent.yaml +1 -1
  120. package/dist/src/agents/researcher/api-researcher/agent.yaml +1 -1
  121. package/dist/src/agents/researcher/web-researcher/agent.yaml +1 -1
  122. package/dist/src/agents/reviewer/api-reviewer/agent.yaml +1 -1
  123. package/dist/src/agents/reviewer/cli-reviewer/agent.yaml +1 -1
  124. package/dist/src/agents/reviewer/web-reviewer/agent.yaml +1 -1
  125. package/dist/src/agents/tester/cli-tester/agent.yaml +1 -1
  126. package/dist/src/agents/tester/web-tester/agent.yaml +1 -1
  127. package/dist/stores/wizard-store.js +3 -3
  128. package/dist/stores/wizard-store.test.js +3 -3
  129. package/package.json +1 -1
  130. package/src/agents/developer/api-developer/agent.yaml +1 -1
  131. package/src/agents/developer/cli-developer/agent.yaml +1 -1
  132. package/src/agents/developer/web-architecture/agent.yaml +1 -1
  133. package/src/agents/developer/web-developer/agent.yaml +1 -1
  134. package/src/agents/meta/agent-summoner/agent.yaml +1 -1
  135. package/src/agents/meta/documentor/agent.yaml +1 -1
  136. package/src/agents/meta/skill-summoner/agent.yaml +1 -1
  137. package/src/agents/meta/skill-summoner/output-format.md +1 -1
  138. package/src/agents/migration/cli-migrator/agent.yaml +1 -1
  139. package/src/agents/pattern/pattern-scout/agent.yaml +1 -1
  140. package/src/agents/pattern/web-pattern-critique/agent.yaml +1 -1
  141. package/src/agents/planning/web-pm/agent.yaml +1 -1
  142. package/src/agents/researcher/api-researcher/agent.yaml +1 -1
  143. package/src/agents/researcher/web-researcher/agent.yaml +1 -1
  144. package/src/agents/reviewer/api-reviewer/agent.yaml +1 -1
  145. package/src/agents/reviewer/cli-reviewer/agent.yaml +1 -1
  146. package/src/agents/reviewer/web-reviewer/agent.yaml +1 -1
  147. package/src/agents/tester/cli-tester/agent.yaml +1 -1
  148. package/src/agents/tester/web-tester/agent.yaml +1 -1
  149. package/dist/chunk-G5WXKKQM.js.map +0 -1
  150. package/dist/chunk-IFODQTCX.js.map +0 -1
  151. package/dist/chunk-SSHG7MEE.js.map +0 -1
  152. package/dist/chunk-XPMEGGJK.js.map +0 -1
  153. /package/dist/{chunk-N73GQTCK.js.map → chunk-5P6RUVA7.js.map} +0 -0
  154. /package/dist/{chunk-ZX5DM4D5.js.map → chunk-AGNT3FUE.js.map} +0 -0
  155. /package/dist/{chunk-A4T4YSV4.js.map → chunk-AGQRRJSY.js.map} +0 -0
  156. /package/dist/{chunk-6F3ZKDVE.js.map → chunk-AXND7NCM.js.map} +0 -0
  157. /package/dist/{chunk-EP6J44I4.js.map → chunk-DH6F7EOJ.js.map} +0 -0
  158. /package/dist/{chunk-AG5YGYJT.js.map → chunk-DTFEFLUU.js.map} +0 -0
  159. /package/dist/{chunk-AJFSCLJ7.js.map → chunk-F23LEXMC.js.map} +0 -0
  160. /package/dist/{chunk-FY5D4KIC.js.map → chunk-H2NM6BDH.js.map} +0 -0
  161. /package/dist/{chunk-56ERY7H7.js.map → chunk-HMZPUOWU.js.map} +0 -0
  162. /package/dist/{chunk-RI5QEK5W.js.map → chunk-I6YQDA2J.js.map} +0 -0
  163. /package/dist/{chunk-MQAYAISQ.js.map → chunk-JWIH7YQE.js.map} +0 -0
  164. /package/dist/{chunk-VTUPUKFD.js.map → chunk-KFL72CWK.js.map} +0 -0
  165. /package/dist/{chunk-OA5RCL2L.js.map → chunk-LY5HM34M.js.map} +0 -0
  166. /package/dist/{chunk-XZKVOPCR.js.map → chunk-MYLRA7NI.js.map} +0 -0
  167. /package/dist/{chunk-EUPMWSM3.js.map → chunk-QR2ONHDW.js.map} +0 -0
  168. /package/dist/{chunk-7UKQZSWT.js.map → chunk-RFW2RIM7.js.map} +0 -0
  169. /package/dist/{chunk-PNXFJPXF.js.map → chunk-URUSBWWI.js.map} +0 -0
  170. /package/dist/{chunk-GVVEPVR7.js.map → chunk-VHVRPLDY.js.map} +0 -0
  171. /package/dist/{chunk-IRG52AN5.js.map → chunk-VIBOSHRL.js.map} +0 -0
  172. /package/dist/{chunk-IQUBOWWU.js.map → chunk-WWLEF4MQ.js.map} +0 -0
  173. /package/dist/{chunk-WLQUQXWO.js.map → chunk-WXW6SQ5K.js.map} +0 -0
  174. /package/dist/{chunk-DUIYVKFK.js.map → chunk-X5AD7WWC.js.map} +0 -0
  175. /package/dist/{source-manager-TV2YGPAN.js.map → source-manager-S5XTC6RW.js.map} +0 -0
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  CLI_COLORS,
4
4
  UI_SYMBOLS
5
- } from "./chunk-IFODQTCX.js";
5
+ } from "./chunk-52XVP55K.js";
6
6
  import {
7
7
  init_esm_shims
8
8
  } from "./chunk-AWKZ5BDL.js";
@@ -77,4 +77,4 @@ export {
77
77
  WIZARD_STEPS,
78
78
  WizardTabs
79
79
  };
80
- //# sourceMappingURL=chunk-7UKQZSWT.js.map
80
+ //# sourceMappingURL=chunk-RFW2RIM7.js.map
@@ -10,7 +10,7 @@ import {
10
10
  loadProjectSourceConfig,
11
11
  resolveAgentsSource,
12
12
  resolveSource
13
- } from "./chunk-SSHG7MEE.js";
13
+ } from "./chunk-QUL7R35E.js";
14
14
  import {
15
15
  init_esm_shims
16
16
  } from "./chunk-AWKZ5BDL.js";
@@ -85,4 +85,4 @@ var ConfigShow = class _ConfigShow extends BaseCommand {
85
85
  export {
86
86
  ConfigShow
87
87
  };
88
- //# sourceMappingURL=chunk-PNXFJPXF.js.map
88
+ //# sourceMappingURL=chunk-URUSBWWI.js.map
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ViewTitle
4
- } from "./chunk-FY5D4KIC.js";
4
+ } from "./chunk-H2NM6BDH.js";
5
5
  import {
6
6
  MenuItem
7
- } from "./chunk-OA5RCL2L.js";
7
+ } from "./chunk-LY5HM34M.js";
8
8
  import {
9
9
  useKeyboardNavigation
10
10
  } from "./chunk-7ICBJZV2.js";
11
11
  import {
12
12
  useWizardStore
13
- } from "./chunk-IQUBOWWU.js";
13
+ } from "./chunk-WWLEF4MQ.js";
14
14
  import {
15
15
  init_esm_shims
16
16
  } from "./chunk-AWKZ5BDL.js";
@@ -65,4 +65,4 @@ var StepApproach = () => {
65
65
  export {
66
66
  StepApproach
67
67
  };
68
- //# sourceMappingURL=chunk-GVVEPVR7.js.map
68
+ //# sourceMappingURL=chunk-VHVRPLDY.js.map
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  CLI_COLORS,
7
7
  UI_SYMBOLS
8
- } from "./chunk-IFODQTCX.js";
8
+ } from "./chunk-52XVP55K.js";
9
9
  import {
10
10
  init_esm_shims
11
11
  } from "./chunk-AWKZ5BDL.js";
@@ -384,4 +384,4 @@ var CategoryGrid = ({
384
384
  export {
385
385
  CategoryGrid
386
386
  };
387
- //# sourceMappingURL=chunk-IRG52AN5.js.map
387
+ //# sourceMappingURL=chunk-VIBOSHRL.js.map
@@ -3,13 +3,13 @@ import {
3
3
  resolveAlias,
4
4
  typedEntries,
5
5
  typedKeys
6
- } from "./chunk-SSHG7MEE.js";
6
+ } from "./chunk-QUL7R35E.js";
7
7
  import {
8
8
  warn
9
9
  } from "./chunk-5WIHSJRO.js";
10
10
  import {
11
11
  DEFAULT_PRESELECTED_SKILLS
12
- } from "./chunk-IFODQTCX.js";
12
+ } from "./chunk-52XVP55K.js";
13
13
  import {
14
14
  init_esm_shims
15
15
  } from "./chunk-AWKZ5BDL.js";
@@ -363,4 +363,4 @@ var useWizardStore = create((set, get) => ({
363
363
  export {
364
364
  useWizardStore
365
365
  };
366
- //# sourceMappingURL=chunk-IQUBOWWU.js.map
366
+ //# sourceMappingURL=chunk-WWLEF4MQ.js.map
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  useWizardStore
4
- } from "./chunk-IQUBOWWU.js";
4
+ } from "./chunk-WWLEF4MQ.js";
5
5
  import {
6
6
  CLI_COLORS
7
- } from "./chunk-IFODQTCX.js";
7
+ } from "./chunk-52XVP55K.js";
8
8
  import {
9
9
  init_esm_shims
10
10
  } from "./chunk-AWKZ5BDL.js";
@@ -80,4 +80,4 @@ var DomainSelection = () => {
80
80
  export {
81
81
  DomainSelection
82
82
  };
83
- //# sourceMappingURL=chunk-WLQUQXWO.js.map
83
+ //# sourceMappingURL=chunk-WXW6SQ5K.js.map
@@ -1,44 +1,44 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  WizardLayout
4
- } from "./chunk-EP6J44I4.js";
4
+ } from "./chunk-DH6F7EOJ.js";
5
5
  import {
6
6
  StepSettings
7
- } from "./chunk-G5WXKKQM.js";
7
+ } from "./chunk-FFZSN5C5.js";
8
8
  import {
9
9
  StepSources
10
- } from "./chunk-N73GQTCK.js";
10
+ } from "./chunk-5P6RUVA7.js";
11
11
  import {
12
12
  StepStack
13
- } from "./chunk-56ERY7H7.js";
13
+ } from "./chunk-HMZPUOWU.js";
14
14
  import {
15
15
  StepApproach
16
- } from "./chunk-GVVEPVR7.js";
16
+ } from "./chunk-VHVRPLDY.js";
17
17
  import {
18
18
  StepBuild
19
- } from "./chunk-EUPMWSM3.js";
19
+ } from "./chunk-QR2ONHDW.js";
20
20
  import {
21
21
  StepConfirm
22
- } from "./chunk-AG5YGYJT.js";
22
+ } from "./chunk-DTFEFLUU.js";
23
23
  import {
24
24
  getStackName
25
25
  } from "./chunk-V2ZIH7HV.js";
26
26
  import {
27
27
  cliTheme
28
- } from "./chunk-AJFSCLJ7.js";
28
+ } from "./chunk-F23LEXMC.js";
29
29
  import {
30
30
  useWizardStore
31
- } from "./chunk-IQUBOWWU.js";
31
+ } from "./chunk-WWLEF4MQ.js";
32
32
  import {
33
33
  resolveAlias,
34
34
  validateSelection
35
- } from "./chunk-SSHG7MEE.js";
35
+ } from "./chunk-QUL7R35E.js";
36
36
  import {
37
37
  warn
38
38
  } from "./chunk-5WIHSJRO.js";
39
39
  import {
40
40
  CLI_COLORS
41
- } from "./chunk-IFODQTCX.js";
41
+ } from "./chunk-52XVP55K.js";
42
42
  import {
43
43
  init_esm_shims
44
44
  } from "./chunk-AWKZ5BDL.js";
@@ -291,4 +291,4 @@ var Wizard = ({
291
291
  export {
292
292
  Wizard
293
293
  };
294
- //# sourceMappingURL=chunk-DUIYVKFK.js.map
294
+ //# sourceMappingURL=chunk-X5AD7WWC.js.map
@@ -17,7 +17,7 @@ import {
17
17
  DEFAULT_PLUGIN_NAME,
18
18
  DEFAULT_VERSION,
19
19
  MAX_PLUGIN_FILE_SIZE
20
- } from "../../chunk-IFODQTCX.js";
20
+ } from "../../chunk-52XVP55K.js";
21
21
  import {
22
22
  init_esm_shims
23
23
  } from "../../chunk-AWKZ5BDL.js";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  compileAllAgentPlugins,
4
4
  printAgentCompilationSummary
5
- } from "../../chunk-XPMEGGJK.js";
5
+ } from "../../chunk-34E7MWJI.js";
6
6
  import {
7
7
  BaseCommand
8
8
  } from "../../chunk-5I6VY2E7.js";
@@ -10,13 +10,13 @@ import {
10
10
  compileAllSkillPlugins,
11
11
  compileSkillPlugin,
12
12
  printCompilationSummary
13
- } from "../../chunk-SSHG7MEE.js";
13
+ } from "../../chunk-QUL7R35E.js";
14
14
  import {
15
15
  setVerbose
16
16
  } from "../../chunk-5WIHSJRO.js";
17
17
  import {
18
18
  DIRS
19
- } from "../../chunk-IFODQTCX.js";
19
+ } from "../../chunk-52XVP55K.js";
20
20
  import {
21
21
  init_esm_shims
22
22
  } from "../../chunk-AWKZ5BDL.js";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  getAgentDefinitions
4
- } from "../../chunk-XPMEGGJK.js";
4
+ } from "../../chunk-34E7MWJI.js";
5
5
  import {
6
6
  BaseCommand,
7
7
  EXIT_CODES
@@ -10,13 +10,13 @@ import {
10
10
  compileStackPlugin,
11
11
  loadStacks,
12
12
  printStackCompilationSummary
13
- } from "../../chunk-SSHG7MEE.js";
13
+ } from "../../chunk-QUL7R35E.js";
14
14
  import {
15
15
  setVerbose
16
16
  } from "../../chunk-5WIHSJRO.js";
17
17
  import {
18
18
  PROJECT_ROOT
19
- } from "../../chunk-IFODQTCX.js";
19
+ } from "../../chunk-52XVP55K.js";
20
20
  import {
21
21
  init_esm_shims
22
22
  } from "../../chunk-AWKZ5BDL.js";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  getAgentDefinitions,
4
4
  recompileAgents
5
- } from "../chunk-XPMEGGJK.js";
5
+ } from "../chunk-34E7MWJI.js";
6
6
  import {
7
7
  DRY_RUN_MESSAGES,
8
8
  ERROR_MESSAGES,
@@ -16,36 +16,26 @@ import {
16
16
  } from "../chunk-5I6VY2E7.js";
17
17
  import {
18
18
  detectInstallation,
19
- getCollectivePluginDir,
20
- getPluginAgentsDir,
21
- getPluginManifestPath,
22
- getProjectPluginsDir,
19
+ discoverAllPluginSkills,
23
20
  getStackSkillIds,
24
- loadPluginSkills,
25
21
  normalizeStackRecord,
26
22
  parseFrontmatter,
27
23
  resolveSource,
28
24
  typedEntries
29
- } from "../chunk-SSHG7MEE.js";
25
+ } from "../chunk-QUL7R35E.js";
30
26
  import {
31
27
  directoryExists,
32
28
  ensureDir,
33
29
  fileExists,
34
30
  glob,
35
- listDirectories,
36
- pluginManifestSchema,
37
31
  projectConfigLoaderSchema,
38
32
  readFile,
39
- readFileSafe,
40
33
  setVerbose,
41
34
  verbose
42
35
  } from "../chunk-5WIHSJRO.js";
43
36
  import {
44
- DEFAULT_PLUGIN_NAME,
45
- LOCAL_SKILLS_PATH,
46
- MAX_PLUGIN_FILE_SIZE,
47
- STANDARD_FILES
48
- } from "../chunk-IFODQTCX.js";
37
+ LOCAL_SKILLS_PATH
38
+ } from "../chunk-52XVP55K.js";
49
39
  import {
50
40
  init_esm_shims
51
41
  } from "../chunk-AWKZ5BDL.js";
@@ -83,27 +73,6 @@ async function loadSkillsFromDir(skillsDir, pathPrefix = "") {
83
73
  }
84
74
  return skills;
85
75
  }
86
- async function discoverPluginSkills(projectDir) {
87
- const allSkills = {};
88
- const pluginsDir = getProjectPluginsDir(projectDir);
89
- if (!await directoryExists(pluginsDir)) {
90
- verbose(`No plugins directory found at ${pluginsDir}`);
91
- return allSkills;
92
- }
93
- const pluginDirs = await listDirectories(pluginsDir);
94
- for (const pluginName of pluginDirs) {
95
- const pluginDir = path.join(pluginsDir, pluginName);
96
- const pluginSkillsDir = path.join(pluginDir, "skills");
97
- if (await directoryExists(pluginSkillsDir)) {
98
- verbose(`Discovering skills from plugin: ${pluginName}`);
99
- const pluginSkills = await loadPluginSkills(pluginDir);
100
- for (const [id, skill] of Object.entries(pluginSkills)) {
101
- allSkills[id] = skill;
102
- }
103
- }
104
- }
105
- return allSkills;
106
- }
107
76
  async function discoverLocalProjectSkills(projectDir) {
108
77
  const localSkillsDir = path.join(projectDir, LOCAL_SKILLS_PATH);
109
78
  return loadSkillsFromDir(localSkillsDir, LOCAL_SKILLS_PATH);
@@ -119,18 +88,6 @@ function mergeSkills(...skillSources) {
119
88
  }
120
89
  return merged;
121
90
  }
122
- async function readPluginManifest(pluginDir) {
123
- const manifestPath = getPluginManifestPath(pluginDir);
124
- if (!await fileExists(manifestPath)) {
125
- return null;
126
- }
127
- try {
128
- const content = await readFileSafe(manifestPath, MAX_PLUGIN_FILE_SIZE);
129
- return pluginManifestSchema.parse(JSON.parse(content));
130
- } catch {
131
- return null;
132
- }
133
- }
134
91
  var Compile = class _Compile extends BaseCommand {
135
92
  static summary = "Compile agents using local skills and agent definitions";
136
93
  static description = "Compile agents with resolved skill references. By default, compiles to the Claude plugin directory. Use --output to compile to a custom directory.";
@@ -185,13 +142,13 @@ var Compile = class _Compile extends BaseCommand {
185
142
  output: installation.agentsDir
186
143
  });
187
144
  } else {
188
- await this.runPluginModeCompile(flags);
145
+ await this.runPluginModeCompile(flags, installation);
189
146
  }
190
147
  }
191
148
  async discoverAllSkills() {
192
149
  const projectDir = process.cwd();
193
150
  this.log(STATUS_MESSAGES.DISCOVERING_SKILLS);
194
- const pluginSkills = await discoverPluginSkills(projectDir);
151
+ const pluginSkills = await discoverAllPluginSkills(projectDir);
195
152
  const pluginSkillCount = Object.keys(pluginSkills).length;
196
153
  verbose(` Found ${pluginSkillCount} skills from installed plugins`);
197
154
  const localSkills = await discoverLocalProjectSkills(projectDir);
@@ -246,23 +203,16 @@ var Compile = class _Compile extends BaseCommand {
246
203
  return this.handleError(error);
247
204
  }
248
205
  }
249
- async runPluginModeCompile(flags) {
206
+ async runPluginModeCompile(flags, installation) {
250
207
  this.log("");
251
208
  this.log("Plugin Mode Compile");
252
209
  this.log("");
253
- const pluginDir = getCollectivePluginDir();
254
- this.log("Finding plugin...");
255
- if (!await directoryExists(pluginDir)) {
256
- this.log("No plugin found");
257
- this.error("No plugin found. Run 'cc init' first to create a plugin.", {
258
- exit: EXIT_CODES.ERROR
259
- });
260
- }
261
- const manifest = await readPluginManifest(pluginDir);
262
- const pluginName = manifest?.name ?? DEFAULT_PLUGIN_NAME;
263
- this.log(`Found plugin: ${pluginName}`);
264
- verbose(` Path: ${pluginDir}`);
265
- const configPath = path.join(pluginDir, STANDARD_FILES.CONFIG_YAML);
210
+ const projectDir = installation.projectDir;
211
+ const agentsDir = installation.agentsDir;
212
+ this.log("Using individual plugin mode");
213
+ verbose(` Project: ${projectDir}`);
214
+ verbose(` Agents: ${agentsDir}`);
215
+ const configPath = installation.configPath;
266
216
  const hasConfig = await fileExists(configPath);
267
217
  if (hasConfig) {
268
218
  try {
@@ -296,7 +246,7 @@ var Compile = class _Compile extends BaseCommand {
296
246
  this.log("");
297
247
  this.log(`[dry-run] Would compile ${totalSkillCount} skills`);
298
248
  this.log(`[dry-run] Would use agent partials from: ${agentDefs.sourcePath}`);
299
- this.log(`[dry-run] Would output to: ${getPluginAgentsDir(pluginDir)}`);
249
+ this.log(`[dry-run] Would output to: ${agentsDir}`);
300
250
  this.log(DRY_RUN_MESSAGES.COMPLETE_NO_FILES_WRITTEN);
301
251
  this.log("");
302
252
  return;
@@ -304,10 +254,11 @@ var Compile = class _Compile extends BaseCommand {
304
254
  this.log(STATUS_MESSAGES.RECOMPILING_AGENTS);
305
255
  try {
306
256
  const recompileResult = await recompileAgents({
307
- pluginDir,
257
+ pluginDir: projectDir,
308
258
  sourcePath: agentDefs.sourcePath,
309
259
  skills: allSkills,
310
- projectDir: process.cwd()
260
+ projectDir,
261
+ outputDir: agentsDir
311
262
  });
312
263
  if (recompileResult.failed.length > 0) {
313
264
  this.log(
@@ -351,16 +302,16 @@ var Compile = class _Compile extends BaseCommand {
351
302
  this.log("");
352
303
  return;
353
304
  }
354
- const pluginDir = getCollectivePluginDir();
305
+ const projectDir = process.cwd();
355
306
  this.log(STATUS_MESSAGES.COMPILING_AGENTS);
356
307
  try {
357
308
  await ensureDir(outputDir);
358
309
  const recompileResult = await recompileAgents({
359
- pluginDir,
310
+ pluginDir: projectDir,
360
311
  sourcePath: agentDefs.sourcePath,
361
312
  skills: allSkills,
362
313
  outputDir,
363
- projectDir: process.cwd()
314
+ projectDir
364
315
  });
365
316
  if (recompileResult.failed.length > 0) {
366
317
  this.log(
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/cli/commands/compile.ts"],"sourcesContent":["import { Flags } from \"@oclif/core\";\nimport path from \"path\";\nimport { parse as parseYaml } from \"yaml\";\nimport { BaseCommand } from \"../base-command\";\nimport { setVerbose, verbose } from \"../utils/logger\";\nimport {\n getCollectivePluginDir,\n getPluginAgentsDir,\n getPluginManifestPath,\n getProjectPluginsDir,\n} from \"../lib/plugins\";\nimport { getAgentDefinitions } from \"../lib/agents\";\nimport { resolveSource } from \"../lib/configuration\";\nimport {\n directoryExists,\n ensureDir,\n glob,\n readFile,\n readFileSafe,\n fileExists,\n listDirectories,\n} from \"../utils/fs\";\nimport { recompileAgents } from \"../lib/agents\";\nimport { loadPluginSkills, parseFrontmatter } from \"../lib/loading\";\nimport {\n DEFAULT_PLUGIN_NAME,\n LOCAL_SKILLS_PATH,\n MAX_PLUGIN_FILE_SIZE,\n STANDARD_FILES,\n} from \"../consts\";\nimport { EXIT_CODES } from \"../lib/exit-codes\";\nimport {\n ERROR_MESSAGES,\n SUCCESS_MESSAGES,\n STATUS_MESSAGES,\n DRY_RUN_MESSAGES,\n INFO_MESSAGES,\n} from \"../utils/messages\";\nimport { detectInstallation } from \"../lib/installation\";\nimport type {\n AgentSourcePaths,\n PluginManifest,\n ProjectConfig,\n SkillDefinition,\n SkillId,\n} from \"../types\";\nimport { pluginManifestSchema, projectConfigLoaderSchema } from \"../lib/schemas\";\nimport { normalizeStackRecord, getStackSkillIds } from \"../lib/stacks/stacks-loader\";\nimport { typedEntries } from \"../utils/typed-object\";\n\nasync function loadSkillsFromDir(\n skillsDir: string,\n pathPrefix = \"\",\n): Promise<Partial<Record<SkillId, SkillDefinition>>> {\n const skills: Partial<Record<SkillId, SkillDefinition>> = {};\n\n if (!(await directoryExists(skillsDir))) {\n return skills;\n }\n\n const skillFiles = await glob(\"**/SKILL.md\", skillsDir);\n\n for (const skillFile of skillFiles) {\n const skillPath = path.join(skillsDir, skillFile);\n const skillDir = path.dirname(skillPath);\n const relativePath = path.relative(skillsDir, skillDir);\n\n try {\n const content = await readFile(skillPath);\n const frontmatter = parseFrontmatter(content, skillPath);\n\n const skillName = frontmatter?.name || path.basename(skillDir);\n // Boundary cast: skill name from frontmatter/directory is an untyped string\n const canonicalId = skillName as SkillId;\n\n const skill: SkillDefinition = {\n id: canonicalId,\n path: pathPrefix ? `${pathPrefix}/${relativePath}/` : `${relativePath}/`,\n description: frontmatter?.description || \"\",\n };\n\n skills[canonicalId] = skill;\n verbose(` Loaded skill: ${canonicalId}`);\n } catch (error) {\n verbose(` Failed to load skill: ${skillFile} - ${error}`);\n }\n }\n\n return skills;\n}\n\nasync function discoverPluginSkills(\n projectDir: string,\n): Promise<Partial<Record<SkillId, SkillDefinition>>> {\n const allSkills: Partial<Record<SkillId, SkillDefinition>> = {};\n const pluginsDir = getProjectPluginsDir(projectDir);\n\n if (!(await directoryExists(pluginsDir))) {\n verbose(`No plugins directory found at ${pluginsDir}`);\n return allSkills;\n }\n\n const pluginDirs = await listDirectories(pluginsDir);\n\n for (const pluginName of pluginDirs) {\n const pluginDir = path.join(pluginsDir, pluginName);\n const pluginSkillsDir = path.join(pluginDir, \"skills\");\n\n if (await directoryExists(pluginSkillsDir)) {\n verbose(`Discovering skills from plugin: ${pluginName}`);\n const pluginSkills = await loadPluginSkills(pluginDir);\n\n for (const [id, skill] of Object.entries(pluginSkills)) {\n // Boundary cast: loadPluginSkills keys are skill IDs from frontmatter\n allSkills[id as SkillId] = skill;\n }\n }\n }\n\n return allSkills;\n}\n\nasync function discoverLocalProjectSkills(\n projectDir: string,\n): Promise<Partial<Record<SkillId, SkillDefinition>>> {\n const localSkillsDir = path.join(projectDir, LOCAL_SKILLS_PATH);\n return loadSkillsFromDir(localSkillsDir, LOCAL_SKILLS_PATH);\n}\n\n/** Merge skills from multiple sources. Later sources take precedence. */\nfunction mergeSkills(\n ...skillSources: Partial<Record<SkillId, SkillDefinition>>[]\n): Partial<Record<SkillId, SkillDefinition>> {\n const merged: Partial<Record<SkillId, SkillDefinition>> = {};\n\n for (const source of skillSources) {\n for (const [id, skill] of typedEntries<SkillId, SkillDefinition | undefined>(source)) {\n if (skill) {\n merged[id] = skill;\n }\n }\n }\n\n return merged;\n}\n\nasync function readPluginManifest(pluginDir: string): Promise<PluginManifest | null> {\n const manifestPath = getPluginManifestPath(pluginDir);\n\n if (!(await fileExists(manifestPath))) {\n return null;\n }\n\n try {\n const content = await readFileSafe(manifestPath, MAX_PLUGIN_FILE_SIZE);\n return pluginManifestSchema.parse(JSON.parse(content));\n } catch {\n return null;\n }\n}\n\ntype CompileFlags = {\n source?: string;\n \"agent-source\"?: string;\n refresh: boolean;\n verbose: boolean;\n \"dry-run\": boolean;\n};\n\ntype DiscoveredSkills = {\n allSkills: Partial<Record<SkillId, SkillDefinition>>;\n totalSkillCount: number;\n};\n\nexport default class Compile extends BaseCommand {\n static summary = \"Compile agents using local skills and agent definitions\";\n\n static description =\n \"Compile agents with resolved skill references. By default, compiles to the Claude plugin directory. Use --output to compile to a custom directory.\";\n\n static examples = [\n \"<%= config.bin %> <%= command.id %>\",\n \"<%= config.bin %> <%= command.id %> --verbose\",\n \"<%= config.bin %> <%= command.id %> --output ./agents\",\n \"<%= config.bin %> <%= command.id %> --dry-run\",\n \"<%= config.bin %> <%= command.id %> --source /path/to/marketplace --refresh\",\n ];\n\n static flags = {\n ...BaseCommand.baseFlags,\n verbose: Flags.boolean({\n char: \"v\",\n description: \"Enable verbose logging\",\n default: false,\n }),\n \"agent-source\": Flags.string({\n description: \"Remote agent partials source (default: local CLI)\",\n }),\n refresh: Flags.boolean({\n description: \"Force refresh from remote sources\",\n default: false,\n }),\n output: Flags.string({\n char: \"o\",\n description: \"Output directory for compiled agents (skips plugin mode)\",\n }),\n };\n\n async run(): Promise<void> {\n const { flags } = await this.parse(Compile);\n\n setVerbose(flags.verbose);\n\n if (flags.output) {\n await this.runCustomOutputCompile({\n ...flags,\n output: flags.output,\n });\n return;\n }\n\n const installation = await detectInstallation();\n\n if (!installation) {\n this.error(ERROR_MESSAGES.NO_INSTALLATION, {\n exit: EXIT_CODES.ERROR,\n });\n }\n\n if (installation.mode === \"local\") {\n this.log(\"\");\n this.log(\"Local Mode Compile (auto-detected)\");\n this.log(\"\");\n await this.runCustomOutputCompile({\n ...flags,\n output: installation.agentsDir,\n });\n } else {\n await this.runPluginModeCompile(flags);\n }\n }\n\n private async discoverAllSkills(): Promise<DiscoveredSkills> {\n const projectDir = process.cwd();\n this.log(STATUS_MESSAGES.DISCOVERING_SKILLS);\n\n const pluginSkills = await discoverPluginSkills(projectDir);\n const pluginSkillCount = Object.keys(pluginSkills).length;\n verbose(` Found ${pluginSkillCount} skills from installed plugins`);\n\n const localSkills = await discoverLocalProjectSkills(projectDir);\n const localSkillCount = Object.keys(localSkills).length;\n verbose(` Found ${localSkillCount} local skills from .claude/skills/`);\n\n const allSkills = mergeSkills(pluginSkills, localSkills);\n const totalSkillCount = Object.keys(allSkills).length;\n\n if (totalSkillCount === 0) {\n this.log(ERROR_MESSAGES.NO_SKILLS_FOUND);\n this.error(\n \"No skills found. Add skills with 'cc add <skill>' or create in .claude/skills/.\",\n { exit: EXIT_CODES.ERROR },\n );\n }\n\n if (localSkillCount > 0 && pluginSkillCount > 0) {\n this.log(\n `Discovered ${totalSkillCount} skills (${pluginSkillCount} from plugins, ${localSkillCount} local)`,\n );\n } else if (localSkillCount > 0) {\n this.log(`Discovered ${localSkillCount} local skills`);\n } else {\n this.log(`Discovered ${pluginSkillCount} skills from plugins`);\n }\n\n return { allSkills, totalSkillCount };\n }\n\n private async resolveSourceForCompile(flags: CompileFlags): Promise<void> {\n this.log(STATUS_MESSAGES.RESOLVING_SOURCE);\n try {\n const sourceConfig = await resolveSource(flags.source);\n this.log(`Source: ${sourceConfig.sourceOrigin}`);\n } catch (error) {\n this.log(ERROR_MESSAGES.FAILED_RESOLVE_SOURCE);\n this.handleError(error);\n }\n }\n\n private async loadAgentDefsForCompile(flags: CompileFlags): Promise<AgentSourcePaths> {\n const projectDir = process.cwd();\n this.log(\n flags[\"agent-source\"]\n ? STATUS_MESSAGES.FETCHING_AGENT_PARTIALS\n : STATUS_MESSAGES.LOADING_AGENT_PARTIALS,\n );\n\n try {\n const agentDefs = await getAgentDefinitions(flags[\"agent-source\"], {\n forceRefresh: flags.refresh,\n projectDir,\n });\n this.log(flags[\"agent-source\"] ? \"Agent partials fetched\" : \"Agent partials loaded\");\n verbose(` Agents: ${agentDefs.agentsDir}`);\n verbose(` Templates: ${agentDefs.templatesDir}`);\n return agentDefs;\n } catch (error) {\n this.log(ERROR_MESSAGES.FAILED_LOAD_AGENT_PARTIALS);\n return this.handleError(error);\n }\n }\n\n private async runPluginModeCompile(flags: CompileFlags): Promise<void> {\n this.log(\"\");\n this.log(\"Plugin Mode Compile\");\n this.log(\"\");\n\n const pluginDir = getCollectivePluginDir();\n this.log(\"Finding plugin...\");\n\n if (!(await directoryExists(pluginDir))) {\n this.log(\"No plugin found\");\n this.error(\"No plugin found. Run 'cc init' first to create a plugin.\", {\n exit: EXIT_CODES.ERROR,\n });\n }\n\n const manifest = await readPluginManifest(pluginDir);\n const pluginName = manifest?.name ?? DEFAULT_PLUGIN_NAME;\n\n this.log(`Found plugin: ${pluginName}`);\n verbose(` Path: ${pluginDir}`);\n\n const configPath = path.join(pluginDir, STANDARD_FILES.CONFIG_YAML);\n const hasConfig = await fileExists(configPath);\n if (hasConfig) {\n try {\n const configContent = await readFile(configPath);\n const parsed = parseYaml(configContent);\n const configResult = projectConfigLoaderSchema.safeParse(parsed);\n if (configResult.success) {\n // Boundary cast: Zod loader schema validates structure; cast narrows passthrough output\n const config = configResult.data as ProjectConfig;\n // Normalize stack values to SkillAssignment[] (same as loadProjectConfig)\n if (config.stack) {\n config.stack = normalizeStackRecord(\n config.stack as unknown as Record<string, Record<string, unknown>>,\n );\n }\n const agentCount = config.agents?.length ?? 0;\n const stackSkillCount = config.stack ? getStackSkillIds(config.stack).length : 0;\n this.log(`Using config.yaml (${agentCount} agents, ${stackSkillCount} skills)`);\n verbose(` Config: ${configPath}`);\n } else {\n this.warn(\"config.yaml found but has invalid structure - using defaults\");\n }\n } catch {\n this.warn(\"config.yaml found but could not be parsed - using defaults\");\n }\n } else {\n verbose(` No config.yaml found - using defaults`);\n }\n\n const { allSkills, totalSkillCount } = await this.discoverAllSkills();\n await this.resolveSourceForCompile(flags);\n const agentDefs = await this.loadAgentDefsForCompile(flags);\n\n if (flags[\"dry-run\"]) {\n this.log(\"\");\n this.log(`[dry-run] Would compile ${totalSkillCount} skills`);\n this.log(`[dry-run] Would use agent partials from: ${agentDefs.sourcePath}`);\n this.log(`[dry-run] Would output to: ${getPluginAgentsDir(pluginDir)}`);\n this.log(DRY_RUN_MESSAGES.COMPLETE_NO_FILES_WRITTEN);\n this.log(\"\");\n return;\n }\n\n this.log(STATUS_MESSAGES.RECOMPILING_AGENTS);\n try {\n const recompileResult = await recompileAgents({\n pluginDir,\n sourcePath: agentDefs.sourcePath,\n skills: allSkills,\n projectDir: process.cwd(),\n });\n\n if (recompileResult.failed.length > 0) {\n this.log(\n `Recompiled ${recompileResult.compiled.length} agents (${recompileResult.failed.length} failed)`,\n );\n for (const warning of recompileResult.warnings) {\n this.warn(warning);\n }\n } else if (recompileResult.compiled.length > 0) {\n this.log(`Recompiled ${recompileResult.compiled.length} agents`);\n } else {\n this.log(INFO_MESSAGES.NO_AGENTS_TO_RECOMPILE);\n }\n\n if (recompileResult.compiled.length > 0) {\n verbose(` Compiled: ${recompileResult.compiled.join(\", \")}`);\n }\n } catch (error) {\n this.log(ERROR_MESSAGES.FAILED_COMPILE_AGENTS);\n this.handleError(error);\n }\n\n this.log(\"\");\n this.logSuccess(SUCCESS_MESSAGES.PLUGIN_COMPILE_COMPLETE);\n this.log(\"\");\n }\n\n private async runCustomOutputCompile(flags: CompileFlags & { output: string }): Promise<void> {\n const outputDir = path.resolve(process.cwd(), flags.output);\n this.log(\"\");\n this.log(\"Custom Output Compile\");\n this.log(\"\");\n this.log(`Output directory: ${outputDir}`);\n this.log(\"\");\n\n const { allSkills, totalSkillCount } = await this.discoverAllSkills();\n await this.resolveSourceForCompile(flags);\n const agentDefs = await this.loadAgentDefsForCompile(flags);\n\n if (flags[\"dry-run\"]) {\n this.log(\"\");\n this.log(`[dry-run] Would compile agents with ${totalSkillCount} skills`);\n this.log(`[dry-run] Would use agent definitions from: ${agentDefs.sourcePath}`);\n this.log(`[dry-run] Would output to: ${outputDir}`);\n this.log(DRY_RUN_MESSAGES.COMPLETE_NO_FILES_WRITTEN);\n this.log(\"\");\n return;\n }\n\n const pluginDir = getCollectivePluginDir();\n\n this.log(STATUS_MESSAGES.COMPILING_AGENTS);\n try {\n await ensureDir(outputDir);\n\n const recompileResult = await recompileAgents({\n pluginDir,\n sourcePath: agentDefs.sourcePath,\n skills: allSkills,\n outputDir,\n projectDir: process.cwd(),\n });\n\n if (recompileResult.failed.length > 0) {\n this.log(\n `Compiled ${recompileResult.compiled.length} agents (${recompileResult.failed.length} failed)`,\n );\n for (const warning of recompileResult.warnings) {\n this.warn(warning);\n }\n } else if (recompileResult.compiled.length > 0) {\n this.log(`Compiled ${recompileResult.compiled.length} agents`);\n } else {\n this.log(INFO_MESSAGES.NO_AGENTS_TO_COMPILE);\n }\n\n if (recompileResult.compiled.length > 0) {\n verbose(` Compiled: ${recompileResult.compiled.join(\", \")}`);\n this.log(\"\");\n this.log(\"Agents compiled to:\");\n this.log(` ${outputDir}`);\n for (const agentName of recompileResult.compiled) {\n this.log(` ${agentName}.md`);\n }\n }\n } catch (error) {\n this.log(ERROR_MESSAGES.FAILED_COMPILE_AGENTS);\n this.handleError(error);\n }\n\n this.log(\"\");\n this.logSuccess(SUCCESS_MESSAGES.CUSTOM_COMPILE_COMPLETE);\n this.log(\"\");\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/cli/commands/compile.ts"],"sourcesContent":["import { Flags } from \"@oclif/core\";\nimport path from \"path\";\nimport { parse as parseYaml } from \"yaml\";\nimport { BaseCommand } from \"../base-command\";\nimport { setVerbose, verbose } from \"../utils/logger\";\nimport { discoverAllPluginSkills } from \"../lib/plugins\";\nimport { getAgentDefinitions } from \"../lib/agents\";\nimport { resolveSource } from \"../lib/configuration\";\nimport { directoryExists, ensureDir, glob, readFile, fileExists } from \"../utils/fs\";\nimport { recompileAgents } from \"../lib/agents\";\nimport { parseFrontmatter } from \"../lib/loading\";\nimport { LOCAL_SKILLS_PATH } from \"../consts\";\nimport { EXIT_CODES } from \"../lib/exit-codes\";\nimport {\n ERROR_MESSAGES,\n SUCCESS_MESSAGES,\n STATUS_MESSAGES,\n DRY_RUN_MESSAGES,\n INFO_MESSAGES,\n} from \"../utils/messages\";\nimport { detectInstallation, type Installation } from \"../lib/installation\";\nimport type { AgentSourcePaths, ProjectConfig, SkillDefinition, SkillId } from \"../types\";\nimport { projectConfigLoaderSchema } from \"../lib/schemas\";\nimport { normalizeStackRecord, getStackSkillIds } from \"../lib/stacks/stacks-loader\";\nimport { typedEntries } from \"../utils/typed-object\";\n\nasync function loadSkillsFromDir(\n skillsDir: string,\n pathPrefix = \"\",\n): Promise<Partial<Record<SkillId, SkillDefinition>>> {\n const skills: Partial<Record<SkillId, SkillDefinition>> = {};\n\n if (!(await directoryExists(skillsDir))) {\n return skills;\n }\n\n const skillFiles = await glob(\"**/SKILL.md\", skillsDir);\n\n for (const skillFile of skillFiles) {\n const skillPath = path.join(skillsDir, skillFile);\n const skillDir = path.dirname(skillPath);\n const relativePath = path.relative(skillsDir, skillDir);\n\n try {\n const content = await readFile(skillPath);\n const frontmatter = parseFrontmatter(content, skillPath);\n\n const skillName = frontmatter?.name || path.basename(skillDir);\n // Boundary cast: skill name from frontmatter/directory is an untyped string\n const canonicalId = skillName as SkillId;\n\n const skill: SkillDefinition = {\n id: canonicalId,\n path: pathPrefix ? `${pathPrefix}/${relativePath}/` : `${relativePath}/`,\n description: frontmatter?.description || \"\",\n };\n\n skills[canonicalId] = skill;\n verbose(` Loaded skill: ${canonicalId}`);\n } catch (error) {\n verbose(` Failed to load skill: ${skillFile} - ${error}`);\n }\n }\n\n return skills;\n}\n\nasync function discoverLocalProjectSkills(\n projectDir: string,\n): Promise<Partial<Record<SkillId, SkillDefinition>>> {\n const localSkillsDir = path.join(projectDir, LOCAL_SKILLS_PATH);\n return loadSkillsFromDir(localSkillsDir, LOCAL_SKILLS_PATH);\n}\n\n/** Merge skills from multiple sources. Later sources take precedence. */\nfunction mergeSkills(\n ...skillSources: Partial<Record<SkillId, SkillDefinition>>[]\n): Partial<Record<SkillId, SkillDefinition>> {\n const merged: Partial<Record<SkillId, SkillDefinition>> = {};\n\n for (const source of skillSources) {\n for (const [id, skill] of typedEntries<SkillId, SkillDefinition | undefined>(source)) {\n if (skill) {\n merged[id] = skill;\n }\n }\n }\n\n return merged;\n}\n\ntype CompileFlags = {\n source?: string;\n \"agent-source\"?: string;\n refresh: boolean;\n verbose: boolean;\n \"dry-run\": boolean;\n};\n\ntype DiscoveredSkills = {\n allSkills: Partial<Record<SkillId, SkillDefinition>>;\n totalSkillCount: number;\n};\n\nexport default class Compile extends BaseCommand {\n static summary = \"Compile agents using local skills and agent definitions\";\n\n static description =\n \"Compile agents with resolved skill references. By default, compiles to the Claude plugin directory. Use --output to compile to a custom directory.\";\n\n static examples = [\n \"<%= config.bin %> <%= command.id %>\",\n \"<%= config.bin %> <%= command.id %> --verbose\",\n \"<%= config.bin %> <%= command.id %> --output ./agents\",\n \"<%= config.bin %> <%= command.id %> --dry-run\",\n \"<%= config.bin %> <%= command.id %> --source /path/to/marketplace --refresh\",\n ];\n\n static flags = {\n ...BaseCommand.baseFlags,\n verbose: Flags.boolean({\n char: \"v\",\n description: \"Enable verbose logging\",\n default: false,\n }),\n \"agent-source\": Flags.string({\n description: \"Remote agent partials source (default: local CLI)\",\n }),\n refresh: Flags.boolean({\n description: \"Force refresh from remote sources\",\n default: false,\n }),\n output: Flags.string({\n char: \"o\",\n description: \"Output directory for compiled agents (skips plugin mode)\",\n }),\n };\n\n async run(): Promise<void> {\n const { flags } = await this.parse(Compile);\n\n setVerbose(flags.verbose);\n\n if (flags.output) {\n await this.runCustomOutputCompile({\n ...flags,\n output: flags.output,\n });\n return;\n }\n\n const installation = await detectInstallation();\n\n if (!installation) {\n this.error(ERROR_MESSAGES.NO_INSTALLATION, {\n exit: EXIT_CODES.ERROR,\n });\n }\n\n if (installation.mode === \"local\") {\n this.log(\"\");\n this.log(\"Local Mode Compile (auto-detected)\");\n this.log(\"\");\n await this.runCustomOutputCompile({\n ...flags,\n output: installation.agentsDir,\n });\n } else {\n await this.runPluginModeCompile(flags, installation);\n }\n }\n\n private async discoverAllSkills(): Promise<DiscoveredSkills> {\n const projectDir = process.cwd();\n this.log(STATUS_MESSAGES.DISCOVERING_SKILLS);\n\n const pluginSkills = await discoverAllPluginSkills(projectDir);\n const pluginSkillCount = Object.keys(pluginSkills).length;\n verbose(` Found ${pluginSkillCount} skills from installed plugins`);\n\n const localSkills = await discoverLocalProjectSkills(projectDir);\n const localSkillCount = Object.keys(localSkills).length;\n verbose(` Found ${localSkillCount} local skills from .claude/skills/`);\n\n const allSkills = mergeSkills(pluginSkills, localSkills);\n const totalSkillCount = Object.keys(allSkills).length;\n\n if (totalSkillCount === 0) {\n this.log(ERROR_MESSAGES.NO_SKILLS_FOUND);\n this.error(\n \"No skills found. Add skills with 'cc add <skill>' or create in .claude/skills/.\",\n { exit: EXIT_CODES.ERROR },\n );\n }\n\n if (localSkillCount > 0 && pluginSkillCount > 0) {\n this.log(\n `Discovered ${totalSkillCount} skills (${pluginSkillCount} from plugins, ${localSkillCount} local)`,\n );\n } else if (localSkillCount > 0) {\n this.log(`Discovered ${localSkillCount} local skills`);\n } else {\n this.log(`Discovered ${pluginSkillCount} skills from plugins`);\n }\n\n return { allSkills, totalSkillCount };\n }\n\n private async resolveSourceForCompile(flags: CompileFlags): Promise<void> {\n this.log(STATUS_MESSAGES.RESOLVING_SOURCE);\n try {\n const sourceConfig = await resolveSource(flags.source);\n this.log(`Source: ${sourceConfig.sourceOrigin}`);\n } catch (error) {\n this.log(ERROR_MESSAGES.FAILED_RESOLVE_SOURCE);\n this.handleError(error);\n }\n }\n\n private async loadAgentDefsForCompile(flags: CompileFlags): Promise<AgentSourcePaths> {\n const projectDir = process.cwd();\n this.log(\n flags[\"agent-source\"]\n ? STATUS_MESSAGES.FETCHING_AGENT_PARTIALS\n : STATUS_MESSAGES.LOADING_AGENT_PARTIALS,\n );\n\n try {\n const agentDefs = await getAgentDefinitions(flags[\"agent-source\"], {\n forceRefresh: flags.refresh,\n projectDir,\n });\n this.log(flags[\"agent-source\"] ? \"Agent partials fetched\" : \"Agent partials loaded\");\n verbose(` Agents: ${agentDefs.agentsDir}`);\n verbose(` Templates: ${agentDefs.templatesDir}`);\n return agentDefs;\n } catch (error) {\n this.log(ERROR_MESSAGES.FAILED_LOAD_AGENT_PARTIALS);\n return this.handleError(error);\n }\n }\n\n private async runPluginModeCompile(\n flags: CompileFlags,\n installation: Installation,\n ): Promise<void> {\n this.log(\"\");\n this.log(\"Plugin Mode Compile\");\n this.log(\"\");\n\n const projectDir = installation.projectDir;\n const agentsDir = installation.agentsDir;\n\n this.log(\"Using individual plugin mode\");\n verbose(` Project: ${projectDir}`);\n verbose(` Agents: ${agentsDir}`);\n\n const configPath = installation.configPath;\n const hasConfig = await fileExists(configPath);\n if (hasConfig) {\n try {\n const configContent = await readFile(configPath);\n const parsed = parseYaml(configContent);\n const configResult = projectConfigLoaderSchema.safeParse(parsed);\n if (configResult.success) {\n // Boundary cast: Zod loader schema validates structure; cast narrows passthrough output\n const config = configResult.data as ProjectConfig;\n // Normalize stack values to SkillAssignment[] (same as loadProjectConfig)\n if (config.stack) {\n config.stack = normalizeStackRecord(\n config.stack as unknown as Record<string, Record<string, unknown>>,\n );\n }\n const agentCount = config.agents?.length ?? 0;\n const stackSkillCount = config.stack ? getStackSkillIds(config.stack).length : 0;\n this.log(`Using config.yaml (${agentCount} agents, ${stackSkillCount} skills)`);\n verbose(` Config: ${configPath}`);\n } else {\n this.warn(\"config.yaml found but has invalid structure - using defaults\");\n }\n } catch {\n this.warn(\"config.yaml found but could not be parsed - using defaults\");\n }\n } else {\n verbose(` No config.yaml found - using defaults`);\n }\n\n const { allSkills, totalSkillCount } = await this.discoverAllSkills();\n await this.resolveSourceForCompile(flags);\n const agentDefs = await this.loadAgentDefsForCompile(flags);\n\n if (flags[\"dry-run\"]) {\n this.log(\"\");\n this.log(`[dry-run] Would compile ${totalSkillCount} skills`);\n this.log(`[dry-run] Would use agent partials from: ${agentDefs.sourcePath}`);\n this.log(`[dry-run] Would output to: ${agentsDir}`);\n this.log(DRY_RUN_MESSAGES.COMPLETE_NO_FILES_WRITTEN);\n this.log(\"\");\n return;\n }\n\n this.log(STATUS_MESSAGES.RECOMPILING_AGENTS);\n try {\n const recompileResult = await recompileAgents({\n pluginDir: projectDir,\n sourcePath: agentDefs.sourcePath,\n skills: allSkills,\n projectDir,\n outputDir: agentsDir,\n });\n\n if (recompileResult.failed.length > 0) {\n this.log(\n `Recompiled ${recompileResult.compiled.length} agents (${recompileResult.failed.length} failed)`,\n );\n for (const warning of recompileResult.warnings) {\n this.warn(warning);\n }\n } else if (recompileResult.compiled.length > 0) {\n this.log(`Recompiled ${recompileResult.compiled.length} agents`);\n } else {\n this.log(INFO_MESSAGES.NO_AGENTS_TO_RECOMPILE);\n }\n\n if (recompileResult.compiled.length > 0) {\n verbose(` Compiled: ${recompileResult.compiled.join(\", \")}`);\n }\n } catch (error) {\n this.log(ERROR_MESSAGES.FAILED_COMPILE_AGENTS);\n this.handleError(error);\n }\n\n this.log(\"\");\n this.logSuccess(SUCCESS_MESSAGES.PLUGIN_COMPILE_COMPLETE);\n this.log(\"\");\n }\n\n private async runCustomOutputCompile(flags: CompileFlags & { output: string }): Promise<void> {\n const outputDir = path.resolve(process.cwd(), flags.output);\n this.log(\"\");\n this.log(\"Custom Output Compile\");\n this.log(\"\");\n this.log(`Output directory: ${outputDir}`);\n this.log(\"\");\n\n const { allSkills, totalSkillCount } = await this.discoverAllSkills();\n await this.resolveSourceForCompile(flags);\n const agentDefs = await this.loadAgentDefsForCompile(flags);\n\n if (flags[\"dry-run\"]) {\n this.log(\"\");\n this.log(`[dry-run] Would compile agents with ${totalSkillCount} skills`);\n this.log(`[dry-run] Would use agent definitions from: ${agentDefs.sourcePath}`);\n this.log(`[dry-run] Would output to: ${outputDir}`);\n this.log(DRY_RUN_MESSAGES.COMPLETE_NO_FILES_WRITTEN);\n this.log(\"\");\n return;\n }\n\n const projectDir = process.cwd();\n\n this.log(STATUS_MESSAGES.COMPILING_AGENTS);\n try {\n await ensureDir(outputDir);\n\n const recompileResult = await recompileAgents({\n pluginDir: projectDir,\n sourcePath: agentDefs.sourcePath,\n skills: allSkills,\n outputDir,\n projectDir,\n });\n\n if (recompileResult.failed.length > 0) {\n this.log(\n `Compiled ${recompileResult.compiled.length} agents (${recompileResult.failed.length} failed)`,\n );\n for (const warning of recompileResult.warnings) {\n this.warn(warning);\n }\n } else if (recompileResult.compiled.length > 0) {\n this.log(`Compiled ${recompileResult.compiled.length} agents`);\n } else {\n this.log(INFO_MESSAGES.NO_AGENTS_TO_COMPILE);\n }\n\n if (recompileResult.compiled.length > 0) {\n verbose(` Compiled: ${recompileResult.compiled.join(\", \")}`);\n this.log(\"\");\n this.log(\"Agents compiled to:\");\n this.log(` ${outputDir}`);\n for (const agentName of recompileResult.compiled) {\n this.log(` ${agentName}.md`);\n }\n }\n } catch (error) {\n this.log(ERROR_MESSAGES.FAILED_COMPILE_AGENTS);\n this.handleError(error);\n }\n\n this.log(\"\");\n this.logSuccess(SUCCESS_MESSAGES.CUSTOM_COMPILE_COMPLETE);\n this.log(\"\");\n }\n}\n"],"mappings":"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","names":[]}
@@ -7,9 +7,9 @@ import {
7
7
  loadProjectSourceConfig,
8
8
  resolveAgentsSource,
9
9
  resolveSource
10
- } from "../../chunk-SSHG7MEE.js";
10
+ } from "../../chunk-QUL7R35E.js";
11
11
  import "../../chunk-5WIHSJRO.js";
12
- import "../../chunk-IFODQTCX.js";
12
+ import "../../chunk-52XVP55K.js";
13
13
  import {
14
14
  init_esm_shims
15
15
  } from "../../chunk-AWKZ5BDL.js";
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ConfigShow
4
- } from "../../chunk-PNXFJPXF.js";
4
+ } from "../../chunk-URUSBWWI.js";
5
5
  import "../../chunk-5I6VY2E7.js";
6
- import "../../chunk-SSHG7MEE.js";
6
+ import "../../chunk-QUL7R35E.js";
7
7
  import "../../chunk-5WIHSJRO.js";
8
- import "../../chunk-IFODQTCX.js";
8
+ import "../../chunk-52XVP55K.js";
9
9
  import {
10
10
  init_esm_shims
11
11
  } from "../../chunk-AWKZ5BDL.js";
@@ -4,9 +4,9 @@ import {
4
4
  } from "../../chunk-5I6VY2E7.js";
5
5
  import {
6
6
  getProjectConfigPath
7
- } from "../../chunk-SSHG7MEE.js";
7
+ } from "../../chunk-QUL7R35E.js";
8
8
  import "../../chunk-5WIHSJRO.js";
9
- import "../../chunk-IFODQTCX.js";
9
+ import "../../chunk-52XVP55K.js";
10
10
  import {
11
11
  init_esm_shims
12
12
  } from "../../chunk-AWKZ5BDL.js";
@@ -7,9 +7,9 @@ import {
7
7
  getProjectConfigPath,
8
8
  loadProjectSourceConfig,
9
9
  saveProjectConfig
10
- } from "../../chunk-SSHG7MEE.js";
10
+ } from "../../chunk-QUL7R35E.js";
11
11
  import "../../chunk-5WIHSJRO.js";
12
- import "../../chunk-IFODQTCX.js";
12
+ import "../../chunk-52XVP55K.js";
13
13
  import {
14
14
  init_esm_shims
15
15
  } from "../../chunk-AWKZ5BDL.js";
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ConfigShow
4
- } from "../../chunk-PNXFJPXF.js";
4
+ } from "../../chunk-URUSBWWI.js";
5
5
  import "../../chunk-5I6VY2E7.js";
6
- import "../../chunk-SSHG7MEE.js";
6
+ import "../../chunk-QUL7R35E.js";
7
7
  import "../../chunk-5WIHSJRO.js";
8
- import "../../chunk-IFODQTCX.js";
8
+ import "../../chunk-52XVP55K.js";
9
9
  import "../../chunk-AWKZ5BDL.js";
10
10
  export {
11
11
  ConfigShow as default
@@ -6,9 +6,9 @@ import {
6
6
  import {
7
7
  loadProjectSourceConfig,
8
8
  saveProjectConfig
9
- } from "../../chunk-SSHG7MEE.js";
9
+ } from "../../chunk-QUL7R35E.js";
10
10
  import "../../chunk-5WIHSJRO.js";
11
- import "../../chunk-IFODQTCX.js";
11
+ import "../../chunk-52XVP55K.js";
12
12
  import {
13
13
  init_esm_shims
14
14
  } from "../../chunk-AWKZ5BDL.js";
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  loadSkillsMatrixFromSource,
8
8
  readForkedFromMetadata
9
- } from "../chunk-SSHG7MEE.js";
9
+ } from "../chunk-QUL7R35E.js";
10
10
  import {
11
11
  fileExists,
12
12
  getErrorMessage,
@@ -16,7 +16,7 @@ import {
16
16
  import {
17
17
  LOCAL_SKILLS_PATH,
18
18
  STANDARD_FILES
19
- } from "../chunk-IFODQTCX.js";
19
+ } from "../chunk-52XVP55K.js";
20
20
  import {
21
21
  init_esm_shims
22
22
  } from "../chunk-AWKZ5BDL.js";
@@ -9,7 +9,7 @@ import {
9
9
  loadProjectConfig,
10
10
  loadSkillsMatrixFromSource,
11
11
  validateProjectConfig
12
- } from "../chunk-SSHG7MEE.js";
12
+ } from "../chunk-QUL7R35E.js";
13
13
  import {
14
14
  directoryExists,
15
15
  fileExists,
@@ -17,7 +17,7 @@ import {
17
17
  glob,
18
18
  setVerbose
19
19
  } from "../chunk-5WIHSJRO.js";
20
- import "../chunk-IFODQTCX.js";
20
+ import "../chunk-52XVP55K.js";
21
21
  import {
22
22
  init_esm_shims
23
23
  } from "../chunk-AWKZ5BDL.js";