@agents-inc/cli 0.42.1 → 0.46.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 +52 -0
- package/README.md +128 -113
- package/assets/logo.png +0 -0
- package/assets/logo.svg +75 -0
- package/dist/{chunk-ZHJEZ7AU.js → chunk-3WKFSTG6.js} +2 -2
- package/dist/{chunk-IUYU2TP6.js → chunk-4C7PDDLY.js} +7 -7
- package/dist/{chunk-AQANPOLS.js → chunk-5M6JI76P.js} +2 -2
- package/dist/{chunk-UXNHU7Y7.js → chunk-5QRJUBK7.js} +133 -56
- package/dist/chunk-5QRJUBK7.js.map +1 -0
- package/dist/{chunk-33D24DAF.js → chunk-72GS6PIH.js} +10 -10
- package/dist/{chunk-PP7NDFFE.js → chunk-74HSA7C4.js} +10 -1
- package/dist/chunk-74HSA7C4.js.map +1 -0
- package/dist/chunk-7LDSHHKN.js +132 -0
- package/dist/chunk-7LDSHHKN.js.map +1 -0
- package/dist/{chunk-52SI5XJH.js → chunk-C7BO2ASM.js} +2 -7
- package/dist/chunk-C7BO2ASM.js.map +1 -0
- package/dist/{chunk-53K3URKF.js → chunk-CD64ZNYI.js} +5 -3
- package/dist/chunk-CD64ZNYI.js.map +1 -0
- package/dist/chunk-CDGHSTB6.js +69 -0
- package/dist/chunk-CDGHSTB6.js.map +1 -0
- package/dist/{chunk-FF4Z7MHY.js → chunk-CTQHZELA.js} +28 -20
- package/dist/chunk-CTQHZELA.js.map +1 -0
- package/dist/{chunk-44QCEK7E.js → chunk-D7JTL3DJ.js} +2 -2
- package/dist/{chunk-MMD26LKJ.js → chunk-DO5OZHSS.js} +2 -2
- package/dist/{chunk-ORJPGZVD.js → chunk-FKBCYT7B.js} +7 -7
- package/dist/chunk-FKBCYT7B.js.map +1 -0
- package/dist/{chunk-WMAALRQI.js → chunk-FUEZQ2H6.js} +5 -5
- package/dist/{chunk-WMAALRQI.js.map → chunk-FUEZQ2H6.js.map} +1 -1
- package/dist/{chunk-HMGWGWFT.js → chunk-G2WNOT3R.js} +2 -2
- package/dist/{chunk-BKW34TKI.js → chunk-GVLYNP2I.js} +4 -4
- package/dist/{chunk-VHGIQN5O.js → chunk-HM3DHMW7.js} +70 -24
- package/dist/chunk-HM3DHMW7.js.map +1 -0
- package/dist/{chunk-MI4NWOWD.js → chunk-I26YP2Q3.js} +5 -12
- package/dist/chunk-I26YP2Q3.js.map +1 -0
- package/dist/{chunk-FDY6SGSA.js → chunk-J64CA4V6.js} +5 -3
- package/dist/chunk-J64CA4V6.js.map +1 -0
- package/dist/{chunk-EFZN22TO.js → chunk-KWQ2BQXF.js} +3 -3
- package/dist/{chunk-ALWLM5MC.js → chunk-LFZXMQOH.js} +2 -2
- package/dist/{chunk-2TWELY5M.js → chunk-NMXNHRAK.js} +3 -3
- package/dist/{chunk-GCN7GGWE.js → chunk-ODQ2BKWU.js} +3 -3
- package/dist/{chunk-KA253GGY.js → chunk-PZLUO4OY.js} +4 -4
- package/dist/{chunk-X34RGEFX.js → chunk-QBUOZVNZ.js} +2 -2
- package/dist/{chunk-SYHRJG5G.js → chunk-RT6IBH37.js} +3498 -3592
- package/dist/chunk-RT6IBH37.js.map +1 -0
- package/dist/{chunk-YRVTXSXP.js → chunk-RWR56UVK.js} +3 -18
- package/dist/chunk-RWR56UVK.js.map +1 -0
- package/dist/{chunk-PEAPABFI.js → chunk-SGXUMZWL.js} +2 -2
- package/dist/{chunk-MHET2RG2.js → chunk-TOWP4T5L.js} +2 -2
- package/dist/{chunk-XRA4LHTJ.js → chunk-UK3AMBR7.js} +18 -14
- package/dist/chunk-UK3AMBR7.js.map +1 -0
- package/dist/{chunk-GIZ6DENW.js → chunk-VH3PI43B.js} +4 -4
- package/dist/{chunk-J73KIP6Z.js → chunk-XE6RTHUD.js} +66 -5
- package/dist/chunk-XE6RTHUD.js.map +1 -0
- package/dist/{chunk-EPJ2GJNJ.js → chunk-YT7UHV67.js} +10 -10
- package/dist/{chunk-UVVNWF43.js → chunk-YVMYQSED.js} +2 -2
- package/dist/commands/build/marketplace.js +12 -126
- package/dist/commands/build/marketplace.js.map +1 -1
- package/dist/commands/build/plugins.js +5 -5
- package/dist/commands/build/stack.js +5 -5
- package/dist/commands/compile.js +6 -6
- package/dist/commands/config/get.js +4 -4
- package/dist/commands/config/index.js +5 -5
- package/dist/commands/config/path.js +4 -4
- package/dist/commands/config/set-project.js +4 -4
- package/dist/commands/config/show.js +5 -5
- package/dist/commands/config/unset-project.js +4 -4
- package/dist/commands/diff.js +4 -4
- package/dist/commands/doctor.js +4 -4
- package/dist/commands/edit.js +33 -30
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/eject.js +54 -33
- package/dist/commands/eject.js.map +1 -1
- package/dist/commands/import/skill.js +5 -5
- package/dist/commands/info.js +5 -5
- package/dist/commands/init.js +33 -37
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/list.js +4 -4
- package/dist/commands/new/agent.js +52 -38
- package/dist/commands/new/agent.js.map +1 -1
- package/dist/commands/new/marketplace.js +252 -0
- package/dist/commands/new/marketplace.js.map +1 -0
- package/dist/commands/new/skill.js +30 -15
- package/dist/commands/new/skill.js.map +1 -1
- package/dist/commands/outdated.js +4 -4
- package/dist/commands/search.js +7 -7
- package/dist/commands/uninstall.js +6 -6
- package/dist/commands/update.js +6 -6
- package/dist/commands/validate.js +5 -5
- 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 +184 -98
- package/dist/components/wizard/category-grid.test.js.map +1 -1
- package/dist/components/wizard/checkbox-grid.js +3 -3
- package/dist/components/wizard/checkbox-grid.test.js +3 -3
- package/dist/components/wizard/domain-selection.js +9 -8
- package/dist/components/wizard/help-modal.js +2 -2
- package/dist/components/wizard/menu-item.js +1 -1
- package/dist/components/wizard/search-modal.js +2 -2
- package/dist/components/wizard/search-modal.test.js +2 -11
- package/dist/components/wizard/search-modal.test.js.map +1 -1
- package/dist/components/wizard/section-progress.js +2 -2
- package/dist/components/wizard/section-progress.test.js +2 -2
- package/dist/components/wizard/selection-card.js +2 -2
- package/dist/components/wizard/source-grid.js +3 -3
- package/dist/components/wizard/source-grid.test.js +5 -9
- package/dist/components/wizard/source-grid.test.js.map +1 -1
- package/dist/components/wizard/stack-selection.js +8 -9
- package/dist/components/wizard/step-agents.js +8 -7
- package/dist/components/wizard/step-agents.test.js +25 -20
- package/dist/components/wizard/step-agents.test.js.map +1 -1
- package/dist/components/wizard/step-build.js +8 -8
- package/dist/components/wizard/step-build.test.js +25 -40
- package/dist/components/wizard/step-build.test.js.map +1 -1
- package/dist/components/wizard/step-confirm.js +4 -4
- package/dist/components/wizard/step-confirm.test.js +8 -8
- 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 +5 -5
- package/dist/components/wizard/step-settings.test.js +8 -8
- package/dist/components/wizard/step-sources.js +11 -11
- package/dist/components/wizard/step-sources.test.js +14 -20
- package/dist/components/wizard/step-sources.test.js.map +1 -1
- package/dist/components/wizard/step-stack.js +12 -12
- package/dist/components/wizard/step-stack.test.js +32 -29
- package/dist/components/wizard/step-stack.test.js.map +1 -1
- package/dist/components/wizard/view-title.js +2 -2
- package/dist/components/wizard/wizard-layout.js +8 -8
- 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 +26 -26
- package/dist/hooks/init.js +3 -5
- package/dist/hooks/init.js.map +1 -1
- package/dist/{source-manager-ABK5COKX.js → source-manager-6QZ2GDUA.js} +4 -4
- package/dist/stores/wizard-store.js +5 -5
- package/dist/stores/wizard-store.test.js +29 -49
- package/dist/stores/wizard-store.test.js.map +1 -1
- package/package.json +3 -1
- package/src/schemas/agent.schema.json +3 -0
- package/src/schemas/metadata.schema.json +4 -46
- package/src/schemas/project-config.schema.json +8 -4
- package/src/schemas/skills-matrix.schema.json +11 -298
- package/src/schemas/stacks.schema.json +2 -4
- package/dist/chunk-52SI5XJH.js.map +0 -1
- package/dist/chunk-53K3URKF.js.map +0 -1
- package/dist/chunk-FDY6SGSA.js.map +0 -1
- package/dist/chunk-FF4Z7MHY.js.map +0 -1
- package/dist/chunk-GVRZY5KI.js +0 -45
- package/dist/chunk-GVRZY5KI.js.map +0 -1
- package/dist/chunk-J73KIP6Z.js.map +0 -1
- package/dist/chunk-MI4NWOWD.js.map +0 -1
- package/dist/chunk-ORJPGZVD.js.map +0 -1
- package/dist/chunk-PP7NDFFE.js.map +0 -1
- package/dist/chunk-SYHRJG5G.js.map +0 -1
- package/dist/chunk-UXNHU7Y7.js.map +0 -1
- package/dist/chunk-VHGIQN5O.js.map +0 -1
- package/dist/chunk-XRA4LHTJ.js.map +0 -1
- package/dist/chunk-YRVTXSXP.js.map +0 -1
- package/dist/cli/defaults/agent-mappings.yaml +0 -215
- package/dist/commands/version/bump.js +0 -79
- package/dist/commands/version/bump.js.map +0 -1
- package/dist/commands/version/index.js +0 -54
- package/dist/commands/version/index.js.map +0 -1
- package/dist/commands/version/set.js +0 -86
- package/dist/commands/version/set.js.map +0 -1
- package/dist/commands/version/show.js +0 -54
- package/dist/commands/version/show.js.map +0 -1
- /package/dist/{chunk-ZHJEZ7AU.js.map → chunk-3WKFSTG6.js.map} +0 -0
- /package/dist/{chunk-IUYU2TP6.js.map → chunk-4C7PDDLY.js.map} +0 -0
- /package/dist/{chunk-AQANPOLS.js.map → chunk-5M6JI76P.js.map} +0 -0
- /package/dist/{chunk-33D24DAF.js.map → chunk-72GS6PIH.js.map} +0 -0
- /package/dist/{chunk-44QCEK7E.js.map → chunk-D7JTL3DJ.js.map} +0 -0
- /package/dist/{chunk-MMD26LKJ.js.map → chunk-DO5OZHSS.js.map} +0 -0
- /package/dist/{chunk-HMGWGWFT.js.map → chunk-G2WNOT3R.js.map} +0 -0
- /package/dist/{chunk-BKW34TKI.js.map → chunk-GVLYNP2I.js.map} +0 -0
- /package/dist/{chunk-EFZN22TO.js.map → chunk-KWQ2BQXF.js.map} +0 -0
- /package/dist/{chunk-ALWLM5MC.js.map → chunk-LFZXMQOH.js.map} +0 -0
- /package/dist/{chunk-2TWELY5M.js.map → chunk-NMXNHRAK.js.map} +0 -0
- /package/dist/{chunk-GCN7GGWE.js.map → chunk-ODQ2BKWU.js.map} +0 -0
- /package/dist/{chunk-KA253GGY.js.map → chunk-PZLUO4OY.js.map} +0 -0
- /package/dist/{chunk-X34RGEFX.js.map → chunk-QBUOZVNZ.js.map} +0 -0
- /package/dist/{chunk-PEAPABFI.js.map → chunk-SGXUMZWL.js.map} +0 -0
- /package/dist/{chunk-MHET2RG2.js.map → chunk-TOWP4T5L.js.map} +0 -0
- /package/dist/{chunk-GIZ6DENW.js.map → chunk-VH3PI43B.js.map} +0 -0
- /package/dist/{chunk-EPJ2GJNJ.js.map → chunk-YT7UHV67.js.map} +0 -0
- /package/dist/{chunk-UVVNWF43.js.map → chunk-YVMYQSED.js.map} +0 -0
- /package/dist/{source-manager-ABK5COKX.js.map → source-manager-6QZ2GDUA.js.map} +0 -0
|
@@ -1,25 +1,21 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
generateMarketplace,
|
|
4
|
+
getMarketplaceStats,
|
|
5
|
+
writeMarketplace
|
|
6
|
+
} from "../../chunk-7LDSHHKN.js";
|
|
2
7
|
import {
|
|
3
8
|
BaseCommand
|
|
4
|
-
} from "../../chunk-
|
|
9
|
+
} from "../../chunk-LFZXMQOH.js";
|
|
5
10
|
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
glob,
|
|
9
|
-
pluginManifestSchema,
|
|
10
|
-
readFileSafe,
|
|
11
|
-
setVerbose,
|
|
12
|
-
verbose,
|
|
13
|
-
warn,
|
|
14
|
-
writeFile
|
|
15
|
-
} from "../../chunk-UXNHU7Y7.js";
|
|
11
|
+
setVerbose
|
|
12
|
+
} from "../../chunk-5QRJUBK7.js";
|
|
16
13
|
import {
|
|
17
14
|
DEFAULT_BRANDING,
|
|
18
15
|
DEFAULT_PLUGIN_NAME,
|
|
19
16
|
DEFAULT_VERSION,
|
|
20
|
-
MAX_PLUGIN_FILE_SIZE,
|
|
21
17
|
PLUGIN_MANIFEST_DIR
|
|
22
|
-
} from "../../chunk-
|
|
18
|
+
} from "../../chunk-74HSA7C4.js";
|
|
23
19
|
import {
|
|
24
20
|
init_esm_shims
|
|
25
21
|
} from "../../chunk-DHET7RCE.js";
|
|
@@ -27,118 +23,8 @@ import {
|
|
|
27
23
|
// src/cli/commands/build/marketplace.ts
|
|
28
24
|
init_esm_shims();
|
|
29
25
|
import { Flags } from "@oclif/core";
|
|
30
|
-
import path2 from "path";
|
|
31
|
-
import { sortBy as sortBy2 } from "remeda";
|
|
32
|
-
|
|
33
|
-
// src/cli/lib/marketplace-generator.ts
|
|
34
|
-
init_esm_shims();
|
|
35
26
|
import path from "path";
|
|
36
27
|
import { sortBy } from "remeda";
|
|
37
|
-
var PLUGIN_MANIFEST_PATH = ".claude-plugin/plugin.json";
|
|
38
|
-
var MARKETPLACE_SCHEMA_URL = "https://anthropic.com/claude-code/marketplace.schema.json";
|
|
39
|
-
var CATEGORY_PATTERNS = [
|
|
40
|
-
{ pattern: /^web-/, category: "web" },
|
|
41
|
-
{ pattern: /^api-/, category: "api" },
|
|
42
|
-
{ pattern: /^cli-/, category: "cli" },
|
|
43
|
-
{ pattern: /^meta-/, category: "methodology" },
|
|
44
|
-
{ pattern: /^infra-/, category: "infra" },
|
|
45
|
-
{ pattern: /^mobile-/, category: "mobile" },
|
|
46
|
-
{ pattern: /^security-/, category: "security" }
|
|
47
|
-
];
|
|
48
|
-
function inferCategoryFromPluginName(pluginName) {
|
|
49
|
-
for (const { pattern, category } of CATEGORY_PATTERNS) {
|
|
50
|
-
if (pattern.test(pluginName)) {
|
|
51
|
-
return category;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
return void 0;
|
|
55
|
-
}
|
|
56
|
-
async function readPluginManifest(pluginDir) {
|
|
57
|
-
const manifestPath = path.join(pluginDir, PLUGIN_MANIFEST_PATH);
|
|
58
|
-
try {
|
|
59
|
-
const content = await readFileSafe(manifestPath, MAX_PLUGIN_FILE_SIZE);
|
|
60
|
-
return pluginManifestSchema.parse(JSON.parse(content));
|
|
61
|
-
} catch (error) {
|
|
62
|
-
verbose(`Failed to read plugin manifest at '${manifestPath}': ${getErrorMessage(error)}`);
|
|
63
|
-
return null;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
function convertManifestToMarketplacePlugin(manifest, pluginRoot, pluginDirName) {
|
|
67
|
-
const category = inferCategoryFromPluginName(manifest.name);
|
|
68
|
-
const plugin = {
|
|
69
|
-
name: manifest.name,
|
|
70
|
-
source: `./${pluginRoot}/${pluginDirName}`,
|
|
71
|
-
description: manifest.description,
|
|
72
|
-
version: manifest.version,
|
|
73
|
-
author: manifest.author,
|
|
74
|
-
keywords: manifest.keywords
|
|
75
|
-
};
|
|
76
|
-
if (category) {
|
|
77
|
-
plugin.category = category;
|
|
78
|
-
}
|
|
79
|
-
return plugin;
|
|
80
|
-
}
|
|
81
|
-
async function generateMarketplace(pluginsDir, options) {
|
|
82
|
-
verbose(`Scanning plugins directory: ${pluginsDir}`);
|
|
83
|
-
const manifestFiles = await glob(`**/${PLUGIN_MANIFEST_PATH}`, pluginsDir);
|
|
84
|
-
verbose(`Found ${manifestFiles.length} plugin manifests`);
|
|
85
|
-
const plugins = [];
|
|
86
|
-
for (const manifestFile of manifestFiles) {
|
|
87
|
-
const pluginDirName = manifestFile.split("/")[0];
|
|
88
|
-
const pluginDir = path.join(pluginsDir, pluginDirName);
|
|
89
|
-
const manifest = await readPluginManifest(pluginDir);
|
|
90
|
-
if (!manifest) {
|
|
91
|
-
warn(`Could not read plugin manifest: '${manifestFile}'`);
|
|
92
|
-
continue;
|
|
93
|
-
}
|
|
94
|
-
const plugin = convertManifestToMarketplacePlugin(
|
|
95
|
-
manifest,
|
|
96
|
-
options.pluginRoot.replace(/^\.\//, ""),
|
|
97
|
-
pluginDirName
|
|
98
|
-
);
|
|
99
|
-
plugins.push(plugin);
|
|
100
|
-
verbose(` [OK] ${plugin.name}`);
|
|
101
|
-
}
|
|
102
|
-
const sortedPlugins = sortBy(plugins, (p) => p.name);
|
|
103
|
-
const marketplace = {
|
|
104
|
-
$schema: MARKETPLACE_SCHEMA_URL,
|
|
105
|
-
name: options.name,
|
|
106
|
-
version: options.version ?? "1.0.0",
|
|
107
|
-
owner: {
|
|
108
|
-
name: options.ownerName
|
|
109
|
-
},
|
|
110
|
-
metadata: {
|
|
111
|
-
pluginRoot: options.pluginRoot
|
|
112
|
-
},
|
|
113
|
-
plugins: sortedPlugins
|
|
114
|
-
};
|
|
115
|
-
if (options.description) {
|
|
116
|
-
marketplace.description = options.description;
|
|
117
|
-
}
|
|
118
|
-
if (options.ownerEmail) {
|
|
119
|
-
marketplace.owner.email = options.ownerEmail;
|
|
120
|
-
}
|
|
121
|
-
return marketplace;
|
|
122
|
-
}
|
|
123
|
-
async function writeMarketplace(outputPath, marketplace) {
|
|
124
|
-
await ensureDir(path.dirname(outputPath));
|
|
125
|
-
const content = `${JSON.stringify(marketplace, null, 2)}
|
|
126
|
-
`;
|
|
127
|
-
await writeFile(outputPath, content);
|
|
128
|
-
}
|
|
129
|
-
function getMarketplaceStats(marketplace) {
|
|
130
|
-
const byCategory = {};
|
|
131
|
-
for (const plugin of marketplace.plugins) {
|
|
132
|
-
const category = plugin.category ?? "uncategorized";
|
|
133
|
-
byCategory[category] = (byCategory[category] ?? 0) + 1;
|
|
134
|
-
}
|
|
135
|
-
return {
|
|
136
|
-
total: marketplace.plugins.length,
|
|
137
|
-
byCategory
|
|
138
|
-
};
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
// src/cli/commands/build/marketplace.ts
|
|
142
28
|
var DEFAULT_PLUGINS_DIR = "dist/plugins";
|
|
143
29
|
var DEFAULT_OUTPUT_FILE = `${PLUGIN_MANIFEST_DIR}/marketplace.json`;
|
|
144
30
|
var DEFAULT_DESCRIPTION = "Community skills and stacks for Claude Code";
|
|
@@ -195,8 +81,8 @@ var BuildMarketplace = class _BuildMarketplace extends BaseCommand {
|
|
|
195
81
|
const { flags } = await this.parse(_BuildMarketplace);
|
|
196
82
|
setVerbose(flags.verbose);
|
|
197
83
|
const projectRoot = process.cwd();
|
|
198
|
-
const pluginsDir =
|
|
199
|
-
const outputPath =
|
|
84
|
+
const pluginsDir = path.resolve(projectRoot, flags["plugins-dir"]);
|
|
85
|
+
const outputPath = path.resolve(projectRoot, flags.output);
|
|
200
86
|
this.log("");
|
|
201
87
|
this.log("Generating marketplace.json");
|
|
202
88
|
this.log(` Plugins directory: ${pluginsDir}`);
|
|
@@ -216,7 +102,7 @@ var BuildMarketplace = class _BuildMarketplace extends BaseCommand {
|
|
|
216
102
|
this.log(`Found ${stats.total} plugins`);
|
|
217
103
|
this.log("");
|
|
218
104
|
this.log("Category breakdown:");
|
|
219
|
-
const sortedCategories =
|
|
105
|
+
const sortedCategories = sortBy(Object.entries(stats.byCategory), ([, count]) => -count);
|
|
220
106
|
for (const [category, count] of sortedCategories) {
|
|
221
107
|
this.log(` ${category}: ${count}`);
|
|
222
108
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/commands/build/marketplace.ts","../../../src/cli/lib/marketplace-generator.ts"],"sourcesContent":["import { Flags } from \"@oclif/core\";\nimport path from \"path\";\nimport { sortBy } from \"remeda\";\n\nimport { BaseCommand } from \"../../base-command\";\nimport { setVerbose } from \"../../utils/logger\";\nimport {\n generateMarketplace,\n writeMarketplace,\n getMarketplaceStats,\n} from \"../../lib/marketplace-generator\";\nimport {\n DEFAULT_BRANDING,\n DEFAULT_PLUGIN_NAME,\n DEFAULT_VERSION,\n PLUGIN_MANIFEST_DIR,\n} from \"../../consts\";\n\nconst DEFAULT_PLUGINS_DIR = \"dist/plugins\";\nconst DEFAULT_OUTPUT_FILE = `${PLUGIN_MANIFEST_DIR}/marketplace.json`;\nconst DEFAULT_DESCRIPTION = \"Community skills and stacks for Claude Code\";\nconst DEFAULT_OWNER_NAME = DEFAULT_BRANDING.NAME;\nconst DEFAULT_OWNER_EMAIL = `hello@${DEFAULT_PLUGIN_NAME}.com`;\n\nexport default class BuildMarketplace extends BaseCommand {\n static summary = \"Generate marketplace.json from built plugins (requires skills repo)\";\n\n static description =\n \"Generate marketplace.json from built plugins. This command scans the plugins directory and generates a marketplace manifest file.\";\n\n static examples = [\n \"<%= config.bin %> <%= command.id %>\",\n \"<%= config.bin %> <%= command.id %> --plugins-dir dist/stacks\",\n \"<%= config.bin %> <%= command.id %> --output .claude-plugin/market.json\",\n \"<%= config.bin %> <%= command.id %> --name my-marketplace --version 2.0.0\",\n ];\n\n static flags = {\n ...BaseCommand.baseFlags,\n \"plugins-dir\": Flags.string({\n char: \"p\",\n description: \"Plugins directory\",\n default: DEFAULT_PLUGINS_DIR,\n }),\n output: Flags.string({\n char: \"o\",\n description: \"Output file\",\n default: DEFAULT_OUTPUT_FILE,\n }),\n name: Flags.string({\n description: \"Marketplace name\",\n default: DEFAULT_PLUGIN_NAME,\n }),\n version: Flags.string({\n description: \"Marketplace version\",\n default: DEFAULT_VERSION,\n }),\n description: Flags.string({\n description: \"Marketplace description\",\n default: DEFAULT_DESCRIPTION,\n }),\n \"owner-name\": Flags.string({\n description: \"Owner name\",\n default: DEFAULT_OWNER_NAME,\n }),\n \"owner-email\": Flags.string({\n description: \"Owner email\",\n default: DEFAULT_OWNER_EMAIL,\n }),\n verbose: Flags.boolean({\n char: \"v\",\n description: \"Enable verbose logging\",\n default: false,\n }),\n };\n\n async run(): Promise<void> {\n const { flags } = await this.parse(BuildMarketplace);\n\n setVerbose(flags.verbose);\n\n const projectRoot = process.cwd();\n const pluginsDir = path.resolve(projectRoot, flags[\"plugins-dir\"]);\n const outputPath = path.resolve(projectRoot, flags.output);\n\n this.log(\"\");\n this.log(\"Generating marketplace.json\");\n this.log(` Plugins directory: ${pluginsDir}`);\n this.log(` Output file: ${outputPath}`);\n this.log(\"\");\n\n try {\n this.log(\"Scanning plugins...\");\n\n const marketplace = await generateMarketplace(pluginsDir, {\n name: flags.name,\n version: flags.version,\n description: flags.description,\n ownerName: flags[\"owner-name\"],\n ownerEmail: flags[\"owner-email\"],\n pluginRoot: `./${flags[\"plugins-dir\"]}`,\n });\n\n const stats = getMarketplaceStats(marketplace);\n this.log(`Found ${stats.total} plugins`);\n\n this.log(\"\");\n this.log(\"Category breakdown:\");\n const sortedCategories = sortBy(Object.entries(stats.byCategory), ([, count]) => -count);\n for (const [category, count] of sortedCategories) {\n this.log(` ${category}: ${count}`);\n }\n\n this.log(\"Writing marketplace.json...\");\n await writeMarketplace(outputPath, marketplace);\n this.log(`Wrote ${outputPath}`);\n\n this.log(\"\");\n this.log(\"Sample plugins:\");\n const sampleSize = 5;\n for (const plugin of marketplace.plugins.slice(0, sampleSize)) {\n const version = plugin.version ? `v${plugin.version}` : \"\";\n const category = plugin.category ? `[${plugin.category}]` : \"\";\n this.log(` ${plugin.name} ${version} ${category}`);\n if (plugin.description) {\n this.log(` ${plugin.description}`);\n }\n }\n if (marketplace.plugins.length > sampleSize) {\n this.log(` ... and ${marketplace.plugins.length - sampleSize} more`);\n }\n\n this.log(\"\");\n this.logSuccess(`Marketplace generated with ${stats.total} plugins!`);\n this.log(\"\");\n } catch (error) {\n this.log(\"Generation failed\");\n this.handleError(error);\n }\n }\n}\n","import path from \"path\";\nimport { sortBy } from \"remeda\";\n\nimport { MAX_PLUGIN_FILE_SIZE } from \"../consts\";\nimport { getErrorMessage } from \"../utils/errors\";\nimport { readFileSafe, writeFile, glob, ensureDir } from \"../utils/fs\";\nimport { verbose, warn } from \"../utils/logger\";\nimport type { Marketplace, MarketplacePlugin, PluginManifest } from \"../types\";\nimport { pluginManifestSchema } from \"./schemas\";\n\nconst PLUGIN_MANIFEST_PATH = \".claude-plugin/plugin.json\";\nconst MARKETPLACE_SCHEMA_URL = \"https://anthropic.com/claude-code/marketplace.schema.json\";\n\n/**\n * Category patterns for marketplace plugins.\n *\n * Plugin names match skill IDs directly (e.g., \"web-framework-react\").\n * The category is the first segment of the ID:\n * - web-* -> web\n * - api-* -> api\n * - cli-* -> cli\n * - meta-* -> methodology\n * - infra-* -> infra\n * - mobile-* -> mobile\n * - security-* -> security\n */\nconst CATEGORY_PATTERNS: Array<{ pattern: RegExp; category: string }> = [\n { pattern: /^web-/, category: \"web\" },\n { pattern: /^api-/, category: \"api\" },\n { pattern: /^cli-/, category: \"cli\" },\n { pattern: /^meta-/, category: \"methodology\" },\n { pattern: /^infra-/, category: \"infra\" },\n { pattern: /^mobile-/, category: \"mobile\" },\n { pattern: /^security-/, category: \"security\" },\n];\n\ntype MarketplaceOptions = {\n name: string;\n version?: string;\n description?: string;\n ownerName: string;\n ownerEmail?: string;\n pluginRoot: string;\n};\n\nfunction inferCategoryFromPluginName(pluginName: string): string | undefined {\n for (const { pattern, category } of CATEGORY_PATTERNS) {\n if (pattern.test(pluginName)) {\n return category;\n }\n }\n return undefined;\n}\n\nasync function readPluginManifest(pluginDir: string): Promise<PluginManifest | null> {\n const manifestPath = path.join(pluginDir, PLUGIN_MANIFEST_PATH);\n\n try {\n const content = await readFileSafe(manifestPath, MAX_PLUGIN_FILE_SIZE);\n return pluginManifestSchema.parse(JSON.parse(content));\n } catch (error) {\n verbose(`Failed to read plugin manifest at '${manifestPath}': ${getErrorMessage(error)}`);\n return null;\n }\n}\n\nfunction convertManifestToMarketplacePlugin(\n manifest: PluginManifest,\n pluginRoot: string,\n pluginDirName: string,\n): MarketplacePlugin {\n const category = inferCategoryFromPluginName(manifest.name);\n\n const plugin: MarketplacePlugin = {\n name: manifest.name,\n source: `./${pluginRoot}/${pluginDirName}`,\n description: manifest.description,\n version: manifest.version,\n author: manifest.author,\n keywords: manifest.keywords,\n };\n\n if (category) {\n plugin.category = category;\n }\n\n return plugin;\n}\n\nexport async function generateMarketplace(\n pluginsDir: string,\n options: MarketplaceOptions,\n): Promise<Marketplace> {\n verbose(`Scanning plugins directory: ${pluginsDir}`);\n\n const manifestFiles = await glob(`**/${PLUGIN_MANIFEST_PATH}`, pluginsDir);\n verbose(`Found ${manifestFiles.length} plugin manifests`);\n\n const plugins: MarketplacePlugin[] = [];\n\n for (const manifestFile of manifestFiles) {\n const pluginDirName = manifestFile.split(\"/\")[0];\n const pluginDir = path.join(pluginsDir, pluginDirName);\n\n const manifest = await readPluginManifest(pluginDir);\n if (!manifest) {\n warn(`Could not read plugin manifest: '${manifestFile}'`);\n continue;\n }\n\n const plugin = convertManifestToMarketplacePlugin(\n manifest,\n options.pluginRoot.replace(/^\\.\\//, \"\"),\n pluginDirName,\n );\n plugins.push(plugin);\n verbose(` [OK] ${plugin.name}`);\n }\n\n const sortedPlugins = sortBy(plugins, (p) => p.name);\n\n const marketplace: Marketplace = {\n $schema: MARKETPLACE_SCHEMA_URL,\n name: options.name,\n version: options.version ?? \"1.0.0\",\n owner: {\n name: options.ownerName,\n },\n metadata: {\n pluginRoot: options.pluginRoot,\n },\n plugins: sortedPlugins,\n };\n\n if (options.description) {\n marketplace.description = options.description;\n }\n\n if (options.ownerEmail) {\n marketplace.owner.email = options.ownerEmail;\n }\n\n return marketplace;\n}\n\nexport async function writeMarketplace(\n outputPath: string,\n marketplace: Marketplace,\n): Promise<void> {\n await ensureDir(path.dirname(outputPath));\n const content = `${JSON.stringify(marketplace, null, 2)}\\n`;\n await writeFile(outputPath, content);\n}\n\nexport function getMarketplaceStats(marketplace: Marketplace): {\n total: number;\n byCategory: Record<string, number>;\n} {\n const byCategory: Record<string, number> = {};\n\n for (const plugin of marketplace.plugins) {\n const category = plugin.category ?? \"uncategorized\";\n byCategory[category] = (byCategory[category] ?? 0) + 1;\n }\n\n return {\n total: marketplace.plugins.length,\n byCategory,\n };\n}\n"],"mappings":"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","names":["path","sortBy","path","sortBy"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/build/marketplace.ts"],"sourcesContent":["import { Flags } from \"@oclif/core\";\nimport path from \"path\";\nimport { sortBy } from \"remeda\";\n\nimport { BaseCommand } from \"../../base-command\";\nimport { setVerbose } from \"../../utils/logger\";\nimport {\n generateMarketplace,\n writeMarketplace,\n getMarketplaceStats,\n} from \"../../lib/marketplace-generator\";\nimport {\n DEFAULT_BRANDING,\n DEFAULT_PLUGIN_NAME,\n DEFAULT_VERSION,\n PLUGIN_MANIFEST_DIR,\n} from \"../../consts\";\n\nconst DEFAULT_PLUGINS_DIR = \"dist/plugins\";\nconst DEFAULT_OUTPUT_FILE = `${PLUGIN_MANIFEST_DIR}/marketplace.json`;\nconst DEFAULT_DESCRIPTION = \"Community skills and stacks for Claude Code\";\nconst DEFAULT_OWNER_NAME = DEFAULT_BRANDING.NAME;\nconst DEFAULT_OWNER_EMAIL = `hello@${DEFAULT_PLUGIN_NAME}.com`;\n\nexport default class BuildMarketplace extends BaseCommand {\n static summary = \"Generate marketplace.json from built plugins (requires skills repo)\";\n\n static description =\n \"Generate marketplace.json from built plugins. This command scans the plugins directory and generates a marketplace manifest file.\";\n\n static examples = [\n \"<%= config.bin %> <%= command.id %>\",\n \"<%= config.bin %> <%= command.id %> --plugins-dir dist/stacks\",\n \"<%= config.bin %> <%= command.id %> --output .claude-plugin/market.json\",\n \"<%= config.bin %> <%= command.id %> --name my-marketplace --version 2.0.0\",\n ];\n\n static flags = {\n ...BaseCommand.baseFlags,\n \"plugins-dir\": Flags.string({\n char: \"p\",\n description: \"Plugins directory\",\n default: DEFAULT_PLUGINS_DIR,\n }),\n output: Flags.string({\n char: \"o\",\n description: \"Output file\",\n default: DEFAULT_OUTPUT_FILE,\n }),\n name: Flags.string({\n description: \"Marketplace name\",\n default: DEFAULT_PLUGIN_NAME,\n }),\n version: Flags.string({\n description: \"Marketplace version\",\n default: DEFAULT_VERSION,\n }),\n description: Flags.string({\n description: \"Marketplace description\",\n default: DEFAULT_DESCRIPTION,\n }),\n \"owner-name\": Flags.string({\n description: \"Owner name\",\n default: DEFAULT_OWNER_NAME,\n }),\n \"owner-email\": Flags.string({\n description: \"Owner email\",\n default: DEFAULT_OWNER_EMAIL,\n }),\n verbose: Flags.boolean({\n char: \"v\",\n description: \"Enable verbose logging\",\n default: false,\n }),\n };\n\n async run(): Promise<void> {\n const { flags } = await this.parse(BuildMarketplace);\n\n setVerbose(flags.verbose);\n\n const projectRoot = process.cwd();\n const pluginsDir = path.resolve(projectRoot, flags[\"plugins-dir\"]);\n const outputPath = path.resolve(projectRoot, flags.output);\n\n this.log(\"\");\n this.log(\"Generating marketplace.json\");\n this.log(` Plugins directory: ${pluginsDir}`);\n this.log(` Output file: ${outputPath}`);\n this.log(\"\");\n\n try {\n this.log(\"Scanning plugins...\");\n\n const marketplace = await generateMarketplace(pluginsDir, {\n name: flags.name,\n version: flags.version,\n description: flags.description,\n ownerName: flags[\"owner-name\"],\n ownerEmail: flags[\"owner-email\"],\n pluginRoot: `./${flags[\"plugins-dir\"]}`,\n });\n\n const stats = getMarketplaceStats(marketplace);\n this.log(`Found ${stats.total} plugins`);\n\n this.log(\"\");\n this.log(\"Category breakdown:\");\n const sortedCategories = sortBy(Object.entries(stats.byCategory), ([, count]) => -count);\n for (const [category, count] of sortedCategories) {\n this.log(` ${category}: ${count}`);\n }\n\n this.log(\"Writing marketplace.json...\");\n await writeMarketplace(outputPath, marketplace);\n this.log(`Wrote ${outputPath}`);\n\n this.log(\"\");\n this.log(\"Sample plugins:\");\n const sampleSize = 5;\n for (const plugin of marketplace.plugins.slice(0, sampleSize)) {\n const version = plugin.version ? `v${plugin.version}` : \"\";\n const category = plugin.category ? `[${plugin.category}]` : \"\";\n this.log(` ${plugin.name} ${version} ${category}`);\n if (plugin.description) {\n this.log(` ${plugin.description}`);\n }\n }\n if (marketplace.plugins.length > sampleSize) {\n this.log(` ... and ${marketplace.plugins.length - sampleSize} more`);\n }\n\n this.log(\"\");\n this.logSuccess(`Marketplace generated with ${stats.total} plugins!`);\n this.log(\"\");\n } catch (error) {\n this.log(\"Generation failed\");\n this.handleError(error);\n }\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -2,22 +2,22 @@
|
|
|
2
2
|
import {
|
|
3
3
|
compileAllAgentPlugins,
|
|
4
4
|
printAgentCompilationSummary
|
|
5
|
-
} from "../../chunk-
|
|
5
|
+
} from "../../chunk-PZLUO4OY.js";
|
|
6
6
|
import {
|
|
7
7
|
BaseCommand
|
|
8
|
-
} from "../../chunk-
|
|
8
|
+
} from "../../chunk-LFZXMQOH.js";
|
|
9
9
|
import {
|
|
10
10
|
compileAllSkillPlugins,
|
|
11
11
|
compileSkillPlugin,
|
|
12
12
|
printCompilationSummary
|
|
13
|
-
} from "../../chunk-
|
|
13
|
+
} from "../../chunk-RT6IBH37.js";
|
|
14
14
|
import "../../chunk-T4EXUIBY.js";
|
|
15
15
|
import {
|
|
16
16
|
setVerbose
|
|
17
|
-
} from "../../chunk-
|
|
17
|
+
} from "../../chunk-5QRJUBK7.js";
|
|
18
18
|
import {
|
|
19
19
|
DIRS
|
|
20
|
-
} from "../../chunk-
|
|
20
|
+
} from "../../chunk-74HSA7C4.js";
|
|
21
21
|
import {
|
|
22
22
|
init_esm_shims
|
|
23
23
|
} from "../../chunk-DHET7RCE.js";
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
getAgentDefinitions
|
|
4
|
-
} from "../../chunk-
|
|
4
|
+
} from "../../chunk-PZLUO4OY.js";
|
|
5
5
|
import {
|
|
6
6
|
BaseCommand,
|
|
7
7
|
EXIT_CODES
|
|
8
|
-
} from "../../chunk-
|
|
8
|
+
} from "../../chunk-LFZXMQOH.js";
|
|
9
9
|
import {
|
|
10
10
|
compileStackPlugin,
|
|
11
11
|
loadStacks,
|
|
12
12
|
printStackCompilationSummary
|
|
13
|
-
} from "../../chunk-
|
|
13
|
+
} from "../../chunk-RT6IBH37.js";
|
|
14
14
|
import "../../chunk-T4EXUIBY.js";
|
|
15
15
|
import {
|
|
16
16
|
setVerbose
|
|
17
|
-
} from "../../chunk-
|
|
17
|
+
} from "../../chunk-5QRJUBK7.js";
|
|
18
18
|
import {
|
|
19
19
|
PROJECT_ROOT
|
|
20
|
-
} from "../../chunk-
|
|
20
|
+
} from "../../chunk-74HSA7C4.js";
|
|
21
21
|
import {
|
|
22
22
|
init_esm_shims
|
|
23
23
|
} from "../../chunk-DHET7RCE.js";
|
package/dist/commands/compile.js
CHANGED
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
import {
|
|
3
3
|
getAgentDefinitions,
|
|
4
4
|
recompileAgents
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-PZLUO4OY.js";
|
|
6
6
|
import {
|
|
7
7
|
DRY_RUN_MESSAGES,
|
|
8
8
|
ERROR_MESSAGES,
|
|
9
9
|
INFO_MESSAGES,
|
|
10
10
|
STATUS_MESSAGES,
|
|
11
11
|
SUCCESS_MESSAGES
|
|
12
|
-
} from "../chunk-
|
|
12
|
+
} from "../chunk-G2WNOT3R.js";
|
|
13
13
|
import {
|
|
14
14
|
BaseCommand,
|
|
15
15
|
EXIT_CODES
|
|
16
|
-
} from "../chunk-
|
|
16
|
+
} from "../chunk-LFZXMQOH.js";
|
|
17
17
|
import {
|
|
18
18
|
detectInstallation,
|
|
19
19
|
discoverAllPluginSkills,
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
normalizeStackRecord,
|
|
22
22
|
parseFrontmatter,
|
|
23
23
|
resolveSource
|
|
24
|
-
} from "../chunk-
|
|
24
|
+
} from "../chunk-RT6IBH37.js";
|
|
25
25
|
import {
|
|
26
26
|
typedEntries,
|
|
27
27
|
typedKeys
|
|
@@ -36,12 +36,12 @@ import {
|
|
|
36
36
|
setVerbose,
|
|
37
37
|
verbose,
|
|
38
38
|
warn
|
|
39
|
-
} from "../chunk-
|
|
39
|
+
} from "../chunk-5QRJUBK7.js";
|
|
40
40
|
import {
|
|
41
41
|
CLI_BIN_NAME,
|
|
42
42
|
LOCAL_SKILLS_PATH,
|
|
43
43
|
STANDARD_FILES
|
|
44
|
-
} from "../chunk-
|
|
44
|
+
} from "../chunk-74HSA7C4.js";
|
|
45
45
|
import {
|
|
46
46
|
init_esm_shims
|
|
47
47
|
} from "../chunk-DHET7RCE.js";
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
import {
|
|
3
3
|
BaseCommand,
|
|
4
4
|
EXIT_CODES
|
|
5
|
-
} from "../../chunk-
|
|
5
|
+
} from "../../chunk-LFZXMQOH.js";
|
|
6
6
|
import {
|
|
7
7
|
loadProjectSourceConfig,
|
|
8
8
|
resolveAgentsSource,
|
|
9
9
|
resolveSource
|
|
10
|
-
} from "../../chunk-
|
|
10
|
+
} from "../../chunk-RT6IBH37.js";
|
|
11
11
|
import "../../chunk-T4EXUIBY.js";
|
|
12
|
-
import "../../chunk-
|
|
13
|
-
import "../../chunk-
|
|
12
|
+
import "../../chunk-5QRJUBK7.js";
|
|
13
|
+
import "../../chunk-74HSA7C4.js";
|
|
14
14
|
import {
|
|
15
15
|
init_esm_shims
|
|
16
16
|
} from "../../chunk-DHET7RCE.js";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
ConfigShow
|
|
4
|
-
} from "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
6
|
-
import "../../chunk-
|
|
4
|
+
} from "../../chunk-VH3PI43B.js";
|
|
5
|
+
import "../../chunk-LFZXMQOH.js";
|
|
6
|
+
import "../../chunk-RT6IBH37.js";
|
|
7
7
|
import "../../chunk-T4EXUIBY.js";
|
|
8
|
-
import "../../chunk-
|
|
9
|
-
import "../../chunk-
|
|
8
|
+
import "../../chunk-5QRJUBK7.js";
|
|
9
|
+
import "../../chunk-74HSA7C4.js";
|
|
10
10
|
import {
|
|
11
11
|
init_esm_shims
|
|
12
12
|
} from "../../chunk-DHET7RCE.js";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
BaseCommand
|
|
4
|
-
} from "../../chunk-
|
|
4
|
+
} from "../../chunk-LFZXMQOH.js";
|
|
5
5
|
import {
|
|
6
6
|
getProjectConfigPath
|
|
7
|
-
} from "../../chunk-
|
|
7
|
+
} from "../../chunk-RT6IBH37.js";
|
|
8
8
|
import "../../chunk-T4EXUIBY.js";
|
|
9
|
-
import "../../chunk-
|
|
10
|
-
import "../../chunk-
|
|
9
|
+
import "../../chunk-5QRJUBK7.js";
|
|
10
|
+
import "../../chunk-74HSA7C4.js";
|
|
11
11
|
import {
|
|
12
12
|
init_esm_shims
|
|
13
13
|
} from "../../chunk-DHET7RCE.js";
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
import {
|
|
3
3
|
BaseCommand,
|
|
4
4
|
EXIT_CODES
|
|
5
|
-
} from "../../chunk-
|
|
5
|
+
} from "../../chunk-LFZXMQOH.js";
|
|
6
6
|
import {
|
|
7
7
|
getProjectConfigPath,
|
|
8
8
|
loadProjectSourceConfig,
|
|
9
9
|
saveProjectConfig
|
|
10
|
-
} from "../../chunk-
|
|
10
|
+
} from "../../chunk-RT6IBH37.js";
|
|
11
11
|
import "../../chunk-T4EXUIBY.js";
|
|
12
|
-
import "../../chunk-
|
|
13
|
-
import "../../chunk-
|
|
12
|
+
import "../../chunk-5QRJUBK7.js";
|
|
13
|
+
import "../../chunk-74HSA7C4.js";
|
|
14
14
|
import {
|
|
15
15
|
init_esm_shims
|
|
16
16
|
} from "../../chunk-DHET7RCE.js";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
ConfigShow
|
|
4
|
-
} from "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
6
|
-
import "../../chunk-
|
|
4
|
+
} from "../../chunk-VH3PI43B.js";
|
|
5
|
+
import "../../chunk-LFZXMQOH.js";
|
|
6
|
+
import "../../chunk-RT6IBH37.js";
|
|
7
7
|
import "../../chunk-T4EXUIBY.js";
|
|
8
|
-
import "../../chunk-
|
|
9
|
-
import "../../chunk-
|
|
8
|
+
import "../../chunk-5QRJUBK7.js";
|
|
9
|
+
import "../../chunk-74HSA7C4.js";
|
|
10
10
|
import "../../chunk-DHET7RCE.js";
|
|
11
11
|
export {
|
|
12
12
|
ConfigShow as default
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
import {
|
|
3
3
|
BaseCommand,
|
|
4
4
|
EXIT_CODES
|
|
5
|
-
} from "../../chunk-
|
|
5
|
+
} from "../../chunk-LFZXMQOH.js";
|
|
6
6
|
import {
|
|
7
7
|
loadProjectSourceConfig,
|
|
8
8
|
saveProjectConfig
|
|
9
|
-
} from "../../chunk-
|
|
9
|
+
} from "../../chunk-RT6IBH37.js";
|
|
10
10
|
import "../../chunk-T4EXUIBY.js";
|
|
11
|
-
import "../../chunk-
|
|
12
|
-
import "../../chunk-
|
|
11
|
+
import "../../chunk-5QRJUBK7.js";
|
|
12
|
+
import "../../chunk-74HSA7C4.js";
|
|
13
13
|
import {
|
|
14
14
|
init_esm_shims
|
|
15
15
|
} from "../../chunk-DHET7RCE.js";
|
package/dist/commands/diff.js
CHANGED
|
@@ -2,23 +2,23 @@
|
|
|
2
2
|
import {
|
|
3
3
|
BaseCommand,
|
|
4
4
|
EXIT_CODES
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-LFZXMQOH.js";
|
|
6
6
|
import {
|
|
7
7
|
loadSkillsMatrixFromSource,
|
|
8
8
|
readForkedFromMetadata
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-RT6IBH37.js";
|
|
10
10
|
import "../chunk-T4EXUIBY.js";
|
|
11
11
|
import {
|
|
12
12
|
fileExists,
|
|
13
13
|
getErrorMessage,
|
|
14
14
|
listDirectories,
|
|
15
15
|
readFile
|
|
16
|
-
} from "../chunk-
|
|
16
|
+
} from "../chunk-5QRJUBK7.js";
|
|
17
17
|
import {
|
|
18
18
|
CLI_BIN_NAME,
|
|
19
19
|
LOCAL_SKILLS_PATH,
|
|
20
20
|
STANDARD_FILES
|
|
21
|
-
} from "../chunk-
|
|
21
|
+
} from "../chunk-74HSA7C4.js";
|
|
22
22
|
import {
|
|
23
23
|
init_esm_shims
|
|
24
24
|
} from "../chunk-DHET7RCE.js";
|
package/dist/commands/doctor.js
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
import {
|
|
3
3
|
BaseCommand,
|
|
4
4
|
EXIT_CODES
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-LFZXMQOH.js";
|
|
6
6
|
import {
|
|
7
7
|
discoverLocalSkills,
|
|
8
8
|
getStackSkillIds,
|
|
9
9
|
loadProjectConfig,
|
|
10
10
|
loadSkillsMatrixFromSource,
|
|
11
11
|
validateProjectConfig
|
|
12
|
-
} from "../chunk-
|
|
12
|
+
} from "../chunk-RT6IBH37.js";
|
|
13
13
|
import "../chunk-T4EXUIBY.js";
|
|
14
14
|
import {
|
|
15
15
|
directoryExists,
|
|
@@ -17,12 +17,12 @@ import {
|
|
|
17
17
|
getErrorMessage,
|
|
18
18
|
glob,
|
|
19
19
|
setVerbose
|
|
20
|
-
} from "../chunk-
|
|
20
|
+
} from "../chunk-5QRJUBK7.js";
|
|
21
21
|
import {
|
|
22
22
|
CLAUDE_DIR,
|
|
23
23
|
CLI_BIN_NAME,
|
|
24
24
|
DEFAULT_BRANDING
|
|
25
|
-
} from "../chunk-
|
|
25
|
+
} from "../chunk-74HSA7C4.js";
|
|
26
26
|
import {
|
|
27
27
|
init_esm_shims
|
|
28
28
|
} from "../chunk-DHET7RCE.js";
|
package/dist/commands/edit.js
CHANGED
|
@@ -2,49 +2,49 @@
|
|
|
2
2
|
import {
|
|
3
3
|
getAgentDefinitions,
|
|
4
4
|
recompileAgents
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-PZLUO4OY.js";
|
|
6
6
|
import {
|
|
7
7
|
Wizard
|
|
8
|
-
} from "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-MI4NWOWD.js";
|
|
18
|
-
import "../chunk-ZHJEZ7AU.js";
|
|
19
|
-
import "../chunk-VHGIQN5O.js";
|
|
20
|
-
import "../chunk-EPJ2GJNJ.js";
|
|
21
|
-
import "../chunk-YRVTXSXP.js";
|
|
8
|
+
} from "../chunk-CTQHZELA.js";
|
|
9
|
+
import "../chunk-FKBCYT7B.js";
|
|
10
|
+
import "../chunk-TOWP4T5L.js";
|
|
11
|
+
import "../chunk-4C7PDDLY.js";
|
|
12
|
+
import "../chunk-72GS6PIH.js";
|
|
13
|
+
import "../chunk-FUEZQ2H6.js";
|
|
14
|
+
import "../chunk-I26YP2Q3.js";
|
|
15
|
+
import "../chunk-HM3DHMW7.js";
|
|
16
|
+
import "../chunk-YT7UHV67.js";
|
|
22
17
|
import "../chunk-K77I4XGL.js";
|
|
23
|
-
import "../chunk-
|
|
24
|
-
import "../chunk-
|
|
25
|
-
import "../chunk-
|
|
26
|
-
import "../chunk-
|
|
27
|
-
import "../chunk-
|
|
18
|
+
import "../chunk-GVLYNP2I.js";
|
|
19
|
+
import "../chunk-D7JTL3DJ.js";
|
|
20
|
+
import "../chunk-3WKFSTG6.js";
|
|
21
|
+
import "../chunk-KWQ2BQXF.js";
|
|
22
|
+
import "../chunk-7SOPVGDV.js";
|
|
23
|
+
import "../chunk-C7BO2ASM.js";
|
|
28
24
|
import "../chunk-KUV24B5M.js";
|
|
29
|
-
import "../chunk-
|
|
25
|
+
import "../chunk-CD64ZNYI.js";
|
|
30
26
|
import "../chunk-GG4BSB6S.js";
|
|
31
|
-
import "../chunk-
|
|
27
|
+
import "../chunk-CDGHSTB6.js";
|
|
28
|
+
import "../chunk-RWR56UVK.js";
|
|
29
|
+
import "../chunk-ODQ2BKWU.js";
|
|
30
|
+
import "../chunk-DO5OZHSS.js";
|
|
31
|
+
import "../chunk-5M6JI76P.js";
|
|
32
32
|
import "../chunk-U3IGFMCY.js";
|
|
33
33
|
import {
|
|
34
34
|
claudePluginInstall,
|
|
35
35
|
claudePluginUninstall
|
|
36
|
-
} from "../chunk-
|
|
37
|
-
import "../chunk-
|
|
38
|
-
import "../chunk-
|
|
36
|
+
} from "../chunk-QBUOZVNZ.js";
|
|
37
|
+
import "../chunk-UK3AMBR7.js";
|
|
38
|
+
import "../chunk-J64CA4V6.js";
|
|
39
39
|
import {
|
|
40
40
|
ERROR_MESSAGES,
|
|
41
41
|
INFO_MESSAGES,
|
|
42
42
|
STATUS_MESSAGES
|
|
43
|
-
} from "../chunk-
|
|
43
|
+
} from "../chunk-G2WNOT3R.js";
|
|
44
44
|
import {
|
|
45
45
|
BaseCommand,
|
|
46
46
|
EXIT_CODES
|
|
47
|
-
} from "../chunk-
|
|
47
|
+
} from "../chunk-LFZXMQOH.js";
|
|
48
48
|
import {
|
|
49
49
|
archiveLocalSkill,
|
|
50
50
|
detectInstallation,
|
|
@@ -53,16 +53,17 @@ import {
|
|
|
53
53
|
loadProjectConfig,
|
|
54
54
|
loadSkillsMatrixFromSource,
|
|
55
55
|
restoreArchivedSkill
|
|
56
|
-
} from "../chunk-
|
|
56
|
+
} from "../chunk-RT6IBH37.js";
|
|
57
57
|
import {
|
|
58
58
|
typedEntries
|
|
59
59
|
} from "../chunk-T4EXUIBY.js";
|
|
60
60
|
import {
|
|
61
61
|
getErrorMessage
|
|
62
|
-
} from "../chunk-
|
|
62
|
+
} from "../chunk-5QRJUBK7.js";
|
|
63
63
|
import {
|
|
64
|
+
ASCII_LOGO,
|
|
64
65
|
CLI_BIN_NAME
|
|
65
|
-
} from "../chunk-
|
|
66
|
+
} from "../chunk-74HSA7C4.js";
|
|
66
67
|
import {
|
|
67
68
|
init_esm_shims
|
|
68
69
|
} from "../chunk-DHET7RCE.js";
|
|
@@ -163,10 +164,12 @@ var Edit = class _Edit extends BaseCommand {
|
|
|
163
164
|
matrix: sourceResult.matrix,
|
|
164
165
|
version: this.config.version,
|
|
165
166
|
marketplaceLabel,
|
|
167
|
+
logo: ASCII_LOGO,
|
|
166
168
|
initialStep: "build",
|
|
167
169
|
initialInstallMode,
|
|
168
170
|
initialExpertMode: projectConfig?.config?.expertMode,
|
|
169
171
|
initialDomains: projectConfig?.config?.domains,
|
|
172
|
+
initialAgents: projectConfig?.config?.selectedAgents,
|
|
170
173
|
installedSkillIds: currentSkillIds,
|
|
171
174
|
projectDir: process.cwd(),
|
|
172
175
|
onComplete: (result2) => {
|