create-codemodekit 0.2.0 → 0.4.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/README.md +51 -4
- package/dist/agent-plugin.d.ts +3 -2
- package/dist/agent-plugin.d.ts.map +1 -1
- package/dist/agent-plugin.js +6 -4
- package/dist/agent-plugin.js.map +1 -1
- package/dist/authoring-skill.d.ts +14 -0
- package/dist/authoring-skill.d.ts.map +1 -0
- package/dist/authoring-skill.js +21 -0
- package/dist/authoring-skill.js.map +1 -0
- package/dist/cli.d.ts +14 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +306 -36
- package/dist/cli.js.map +1 -1
- package/dist/cursor-plugin.d.ts +25 -0
- package/dist/cursor-plugin.d.ts.map +1 -0
- package/dist/cursor-plugin.js +177 -0
- package/dist/cursor-plugin.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/plugin-build.d.ts +19 -0
- package/dist/plugin-build.d.ts.map +1 -0
- package/dist/plugin-build.js +177 -0
- package/dist/plugin-build.js.map +1 -0
- package/dist/plugin-cli.d.ts +3 -0
- package/dist/plugin-cli.d.ts.map +1 -0
- package/dist/plugin-cli.js +102 -0
- package/dist/plugin-cli.js.map +1 -0
- package/dist/scaffold.d.ts +16 -5
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/scaffold.js +176 -53
- package/dist/scaffold.js.map +1 -1
- package/dist/source-template.d.ts +21 -0
- package/dist/source-template.d.ts.map +1 -0
- package/dist/source-template.js +289 -0
- package/dist/source-template.js.map +1 -0
- package/package.json +22 -7
package/dist/cli.js
CHANGED
|
@@ -1,20 +1,37 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { createInterface } from "node:readline/promises";
|
|
3
|
+
import { realpathSync } from "node:fs";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import { fileURLToPath } from "node:url";
|
|
2
6
|
import { parseMcpCommand } from "./command.js";
|
|
3
|
-
import { scaffoldCodeModeMcp } from "./scaffold.js";
|
|
4
|
-
export async function runCli(args) {
|
|
7
|
+
import { scaffoldCodeModeMcp, } from "./scaffold.js";
|
|
8
|
+
export async function runCli(args, runtime = {}) {
|
|
5
9
|
if (args.includes("--help") || args.includes("-h")) {
|
|
6
|
-
process.stdout.write(usage());
|
|
10
|
+
(runtime.write ?? process.stdout.write.bind(process.stdout))(usage());
|
|
7
11
|
return;
|
|
8
12
|
}
|
|
9
|
-
const
|
|
13
|
+
const draft = parseOptions(args);
|
|
14
|
+
const needsPrompt = requiresPrompt(draft);
|
|
15
|
+
const ownedPrompter = needsPrompt && runtime.prompter === undefined ? terminalPrompter() : undefined;
|
|
16
|
+
const prompter = runtime.prompter ?? ownedPrompter;
|
|
17
|
+
if (needsPrompt && prompter === undefined) {
|
|
18
|
+
throw new TypeError("Missing required options in a non-interactive terminal; pass a directory and source flags");
|
|
19
|
+
}
|
|
20
|
+
let options;
|
|
21
|
+
try {
|
|
22
|
+
options = await completeOptions(draft, prompter);
|
|
23
|
+
}
|
|
24
|
+
finally {
|
|
25
|
+
ownedPrompter?.close?.();
|
|
26
|
+
}
|
|
10
27
|
const result = await scaffoldCodeModeMcp({
|
|
11
28
|
targetDirectory: options.targetDirectory,
|
|
12
|
-
|
|
13
|
-
mcpCommand: parseMcpCommand(options.mcpCommand),
|
|
29
|
+
source: options.source,
|
|
14
30
|
...(options.serverName === undefined
|
|
15
31
|
? {}
|
|
16
32
|
: { serverName: options.serverName }),
|
|
17
33
|
policy: options.policy,
|
|
34
|
+
authoringSkill: options.authoringSkill,
|
|
18
35
|
install: options.install,
|
|
19
36
|
...(options.codemodekitVersion === undefined
|
|
20
37
|
? {}
|
|
@@ -23,18 +40,37 @@ export async function runCli(args) {
|
|
|
23
40
|
? {}
|
|
24
41
|
: { createCodemodekitVersion: options.createCodemodekitVersion }),
|
|
25
42
|
...(options.agentPlugin
|
|
26
|
-
? {
|
|
43
|
+
? {
|
|
44
|
+
agentPlugin: {
|
|
45
|
+
sync: options.sync && options.install,
|
|
46
|
+
...(options.pluginName === undefined
|
|
47
|
+
? {}
|
|
48
|
+
: { pluginName: options.pluginName }),
|
|
49
|
+
...(options.skillName === undefined
|
|
50
|
+
? {}
|
|
51
|
+
: { skillName: options.skillName }),
|
|
52
|
+
...(options.pluginDescription === undefined
|
|
53
|
+
? {}
|
|
54
|
+
: { description: options.pluginDescription }),
|
|
55
|
+
...(options.pluginLicense === undefined
|
|
56
|
+
? {}
|
|
57
|
+
: { license: options.pluginLicense }),
|
|
58
|
+
},
|
|
59
|
+
}
|
|
27
60
|
: {}),
|
|
28
61
|
});
|
|
29
62
|
const pluginSummary = result.agentPlugin === undefined
|
|
30
63
|
? ""
|
|
31
|
-
: result.agentPlugin.
|
|
32
|
-
?
|
|
33
|
-
: `
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
64
|
+
: `Agent Plugin: ${result.agentPlugin.built ? "built" : "scaffolded"} (${result.agentPlugin.skillName})\n` +
|
|
65
|
+
`${result.agentPlugin.synced ? "Catalog: synchronized\n" : "Catalog: pending\n"}` +
|
|
66
|
+
`${result.agentPlugin.syncError === undefined ? "" : `Catalog sync pending: ${result.agentPlugin.syncError}\n`}` +
|
|
67
|
+
`${result.agentPlugin.synced ? "" : " npm run plugin:sync\n"}` +
|
|
68
|
+
`${result.agentPlugin.built ? "" : " npm run plugin:build\n"}` +
|
|
69
|
+
" npm run plugin:install:cursor\n";
|
|
70
|
+
const sourceName = options.source.type === "weather" ? "weather" : options.source.name;
|
|
71
|
+
(runtime.write ?? process.stdout.write.bind(process.stdout))(`\nCreated ${options.serverName ?? `${sourceName}-code-mode`} in ${result.directory}\n\n` +
|
|
37
72
|
`${result.installed ? "" : " npm install\n"} npm start\n\n` +
|
|
73
|
+
`${result.authoringSkillDirectories === undefined ? "" : "Authoring skills: .agents/skills/build-codemodekit-server, .agents/skills/author-codemode-skill\n"}` +
|
|
38
74
|
pluginSummary +
|
|
39
75
|
`Tool policy: ${options.policy}\n`);
|
|
40
76
|
}
|
|
@@ -42,9 +78,16 @@ function parseOptions(args) {
|
|
|
42
78
|
let targetDirectory;
|
|
43
79
|
let mcpName;
|
|
44
80
|
let mcpCommand;
|
|
81
|
+
let mcpUrl;
|
|
82
|
+
let example;
|
|
45
83
|
let serverName;
|
|
46
|
-
let
|
|
47
|
-
let
|
|
84
|
+
let pluginName;
|
|
85
|
+
let skillName;
|
|
86
|
+
let pluginDescription;
|
|
87
|
+
let pluginLicense;
|
|
88
|
+
let policy;
|
|
89
|
+
let agentPlugin;
|
|
90
|
+
let authoringSkill = true;
|
|
48
91
|
let sync = true;
|
|
49
92
|
let install = true;
|
|
50
93
|
let codemodekitVersion;
|
|
@@ -65,9 +108,23 @@ function parseOptions(args) {
|
|
|
65
108
|
continue;
|
|
66
109
|
}
|
|
67
110
|
if (argument === "--agent-plugin") {
|
|
111
|
+
if (agentPlugin === false) {
|
|
112
|
+
throw new TypeError("Use either --agent-plugin or --no-agent-plugin");
|
|
113
|
+
}
|
|
68
114
|
agentPlugin = true;
|
|
69
115
|
continue;
|
|
70
116
|
}
|
|
117
|
+
if (argument === "--no-agent-plugin") {
|
|
118
|
+
if (agentPlugin === true) {
|
|
119
|
+
throw new TypeError("Use either --agent-plugin or --no-agent-plugin");
|
|
120
|
+
}
|
|
121
|
+
agentPlugin = false;
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
if (argument === "--no-authoring-skill") {
|
|
125
|
+
authoringSkill = false;
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
71
128
|
if (argument === "--no-sync") {
|
|
72
129
|
sync = false;
|
|
73
130
|
continue;
|
|
@@ -78,15 +135,36 @@ function parseOptions(args) {
|
|
|
78
135
|
}
|
|
79
136
|
index += 1;
|
|
80
137
|
switch (argument) {
|
|
138
|
+
case "--example":
|
|
139
|
+
if (value !== "weather") {
|
|
140
|
+
throw new TypeError("--example currently supports only weather");
|
|
141
|
+
}
|
|
142
|
+
example = value;
|
|
143
|
+
break;
|
|
81
144
|
case "--mcp-name":
|
|
82
145
|
mcpName = value;
|
|
83
146
|
break;
|
|
84
147
|
case "--mcp-command":
|
|
85
148
|
mcpCommand = value;
|
|
86
149
|
break;
|
|
150
|
+
case "--mcp-url":
|
|
151
|
+
mcpUrl = value;
|
|
152
|
+
break;
|
|
87
153
|
case "--server-name":
|
|
88
154
|
serverName = value;
|
|
89
155
|
break;
|
|
156
|
+
case "--plugin-name":
|
|
157
|
+
pluginName = value;
|
|
158
|
+
break;
|
|
159
|
+
case "--skill-name":
|
|
160
|
+
skillName = value;
|
|
161
|
+
break;
|
|
162
|
+
case "--plugin-description":
|
|
163
|
+
pluginDescription = value;
|
|
164
|
+
break;
|
|
165
|
+
case "--plugin-license":
|
|
166
|
+
pluginLicense = value;
|
|
167
|
+
break;
|
|
90
168
|
case "--policy":
|
|
91
169
|
if (value !== "allow-all" && value !== "deny-all") {
|
|
92
170
|
throw new TypeError("--policy must be allow-all or deny-all");
|
|
@@ -103,22 +181,31 @@ function parseOptions(args) {
|
|
|
103
181
|
throw new TypeError(`Unknown option: ${argument}`);
|
|
104
182
|
}
|
|
105
183
|
}
|
|
106
|
-
if (
|
|
107
|
-
|
|
184
|
+
if (example !== undefined &&
|
|
185
|
+
[mcpName, mcpCommand, mcpUrl].some((value) => value !== undefined)) {
|
|
186
|
+
throw new TypeError("--example cannot be combined with MCP source flags");
|
|
108
187
|
}
|
|
109
|
-
if (
|
|
110
|
-
throw new TypeError("--mcp-
|
|
188
|
+
if (mcpCommand !== undefined && mcpUrl !== undefined) {
|
|
189
|
+
throw new TypeError("Use either --mcp-command or --mcp-url");
|
|
111
190
|
}
|
|
112
|
-
if (
|
|
113
|
-
|
|
191
|
+
if (agentPlugin === false &&
|
|
192
|
+
[pluginName, skillName, pluginDescription, pluginLicense].some((value) => value !== undefined)) {
|
|
193
|
+
throw new TypeError("Plugin metadata options require --agent-plugin");
|
|
114
194
|
}
|
|
115
195
|
return {
|
|
116
|
-
targetDirectory,
|
|
117
|
-
mcpName,
|
|
118
|
-
mcpCommand,
|
|
196
|
+
...(targetDirectory === undefined ? {} : { targetDirectory }),
|
|
197
|
+
...(mcpName === undefined ? {} : { mcpName }),
|
|
198
|
+
...(mcpCommand === undefined ? {} : { mcpCommand }),
|
|
199
|
+
...(mcpUrl === undefined ? {} : { mcpUrl }),
|
|
200
|
+
...(example === undefined ? {} : { example }),
|
|
119
201
|
...(serverName === undefined ? {} : { serverName }),
|
|
120
|
-
|
|
121
|
-
|
|
202
|
+
...(pluginName === undefined ? {} : { pluginName }),
|
|
203
|
+
...(skillName === undefined ? {} : { skillName }),
|
|
204
|
+
...(pluginDescription === undefined ? {} : { pluginDescription }),
|
|
205
|
+
...(pluginLicense === undefined ? {} : { pluginLicense }),
|
|
206
|
+
...(policy === undefined ? {} : { policy }),
|
|
207
|
+
...(agentPlugin === undefined ? {} : { agentPlugin }),
|
|
208
|
+
authoringSkill,
|
|
122
209
|
sync,
|
|
123
210
|
install,
|
|
124
211
|
...(codemodekitVersion === undefined ? {} : { codemodekitVersion }),
|
|
@@ -127,19 +214,199 @@ function parseOptions(args) {
|
|
|
127
214
|
: { createCodemodekitVersion }),
|
|
128
215
|
};
|
|
129
216
|
}
|
|
217
|
+
function requiresPrompt(draft) {
|
|
218
|
+
if (draft.targetDirectory === undefined)
|
|
219
|
+
return true;
|
|
220
|
+
if (draft.example !== undefined)
|
|
221
|
+
return false;
|
|
222
|
+
if (draft.mcpCommand === undefined && draft.mcpUrl === undefined)
|
|
223
|
+
return true;
|
|
224
|
+
return draft.mcpName === undefined;
|
|
225
|
+
}
|
|
226
|
+
async function completeOptions(draft, prompter) {
|
|
227
|
+
const targetDirectory = draft.targetDirectory ??
|
|
228
|
+
(await requiredInput(prompter, "Project directory", "weather-code-mode"));
|
|
229
|
+
let source;
|
|
230
|
+
if (draft.example === "weather") {
|
|
231
|
+
source = { type: "weather" };
|
|
232
|
+
}
|
|
233
|
+
else if (draft.mcpCommand !== undefined) {
|
|
234
|
+
source = {
|
|
235
|
+
type: "mcp-stdio",
|
|
236
|
+
name: draft.mcpName ??
|
|
237
|
+
(await requiredInput(prompter, "Tool source name", "upstream")),
|
|
238
|
+
command: parseMcpCommand(draft.mcpCommand),
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
else if (draft.mcpUrl !== undefined) {
|
|
242
|
+
source = {
|
|
243
|
+
type: "mcp-http",
|
|
244
|
+
name: draft.mcpName ??
|
|
245
|
+
(await requiredInput(prompter, "Tool source name", "upstream")),
|
|
246
|
+
url: draft.mcpUrl,
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
if (prompter === undefined)
|
|
251
|
+
throw new TypeError("A tool source is required");
|
|
252
|
+
const starter = await prompter.select("What would you like to connect?", [
|
|
253
|
+
{ label: "Weather starter", value: "weather" },
|
|
254
|
+
{ label: "MCP command", value: "mcp-command" },
|
|
255
|
+
{ label: "Remote MCP URL", value: "mcp-url" },
|
|
256
|
+
], "weather");
|
|
257
|
+
if (starter === "weather") {
|
|
258
|
+
source = { type: "weather" };
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
const name = await requiredInput(prompter, "Tool source name", "upstream");
|
|
262
|
+
if (starter === "mcp-command") {
|
|
263
|
+
source = {
|
|
264
|
+
type: "mcp-stdio",
|
|
265
|
+
name,
|
|
266
|
+
command: parseMcpCommand(await requiredInput(prompter, "MCP command")),
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
source = {
|
|
271
|
+
type: "mcp-http",
|
|
272
|
+
name,
|
|
273
|
+
url: await requiredInput(prompter, "Remote MCP URL"),
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
const interactive = prompter !== undefined;
|
|
279
|
+
const agentPlugin = draft.agentPlugin ??
|
|
280
|
+
(interactive
|
|
281
|
+
? await prompter.confirm("Generate an Agent Plugin?", true)
|
|
282
|
+
: source.type === "weather");
|
|
283
|
+
const policy = draft.policy ??
|
|
284
|
+
(interactive
|
|
285
|
+
? await prompter.select("Starting tool policy", [
|
|
286
|
+
{ label: "Allow all discovered tools", value: "allow-all" },
|
|
287
|
+
{ label: "Deny all until edited", value: "deny-all" },
|
|
288
|
+
], "allow-all")
|
|
289
|
+
: "allow-all");
|
|
290
|
+
if (!agentPlugin &&
|
|
291
|
+
[
|
|
292
|
+
draft.pluginName,
|
|
293
|
+
draft.skillName,
|
|
294
|
+
draft.pluginDescription,
|
|
295
|
+
draft.pluginLicense,
|
|
296
|
+
].some((value) => value !== undefined)) {
|
|
297
|
+
throw new TypeError("Plugin metadata options require --agent-plugin");
|
|
298
|
+
}
|
|
299
|
+
return {
|
|
300
|
+
targetDirectory,
|
|
301
|
+
source,
|
|
302
|
+
...(draft.serverName === undefined ? {} : { serverName: draft.serverName }),
|
|
303
|
+
...(draft.pluginName === undefined ? {} : { pluginName: draft.pluginName }),
|
|
304
|
+
...(draft.skillName === undefined ? {} : { skillName: draft.skillName }),
|
|
305
|
+
...(draft.pluginDescription === undefined
|
|
306
|
+
? {}
|
|
307
|
+
: { pluginDescription: draft.pluginDescription }),
|
|
308
|
+
...(draft.pluginLicense === undefined
|
|
309
|
+
? {}
|
|
310
|
+
: { pluginLicense: draft.pluginLicense }),
|
|
311
|
+
policy,
|
|
312
|
+
agentPlugin,
|
|
313
|
+
authoringSkill: draft.authoringSkill,
|
|
314
|
+
sync: draft.sync,
|
|
315
|
+
install: draft.install,
|
|
316
|
+
...(draft.codemodekitVersion === undefined
|
|
317
|
+
? {}
|
|
318
|
+
: { codemodekitVersion: draft.codemodekitVersion }),
|
|
319
|
+
...(draft.createCodemodekitVersion === undefined
|
|
320
|
+
? {}
|
|
321
|
+
: { createCodemodekitVersion: draft.createCodemodekitVersion }),
|
|
322
|
+
};
|
|
323
|
+
}
|
|
324
|
+
function terminalPrompter() {
|
|
325
|
+
if (process.stdin.isTTY !== true || process.stdout.isTTY !== true) {
|
|
326
|
+
return undefined;
|
|
327
|
+
}
|
|
328
|
+
const readline = createInterface({ input: process.stdin, output: process.stdout });
|
|
329
|
+
return {
|
|
330
|
+
input: async (message, defaultValue) => {
|
|
331
|
+
const suffix = defaultValue === undefined ? ": " : ` (${defaultValue}): `;
|
|
332
|
+
const answer = (await readline.question(`${message}${suffix}`)).trim();
|
|
333
|
+
return answer === "" && defaultValue !== undefined ? defaultValue : answer;
|
|
334
|
+
},
|
|
335
|
+
select: async (message, choices, defaultValue) => {
|
|
336
|
+
const defaultIndex = Math.max(0, choices.findIndex((choice) => choice.value === defaultValue));
|
|
337
|
+
const menu = choices
|
|
338
|
+
.map((choice, index) => ` ${String(index + 1)}) ${choice.label}`)
|
|
339
|
+
.join("\n");
|
|
340
|
+
while (true) {
|
|
341
|
+
const answer = (await readline.question(`${message}\n${menu}\nChoice (${String(defaultIndex + 1)}): `)).trim();
|
|
342
|
+
const selected = answer === "" ? defaultIndex : Number(answer) - 1;
|
|
343
|
+
const choice = choices[selected];
|
|
344
|
+
if (choice !== undefined)
|
|
345
|
+
return choice.value;
|
|
346
|
+
process.stdout.write("Choose one of the listed numbers.\n");
|
|
347
|
+
}
|
|
348
|
+
},
|
|
349
|
+
confirm: async (message, defaultValue) => {
|
|
350
|
+
while (true) {
|
|
351
|
+
const marker = defaultValue ? "Y/n" : "y/N";
|
|
352
|
+
const answer = (await readline.question(`${message} (${marker}): `))
|
|
353
|
+
.trim()
|
|
354
|
+
.toLowerCase();
|
|
355
|
+
if (answer === "")
|
|
356
|
+
return defaultValue;
|
|
357
|
+
if (answer === "y" || answer === "yes")
|
|
358
|
+
return true;
|
|
359
|
+
if (answer === "n" || answer === "no")
|
|
360
|
+
return false;
|
|
361
|
+
process.stdout.write("Answer yes or no.\n");
|
|
362
|
+
}
|
|
363
|
+
},
|
|
364
|
+
close: () => readline.close(),
|
|
365
|
+
};
|
|
366
|
+
}
|
|
367
|
+
async function requiredInput(prompter, message, defaultValue) {
|
|
368
|
+
if (prompter === undefined)
|
|
369
|
+
throw new TypeError(`${message} is required`);
|
|
370
|
+
while (true) {
|
|
371
|
+
const value = (await prompter.input(message, defaultValue)).trim();
|
|
372
|
+
if (value !== "")
|
|
373
|
+
return value;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
130
376
|
function usage() {
|
|
131
377
|
return `Create a batteries-included Code Mode MCP server.
|
|
132
378
|
|
|
133
|
-
|
|
134
|
-
npm create codemodekit@latest
|
|
379
|
+
Interactive:
|
|
380
|
+
npm create codemodekit@latest
|
|
381
|
+
|
|
382
|
+
Weather starter:
|
|
383
|
+
npm create codemodekit@latest weather-code-mode -- --example weather
|
|
384
|
+
|
|
385
|
+
MCP command:
|
|
386
|
+
npm create codemodekit@latest my-code-mode -- \\
|
|
135
387
|
--mcp-name <name> \\
|
|
136
388
|
--mcp-command '<executable> [args...]'
|
|
137
389
|
|
|
390
|
+
Remote MCP:
|
|
391
|
+
npm create codemodekit@latest my-code-mode -- \\
|
|
392
|
+
--mcp-name <name> \\
|
|
393
|
+
--mcp-url <https://example.com/mcp>
|
|
394
|
+
|
|
138
395
|
Options:
|
|
396
|
+
--example weather Generate the editable Open-Meteo Local Tools starter
|
|
397
|
+
--mcp-name <name> Name beneath tools.* for an MCP source
|
|
398
|
+
--mcp-command <command> Shell-free stdio MCP executable and arguments
|
|
399
|
+
--mcp-url <url> Streamable HTTP MCP endpoint
|
|
139
400
|
--server-name <name> Downstream MCP server name
|
|
140
|
-
--policy allow-all Allow every discovered
|
|
141
|
-
--policy deny-all Deny every
|
|
142
|
-
--agent-plugin
|
|
401
|
+
--policy allow-all Allow every discovered tool (default)
|
|
402
|
+
--policy deny-all Deny every tool until policy is edited
|
|
403
|
+
--agent-plugin Generate a portable Agent Plugin
|
|
404
|
+
--no-agent-plugin Omit the Agent Plugin (weather includes it by default)
|
|
405
|
+
--plugin-name <name> Override the portable plugin name
|
|
406
|
+
--skill-name <name> Override the runtime companion skill name
|
|
407
|
+
--plugin-description <s> Override the plugin manifest description
|
|
408
|
+
--plugin-license <SPDX> Add a license identifier to plugin.json
|
|
409
|
+
--no-authoring-skill Omit both project-local CodeModeKit authoring skills
|
|
143
410
|
--no-sync Do not snapshot tool types during Agent Plugin creation
|
|
144
411
|
--no-install Generate files without running npm install
|
|
145
412
|
--codemodekit-version <v> Override the generated runtime dependency
|
|
@@ -148,9 +415,12 @@ Options:
|
|
|
148
415
|
-h, --help Show this help
|
|
149
416
|
`;
|
|
150
417
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
process.
|
|
154
|
-
|
|
155
|
-
});
|
|
418
|
+
if (process.argv[1] !== undefined &&
|
|
419
|
+
realpathSync(process.argv[1]) === realpathSync(fileURLToPath(import.meta.url))) {
|
|
420
|
+
runCli(process.argv.slice(2)).catch((error) => {
|
|
421
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
422
|
+
process.stderr.write(`create-codemodekit: ${message}\n\n${usage()}`);
|
|
423
|
+
process.exitCode = 1;
|
|
424
|
+
});
|
|
425
|
+
}
|
|
156
426
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface InstallCursorPluginOptions {
|
|
2
|
+
readonly root: string;
|
|
3
|
+
readonly cursorHome?: string;
|
|
4
|
+
readonly nodePath?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface CursorPluginInstallation {
|
|
7
|
+
readonly pluginName: string;
|
|
8
|
+
readonly destination: string;
|
|
9
|
+
readonly artifactDirectory: string;
|
|
10
|
+
readonly nodePath: string;
|
|
11
|
+
}
|
|
12
|
+
export interface CursorPluginStatusOptions {
|
|
13
|
+
readonly root: string;
|
|
14
|
+
readonly cursorHome?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface CursorPluginStatus {
|
|
17
|
+
readonly pluginName: string;
|
|
18
|
+
readonly destination: string;
|
|
19
|
+
readonly installed: boolean;
|
|
20
|
+
}
|
|
21
|
+
/** Builds and installs a concrete copy under Cursor's local plugin directory. */
|
|
22
|
+
export declare function installCursorPlugin(options: InstallCursorPluginOptions): Promise<CursorPluginInstallation>;
|
|
23
|
+
export declare function getCursorPluginStatus(options: CursorPluginStatusOptions): Promise<CursorPluginStatus>;
|
|
24
|
+
export declare function uninstallCursorPlugin(options: CursorPluginStatusOptions): Promise<CursorPluginStatus>;
|
|
25
|
+
//# sourceMappingURL=cursor-plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor-plugin.d.ts","sourceRoot":"","sources":["../src/cursor-plugin.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,iFAAiF;AACjF,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,wBAAwB,CAAC,CAwCnC;AAED,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,kBAAkB,CAAC,CAY7B;AAED,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,kBAAkB,CAAC,CAM7B"}
|