@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.
- package/CHANGELOG.md +35 -0
- package/config/skills-matrix.yaml +1 -1
- package/config/stacks.yaml +1 -1
- package/dist/{chunk-XPMEGGJK.js → chunk-34E7MWJI.js} +13 -38
- package/dist/chunk-34E7MWJI.js.map +1 -0
- package/dist/{chunk-IFODQTCX.js → chunk-52XVP55K.js} +6 -3
- package/dist/chunk-52XVP55K.js.map +1 -0
- package/dist/{chunk-N73GQTCK.js → chunk-5P6RUVA7.js} +6 -6
- package/dist/{chunk-ZX5DM4D5.js → chunk-AGNT3FUE.js} +3 -3
- package/dist/{chunk-A4T4YSV4.js → chunk-AGQRRJSY.js} +2 -2
- package/dist/{chunk-6F3ZKDVE.js → chunk-AXND7NCM.js} +3 -3
- package/dist/{chunk-EP6J44I4.js → chunk-DH6F7EOJ.js} +5 -5
- package/dist/{chunk-AG5YGYJT.js → chunk-DTFEFLUU.js} +2 -2
- package/dist/chunk-EOJTMX7T.js +183 -0
- package/dist/chunk-EOJTMX7T.js.map +1 -0
- package/dist/{chunk-AJFSCLJ7.js → chunk-F23LEXMC.js} +2 -2
- package/dist/{chunk-G5WXKKQM.js → chunk-FFZSN5C5.js} +5 -5
- package/dist/chunk-FFZSN5C5.js.map +1 -0
- package/dist/{chunk-FY5D4KIC.js → chunk-H2NM6BDH.js} +2 -2
- package/dist/{chunk-56ERY7H7.js → chunk-HMZPUOWU.js} +4 -4
- package/dist/{chunk-RI5QEK5W.js → chunk-I6YQDA2J.js} +2 -2
- package/dist/{chunk-MQAYAISQ.js → chunk-JWIH7YQE.js} +2 -2
- package/dist/{chunk-VTUPUKFD.js → chunk-KFL72CWK.js} +2 -2
- package/dist/{chunk-OA5RCL2L.js → chunk-LY5HM34M.js} +2 -2
- package/dist/{chunk-XZKVOPCR.js → chunk-MYLRA7NI.js} +4 -4
- package/dist/{chunk-EUPMWSM3.js → chunk-QR2ONHDW.js} +5 -5
- package/dist/{chunk-SSHG7MEE.js → chunk-QUL7R35E.js} +307 -504
- package/dist/chunk-QUL7R35E.js.map +1 -0
- package/dist/{chunk-7UKQZSWT.js → chunk-RFW2RIM7.js} +2 -2
- package/dist/{chunk-PNXFJPXF.js → chunk-URUSBWWI.js} +2 -2
- package/dist/{chunk-GVVEPVR7.js → chunk-VHVRPLDY.js} +4 -4
- package/dist/{chunk-IRG52AN5.js → chunk-VIBOSHRL.js} +2 -2
- package/dist/{chunk-IQUBOWWU.js → chunk-WWLEF4MQ.js} +3 -3
- package/dist/{chunk-WLQUQXWO.js → chunk-WXW6SQ5K.js} +3 -3
- package/dist/{chunk-DUIYVKFK.js → chunk-X5AD7WWC.js} +12 -12
- package/dist/commands/build/marketplace.js +1 -1
- package/dist/commands/build/plugins.js +3 -3
- package/dist/commands/build/stack.js +3 -3
- package/dist/commands/compile.js +21 -70
- package/dist/commands/compile.js.map +1 -1
- package/dist/commands/config/get.js +2 -2
- package/dist/commands/config/index.js +3 -3
- package/dist/commands/config/path.js +2 -2
- package/dist/commands/config/set-project.js +2 -2
- package/dist/commands/config/show.js +3 -3
- package/dist/commands/config/unset-project.js +2 -2
- package/dist/commands/diff.js +2 -2
- package/dist/commands/doctor.js +2 -2
- package/dist/commands/edit.js +40 -71
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/eject.js +2 -2
- package/dist/commands/import/skill.js +2 -2
- package/dist/commands/info.js +2 -2
- package/dist/commands/init.js +79 -109
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/list.js +2 -2
- package/dist/commands/new/agent.js +5 -3
- package/dist/commands/new/agent.js.map +1 -1
- package/dist/commands/new/skill.js +2 -2
- package/dist/commands/outdated.js +2 -2
- package/dist/commands/search.js +4 -4
- package/dist/commands/uninstall.js +41 -29
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.js +4 -6
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/validate.js +2 -2
- package/dist/commands/version/bump.js +2 -2
- package/dist/commands/version/index.js +2 -2
- package/dist/commands/version/set.js +2 -2
- package/dist/commands/version/show.js +2 -2
- package/dist/components/skill-search/skill-search.js +3 -3
- package/dist/components/wizard/category-grid.js +2 -2
- package/dist/components/wizard/category-grid.test.js +2 -2
- package/dist/components/wizard/domain-selection.js +4 -4
- package/dist/components/wizard/help-modal.js +2 -2
- package/dist/components/wizard/menu-item.js +2 -2
- package/dist/components/wizard/search-modal.js +2 -2
- package/dist/components/wizard/search-modal.test.js +2 -2
- package/dist/components/wizard/section-progress.js +2 -2
- package/dist/components/wizard/section-progress.test.js +2 -2
- package/dist/components/wizard/source-grid.js +3 -3
- package/dist/components/wizard/source-grid.test.js +3 -3
- package/dist/components/wizard/stack-selection.js +6 -6
- package/dist/components/wizard/step-approach.js +6 -6
- package/dist/components/wizard/step-approach.test.js +6 -6
- package/dist/components/wizard/step-build.js +5 -5
- package/dist/components/wizard/step-build.test.js +5 -5
- package/dist/components/wizard/step-confirm.js +2 -2
- package/dist/components/wizard/step-confirm.test.js +4 -4
- package/dist/components/wizard/step-refine.js +2 -2
- package/dist/components/wizard/step-refine.test.js +2 -2
- package/dist/components/wizard/step-settings.js +4 -4
- package/dist/components/wizard/step-settings.test.js +8 -8
- package/dist/components/wizard/step-settings.test.js.map +1 -1
- package/dist/components/wizard/step-sources.js +7 -7
- package/dist/components/wizard/step-sources.test.js +7 -7
- package/dist/components/wizard/step-stack.js +8 -8
- package/dist/components/wizard/step-stack.test.js +8 -8
- package/dist/components/wizard/view-title.js +2 -2
- package/dist/components/wizard/wizard-layout.js +6 -6
- package/dist/components/wizard/wizard-tabs.js +2 -2
- package/dist/components/wizard/wizard-tabs.test.js +2 -2
- package/dist/components/wizard/wizard.js +21 -21
- package/dist/config/skills-matrix.yaml +1 -1
- package/dist/config/stacks.yaml +1 -1
- package/dist/hooks/init.js +2 -2
- package/dist/{source-manager-TV2YGPAN.js → source-manager-S5XTC6RW.js} +3 -3
- package/dist/src/agents/developer/api-developer/agent.yaml +1 -1
- package/dist/src/agents/developer/cli-developer/agent.yaml +1 -1
- package/dist/src/agents/developer/web-architecture/agent.yaml +1 -1
- package/dist/src/agents/developer/web-developer/agent.yaml +1 -1
- package/dist/src/agents/meta/agent-summoner/agent.yaml +1 -1
- package/dist/src/agents/meta/documentor/agent.yaml +1 -1
- package/dist/src/agents/meta/skill-summoner/agent.yaml +1 -1
- package/dist/src/agents/meta/skill-summoner/output-format.md +1 -1
- package/dist/src/agents/migration/cli-migrator/agent.yaml +1 -1
- package/dist/src/agents/pattern/pattern-scout/agent.yaml +1 -1
- package/dist/src/agents/pattern/web-pattern-critique/agent.yaml +1 -1
- package/dist/src/agents/planning/web-pm/agent.yaml +1 -1
- package/dist/src/agents/researcher/api-researcher/agent.yaml +1 -1
- package/dist/src/agents/researcher/web-researcher/agent.yaml +1 -1
- package/dist/src/agents/reviewer/api-reviewer/agent.yaml +1 -1
- package/dist/src/agents/reviewer/cli-reviewer/agent.yaml +1 -1
- package/dist/src/agents/reviewer/web-reviewer/agent.yaml +1 -1
- package/dist/src/agents/tester/cli-tester/agent.yaml +1 -1
- package/dist/src/agents/tester/web-tester/agent.yaml +1 -1
- package/dist/stores/wizard-store.js +3 -3
- package/dist/stores/wizard-store.test.js +3 -3
- package/package.json +1 -1
- package/src/agents/developer/api-developer/agent.yaml +1 -1
- package/src/agents/developer/cli-developer/agent.yaml +1 -1
- package/src/agents/developer/web-architecture/agent.yaml +1 -1
- package/src/agents/developer/web-developer/agent.yaml +1 -1
- package/src/agents/meta/agent-summoner/agent.yaml +1 -1
- package/src/agents/meta/documentor/agent.yaml +1 -1
- package/src/agents/meta/skill-summoner/agent.yaml +1 -1
- package/src/agents/meta/skill-summoner/output-format.md +1 -1
- package/src/agents/migration/cli-migrator/agent.yaml +1 -1
- package/src/agents/pattern/pattern-scout/agent.yaml +1 -1
- package/src/agents/pattern/web-pattern-critique/agent.yaml +1 -1
- package/src/agents/planning/web-pm/agent.yaml +1 -1
- package/src/agents/researcher/api-researcher/agent.yaml +1 -1
- package/src/agents/researcher/web-researcher/agent.yaml +1 -1
- package/src/agents/reviewer/api-reviewer/agent.yaml +1 -1
- package/src/agents/reviewer/cli-reviewer/agent.yaml +1 -1
- package/src/agents/reviewer/web-reviewer/agent.yaml +1 -1
- package/src/agents/tester/cli-tester/agent.yaml +1 -1
- package/src/agents/tester/web-tester/agent.yaml +1 -1
- package/dist/chunk-G5WXKKQM.js.map +0 -1
- package/dist/chunk-IFODQTCX.js.map +0 -1
- package/dist/chunk-SSHG7MEE.js.map +0 -1
- package/dist/chunk-XPMEGGJK.js.map +0 -1
- /package/dist/{chunk-N73GQTCK.js.map → chunk-5P6RUVA7.js.map} +0 -0
- /package/dist/{chunk-ZX5DM4D5.js.map → chunk-AGNT3FUE.js.map} +0 -0
- /package/dist/{chunk-A4T4YSV4.js.map → chunk-AGQRRJSY.js.map} +0 -0
- /package/dist/{chunk-6F3ZKDVE.js.map → chunk-AXND7NCM.js.map} +0 -0
- /package/dist/{chunk-EP6J44I4.js.map → chunk-DH6F7EOJ.js.map} +0 -0
- /package/dist/{chunk-AG5YGYJT.js.map → chunk-DTFEFLUU.js.map} +0 -0
- /package/dist/{chunk-AJFSCLJ7.js.map → chunk-F23LEXMC.js.map} +0 -0
- /package/dist/{chunk-FY5D4KIC.js.map → chunk-H2NM6BDH.js.map} +0 -0
- /package/dist/{chunk-56ERY7H7.js.map → chunk-HMZPUOWU.js.map} +0 -0
- /package/dist/{chunk-RI5QEK5W.js.map → chunk-I6YQDA2J.js.map} +0 -0
- /package/dist/{chunk-MQAYAISQ.js.map → chunk-JWIH7YQE.js.map} +0 -0
- /package/dist/{chunk-VTUPUKFD.js.map → chunk-KFL72CWK.js.map} +0 -0
- /package/dist/{chunk-OA5RCL2L.js.map → chunk-LY5HM34M.js.map} +0 -0
- /package/dist/{chunk-XZKVOPCR.js.map → chunk-MYLRA7NI.js.map} +0 -0
- /package/dist/{chunk-EUPMWSM3.js.map → chunk-QR2ONHDW.js.map} +0 -0
- /package/dist/{chunk-7UKQZSWT.js.map → chunk-RFW2RIM7.js.map} +0 -0
- /package/dist/{chunk-PNXFJPXF.js.map → chunk-URUSBWWI.js.map} +0 -0
- /package/dist/{chunk-GVVEPVR7.js.map → chunk-VHVRPLDY.js.map} +0 -0
- /package/dist/{chunk-IRG52AN5.js.map → chunk-VIBOSHRL.js.map} +0 -0
- /package/dist/{chunk-IQUBOWWU.js.map → chunk-WWLEF4MQ.js.map} +0 -0
- /package/dist/{chunk-WLQUQXWO.js.map → chunk-WXW6SQ5K.js.map} +0 -0
- /package/dist/{chunk-DUIYVKFK.js.map → chunk-X5AD7WWC.js.map} +0 -0
- /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-
|
|
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-
|
|
80
|
+
//# sourceMappingURL=chunk-RFW2RIM7.js.map
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
loadProjectSourceConfig,
|
|
11
11
|
resolveAgentsSource,
|
|
12
12
|
resolveSource
|
|
13
|
-
} from "./chunk-
|
|
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-
|
|
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-
|
|
4
|
+
} from "./chunk-H2NM6BDH.js";
|
|
5
5
|
import {
|
|
6
6
|
MenuItem
|
|
7
|
-
} from "./chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
387
|
+
//# sourceMappingURL=chunk-VIBOSHRL.js.map
|
|
@@ -3,13 +3,13 @@ import {
|
|
|
3
3
|
resolveAlias,
|
|
4
4
|
typedEntries,
|
|
5
5
|
typedKeys
|
|
6
|
-
} from "./chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
4
|
+
} from "./chunk-WWLEF4MQ.js";
|
|
5
5
|
import {
|
|
6
6
|
CLI_COLORS
|
|
7
|
-
} from "./chunk-
|
|
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-
|
|
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-
|
|
4
|
+
} from "./chunk-DH6F7EOJ.js";
|
|
5
5
|
import {
|
|
6
6
|
StepSettings
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-FFZSN5C5.js";
|
|
8
8
|
import {
|
|
9
9
|
StepSources
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-5P6RUVA7.js";
|
|
11
11
|
import {
|
|
12
12
|
StepStack
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-HMZPUOWU.js";
|
|
14
14
|
import {
|
|
15
15
|
StepApproach
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-VHVRPLDY.js";
|
|
17
17
|
import {
|
|
18
18
|
StepBuild
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-QR2ONHDW.js";
|
|
20
20
|
import {
|
|
21
21
|
StepConfirm
|
|
22
|
-
} from "./chunk-
|
|
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-
|
|
28
|
+
} from "./chunk-F23LEXMC.js";
|
|
29
29
|
import {
|
|
30
30
|
useWizardStore
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-WWLEF4MQ.js";
|
|
32
32
|
import {
|
|
33
33
|
resolveAlias,
|
|
34
34
|
validateSelection
|
|
35
|
-
} from "./chunk-
|
|
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-
|
|
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-
|
|
294
|
+
//# sourceMappingURL=chunk-X5AD7WWC.js.map
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
compileAllAgentPlugins,
|
|
4
4
|
printAgentCompilationSummary
|
|
5
|
-
} from "../../chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
19
|
+
} from "../../chunk-52XVP55K.js";
|
|
20
20
|
import {
|
|
21
21
|
init_esm_shims
|
|
22
22
|
} from "../../chunk-AWKZ5BDL.js";
|
package/dist/commands/compile.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
getAgentDefinitions,
|
|
4
4
|
recompileAgents
|
|
5
|
-
} from "../chunk-
|
|
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
|
-
|
|
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-
|
|
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
|
-
|
|
45
|
-
|
|
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
|
|
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
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
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: ${
|
|
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
|
|
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
|
|
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
|
|
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-
|
|
10
|
+
} from "../../chunk-QUL7R35E.js";
|
|
11
11
|
import "../../chunk-5WIHSJRO.js";
|
|
12
|
-
import "../../chunk-
|
|
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-
|
|
4
|
+
} from "../../chunk-URUSBWWI.js";
|
|
5
5
|
import "../../chunk-5I6VY2E7.js";
|
|
6
|
-
import "../../chunk-
|
|
6
|
+
import "../../chunk-QUL7R35E.js";
|
|
7
7
|
import "../../chunk-5WIHSJRO.js";
|
|
8
|
-
import "../../chunk-
|
|
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-
|
|
7
|
+
} from "../../chunk-QUL7R35E.js";
|
|
8
8
|
import "../../chunk-5WIHSJRO.js";
|
|
9
|
-
import "../../chunk-
|
|
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-
|
|
10
|
+
} from "../../chunk-QUL7R35E.js";
|
|
11
11
|
import "../../chunk-5WIHSJRO.js";
|
|
12
|
-
import "../../chunk-
|
|
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-
|
|
4
|
+
} from "../../chunk-URUSBWWI.js";
|
|
5
5
|
import "../../chunk-5I6VY2E7.js";
|
|
6
|
-
import "../../chunk-
|
|
6
|
+
import "../../chunk-QUL7R35E.js";
|
|
7
7
|
import "../../chunk-5WIHSJRO.js";
|
|
8
|
-
import "../../chunk-
|
|
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-
|
|
9
|
+
} from "../../chunk-QUL7R35E.js";
|
|
10
10
|
import "../../chunk-5WIHSJRO.js";
|
|
11
|
-
import "../../chunk-
|
|
11
|
+
import "../../chunk-52XVP55K.js";
|
|
12
12
|
import {
|
|
13
13
|
init_esm_shims
|
|
14
14
|
} from "../../chunk-AWKZ5BDL.js";
|
package/dist/commands/diff.js
CHANGED
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
import {
|
|
7
7
|
loadSkillsMatrixFromSource,
|
|
8
8
|
readForkedFromMetadata
|
|
9
|
-
} from "../chunk-
|
|
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-
|
|
19
|
+
} from "../chunk-52XVP55K.js";
|
|
20
20
|
import {
|
|
21
21
|
init_esm_shims
|
|
22
22
|
} from "../chunk-AWKZ5BDL.js";
|
package/dist/commands/doctor.js
CHANGED
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
loadProjectConfig,
|
|
10
10
|
loadSkillsMatrixFromSource,
|
|
11
11
|
validateProjectConfig
|
|
12
|
-
} from "../chunk-
|
|
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-
|
|
20
|
+
import "../chunk-52XVP55K.js";
|
|
21
21
|
import {
|
|
22
22
|
init_esm_shims
|
|
23
23
|
} from "../chunk-AWKZ5BDL.js";
|