@agentver/cli 0.2.1 → 0.2.2

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/dist/agentver.js CHANGED
@@ -4,8 +4,8 @@
4
4
  import { createRequire as createRequire2 } from "module";
5
5
  import { dirname as dirname7, join as join26 } from "path";
6
6
  import { fileURLToPath as fileURLToPath2 } from "url";
7
- import { Command } from "commander";
8
7
  import chalk33 from "chalk";
8
+ import { Command } from "commander";
9
9
  import updateNotifier from "update-notifier";
10
10
 
11
11
  // src/commands/adopt.ts
@@ -15,7 +15,7 @@ import { dirname } from "path";
15
15
 
16
16
  // ../agent-definitions/src/agents/definitions.ts
17
17
  var AGENT_DEFINITIONS = [
18
- // --- Chat and IDE agents ---
18
+ // --- Existing agents (updated with category + aliases) ---
19
19
  {
20
20
  id: "claude-code",
21
21
  name: "Claude Code",
@@ -23,7 +23,10 @@ var AGENT_DEFINITIONS = [
23
23
  globalSkillPath: "~/.claude/skills",
24
24
  configFiles: ["CLAUDE.md"],
25
25
  configDirs: [".claude"],
26
- category: "agent-specific"
26
+ category: "agent-specific",
27
+ mcpConfigPath: ".claude/mcp.json",
28
+ globalMcpConfigPath: "~/.claude/mcp.json",
29
+ mcpConfigFormat: "mcp-servers"
27
30
  },
28
31
  {
29
32
  id: "claude-cowork",
@@ -32,7 +35,10 @@ var AGENT_DEFINITIONS = [
32
35
  globalSkillPath: "~/.claude/skills",
33
36
  configFiles: ["CLAUDE.md"],
34
37
  configDirs: [".claude"],
35
- category: "agent-specific"
38
+ category: "agent-specific",
39
+ mcpConfigPath: ".claude/mcp.json",
40
+ globalMcpConfigPath: "~/.claude/mcp.json",
41
+ mcpConfigFormat: "mcp-servers"
36
42
  },
37
43
  {
38
44
  id: "cursor",
@@ -41,7 +47,10 @@ var AGENT_DEFINITIONS = [
41
47
  globalSkillPath: "~/.cursor/skills",
42
48
  configFiles: [".cursorrules"],
43
49
  configDirs: [".cursor"],
44
- category: "agent-specific"
50
+ category: "agent-specific",
51
+ mcpConfigPath: ".cursor/mcp.json",
52
+ globalMcpConfigPath: "~/.cursor/mcp.json",
53
+ mcpConfigFormat: "mcp-servers"
45
54
  },
46
55
  {
47
56
  id: "codex",
@@ -50,7 +59,10 @@ var AGENT_DEFINITIONS = [
50
59
  globalSkillPath: "~/.codex/skills",
51
60
  configFiles: ["AGENTS.md"],
52
61
  configDirs: [".codex", ".agents"],
53
- category: "agent-specific"
62
+ category: "agent-specific",
63
+ mcpConfigPath: null,
64
+ globalMcpConfigPath: null,
65
+ mcpConfigFormat: null
54
66
  },
55
67
  {
56
68
  id: "opencode",
@@ -59,7 +71,10 @@ var AGENT_DEFINITIONS = [
59
71
  globalSkillPath: "~/.config/opencode/skills",
60
72
  configFiles: [],
61
73
  configDirs: [".opencode", ".config/opencode"],
62
- category: "agent-specific"
74
+ category: "agent-specific",
75
+ mcpConfigPath: null,
76
+ globalMcpConfigPath: null,
77
+ mcpConfigFormat: null
63
78
  },
64
79
  {
65
80
  id: "copilot",
@@ -69,7 +84,10 @@ var AGENT_DEFINITIONS = [
69
84
  configFiles: [".github/copilot-instructions.md"],
70
85
  configDirs: [],
71
86
  category: "agent-specific",
72
- aliases: ["github-copilot"]
87
+ aliases: ["github-copilot"],
88
+ mcpConfigPath: ".vscode/mcp.json",
89
+ globalMcpConfigPath: null,
90
+ mcpConfigFormat: "vscode-servers"
73
91
  },
74
92
  {
75
93
  id: "windsurf",
@@ -78,7 +96,10 @@ var AGENT_DEFINITIONS = [
78
96
  globalSkillPath: "~/.codeium/windsurf/skills",
79
97
  configFiles: [".windsurfrules"],
80
98
  configDirs: [".windsurf"],
81
- category: "agent-specific"
99
+ category: "agent-specific",
100
+ mcpConfigPath: ".windsurf/mcp.json",
101
+ globalMcpConfigPath: "~/.windsurf/mcp.json",
102
+ mcpConfigFormat: "mcp-servers"
82
103
  },
83
104
  {
84
105
  id: "gemini-cli",
@@ -88,7 +109,10 @@ var AGENT_DEFINITIONS = [
88
109
  configFiles: ["GEMINI.md"],
89
110
  configDirs: [".gemini"],
90
111
  category: "agent-specific",
91
- aliases: ["gemini"]
112
+ aliases: ["gemini"],
113
+ mcpConfigPath: null,
114
+ globalMcpConfigPath: null,
115
+ mcpConfigFormat: null
92
116
  },
93
117
  {
94
118
  id: "roo",
@@ -98,7 +122,10 @@ var AGENT_DEFINITIONS = [
98
122
  configFiles: [".roo/rules"],
99
123
  configDirs: [".roo"],
100
124
  category: "agent-specific",
101
- aliases: ["roo-code"]
125
+ aliases: ["roo-code"],
126
+ mcpConfigPath: ".roo/mcp.json",
127
+ globalMcpConfigPath: "~/.roo/mcp.json",
128
+ mcpConfigFormat: "mcp-servers"
102
129
  },
103
130
  {
104
131
  id: "goose",
@@ -107,7 +134,10 @@ var AGENT_DEFINITIONS = [
107
134
  globalSkillPath: "~/.config/goose/skills",
108
135
  configFiles: [],
109
136
  configDirs: [".goose"],
110
- category: "agent-specific"
137
+ category: "agent-specific",
138
+ mcpConfigPath: null,
139
+ globalMcpConfigPath: null,
140
+ mcpConfigFormat: null
111
141
  },
112
142
  {
113
143
  id: "junie",
@@ -116,7 +146,10 @@ var AGENT_DEFINITIONS = [
116
146
  globalSkillPath: "~/.junie/skills",
117
147
  configFiles: [".junie/guidelines.md"],
118
148
  configDirs: [".junie"],
119
- category: "agent-specific"
149
+ category: "agent-specific",
150
+ mcpConfigPath: null,
151
+ globalMcpConfigPath: null,
152
+ mcpConfigFormat: null
120
153
  },
121
154
  {
122
155
  id: "aider",
@@ -125,9 +158,12 @@ var AGENT_DEFINITIONS = [
125
158
  globalSkillPath: "~/.aider/skills",
126
159
  configFiles: [".aider.conf.yml"],
127
160
  configDirs: [".aider"],
128
- category: "agent-specific"
161
+ category: "agent-specific",
162
+ mcpConfigPath: null,
163
+ globalMcpConfigPath: null,
164
+ mcpConfigFormat: null
129
165
  },
130
- // --- Universal agents ---
166
+ // --- New universal agents (projectSkillPath = .agents/skills) ---
131
167
  {
132
168
  id: "amp",
133
169
  name: "Amp",
@@ -135,7 +171,10 @@ var AGENT_DEFINITIONS = [
135
171
  globalSkillPath: "~/.config/agents/skills",
136
172
  configFiles: [],
137
173
  configDirs: [],
138
- category: "universal"
174
+ category: "universal",
175
+ mcpConfigPath: null,
176
+ globalMcpConfigPath: null,
177
+ mcpConfigFormat: null
139
178
  },
140
179
  {
141
180
  id: "cline",
@@ -144,7 +183,10 @@ var AGENT_DEFINITIONS = [
144
183
  globalSkillPath: "~/.agents/skills",
145
184
  configFiles: [],
146
185
  configDirs: [".clinerules"],
147
- category: "universal"
186
+ category: "universal",
187
+ mcpConfigPath: ".cline/mcp_settings.json",
188
+ globalMcpConfigPath: "~/.cline/mcp_settings.json",
189
+ mcpConfigFormat: "mcp-servers"
148
190
  },
149
191
  {
150
192
  id: "kimi-cli",
@@ -153,7 +195,10 @@ var AGENT_DEFINITIONS = [
153
195
  globalSkillPath: "~/.config/agents/skills",
154
196
  configFiles: [],
155
197
  configDirs: [".kimi"],
156
- category: "universal"
198
+ category: "universal",
199
+ mcpConfigPath: null,
200
+ globalMcpConfigPath: null,
201
+ mcpConfigFormat: null
157
202
  },
158
203
  {
159
204
  id: "replit",
@@ -162,7 +207,10 @@ var AGENT_DEFINITIONS = [
162
207
  globalSkillPath: "~/.config/agents/skills",
163
208
  configFiles: [".replit"],
164
209
  configDirs: [],
165
- category: "universal"
210
+ category: "universal",
211
+ mcpConfigPath: null,
212
+ globalMcpConfigPath: null,
213
+ mcpConfigFormat: null
166
214
  },
167
215
  {
168
216
  id: "universal",
@@ -171,9 +219,12 @@ var AGENT_DEFINITIONS = [
171
219
  globalSkillPath: "~/.config/agents/skills",
172
220
  configFiles: [],
173
221
  configDirs: [],
174
- category: "universal"
222
+ category: "universal",
223
+ mcpConfigPath: null,
224
+ globalMcpConfigPath: null,
225
+ mcpConfigFormat: null
175
226
  },
176
- // --- Agent-specific (simple pattern) ---
227
+ // --- New agent-specific (simple pattern) ---
177
228
  {
178
229
  id: "adal",
179
230
  name: "AdaL",
@@ -181,7 +232,10 @@ var AGENT_DEFINITIONS = [
181
232
  globalSkillPath: "~/.adal/skills",
182
233
  configFiles: [],
183
234
  configDirs: [".adal"],
184
- category: "agent-specific"
235
+ category: "agent-specific",
236
+ mcpConfigPath: null,
237
+ globalMcpConfigPath: null,
238
+ mcpConfigFormat: null
185
239
  },
186
240
  {
187
241
  id: "augment",
@@ -190,7 +244,10 @@ var AGENT_DEFINITIONS = [
190
244
  globalSkillPath: "~/.augment/skills",
191
245
  configFiles: [],
192
246
  configDirs: [".augment"],
193
- category: "agent-specific"
247
+ category: "agent-specific",
248
+ mcpConfigPath: null,
249
+ globalMcpConfigPath: null,
250
+ mcpConfigFormat: null
194
251
  },
195
252
  {
196
253
  id: "codebuddy",
@@ -199,7 +256,10 @@ var AGENT_DEFINITIONS = [
199
256
  globalSkillPath: "~/.codebuddy/skills",
200
257
  configFiles: [],
201
258
  configDirs: [".codebuddy"],
202
- category: "agent-specific"
259
+ category: "agent-specific",
260
+ mcpConfigPath: null,
261
+ globalMcpConfigPath: null,
262
+ mcpConfigFormat: null
203
263
  },
204
264
  {
205
265
  id: "command-code",
@@ -208,7 +268,10 @@ var AGENT_DEFINITIONS = [
208
268
  globalSkillPath: "~/.commandcode/skills",
209
269
  configFiles: [],
210
270
  configDirs: [".commandcode"],
211
- category: "agent-specific"
271
+ category: "agent-specific",
272
+ mcpConfigPath: null,
273
+ globalMcpConfigPath: null,
274
+ mcpConfigFormat: null
212
275
  },
213
276
  {
214
277
  id: "continue",
@@ -217,7 +280,10 @@ var AGENT_DEFINITIONS = [
217
280
  globalSkillPath: "~/.continue/skills",
218
281
  configFiles: [],
219
282
  configDirs: [".continue"],
220
- category: "agent-specific"
283
+ category: "agent-specific",
284
+ mcpConfigPath: null,
285
+ globalMcpConfigPath: null,
286
+ mcpConfigFormat: null
221
287
  },
222
288
  {
223
289
  id: "crush",
@@ -226,7 +292,10 @@ var AGENT_DEFINITIONS = [
226
292
  globalSkillPath: "~/.config/crush/skills",
227
293
  configFiles: [],
228
294
  configDirs: [".crush"],
229
- category: "agent-specific"
295
+ category: "agent-specific",
296
+ mcpConfigPath: null,
297
+ globalMcpConfigPath: null,
298
+ mcpConfigFormat: null
230
299
  },
231
300
  {
232
301
  id: "iflow-cli",
@@ -235,7 +304,10 @@ var AGENT_DEFINITIONS = [
235
304
  globalSkillPath: "~/.iflow/skills",
236
305
  configFiles: [],
237
306
  configDirs: [".iflow"],
238
- category: "agent-specific"
307
+ category: "agent-specific",
308
+ mcpConfigPath: null,
309
+ globalMcpConfigPath: null,
310
+ mcpConfigFormat: null
239
311
  },
240
312
  {
241
313
  id: "kilo",
@@ -244,7 +316,10 @@ var AGENT_DEFINITIONS = [
244
316
  globalSkillPath: "~/.kilocode/skills",
245
317
  configFiles: [],
246
318
  configDirs: [".kilocode"],
247
- category: "agent-specific"
319
+ category: "agent-specific",
320
+ mcpConfigPath: null,
321
+ globalMcpConfigPath: null,
322
+ mcpConfigFormat: null
248
323
  },
249
324
  {
250
325
  id: "kiro-cli",
@@ -253,7 +328,10 @@ var AGENT_DEFINITIONS = [
253
328
  globalSkillPath: "~/.kiro/skills",
254
329
  configFiles: [],
255
330
  configDirs: [".kiro"],
256
- category: "agent-specific"
331
+ category: "agent-specific",
332
+ mcpConfigPath: null,
333
+ globalMcpConfigPath: null,
334
+ mcpConfigFormat: null
257
335
  },
258
336
  {
259
337
  id: "kode",
@@ -262,7 +340,10 @@ var AGENT_DEFINITIONS = [
262
340
  globalSkillPath: "~/.kode/skills",
263
341
  configFiles: [],
264
342
  configDirs: [".kode"],
265
- category: "agent-specific"
343
+ category: "agent-specific",
344
+ mcpConfigPath: null,
345
+ globalMcpConfigPath: null,
346
+ mcpConfigFormat: null
266
347
  },
267
348
  {
268
349
  id: "mcpjam",
@@ -271,7 +352,10 @@ var AGENT_DEFINITIONS = [
271
352
  globalSkillPath: "~/.mcpjam/skills",
272
353
  configFiles: [],
273
354
  configDirs: [".mcpjam"],
274
- category: "agent-specific"
355
+ category: "agent-specific",
356
+ mcpConfigPath: null,
357
+ globalMcpConfigPath: null,
358
+ mcpConfigFormat: null
275
359
  },
276
360
  {
277
361
  id: "mistral-vibe",
@@ -280,7 +364,10 @@ var AGENT_DEFINITIONS = [
280
364
  globalSkillPath: "~/.vibe/skills",
281
365
  configFiles: [],
282
366
  configDirs: [".vibe"],
283
- category: "agent-specific"
367
+ category: "agent-specific",
368
+ mcpConfigPath: null,
369
+ globalMcpConfigPath: null,
370
+ mcpConfigFormat: null
284
371
  },
285
372
  {
286
373
  id: "mux",
@@ -289,7 +376,10 @@ var AGENT_DEFINITIONS = [
289
376
  globalSkillPath: "~/.mux/skills",
290
377
  configFiles: [],
291
378
  configDirs: [".mux"],
292
- category: "agent-specific"
379
+ category: "agent-specific",
380
+ mcpConfigPath: null,
381
+ globalMcpConfigPath: null,
382
+ mcpConfigFormat: null
293
383
  },
294
384
  {
295
385
  id: "neovate",
@@ -298,7 +388,10 @@ var AGENT_DEFINITIONS = [
298
388
  globalSkillPath: "~/.neovate/skills",
299
389
  configFiles: [],
300
390
  configDirs: [".neovate"],
301
- category: "agent-specific"
391
+ category: "agent-specific",
392
+ mcpConfigPath: null,
393
+ globalMcpConfigPath: null,
394
+ mcpConfigFormat: null
302
395
  },
303
396
  {
304
397
  id: "openhands",
@@ -307,7 +400,10 @@ var AGENT_DEFINITIONS = [
307
400
  globalSkillPath: "~/.openhands/skills",
308
401
  configFiles: [],
309
402
  configDirs: [".openhands"],
310
- category: "agent-specific"
403
+ category: "agent-specific",
404
+ mcpConfigPath: null,
405
+ globalMcpConfigPath: null,
406
+ mcpConfigFormat: null
311
407
  },
312
408
  {
313
409
  id: "pochi",
@@ -316,7 +412,10 @@ var AGENT_DEFINITIONS = [
316
412
  globalSkillPath: "~/.pochi/skills",
317
413
  configFiles: [],
318
414
  configDirs: [".pochi"],
319
- category: "agent-specific"
415
+ category: "agent-specific",
416
+ mcpConfigPath: null,
417
+ globalMcpConfigPath: null,
418
+ mcpConfigFormat: null
320
419
  },
321
420
  {
322
421
  id: "qoder",
@@ -325,7 +424,10 @@ var AGENT_DEFINITIONS = [
325
424
  globalSkillPath: "~/.qoder/skills",
326
425
  configFiles: [],
327
426
  configDirs: [".qoder"],
328
- category: "agent-specific"
427
+ category: "agent-specific",
428
+ mcpConfigPath: null,
429
+ globalMcpConfigPath: null,
430
+ mcpConfigFormat: null
329
431
  },
330
432
  {
331
433
  id: "qwen-code",
@@ -334,7 +436,10 @@ var AGENT_DEFINITIONS = [
334
436
  globalSkillPath: "~/.qwen/skills",
335
437
  configFiles: [],
336
438
  configDirs: [".qwen"],
337
- category: "agent-specific"
439
+ category: "agent-specific",
440
+ mcpConfigPath: null,
441
+ globalMcpConfigPath: null,
442
+ mcpConfigFormat: null
338
443
  },
339
444
  {
340
445
  id: "trae",
@@ -343,7 +448,10 @@ var AGENT_DEFINITIONS = [
343
448
  globalSkillPath: "~/.trae/skills",
344
449
  configFiles: [],
345
450
  configDirs: [".trae"],
346
- category: "agent-specific"
451
+ category: "agent-specific",
452
+ mcpConfigPath: null,
453
+ globalMcpConfigPath: null,
454
+ mcpConfigFormat: null
347
455
  },
348
456
  {
349
457
  id: "trae-cn",
@@ -352,7 +460,10 @@ var AGENT_DEFINITIONS = [
352
460
  globalSkillPath: "~/.trae-cn/skills",
353
461
  configFiles: [],
354
462
  configDirs: [".trae-cn"],
355
- category: "agent-specific"
463
+ category: "agent-specific",
464
+ mcpConfigPath: null,
465
+ globalMcpConfigPath: null,
466
+ mcpConfigFormat: null
356
467
  },
357
468
  {
358
469
  id: "zencoder",
@@ -361,9 +472,12 @@ var AGENT_DEFINITIONS = [
361
472
  globalSkillPath: "~/.zencoder/skills",
362
473
  configFiles: [],
363
474
  configDirs: [".zencoder"],
364
- category: "agent-specific"
475
+ category: "agent-specific",
476
+ mcpConfigPath: null,
477
+ globalMcpConfigPath: "~/.zencoder/mcp.json",
478
+ mcpConfigFormat: "mcp-servers"
365
479
  },
366
- // --- Agent-specific (unusual paths) ---
480
+ // --- New agent-specific (unusual paths) ---
367
481
  {
368
482
  id: "antigravity",
369
483
  name: "Antigravity",
@@ -371,7 +485,10 @@ var AGENT_DEFINITIONS = [
371
485
  globalSkillPath: "~/.gemini/antigravity/skills",
372
486
  configFiles: [],
373
487
  configDirs: [".gemini/antigravity"],
374
- category: "agent-specific"
488
+ category: "agent-specific",
489
+ mcpConfigPath: null,
490
+ globalMcpConfigPath: null,
491
+ mcpConfigFormat: null
375
492
  },
376
493
  {
377
494
  id: "cortex",
@@ -380,7 +497,10 @@ var AGENT_DEFINITIONS = [
380
497
  globalSkillPath: "~/.snowflake/cortex/skills",
381
498
  configFiles: [],
382
499
  configDirs: [".cortex"],
383
- category: "agent-specific"
500
+ category: "agent-specific",
501
+ mcpConfigPath: null,
502
+ globalMcpConfigPath: null,
503
+ mcpConfigFormat: null
384
504
  },
385
505
  {
386
506
  id: "droid",
@@ -389,7 +509,10 @@ var AGENT_DEFINITIONS = [
389
509
  globalSkillPath: "~/.factory/skills",
390
510
  configFiles: [],
391
511
  configDirs: [".factory"],
392
- category: "agent-specific"
512
+ category: "agent-specific",
513
+ mcpConfigPath: null,
514
+ globalMcpConfigPath: null,
515
+ mcpConfigFormat: null
393
516
  },
394
517
  {
395
518
  id: "openclaw",
@@ -398,7 +521,10 @@ var AGENT_DEFINITIONS = [
398
521
  globalSkillPath: "~/.openclaw/skills",
399
522
  configFiles: [],
400
523
  configDirs: [".openclaw"],
401
- category: "agent-specific"
524
+ category: "agent-specific",
525
+ mcpConfigPath: null,
526
+ globalMcpConfigPath: null,
527
+ mcpConfigFormat: null
402
528
  },
403
529
  {
404
530
  id: "pi",
@@ -407,7 +533,10 @@ var AGENT_DEFINITIONS = [
407
533
  globalSkillPath: "~/.pi/agent/skills",
408
534
  configFiles: [],
409
535
  configDirs: [".pi"],
410
- category: "agent-specific"
536
+ category: "agent-specific",
537
+ mcpConfigPath: null,
538
+ globalMcpConfigPath: null,
539
+ mcpConfigFormat: null
411
540
  }
412
541
  ];
413
542
  var AGENT_MAP = new Map(AGENT_DEFINITIONS.map((a) => [a.id, a]));
@@ -546,7 +675,7 @@ var CONFIG_TRANSLATORS = [
546
675
  `;
547
676
  }
548
677
  },
549
- // Agents with specific config formats
678
+ // New agents with specific config formats
550
679
  {
551
680
  agentId: "cline",
552
681
  filePath: (name) => `.clinerules/${name}.md`,
@@ -773,6 +902,7 @@ function inferDetectedType(fileName) {
773
902
  "guidelines.md",
774
903
  ".aider.conf.yml",
775
904
  "config.yaml",
905
+ // New agent config patterns
776
906
  ".clinerules",
777
907
  ".replit"
778
908
  ];
@@ -859,12 +989,6 @@ import { z as z2 } from "zod";
859
989
 
860
990
  // ../shared/dist/schemas.js
861
991
  import { z } from "zod";
862
-
863
- // ../shared/dist/constants.js
864
- var PACKAGE_TYPES = ["SKILL", "AGENT_CONFIG", "PLUGIN", "SCRIPT", "PROMPT"];
865
- var WARNING_NO_LICENCE = "No licence specified. Consider adding an SPDX licence identifier.";
866
-
867
- // ../shared/dist/schemas.js
868
992
  var AGENT_IDS_FOR_SCHEMA = [
869
993
  "adal",
870
994
  "aider",
@@ -915,7 +1039,7 @@ var skillMetadataSchema = z.object({
915
1039
  name: z.string().min(1).max(100),
916
1040
  description: z.string().max(500).optional(),
917
1041
  version: z.string().regex(/^\d+\.\d+\.\d+(-[\w.]+)?$/, "Must be valid semver"),
918
- type: z.enum(PACKAGE_TYPES),
1042
+ type: z.enum(["SKILL", "AGENT_CONFIG", "PLUGIN", "SCRIPT", "PROMPT", "BUNDLE"]),
919
1043
  tags: z.array(z.string().max(50)).max(20).default([]),
920
1044
  agents: z.array(agentIdEnum).default([])
921
1045
  });
@@ -979,7 +1103,7 @@ var lockfileV2Schema = z.object({
979
1103
  var manifestAnySchema = z.discriminatedUnion("version", [manifestSchema, manifestV2Schema]);
980
1104
  var lockfileAnySchema = z.discriminatedUnion("version", [lockfileSchema, lockfileV2Schema]);
981
1105
  var packageStructureSchema = z.object({
982
- type: z.enum(PACKAGE_TYPES),
1106
+ type: z.enum(["SKILL", "AGENT_CONFIG", "PLUGIN", "SCRIPT", "PROMPT", "BUNDLE"]),
983
1107
  entryFile: z.string(),
984
1108
  requiredFiles: z.array(z.string()).default([]),
985
1109
  optionalDirs: z.array(z.string()).default([])
@@ -1039,7 +1163,7 @@ var fileManifestSchema = z.object({
1039
1163
  files: z.array(fileManifestEntrySchema),
1040
1164
  totalSize: z.number().int().nonnegative(),
1041
1165
  entryFile: z.string(),
1042
- packageType: z.enum(PACKAGE_TYPES)
1166
+ packageType: z.enum(["SKILL", "AGENT_CONFIG", "PLUGIN", "SCRIPT", "PROMPT", "BUNDLE"])
1043
1167
  });
1044
1168
  var agentConfigSchema = z.object({
1045
1169
  name: z.string().min(1),
@@ -1056,6 +1180,7 @@ var cliErrorSchema = z2.object({
1056
1180
  message: z2.string()
1057
1181
  });
1058
1182
  var loginResultSchema = z2.object({
1183
+ token: z2.string().optional(),
1059
1184
  user: z2.object({
1060
1185
  id: z2.string(),
1061
1186
  email: z2.string(),
@@ -1241,6 +1366,9 @@ var doctorResultSchema = z2.object({
1241
1366
  warnings: z2.number()
1242
1367
  });
1243
1368
 
1369
+ // ../shared/dist/constants.js
1370
+ var WARNING_NO_LICENCE = "No licence specified. Consider adding an SPDX licence identifier.";
1371
+
1244
1372
  // ../shared/dist/errors.js
1245
1373
  var AgentverError = class extends Error {
1246
1374
  code;
@@ -2860,8 +2988,106 @@ function createLogger(name, minLevel) {
2860
2988
  });
2861
2989
  }
2862
2990
 
2863
- // ../shared/dist/skill-spec.js
2991
+ // ../shared/dist/mcp-schemas.js
2864
2992
  import { z as z3 } from "zod";
2993
+ var mcpTransportSchema = z3.enum(["stdio", "http", "sse"]);
2994
+ var credentialSourceSchema = z3.enum(["vault", "prompt", "env", "oauth"]);
2995
+ var credentialSharingSchema = z3.enum(["individual", "team", "org"]);
2996
+ var mcpCredentialRequirementSchema = z3.object({
2997
+ key: z3.string().min(1).max(128),
2998
+ description: z3.string().max(500),
2999
+ source: credentialSourceSchema,
3000
+ vaultKey: z3.string().min(1).max(128).optional(),
3001
+ envVar: z3.string().min(1).max(128).optional(),
3002
+ oauthProvider: z3.string().min(1).max(64).optional(),
3003
+ required: z3.boolean().default(true)
3004
+ });
3005
+ var mcpServerSourceSchema = z3.discriminatedUnion("type", [
3006
+ z3.object({
3007
+ type: z3.literal("npm"),
3008
+ package: z3.string().min(1),
3009
+ version: z3.string().optional()
3010
+ }),
3011
+ z3.object({
3012
+ type: z3.literal("git"),
3013
+ uri: z3.string().min(1),
3014
+ ref: z3.string().optional()
3015
+ }),
3016
+ z3.object({
3017
+ type: z3.literal("docker"),
3018
+ image: z3.string().min(1),
3019
+ tag: z3.string().optional()
3020
+ }),
3021
+ z3.object({
3022
+ type: z3.literal("url"),
3023
+ url: z3.string().url()
3024
+ }),
3025
+ z3.object({
3026
+ type: z3.literal("local"),
3027
+ path: z3.string().min(1)
3028
+ })
3029
+ ]);
3030
+ var mcpServerConfigSchema = z3.object({
3031
+ name: z3.string().min(1).max(64).regex(/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/),
3032
+ description: z3.string().max(500).optional(),
3033
+ source: mcpServerSourceSchema.optional(),
3034
+ transport: mcpTransportSchema.default("stdio"),
3035
+ // stdio transport fields
3036
+ command: z3.string().min(1).optional(),
3037
+ args: z3.array(z3.string()).optional(),
3038
+ // http/sse transport fields
3039
+ url: z3.string().url().optional(),
3040
+ headers: z3.record(z3.string(), z3.string()).optional(),
3041
+ // Environment variables (may contain ${credentials.<key>} placeholders)
3042
+ env: z3.record(z3.string(), z3.string()).optional(),
3043
+ // Credential requirements
3044
+ credentials: z3.array(mcpCredentialRequirementSchema).optional()
3045
+ });
3046
+ var bundleCredentialDefinitionSchema = z3.object({
3047
+ description: z3.string().max(500),
3048
+ required: z3.boolean().default(true),
3049
+ sharing: credentialSharingSchema.default("individual"),
3050
+ rotationDays: z3.number().int().positive().optional()
3051
+ });
3052
+ var bundlePackageRefSchema = z3.object({
3053
+ name: z3.string().min(1),
3054
+ version: z3.string().optional(),
3055
+ optional: z3.boolean().default(false)
3056
+ });
3057
+ var bundleManifestSchema = z3.object({
3058
+ name: z3.string().min(1).max(64).regex(/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/),
3059
+ version: z3.string().regex(/^\d+\.\d+\.\d+(-[\w.]+)?$/, "Must be valid semver"),
3060
+ description: z3.string().max(1e3).optional(),
3061
+ extends: z3.string().optional(),
3062
+ includes: z3.object({
3063
+ skills: z3.array(bundlePackageRefSchema).optional(),
3064
+ prompts: z3.array(bundlePackageRefSchema).optional(),
3065
+ rules: z3.array(bundlePackageRefSchema).optional(),
3066
+ plugins: z3.array(bundlePackageRefSchema).optional(),
3067
+ scripts: z3.array(bundlePackageRefSchema).optional()
3068
+ }).optional(),
3069
+ mcpServers: z3.array(mcpServerConfigSchema).optional(),
3070
+ credentials: z3.record(z3.string(), bundleCredentialDefinitionSchema).optional()
3071
+ });
3072
+ var mcpServerEntrySchema = z3.object({
3073
+ command: z3.string().optional(),
3074
+ args: z3.array(z3.string()).optional(),
3075
+ env: z3.record(z3.string(), z3.string()).optional(),
3076
+ url: z3.string().optional(),
3077
+ headers: z3.record(z3.string(), z3.string()).optional()
3078
+ });
3079
+ var mcpServersFormatSchema = z3.object({
3080
+ mcpServers: z3.record(z3.string(), mcpServerEntrySchema)
3081
+ });
3082
+ var vscodeServerEntrySchema = mcpServerEntrySchema.extend({
3083
+ type: z3.enum(["stdio", "sse"]).default("stdio")
3084
+ });
3085
+ var vscodeServersFormatSchema = z3.object({
3086
+ servers: z3.record(z3.string(), vscodeServerEntrySchema)
3087
+ });
3088
+
3089
+ // ../shared/dist/skill-spec.js
3090
+ import { z as z4 } from "zod";
2865
3091
 
2866
3092
  // ../shared/dist/validation.js
2867
3093
  var FRONTMATTER_REGEX = /^---\r?\n([\s\S]*?)\r?\n---/;
@@ -2954,15 +3180,15 @@ function isValidSkillName(name) {
2954
3180
  return false;
2955
3181
  return true;
2956
3182
  }
2957
- var agentSkillsSpecSchema = z3.object({
2958
- name: z3.string().min(1).max(64).refine(isValidSkillName, {
3183
+ var agentSkillsSpecSchema = z4.object({
3184
+ name: z4.string().min(1).max(64).refine(isValidSkillName, {
2959
3185
  message: "Name must be 1-64 lowercase alphanumeric characters and hyphens. Must not start/end with a hyphen or contain consecutive hyphens."
2960
3186
  }),
2961
- description: z3.string().min(1).max(1024),
2962
- license: z3.string().optional(),
2963
- compatibility: z3.string().max(500).optional(),
2964
- metadata: z3.record(z3.string(), z3.string()).optional(),
2965
- "allowed-tools": z3.union([z3.string(), z3.array(z3.string())]).optional().transform((val) => {
3187
+ description: z4.string().min(1).max(1024),
3188
+ license: z4.string().optional(),
3189
+ compatibility: z4.string().max(500).optional(),
3190
+ metadata: z4.record(z4.string(), z4.string()).optional(),
3191
+ "allowed-tools": z4.union([z4.string(), z4.array(z4.string())]).optional().transform((val) => {
2966
3192
  if (typeof val === "string")
2967
3193
  return val.split(/\s+/).filter(Boolean);
2968
3194
  return val;
@@ -2970,19 +3196,19 @@ var agentSkillsSpecSchema = z3.object({
2970
3196
  });
2971
3197
  var agentverSkillSchema = agentSkillsSpecSchema.extend({
2972
3198
  /** Agentver requires semver for registry publishing */
2973
- version: z3.string().regex(/^\d+\.\d+\.\d+(-[\w.]+)?$/, "Must be valid semver").optional(),
3199
+ version: z4.string().regex(/^\d+\.\d+\.\d+(-[\w.]+)?$/, "Must be valid semver").optional(),
2974
3200
  /** Agent compatibility — which agents this skill is designed for */
2975
- "agentver-compatibility": z3.object({
2976
- agents: z3.array(z3.string()).optional()
3201
+ "agentver-compatibility": z4.object({
3202
+ agents: z4.array(z4.string()).optional()
2977
3203
  }).optional(),
2978
3204
  /** Trigger keywords — when agents should activate this skill */
2979
- triggers: z3.array(z3.string()).optional(),
3205
+ triggers: z4.array(z4.string()).optional(),
2980
3206
  /** Extend another skill by name */
2981
- extends: z3.string().optional(),
3207
+ extends: z4.string().optional(),
2982
3208
  /** Skills this one depends on */
2983
- dependsOn: z3.array(z3.string()).optional(),
3209
+ dependsOn: z4.array(z4.string()).optional(),
2984
3210
  /** Skills that conflict with this one */
2985
- conflictsWith: z3.array(z3.string()).optional()
3211
+ conflictsWith: z4.array(z4.string()).optional()
2986
3212
  });
2987
3213
  var AGENTVER_EXTENSION_FIELDS = [
2988
3214
  "version",
@@ -7071,16 +7297,16 @@ function reportRemoval(packageName) {
7071
7297
  }
7072
7298
 
7073
7299
  // src/wellknown/resolver.ts
7074
- import { z as z4 } from "zod";
7300
+ import { z as z5 } from "zod";
7075
7301
  var EXCLUDED_HOSTS = /* @__PURE__ */ new Set(["github.com", "gitlab.com", "bitbucket.org"]);
7076
7302
  var INDEX_TIMEOUT_MS = 1e4;
7077
7303
  var FILE_TIMEOUT_MS = 5e3;
7078
- var wellKnownIndexSchema = z4.object({
7079
- skills: z4.array(
7080
- z4.object({
7081
- name: z4.string().min(1).max(64).regex(/^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/),
7082
- description: z4.string().min(1).max(1024),
7083
- files: z4.array(z4.string().min(1)).min(1)
7304
+ var wellKnownIndexSchema = z5.object({
7305
+ skills: z5.array(
7306
+ z5.object({
7307
+ name: z5.string().min(1).max(64).regex(/^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/),
7308
+ description: z5.string().min(1).max(1024),
7309
+ files: z5.array(z5.string().min(1)).min(1)
7084
7310
  })
7085
7311
  ).min(1)
7086
7312
  });
@@ -8844,22 +9070,22 @@ import chalk23 from "chalk";
8844
9070
  import ora6 from "ora";
8845
9071
 
8846
9072
  // src/registry/skills-sh.ts
8847
- import { z as z5 } from "zod";
9073
+ import { z as z6 } from "zod";
8848
9074
  var SKILLS_SH_API = "https://skills.sh/api/search";
8849
9075
  var SKILLS_SH_TIMEOUT_MS = 5e3;
8850
- var skillsShSkillSchema = z5.object({
8851
- id: z5.string(),
8852
- skillId: z5.string(),
8853
- name: z5.string(),
8854
- installs: z5.number(),
8855
- source: z5.string()
9076
+ var skillsShSkillSchema = z6.object({
9077
+ id: z6.string(),
9078
+ skillId: z6.string(),
9079
+ name: z6.string(),
9080
+ installs: z6.number(),
9081
+ source: z6.string()
8856
9082
  });
8857
- var skillsShResponseSchema = z5.object({
8858
- query: z5.string(),
8859
- searchType: z5.string(),
8860
- skills: z5.array(skillsShSkillSchema),
8861
- count: z5.number(),
8862
- duration_ms: z5.number()
9083
+ var skillsShResponseSchema = z6.object({
9084
+ query: z6.string(),
9085
+ searchType: z6.string(),
9086
+ skills: z6.array(skillsShSkillSchema),
9087
+ count: z6.number(),
9088
+ duration_ms: z6.number()
8863
9089
  });
8864
9090
  function toResult(skill) {
8865
9091
  return {
@@ -10648,7 +10874,6 @@ async function detectPackageManager() {
10648
10874
  }
10649
10875
  }
10650
10876
  } catch {
10651
- continue;
10652
10877
  }
10653
10878
  }
10654
10879
  return "npm";