@mzwin/kit 0.1.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/dist/bin.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=bin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":""}
package/dist/bin.js ADDED
@@ -0,0 +1,1021 @@
1
+ #!/usr/bin/env node
2
+ import { applyPack, completeFirstRun, describePaths, exploreListPacks, exploreListSkills, exploreSearch, exploreShowPack, formatIssues, getFirstRunStatus, getLoggedInUser, getRegistryUrl, installPack, installSkill, isFirstRunPackName, importSkillsFromHarness, linkSkills, listFirstRunPackOptions, listPacks, listSkills, loadPack, loadSkill, loginWithDeviceFlow, logout, recommendToolkits, removeSkill, runDoctor, testAllPacks, testPack, testSkill, validatePack, } from "@mzwin/kit-core";
3
+ import { KIT_PACKAGE_VERSION } from "@mzwin/kit-shared";
4
+ const args = process.argv.slice(2);
5
+ const command = args[0];
6
+ /** Exit 1 = user/validation; 2 = unexpected (handled in main catch). */
7
+ function fail(message, code = 1) {
8
+ console.error(message);
9
+ process.exit(code);
10
+ }
11
+ async function main() {
12
+ if (command === undefined ||
13
+ command === "--help" ||
14
+ command === "-h" ||
15
+ command === "help") {
16
+ printHelp();
17
+ process.exit(0);
18
+ }
19
+ if (command === "--version" || command === "-v" || command === "version") {
20
+ console.log(KIT_PACKAGE_VERSION);
21
+ process.exit(0);
22
+ }
23
+ if (command === "init") {
24
+ await runInit(args.slice(1));
25
+ return;
26
+ }
27
+ if (command === "validate") {
28
+ await runValidate(args.slice(1));
29
+ return;
30
+ }
31
+ if (command === "install") {
32
+ await runInstall(args.slice(1));
33
+ return;
34
+ }
35
+ if (command === "list" || command === "ls") {
36
+ await runList();
37
+ return;
38
+ }
39
+ if (command === "remove" || command === "rm" || command === "uninstall") {
40
+ await runRemove(args.slice(1));
41
+ return;
42
+ }
43
+ if (command === "pack") {
44
+ await runPack(args.slice(1));
45
+ return;
46
+ }
47
+ if (command === "paths") {
48
+ await runPaths(args.slice(1));
49
+ return;
50
+ }
51
+ if (command === "link") {
52
+ await runLink(args.slice(1));
53
+ return;
54
+ }
55
+ if (command === "import") {
56
+ await runImport(args.slice(1));
57
+ return;
58
+ }
59
+ if (command === "test") {
60
+ await runTest(args.slice(1));
61
+ return;
62
+ }
63
+ if (command === "doctor") {
64
+ await runDoctorCmd(args.slice(1));
65
+ return;
66
+ }
67
+ if (command === "login") {
68
+ await runLogin(args.slice(1));
69
+ return;
70
+ }
71
+ if (command === "logout") {
72
+ await runLogout();
73
+ return;
74
+ }
75
+ if (command === "whoami") {
76
+ await runWhoami();
77
+ return;
78
+ }
79
+ if (command === "explore") {
80
+ await runExplore(args.slice(1));
81
+ return;
82
+ }
83
+ if (command === "recommend") {
84
+ await runRecommend(args.slice(1));
85
+ return;
86
+ }
87
+ if (command === "tui" || command === "ui" || command === "start") {
88
+ const { startTui } = await import("@mzwin/kit-tui");
89
+ startTui();
90
+ return;
91
+ }
92
+ fail(`kit: unknown command: ${command}\nRun \`kit --help\` for usage.`);
93
+ }
94
+ function printHelp() {
95
+ console.log(`kit ${KIT_PACKAGE_VERSION}`);
96
+ console.log("");
97
+ console.log("Terminal-native Agent Skills platform.");
98
+ console.log("");
99
+ console.log("Usage:");
100
+ console.log(" kit --version");
101
+ console.log(" kit --help");
102
+ console.log(" kit init [--pack essentials|web-app|library|cli-tool|api-service|full-stack|data-ml] [--apply] [--dir <path>]");
103
+ console.log(" kit tui");
104
+ console.log(" kit validate <skill-dir>");
105
+ console.log(" kit install <skill-dir> [--force]");
106
+ console.log(" kit list");
107
+ console.log(" kit remove <skill-name>");
108
+ console.log(" kit pack list");
109
+ console.log(" kit pack show <pack>");
110
+ console.log(" kit pack validate <pack>");
111
+ console.log(" kit pack install <pack>");
112
+ console.log(" kit pack apply <pack> [--dir <project>]");
113
+ console.log(" kit paths [--dir <project>] [--skill <name>]");
114
+ console.log(" kit link [--to <harness|all>] [--scope personal|project] [--write] [--force] [--mode symlink|copy] [--dir <project>]");
115
+ console.log(" kit import [--from <harness|all>] [--scope personal|project] [--write] [--force] [--skill <name>] [--dir <project>]");
116
+ console.log(" kit test [skill-dir|pack-name|--all-packs]");
117
+ console.log(" kit doctor [--dir <project>]");
118
+ console.log(" kit login");
119
+ console.log(" kit whoami");
120
+ console.log(" kit logout");
121
+ console.log(" kit explore packs");
122
+ console.log(" kit explore search <query>");
123
+ console.log(" kit explore show <pack>");
124
+ console.log(" kit explore skills [--agent <id>]");
125
+ console.log(" kit recommend [--dir <project>]");
126
+ console.log("");
127
+ console.log("Library: ~/.kit (or KIT_HOME)");
128
+ console.log("Packs: @mzwin/kit-catalog or packs/ in this repo (KIT_PACKS)");
129
+ console.log("Registry: KIT_REGISTRY_URL or production Railway URL");
130
+ console.log("Install: npm i -g @mzwin/kit");
131
+ console.log("Tip: kit import --from claude-code → kit link --to codex --write");
132
+ }
133
+ async function runInit(rest) {
134
+ const apply = rest.includes("--apply");
135
+ const skip = rest.includes("--skip");
136
+ const dirFlag = rest.indexOf("--dir");
137
+ let projectDir;
138
+ if (dirFlag >= 0) {
139
+ projectDir = rest[dirFlag + 1];
140
+ if (!projectDir || projectDir.startsWith("-")) {
141
+ fail("Usage: kit init [--pack <name>] [--apply] [--dir <path>] [--skip]");
142
+ }
143
+ }
144
+ const packFlag = rest.indexOf("--pack");
145
+ let packName = "essentials";
146
+ if (packFlag >= 0) {
147
+ const value = rest[packFlag + 1];
148
+ if (!value || value.startsWith("-")) {
149
+ fail("Usage: kit init [--pack essentials|web-app|library|cli-tool|api-service|full-stack|data-ml]");
150
+ }
151
+ packName = value;
152
+ }
153
+ if (skip) {
154
+ await completeFirstRun("skipped");
155
+ console.log("First-run skipped. You can run `kit init` again later.");
156
+ console.log("Or open the TUI: kit tui");
157
+ return;
158
+ }
159
+ if (!isFirstRunPackName(packName)) {
160
+ const names = listFirstRunPackOptions()
161
+ .map((p) => p.name)
162
+ .join(", ");
163
+ fail(`Unknown pack "${packName}". Choose one of: ${names}`);
164
+ }
165
+ const status = await getFirstRunStatus();
166
+ if (!status.shouldOffer && status.skillCount > 0) {
167
+ console.log(`Library already has ${status.skillCount} skill(s). Installing pack anyway.`);
168
+ }
169
+ console.log(`Initializing with pack: ${packName}`);
170
+ console.log("");
171
+ if (apply) {
172
+ const result = await applyPack(packName, {
173
+ force: true,
174
+ ...(projectDir ? { projectDir } : {}),
175
+ });
176
+ if (!result.ok)
177
+ fail(result.error);
178
+ printApplySuccess(result.value);
179
+ }
180
+ else {
181
+ const result = await installPack(packName, { force: true });
182
+ if (!result.ok)
183
+ fail(result.error);
184
+ printInstallSuccess(result.value);
185
+ }
186
+ await completeFirstRun("installed", { preferredPack: packName });
187
+ console.log("");
188
+ console.log("First-run complete.");
189
+ console.log("Next: kit list · kit tui · kit pack apply " + packName + " --dir .");
190
+ }
191
+ function printInstallSuccess(value) {
192
+ console.log(`Installed pack ${value.pack.name}@${value.pack.version}`);
193
+ console.log(` ${value.pack.title}`);
194
+ console.log(` ${value.installed.length} skill(s) in your library`);
195
+ for (const skill of value.installed) {
196
+ console.log(` + ${skill.name}@${skill.version}`);
197
+ }
198
+ if (value.skipped.length > 0) {
199
+ console.log(` skipped: ${value.skipped.join(", ")}`);
200
+ }
201
+ console.log("");
202
+ console.log("What now");
203
+ console.log(" kit list");
204
+ console.log(" kit pack apply " + value.pack.name + " --dir .");
205
+ console.log(" kit tui");
206
+ }
207
+ function printApplySuccess(value) {
208
+ const mode = value.reapplied && value.versionChanged
209
+ ? "Updated"
210
+ : value.reapplied
211
+ ? "Reapplied"
212
+ : "Applied";
213
+ console.log(`${mode} pack ${value.pack.name}@${value.pack.version}`);
214
+ console.log(` ${value.pack.title}`);
215
+ console.log(` project: ${value.projectDir}`);
216
+ console.log(` skills: ${value.projectSkillsDir}`);
217
+ console.log(` record: ${value.appliedPath}`);
218
+ console.log(` ${value.installed.length} skill(s) synced to library`);
219
+ for (const skill of value.installed) {
220
+ console.log(` + ${skill.name}@${skill.version}`);
221
+ }
222
+ if (value.gitWarning) {
223
+ console.log("");
224
+ console.log(`Note: ${value.gitWarning}`);
225
+ }
226
+ console.log("");
227
+ console.log("What now");
228
+ console.log(" kit paths");
229
+ console.log(" kit link --to claude-code --write # dry-run without --write");
230
+ console.log(" kit list · kit tui");
231
+ }
232
+ async function runValidate(rest) {
233
+ const skillDir = rest[0];
234
+ if (!skillDir)
235
+ fail("Usage: kit validate <skill-dir>");
236
+ const result = await loadSkill(skillDir);
237
+ if (!result.ok) {
238
+ fail(`Validation failed:\n${formatIssues(result.issues)}`);
239
+ }
240
+ console.log(`OK ${result.skill.name}@${result.skill.version}`);
241
+ console.log(` ${result.skill.description}`);
242
+ console.log(` agents: ${result.skill.compatibility.join(", ")}`);
243
+ }
244
+ async function runInstall(rest) {
245
+ const force = rest.includes("--force");
246
+ const skillDir = rest.find((arg) => !arg.startsWith("-"));
247
+ if (!skillDir)
248
+ fail("Usage: kit install <skill-dir> [--force]");
249
+ const result = await installSkill(skillDir, { force });
250
+ if (!result.ok)
251
+ fail(result.error);
252
+ console.log(`Installed ${result.value.name}@${result.value.version}`);
253
+ console.log(` path: ${result.value.installPath}`);
254
+ }
255
+ async function runList() {
256
+ const result = await listSkills();
257
+ if (!result.ok)
258
+ fail(result.error);
259
+ if (result.value.length === 0) {
260
+ console.log("No skills installed.");
261
+ console.log("Next: kit init or kit pack install essentials");
262
+ return;
263
+ }
264
+ for (const skill of result.value) {
265
+ console.log(`${skill.name}@${skill.version}`);
266
+ console.log(` ${skill.description}`);
267
+ console.log(` ${skill.installPath}`);
268
+ }
269
+ }
270
+ async function runRemove(rest) {
271
+ const name = rest[0];
272
+ if (!name)
273
+ fail("Usage: kit remove <skill-name>");
274
+ const result = await removeSkill(name);
275
+ if (!result.ok)
276
+ fail(result.error);
277
+ console.log(`Removed ${result.value.name}`);
278
+ }
279
+ async function runPack(rest) {
280
+ const sub = rest[0];
281
+ if (!sub || sub === "--help" || sub === "-h") {
282
+ printPackHelp();
283
+ process.exit(0);
284
+ }
285
+ if (sub === "list" || sub === "ls") {
286
+ const result = await listPacks();
287
+ if (!result.ok)
288
+ fail(result.error);
289
+ if (result.value.length === 0) {
290
+ console.log("No packs found.");
291
+ process.exit(0);
292
+ }
293
+ for (const pack of result.value) {
294
+ console.log(`${pack.name}@${pack.version} (${pack.skillCount} skills)`);
295
+ console.log(` ${pack.title} — ${pack.description}`);
296
+ if (pack.projectTypes.length > 0) {
297
+ console.log(` project types: ${pack.projectTypes.join(", ")}`);
298
+ }
299
+ }
300
+ return;
301
+ }
302
+ if (sub === "show") {
303
+ const name = rest[1];
304
+ if (!name)
305
+ fail("Usage: kit pack show <pack>");
306
+ const result = await loadPack(name);
307
+ if (!result.ok)
308
+ fail(result.error);
309
+ const { pack, skills } = result.value;
310
+ console.log(`${pack.name}@${pack.version}`);
311
+ console.log(pack.title);
312
+ console.log(pack.description);
313
+ console.log("");
314
+ console.log("Skills:");
315
+ for (const skill of skills) {
316
+ console.log(` - ${skill.name}@${skill.skill.version} (${skill.origin})`);
317
+ console.log(` ${skill.skill.description}`);
318
+ }
319
+ return;
320
+ }
321
+ if (sub === "validate") {
322
+ const name = rest[1];
323
+ if (!name)
324
+ fail("Usage: kit pack validate <pack>");
325
+ const result = await validatePack(name);
326
+ if (!result.ok)
327
+ fail(result.error);
328
+ console.log(`OK pack ${result.value.pack.name}@${result.value.pack.version}`);
329
+ console.log(` ${result.value.skills.length} skills valid`);
330
+ return;
331
+ }
332
+ if (sub === "install") {
333
+ const packName = rest.slice(1).find((arg) => !arg.startsWith("-"));
334
+ if (!packName)
335
+ fail("Usage: kit pack install <pack>");
336
+ const installResult = await installPack(packName, { force: true });
337
+ if (!installResult.ok)
338
+ fail(installResult.error);
339
+ printInstallSuccess(installResult.value);
340
+ return;
341
+ }
342
+ if (sub === "apply") {
343
+ const dirFlag = rest.indexOf("--dir");
344
+ let projectDir;
345
+ if (dirFlag >= 0) {
346
+ projectDir = rest[dirFlag + 1];
347
+ if (!projectDir || projectDir.startsWith("-")) {
348
+ fail("Usage: kit pack apply <pack> [--dir <project>]");
349
+ }
350
+ }
351
+ const packName = rest
352
+ .slice(1)
353
+ .filter((arg, i, arr) => {
354
+ if (arg.startsWith("-"))
355
+ return false;
356
+ if (i > 0 && arr[i - 1] === "--dir")
357
+ return false;
358
+ return true;
359
+ })[0];
360
+ if (!packName)
361
+ fail("Usage: kit pack apply <pack> [--dir <project>]");
362
+ const result = await applyPack(packName, {
363
+ ...(projectDir ? { projectDir } : {}),
364
+ force: true,
365
+ });
366
+ if (!result.ok)
367
+ fail(result.error);
368
+ printApplySuccess(result.value);
369
+ return;
370
+ }
371
+ fail(`kit pack: unknown command: ${sub}`);
372
+ }
373
+ function printPackHelp() {
374
+ console.log("Usage:");
375
+ console.log(" kit pack list");
376
+ console.log(" kit pack show <pack>");
377
+ console.log(" kit pack validate <pack>");
378
+ console.log(" kit pack install <pack>");
379
+ console.log(" kit pack apply <pack> [--dir <project>]");
380
+ }
381
+ async function runPaths(rest) {
382
+ const dirFlag = rest.indexOf("--dir");
383
+ let projectDir;
384
+ if (dirFlag >= 0) {
385
+ projectDir = rest[dirFlag + 1];
386
+ if (!projectDir || projectDir.startsWith("-")) {
387
+ fail("Usage: kit paths [--dir <project>] [--skill <name>]");
388
+ }
389
+ }
390
+ const skillFlag = rest.indexOf("--skill");
391
+ let skillName;
392
+ if (skillFlag >= 0) {
393
+ skillName = rest[skillFlag + 1];
394
+ if (!skillName || skillName.startsWith("-")) {
395
+ fail("Usage: kit paths [--dir <project>] [--skill <name>]");
396
+ }
397
+ }
398
+ const result = await describePaths({
399
+ ...(projectDir ? { projectDir } : {}),
400
+ ...(skillName ? { skillName } : {}),
401
+ });
402
+ if (!result.ok)
403
+ fail(result.error);
404
+ const report = result.value;
405
+ console.log(`Kit home: ${report.kitHome}`);
406
+ console.log(`Project: ${report.projectDir}`);
407
+ console.log(`Global lib: ${report.globalLibrary}`);
408
+ console.log(`Project lib: ${report.projectLibrary}`);
409
+ if (report.skillName) {
410
+ console.log(`Skill focus: ${report.skillName}`);
411
+ }
412
+ console.log(`Installed: ${report.installedSkillNames.length === 0
413
+ ? "(none)"
414
+ : report.installedSkillNames.join(", ")}`);
415
+ console.log("");
416
+ console.log("Harness skill roots");
417
+ for (const entry of report.entries) {
418
+ const mark = entry.exists ? "✓" : "·";
419
+ console.log(`${mark} ${entry.harness.padEnd(12)} ${entry.scope.padEnd(9)} ${entry.skillsRoot}`);
420
+ if (entry.skillDir) {
421
+ console.log(` skill → ${entry.skillDir}`);
422
+ }
423
+ console.log(` ${entry.notes}`);
424
+ }
425
+ console.log("");
426
+ console.log("Next: kit link --to claude-code # dry-run");
427
+ console.log(" kit link --to claude-code --write # create links");
428
+ }
429
+ async function runLink(rest) {
430
+ if (rest.includes("--help") || rest.includes("-h")) {
431
+ console.log("Usage: kit link [--to claude-code|codex|grok-build|all] [--scope personal|project] [--mode symlink|copy] [--dir <project>] [--write] [--force] [--skill <name>]");
432
+ console.log("");
433
+ console.log("Default is a dry-run. Pass --write to create links or copies.");
434
+ return;
435
+ }
436
+ const write = rest.includes("--write");
437
+ const force = rest.includes("--force");
438
+ const toFlag = rest.indexOf("--to");
439
+ let harnesses;
440
+ if (toFlag >= 0) {
441
+ const value = rest[toFlag + 1];
442
+ if (!value || value.startsWith("-")) {
443
+ fail("Usage: kit link --to <claude-code|codex|grok-build|all>");
444
+ }
445
+ if (value === "all") {
446
+ harnesses = ["claude-code", "codex", "grok-build"];
447
+ }
448
+ else if (value === "claude-code" ||
449
+ value === "codex" ||
450
+ value === "grok-build") {
451
+ harnesses = [value];
452
+ }
453
+ else {
454
+ fail(`Unknown harness "${value}". Use claude-code, codex, grok-build, or all.`);
455
+ }
456
+ }
457
+ const scopeFlag = rest.indexOf("--scope");
458
+ let scope = "project";
459
+ if (scopeFlag >= 0) {
460
+ const value = rest[scopeFlag + 1];
461
+ if (value !== "personal" && value !== "project") {
462
+ fail("Usage: kit link --scope personal|project");
463
+ }
464
+ scope = value;
465
+ }
466
+ const modeFlag = rest.indexOf("--mode");
467
+ let mode = "symlink";
468
+ if (modeFlag >= 0) {
469
+ const value = rest[modeFlag + 1];
470
+ if (value !== "symlink" && value !== "copy") {
471
+ fail("Usage: kit link --mode symlink|copy");
472
+ }
473
+ mode = value;
474
+ }
475
+ const dirFlag = rest.indexOf("--dir");
476
+ let projectDir;
477
+ if (dirFlag >= 0) {
478
+ projectDir = rest[dirFlag + 1];
479
+ if (!projectDir || projectDir.startsWith("-")) {
480
+ fail("Usage: kit link --dir <project>");
481
+ }
482
+ }
483
+ const skillFlag = rest.indexOf("--skill");
484
+ let skillNames;
485
+ if (skillFlag >= 0) {
486
+ const value = rest[skillFlag + 1];
487
+ if (!value || value.startsWith("-")) {
488
+ fail("Usage: kit link --skill <name>");
489
+ }
490
+ skillNames = [value];
491
+ }
492
+ const result = await linkSkills({
493
+ write,
494
+ force,
495
+ scope,
496
+ mode,
497
+ ...(harnesses ? { harnesses } : {}),
498
+ ...(projectDir ? { projectDir } : {}),
499
+ ...(skillNames ? { skillNames } : {}),
500
+ });
501
+ if (!result.ok)
502
+ fail(result.error);
503
+ const plan = result.value;
504
+ console.log(plan.dryRun ? "Link plan (dry-run)" : "Link result");
505
+ console.log(` scope: ${scope}`);
506
+ console.log(` mode: ${mode}`);
507
+ console.log(` linked: ${plan.linked} skipped: ${plan.skipped} failed: ${plan.failed.length}`);
508
+ console.log("");
509
+ for (const item of plan.items) {
510
+ const tag = item.action === "create"
511
+ ? "+"
512
+ : item.action === "replace"
513
+ ? "!"
514
+ : item.action === "skip-same"
515
+ ? "="
516
+ : "~";
517
+ console.log(`${tag} ${item.harness} ${item.skillName}`);
518
+ console.log(` ${item.sourceDir}`);
519
+ console.log(` → ${item.targetDir}`);
520
+ if (item.reason) {
521
+ console.log(` ${item.reason}`);
522
+ }
523
+ }
524
+ if (plan.failed.length > 0) {
525
+ console.log("");
526
+ console.log("Failures:");
527
+ for (const f of plan.failed) {
528
+ console.log(` ${f.skillName}: ${f.error}`);
529
+ }
530
+ }
531
+ if (plan.dryRun) {
532
+ console.log("");
533
+ console.log("No files written. Re-run with --write to apply.");
534
+ }
535
+ }
536
+ async function runImport(rest) {
537
+ if (rest.includes("--help") || rest.includes("-h")) {
538
+ console.log("Usage: kit import [--from claude-code|codex|grok-build|all] [--scope personal|project] [--dir <project>] [--skill <name>] [--write] [--force]");
539
+ console.log("");
540
+ console.log("Capture skills from agent harness folders into the Kit library.");
541
+ console.log("Default is a dry-run. Pass --write to install into ~/.kit.");
542
+ return;
543
+ }
544
+ const write = rest.includes("--write");
545
+ const force = rest.includes("--force");
546
+ const fromFlag = rest.indexOf("--from");
547
+ let harnesses;
548
+ if (fromFlag >= 0) {
549
+ const value = rest[fromFlag + 1];
550
+ if (!value || value.startsWith("-")) {
551
+ fail("Usage: kit import --from <claude-code|codex|grok-build|all>");
552
+ }
553
+ if (value === "all") {
554
+ harnesses = ["claude-code", "codex", "grok-build"];
555
+ }
556
+ else if (value === "claude-code" ||
557
+ value === "codex" ||
558
+ value === "grok-build") {
559
+ harnesses = [value];
560
+ }
561
+ else {
562
+ fail(`Unknown harness "${value}". Use claude-code, codex, grok-build, or all.`);
563
+ }
564
+ }
565
+ const scopeFlag = rest.indexOf("--scope");
566
+ let scope = "personal";
567
+ if (scopeFlag >= 0) {
568
+ const value = rest[scopeFlag + 1];
569
+ if (value !== "personal" && value !== "project") {
570
+ fail("Usage: kit import --scope personal|project");
571
+ }
572
+ scope = value;
573
+ }
574
+ const dirFlag = rest.indexOf("--dir");
575
+ let projectDir;
576
+ if (dirFlag >= 0) {
577
+ projectDir = rest[dirFlag + 1];
578
+ if (!projectDir || projectDir.startsWith("-")) {
579
+ fail("Usage: kit import --dir <project>");
580
+ }
581
+ }
582
+ const skillFlag = rest.indexOf("--skill");
583
+ let skillNames;
584
+ if (skillFlag >= 0) {
585
+ const value = rest[skillFlag + 1];
586
+ if (!value || value.startsWith("-")) {
587
+ fail("Usage: kit import --skill <name>");
588
+ }
589
+ skillNames = [value];
590
+ }
591
+ const result = await importSkillsFromHarness({
592
+ write,
593
+ force,
594
+ scope,
595
+ ...(harnesses ? { harnesses } : {}),
596
+ ...(projectDir ? { projectDir } : {}),
597
+ ...(skillNames ? { skillNames } : {}),
598
+ });
599
+ if (!result.ok)
600
+ fail(result.error);
601
+ const plan = result.value;
602
+ console.log(plan.dryRun ? "Import plan (dry-run)" : "Import result");
603
+ console.log(` scope: ${scope}`);
604
+ console.log(` imported: ${plan.imported} skipped: ${plan.skipped} failed: ${plan.failed.length}`);
605
+ console.log("");
606
+ for (const item of plan.items) {
607
+ if (item.action === "skip-missing-root") {
608
+ console.log(`· ${item.harness} (no skills root)`);
609
+ if (item.reason)
610
+ console.log(` ${item.reason}`);
611
+ continue;
612
+ }
613
+ const tag = item.action === "import"
614
+ ? "+"
615
+ : item.action === "replace"
616
+ ? "!"
617
+ : item.action === "skip-exists"
618
+ ? "="
619
+ : "~";
620
+ console.log(`${tag} ${item.harness} ${item.skillName}`);
621
+ console.log(` ${item.sourceDir}`);
622
+ if (item.reason)
623
+ console.log(` ${item.reason}`);
624
+ }
625
+ if (plan.failed.length > 0) {
626
+ console.log("");
627
+ console.log("Failures:");
628
+ for (const f of plan.failed) {
629
+ console.log(` ${f.skillName}: ${f.error}`);
630
+ }
631
+ }
632
+ if (plan.dryRun) {
633
+ console.log("");
634
+ console.log("No files written. Re-run with --write to install into ~/.kit.");
635
+ }
636
+ }
637
+ function printChecks(checks, indent = " ") {
638
+ for (const check of checks) {
639
+ const mark = check.level === "pass"
640
+ ? "✓"
641
+ : check.level === "fail"
642
+ ? "✗"
643
+ : check.level === "warn"
644
+ ? "!"
645
+ : "·";
646
+ console.log(`${indent}${mark} ${check.message}`);
647
+ if (check.detail) {
648
+ console.log(`${indent} ${check.detail}`);
649
+ }
650
+ }
651
+ }
652
+ async function runTest(rest) {
653
+ if (rest.includes("--help") || rest.includes("-h") || rest.length === 0) {
654
+ console.log("Usage:");
655
+ console.log(" kit test --all-packs");
656
+ console.log(" kit test <pack-name>");
657
+ console.log(" kit test <skill-dir>");
658
+ console.log(" kit test pack <pack-name>");
659
+ console.log(" kit test skill <skill-dir>");
660
+ if (rest.length === 0)
661
+ process.exit(1);
662
+ return;
663
+ }
664
+ if (rest.includes("--all-packs") || rest[0] === "packs") {
665
+ const result = await testAllPacks();
666
+ if (result.ok) {
667
+ console.log(`OK ${result.value.passed} pack(s) passed, ${result.value.failed} failed`);
668
+ for (const pack of result.value.packs) {
669
+ console.log(` ✓ ${pack.packName}@${pack.version} (${pack.skillReports.length} skills)`);
670
+ }
671
+ return;
672
+ }
673
+ if (result.report) {
674
+ console.error(result.error);
675
+ for (const pack of result.report.packs) {
676
+ const mark = pack.ok ? "✓" : "✗";
677
+ console.error(` ${mark} ${pack.packName ?? pack.target}${pack.version ? `@${pack.version}` : ""}`);
678
+ if (!pack.ok) {
679
+ printChecks(pack.checks, " ");
680
+ for (const skill of pack.skillReports.filter((s) => !s.ok)) {
681
+ console.error(` ✗ ${skill.skillName ?? skill.target}`);
682
+ printChecks(skill.checks, " ");
683
+ if (skill.issues.length > 0) {
684
+ console.error(` ${formatIssues(skill.issues)}`);
685
+ }
686
+ }
687
+ }
688
+ }
689
+ process.exit(1);
690
+ }
691
+ fail(result.error);
692
+ }
693
+ if (rest[0] === "pack") {
694
+ const name = rest[1];
695
+ if (!name)
696
+ fail("Usage: kit test pack <pack-name>");
697
+ await testOnePack(name);
698
+ return;
699
+ }
700
+ if (rest[0] === "skill") {
701
+ const dir = rest[1];
702
+ if (!dir)
703
+ fail("Usage: kit test skill <skill-dir>");
704
+ await testOneSkill(dir);
705
+ return;
706
+ }
707
+ const target = rest[0];
708
+ if (!target)
709
+ fail("Usage: kit test <skill-dir|pack-name|--all-packs>");
710
+ // Prefer pack name when it validates as a pack; else skill dir.
711
+ const asPack = await testPack(target);
712
+ if (asPack.ok || (asPack.report && asPack.report.packName)) {
713
+ if (asPack.ok) {
714
+ printPackTestOk(asPack.value);
715
+ return;
716
+ }
717
+ printPackTestFail(asPack.error, asPack.report);
718
+ process.exit(1);
719
+ }
720
+ await testOneSkill(target);
721
+ }
722
+ async function testOnePack(name) {
723
+ const result = await testPack(name);
724
+ if (result.ok) {
725
+ printPackTestOk(result.value);
726
+ return;
727
+ }
728
+ printPackTestFail(result.error, result.report);
729
+ process.exit(1);
730
+ }
731
+ async function testOneSkill(dir) {
732
+ const result = await testSkill(dir);
733
+ if (result.ok) {
734
+ console.log(`OK ${result.value.skillName}@${result.value.version}`);
735
+ printChecks(result.value.checks);
736
+ return;
737
+ }
738
+ console.error(result.error);
739
+ if (result.report) {
740
+ printChecks(result.report.checks);
741
+ if (result.report.issues.length > 0) {
742
+ console.error(formatIssues(result.report.issues));
743
+ }
744
+ }
745
+ process.exit(1);
746
+ }
747
+ function printPackTestOk(report) {
748
+ console.log(`OK pack ${report.packName}@${report.version}`);
749
+ printChecks(report.checks);
750
+ for (const skill of report.skillReports) {
751
+ console.log(` · ${skill.skillName}@${skill.version}`);
752
+ }
753
+ }
754
+ function printPackTestFail(error, report) {
755
+ console.error(error);
756
+ if (!report)
757
+ return;
758
+ printChecks(report.checks);
759
+ for (const skill of report.skillReports.filter((s) => !s.ok)) {
760
+ console.error(` ✗ ${skill.skillName ?? skill.target}`);
761
+ printChecks(skill.checks, " ");
762
+ if (skill.issues.length > 0) {
763
+ console.error(` ${formatIssues(skill.issues)}`);
764
+ }
765
+ }
766
+ }
767
+ async function runDoctorCmd(rest) {
768
+ const dirFlag = rest.indexOf("--dir");
769
+ let projectDir;
770
+ if (dirFlag >= 0) {
771
+ projectDir = rest[dirFlag + 1];
772
+ if (!projectDir || projectDir.startsWith("-")) {
773
+ fail("Usage: kit doctor [--dir <project>]");
774
+ }
775
+ }
776
+ const report = await runDoctor({
777
+ ...(projectDir ? { projectDir } : {}),
778
+ });
779
+ console.log(`kit doctor v${report.version}`);
780
+ console.log(` home: ${report.kitHome}`);
781
+ console.log(` project: ${report.projectDir}`);
782
+ console.log(` summary: ${report.summary.passed} pass · ${report.summary.warnings} warn · ${report.summary.failed} fail`);
783
+ console.log("");
784
+ printChecks(report.checks, "");
785
+ if (!report.ok) {
786
+ console.log("");
787
+ console.log("Doctor found problems. Fix the ✗ items above.");
788
+ process.exit(1);
789
+ }
790
+ if (report.summary.warnings > 0) {
791
+ console.log("");
792
+ console.log("Doctor OK with warnings.");
793
+ return;
794
+ }
795
+ console.log("");
796
+ console.log("Doctor OK.");
797
+ }
798
+ async function runLogin(rest) {
799
+ if (rest.includes("--help") || rest.includes("-h")) {
800
+ console.log("Usage: kit login");
801
+ console.log("");
802
+ console.log("Signs in with GitHub device flow via the Kit registry.");
803
+ console.log(`Registry: ${getRegistryUrl()}`);
804
+ console.log("Override with KIT_REGISTRY_URL.");
805
+ return;
806
+ }
807
+ console.log("Kit login (GitHub device flow)");
808
+ console.log(`Registry: ${getRegistryUrl()}`);
809
+ console.log("");
810
+ const result = await loginWithDeviceFlow({
811
+ onPrompt: (progress) => {
812
+ console.log(progress.message);
813
+ console.log("");
814
+ console.log(` 1. Open ${progress.verificationUri}`);
815
+ console.log(` 2. Enter code: ${progress.userCode}`);
816
+ console.log(" 3. Approve Kit-skills");
817
+ console.log("");
818
+ console.log("Waiting for approval…");
819
+ },
820
+ });
821
+ if (!result.ok)
822
+ fail(result.error);
823
+ console.log("");
824
+ console.log(`Logged in as @${result.value.user.login}`);
825
+ if (result.value.user.name) {
826
+ console.log(` name: ${result.value.user.name}`);
827
+ }
828
+ console.log(` session: ~/.kit/auth.json`);
829
+ console.log("");
830
+ console.log("Next: kit whoami · kit doctor · kit tui");
831
+ }
832
+ async function runLogout() {
833
+ const result = await logout();
834
+ if (!result.ok)
835
+ fail(result.error);
836
+ console.log("Logged out. Session cleared.");
837
+ }
838
+ async function runWhoami() {
839
+ const result = await getLoggedInUser();
840
+ if (!result.ok)
841
+ fail(result.error);
842
+ const s = result.value;
843
+ console.log(`@${s.user.login}`);
844
+ if (s.user.name)
845
+ console.log(` name: ${s.user.name}`);
846
+ console.log(` id: ${s.user.id}`);
847
+ console.log(` profile: ${s.user.html_url}`);
848
+ console.log(` loggedIn: ${s.loggedInAt}`);
849
+ console.log(` registry: ${s.registryUrl}`);
850
+ console.log(` scope: ${s.scope || "(none)"}`);
851
+ }
852
+ async function runExplore(rest) {
853
+ const sub = rest[0];
854
+ if (!sub || sub === "--help" || sub === "-h") {
855
+ console.log("Usage:");
856
+ console.log(" kit explore packs [--tag <tag>] [--type <projectType>]");
857
+ console.log(" kit explore show <pack>");
858
+ console.log(" kit explore skills [--agent <id>]");
859
+ console.log(" kit explore search <query>");
860
+ console.log("");
861
+ console.log(`Registry: ${getRegistryUrl()}`);
862
+ if (!sub)
863
+ process.exit(1);
864
+ return;
865
+ }
866
+ if (sub === "packs" || sub === "list") {
867
+ const tagFlag = rest.indexOf("--tag");
868
+ const typeFlag = rest.indexOf("--type");
869
+ let tag;
870
+ let projectType;
871
+ if (tagFlag >= 0) {
872
+ tag = rest[tagFlag + 1];
873
+ if (!tag || tag.startsWith("-"))
874
+ fail("Usage: kit explore packs --tag <tag>");
875
+ }
876
+ if (typeFlag >= 0) {
877
+ projectType = rest[typeFlag + 1];
878
+ if (!projectType || projectType.startsWith("-")) {
879
+ fail("Usage: kit explore packs --type <projectType>");
880
+ }
881
+ }
882
+ const result = await exploreListPacks({
883
+ ...(tag ? { tag } : {}),
884
+ ...(projectType ? { projectType } : {}),
885
+ });
886
+ if (!result.ok)
887
+ fail(result.error);
888
+ console.log(`Registry packs (${result.value.count}) — ${getRegistryUrl()}`);
889
+ for (const pack of result.value.packs) {
890
+ console.log(`${pack.name}@${pack.version} (${pack.skillCount} skills) ${pack.title}`);
891
+ console.log(` ${pack.description}`);
892
+ }
893
+ return;
894
+ }
895
+ if (sub === "show") {
896
+ const name = rest[1];
897
+ if (!name)
898
+ fail("Usage: kit explore show <pack>");
899
+ const result = await exploreShowPack(name);
900
+ if (!result.ok)
901
+ fail(result.error);
902
+ const { pack, skills } = result.value;
903
+ console.log(`${pack.name}@${pack.version}`);
904
+ console.log(pack.title);
905
+ console.log(pack.description);
906
+ console.log(`publisher: ${pack.publisher}`);
907
+ console.log(`tags: ${pack.tags.join(", ") || "(none)"}`);
908
+ console.log("");
909
+ console.log("Skills:");
910
+ for (const skill of skills) {
911
+ console.log(` - ${skill.name}@${skill.version}`);
912
+ console.log(` ${skill.description}`);
913
+ }
914
+ console.log("");
915
+ console.log(`Install locally: kit pack install ${pack.name}`);
916
+ return;
917
+ }
918
+ if (sub === "skills") {
919
+ const agentFlag = rest.indexOf("--agent");
920
+ let agent;
921
+ if (agentFlag >= 0) {
922
+ agent = rest[agentFlag + 1];
923
+ if (!agent || agent.startsWith("-")) {
924
+ fail("Usage: kit explore skills --agent <id>");
925
+ }
926
+ }
927
+ const result = await exploreListSkills({
928
+ ...(agent ? { agent } : {}),
929
+ });
930
+ if (!result.ok)
931
+ fail(result.error);
932
+ console.log(`Registry skills (${result.value.count})`);
933
+ for (const skill of result.value.skills) {
934
+ console.log(`${skill.name}@${skill.version}`);
935
+ console.log(` ${skill.description}`);
936
+ console.log(` agents: ${skill.compatibility.join(", ")}`);
937
+ }
938
+ return;
939
+ }
940
+ if (sub === "search") {
941
+ const query = rest.slice(1).join(" ").trim();
942
+ if (!query)
943
+ fail("Usage: kit explore search <query>");
944
+ const result = await exploreSearch(query);
945
+ if (!result.ok)
946
+ fail(result.error);
947
+ console.log(`Search "${result.value.q}" — ${result.value.count} hit(s)`);
948
+ if (result.value.packs.length > 0) {
949
+ console.log("");
950
+ console.log("Packs:");
951
+ for (const pack of result.value.packs) {
952
+ console.log(` ${pack.name}@${pack.version} — ${pack.title}`);
953
+ }
954
+ }
955
+ if (result.value.skills.length > 0) {
956
+ console.log("");
957
+ console.log("Skills:");
958
+ for (const skill of result.value.skills) {
959
+ console.log(` ${skill.name}@${skill.version} — ${skill.description}`);
960
+ }
961
+ }
962
+ return;
963
+ }
964
+ fail(`kit explore: unknown command: ${sub}`);
965
+ }
966
+ async function runRecommend(rest) {
967
+ const dirFlag = rest.indexOf("--dir");
968
+ let projectDir;
969
+ if (dirFlag >= 0) {
970
+ projectDir = rest[dirFlag + 1];
971
+ if (!projectDir || projectDir.startsWith("-")) {
972
+ fail("Usage: kit recommend [--dir <project>]");
973
+ }
974
+ }
975
+ const result = await recommendToolkits({
976
+ ...(projectDir ? { projectDir } : {}),
977
+ });
978
+ if (!result.ok)
979
+ fail(result.error);
980
+ const report = result.value;
981
+ console.log(report.summary);
982
+ console.log(`Project: ${report.projectDir}`);
983
+ if (report.signals.length > 0) {
984
+ console.log(`Signals: ${report.signals.join(", ")}`);
985
+ }
986
+ else {
987
+ console.log("Signals: (none — defaults apply)");
988
+ }
989
+ console.log("");
990
+ console.log("Packs");
991
+ for (const rec of report.recommendations) {
992
+ const star = rec.packName === report.topPick ? "★ " : " ";
993
+ console.log(`${star}${rec.packName.padEnd(12)} score ${rec.score} ${rec.title}`);
994
+ for (const reason of rec.reasons.slice(0, 2)) {
995
+ console.log(` · ${reason}`);
996
+ }
997
+ }
998
+ if (report.skillRecommendations.length > 0) {
999
+ console.log("");
1000
+ console.log("Skills this project likely wants");
1001
+ for (const s of report.skillRecommendations) {
1002
+ const via = s.fromPack ? ` (via ${s.fromPack})` : "";
1003
+ console.log(` · ${s.skillName}${via}`);
1004
+ if (s.reasons[0])
1005
+ console.log(` ${s.reasons[0]}`);
1006
+ }
1007
+ }
1008
+ if (report.topPick) {
1009
+ console.log("");
1010
+ console.log(`Top pick: ${report.topPick}`);
1011
+ console.log(`Install: kit pack install ${report.topPick}`);
1012
+ console.log(`Apply: kit pack apply ${report.topPick} --dir ${report.projectDir}`);
1013
+ console.log(`Point TUI: kit recommend --dir ${report.projectDir}`);
1014
+ }
1015
+ }
1016
+ main().catch((error) => {
1017
+ const detail = error instanceof Error ? error.message : String(error);
1018
+ console.error(`kit: unexpected error: ${detail}`);
1019
+ process.exit(2);
1020
+ });
1021
+ //# sourceMappingURL=bin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * CLI library surface. Commands will wrap @mzwin/kit-core.
3
+ */
4
+ export { CORE_PACKAGE_NAME } from "@mzwin/kit-core";
5
+ export { KIT_PACKAGE_VERSION } from "@mzwin/kit-shared";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ /**
2
+ * CLI library surface. Commands will wrap @mzwin/kit-core.
3
+ */
4
+ export { CORE_PACKAGE_NAME } from "@mzwin/kit-core";
5
+ export { KIT_PACKAGE_VERSION } from "@mzwin/kit-shared";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,55 @@
1
+ {
2
+ "name": "@mzwin/kit",
3
+ "version": "0.1.0",
4
+ "description": "Kit CLI — portable agent skills for Claude Code, Grok Build, and Codex",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "private": false,
8
+ "publishConfig": {
9
+ "access": "public"
10
+ },
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "git+https://github.com/Zwin-ux/kit.git",
14
+ "directory": "packages/cli"
15
+ },
16
+ "homepage": "https://github.com/Zwin-ux/kit#readme",
17
+ "bugs": {
18
+ "url": "https://github.com/Zwin-ux/kit/issues"
19
+ },
20
+ "keywords": [
21
+ "agent-skills",
22
+ "claude-code",
23
+ "codex",
24
+ "cli",
25
+ "skills",
26
+ "kit"
27
+ ],
28
+ "bin": {
29
+ "kit": "./dist/bin.js"
30
+ },
31
+ "main": "./dist/index.js",
32
+ "types": "./dist/index.d.ts",
33
+ "exports": {
34
+ ".": {
35
+ "types": "./dist/index.d.ts",
36
+ "import": "./dist/index.js"
37
+ }
38
+ },
39
+ "files": ["dist"],
40
+ "scripts": {
41
+ "build": "tsc -p tsconfig.json",
42
+ "typecheck": "tsc -p tsconfig.json --noEmit",
43
+ "test": "node -e \"console.log('@mzwin/kit: no tests yet')\"",
44
+ "clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\""
45
+ },
46
+ "dependencies": {
47
+ "@mzwin/kit-catalog": "workspace:*",
48
+ "@mzwin/kit-core": "workspace:*",
49
+ "@mzwin/kit-shared": "workspace:*",
50
+ "@mzwin/kit-tui": "workspace:*"
51
+ },
52
+ "devDependencies": {
53
+ "typescript": "^5.8.3"
54
+ }
55
+ }