@dzhechkov/harness-cli 0.3.4 → 0.3.6
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/cli.d.ts.map +1 -1
- package/dist/cli.js +174 -1
- package/dist/cli.js.map +1 -1
- package/package.json +3 -3
- package/src/cli.ts +194 -0
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmDH,2EAA2E;AAC3E,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAsmBD;;;GAGG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,GAAE,KAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAoD5E"}
|
package/dist/cli.js
CHANGED
|
@@ -7,7 +7,7 @@ import { existsSync, lstatSync, mkdirSync, readdirSync, readlinkSync, renameSync
|
|
|
7
7
|
import { basename, dirname, join, resolve } from 'node:path';
|
|
8
8
|
import { execSync } from 'node:child_process';
|
|
9
9
|
import { homedir } from 'node:os';
|
|
10
|
-
import { createSkill, getSkillInfo, getWorkflow, isTargetName, listSkills, runDoctor, runInit, runMigrate, runSync, runVerify, TARGET_NAMES, WORKFLOW_NAMES, } from '@dzhechkov/harness-core';
|
|
10
|
+
import { createSkill, getSkillInfo, getWorkflow, isTargetName, listSkills, runDoctor, runInit, checkUpstream, runMigrate, runSync, runVerify, TARGET_NAMES, WORKFLOW_NAMES, } from '@dzhechkov/harness-core';
|
|
11
11
|
import { getPreset, PRESET_NAMES } from '@dzhechkov/harness-presets';
|
|
12
12
|
import { scanGitHub, analyzeRepo, generateReport, deepAnalyze, scanAllSources, ScoutMemory } from '@dzhechkov/scout';
|
|
13
13
|
const USAGE = `dz - DZ cross-platform harness CLI
|
|
@@ -24,6 +24,10 @@ Usage:
|
|
|
24
24
|
dz create-skill --name <id> [--description <text>] [--skills-dir <dir>] [--bto]
|
|
25
25
|
dz scout [--topics <list>] [--since <date>] [--deep]
|
|
26
26
|
dz workflow <task> [--dry-run]
|
|
27
|
+
dz install <npm-pkg> [--target <name>] [--project <dir>]
|
|
28
|
+
dz sync-upstream [--package <dir>]
|
|
29
|
+
dz stats
|
|
30
|
+
dz dashboard
|
|
27
31
|
dz roam [--apply] [--slug <slug>]
|
|
28
32
|
dz help
|
|
29
33
|
|
|
@@ -53,6 +57,10 @@ function parseArgs(argv) {
|
|
|
53
57
|
positional.push(arg);
|
|
54
58
|
}
|
|
55
59
|
}
|
|
60
|
+
// Store extra positional args as _positional_0, _positional_1, ...
|
|
61
|
+
for (let pi = 1; pi < positional.length; pi += 1) {
|
|
62
|
+
options.set(`_positional_${pi - 1}`, positional[pi] ?? '');
|
|
63
|
+
}
|
|
56
64
|
return { command: positional[0] ?? '', options, flags };
|
|
57
65
|
}
|
|
58
66
|
async function cmdInit(options, flags, cwd, write) {
|
|
@@ -426,6 +434,163 @@ function cmdRoam(options, flags, cwd, write) {
|
|
|
426
434
|
write(`done. (${apply ? 'applied' : 'dry-run'})`);
|
|
427
435
|
return 0;
|
|
428
436
|
}
|
|
437
|
+
async function cmdInstall(options, flags, cwd, write) {
|
|
438
|
+
const pkg = options.get('_positional_0');
|
|
439
|
+
if (!pkg) {
|
|
440
|
+
write('dz install: package name required (e.g., dz install @dzhechkov/skills-devops)');
|
|
441
|
+
return 1;
|
|
442
|
+
}
|
|
443
|
+
const targetOpt = options.get('target') ?? 'claude-code';
|
|
444
|
+
if (!isTargetName(targetOpt)) {
|
|
445
|
+
write(`dz install: --target must be one of: ${TARGET_NAMES.join(', ')}`);
|
|
446
|
+
return 1;
|
|
447
|
+
}
|
|
448
|
+
const projectRoot = resolve(cwd, options.get('project') ?? '.');
|
|
449
|
+
// Step 1: npm install the package
|
|
450
|
+
write(`Installing ${pkg}...`);
|
|
451
|
+
try {
|
|
452
|
+
execSync(`npm install ${pkg} --save-dev --no-fund --no-audit`, { cwd: projectRoot, stdio: 'pipe', encoding: 'utf-8' });
|
|
453
|
+
}
|
|
454
|
+
catch (err) {
|
|
455
|
+
write(`dz install: npm install failed — ${err instanceof Error ? err.message : String(err)}`);
|
|
456
|
+
return 1;
|
|
457
|
+
}
|
|
458
|
+
// Step 2: Find SKILL.md files in the installed package
|
|
459
|
+
const pkgDir = join(projectRoot, 'node_modules', pkg);
|
|
460
|
+
if (!existsSync(pkgDir)) {
|
|
461
|
+
write(`dz install: package not found at ${pkgDir}`);
|
|
462
|
+
return 1;
|
|
463
|
+
}
|
|
464
|
+
// Discover skills — look for dirs containing SKILL.md
|
|
465
|
+
const entries = readdirSync(pkgDir, { withFileTypes: true })
|
|
466
|
+
.filter((e) => e.isDirectory() && existsSync(join(pkgDir, e.name, 'SKILL.md')));
|
|
467
|
+
if (entries.length === 0) {
|
|
468
|
+
write(`dz install: no SKILL.md files found in ${pkg}. Package may not contain agentskills.io skills.`);
|
|
469
|
+
return 0;
|
|
470
|
+
}
|
|
471
|
+
// Step 3: Use dz init with the package as skills source
|
|
472
|
+
const report = await runInit({
|
|
473
|
+
target: targetOpt,
|
|
474
|
+
skillsDir: pkgDir,
|
|
475
|
+
projectRoot,
|
|
476
|
+
force: flags.has('force'),
|
|
477
|
+
});
|
|
478
|
+
const totalWritten = report.skills.reduce((sum, s) => sum + s.written.length, 0);
|
|
479
|
+
const totalSkipped = report.skills.reduce((sum, s) => sum + s.skipped.length, 0);
|
|
480
|
+
write(`dz install ${pkg}: ${report.skills.length} skill(s), ${totalWritten} file(s) written, ${totalSkipped} skipped`);
|
|
481
|
+
for (const skill of report.skills) {
|
|
482
|
+
write(` ${skill.id}: ${skill.written.length} written, ${skill.skipped.length} skipped`);
|
|
483
|
+
}
|
|
484
|
+
return 0;
|
|
485
|
+
}
|
|
486
|
+
async function cmdSyncUpstream(options, cwd, write) {
|
|
487
|
+
const packageDir = resolve(cwd, options.get('package') ?? '.');
|
|
488
|
+
const report = await checkUpstream(packageDir);
|
|
489
|
+
if (!report) {
|
|
490
|
+
write('dz sync-upstream: no sources.json found in ' + packageDir);
|
|
491
|
+
return 1;
|
|
492
|
+
}
|
|
493
|
+
write(`Upstream: ${report.origin.repo} (${report.origin.branch})`);
|
|
494
|
+
write(`Checked: ${report.checked} | Changed: ${report.changed} | Up-to-date: ${report.upToDate} | Errors: ${report.errors}\n`);
|
|
495
|
+
for (const skill of report.skills) {
|
|
496
|
+
const icon = skill.status === 'up-to-date' ? '✓' : skill.status === 'changed' ? '△' : '✗';
|
|
497
|
+
const detail = skill.status === 'changed'
|
|
498
|
+
? ` (local: ${skill.localLines} lines, upstream: ${skill.upstreamLines} lines)`
|
|
499
|
+
: skill.error ? ` (${skill.error})` : '';
|
|
500
|
+
write(` ${icon} ${skill.skillId.padEnd(25)} ${skill.status}${detail}`);
|
|
501
|
+
}
|
|
502
|
+
return report.errors > 0 ? 1 : 0;
|
|
503
|
+
}
|
|
504
|
+
function cmdStats(cwd, write) {
|
|
505
|
+
const baseDir = join(cwd, 'packages', '@dzhechkov');
|
|
506
|
+
if (!existsSync(baseDir)) {
|
|
507
|
+
write('dz stats: no packages/@dzhechkov found');
|
|
508
|
+
return 1;
|
|
509
|
+
}
|
|
510
|
+
const dirs = readdirSync(baseDir, { withFileTypes: true }).filter((e) => e.isDirectory());
|
|
511
|
+
const packages = dirs.length;
|
|
512
|
+
let totalSkills = 0;
|
|
513
|
+
let skillPacks = 0;
|
|
514
|
+
for (const dir of dirs) {
|
|
515
|
+
if (dir.name.startsWith('skills-')) {
|
|
516
|
+
skillPacks++;
|
|
517
|
+
const skillDir = join(baseDir, dir.name);
|
|
518
|
+
const skillDirs = readdirSync(skillDir, { withFileTypes: true })
|
|
519
|
+
.filter((e) => e.isDirectory() && existsSync(join(skillDir, e.name, 'SKILL.md')));
|
|
520
|
+
totalSkills += skillDirs.length;
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
const targets = TARGET_NAMES.length;
|
|
524
|
+
const presets = PRESET_NAMES.length;
|
|
525
|
+
write(`dz stats — DZ Harness Hub`);
|
|
526
|
+
write(` Packages: ${packages}`);
|
|
527
|
+
write(` Skill packs: ${skillPacks}`);
|
|
528
|
+
write(` Total skills: ${totalSkills}`);
|
|
529
|
+
write(` Targets: ${targets} (${TARGET_NAMES.join(', ')})`);
|
|
530
|
+
write(` Presets: ${presets} (${PRESET_NAMES.join(', ')})`);
|
|
531
|
+
return 0;
|
|
532
|
+
}
|
|
533
|
+
function cmdDashboard(cwd, write) {
|
|
534
|
+
const baseDir = join(cwd, 'packages', '@dzhechkov');
|
|
535
|
+
if (!existsSync(baseDir)) {
|
|
536
|
+
write('dz dashboard: no packages/@dzhechkov found');
|
|
537
|
+
return 1;
|
|
538
|
+
}
|
|
539
|
+
const dirs = readdirSync(baseDir, { withFileTypes: true }).filter((e) => e.isDirectory());
|
|
540
|
+
// Categorize packages
|
|
541
|
+
const adapters = [];
|
|
542
|
+
const skillPacks = [];
|
|
543
|
+
const core = [];
|
|
544
|
+
for (const dir of dirs) {
|
|
545
|
+
const name = dir.name;
|
|
546
|
+
if (name.startsWith('adapter-')) {
|
|
547
|
+
adapters.push(name.replace('adapter-', ''));
|
|
548
|
+
}
|
|
549
|
+
else if (name.startsWith('skills-')) {
|
|
550
|
+
const skillDir = join(baseDir, name);
|
|
551
|
+
const count = readdirSync(skillDir, { withFileTypes: true })
|
|
552
|
+
.filter((e) => e.isDirectory() && existsSync(join(skillDir, e.name, 'SKILL.md'))).length;
|
|
553
|
+
skillPacks.push({ name, count });
|
|
554
|
+
}
|
|
555
|
+
else {
|
|
556
|
+
core.push(name);
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
const totalSkills = skillPacks.reduce((sum, p) => sum + p.count, 0);
|
|
560
|
+
write('');
|
|
561
|
+
write('╔══════════════════════════════════════════════════════════════╗');
|
|
562
|
+
write('║ DZ HARNESS HUB — DASHBOARD ║');
|
|
563
|
+
write('╠══════════════════════════════════════════════════════════════╣');
|
|
564
|
+
write(`║ Packages: ${String(dirs.length).padStart(3)} Targets: ${String(TARGET_NAMES.length).padStart(2)} Presets: ${String(PRESET_NAMES.length).padStart(2)} Skills: ${String(totalSkills).padStart(3)} ║`);
|
|
565
|
+
write('╠══════════════════════════════════════════════════════════════╣');
|
|
566
|
+
write('║ TARGETS ║');
|
|
567
|
+
for (const t of TARGET_NAMES) {
|
|
568
|
+
write(`║ ${t.padEnd(56)}║`);
|
|
569
|
+
}
|
|
570
|
+
write('╠──────────────────────────────────────────────────────────────╣');
|
|
571
|
+
write('║ SKILL PACKS ║');
|
|
572
|
+
for (const sp of skillPacks) {
|
|
573
|
+
write(`║ ${sp.name.padEnd(35)} ${String(sp.count).padStart(3)} skills ║`);
|
|
574
|
+
}
|
|
575
|
+
write('╠──────────────────────────────────────────────────────────────╣');
|
|
576
|
+
write('║ PRESETS ║');
|
|
577
|
+
for (const p of PRESET_NAMES) {
|
|
578
|
+
write(`║ ${p.padEnd(56)}║`);
|
|
579
|
+
}
|
|
580
|
+
write('╠──────────────────────────────────────────────────────────────╣');
|
|
581
|
+
write('║ CORE ║');
|
|
582
|
+
for (const c of core) {
|
|
583
|
+
write(`║ ${c.padEnd(56)}║`);
|
|
584
|
+
}
|
|
585
|
+
write('╠──────────────────────────────────────────────────────────────╣');
|
|
586
|
+
write('║ ADAPTERS ║');
|
|
587
|
+
for (const a of adapters) {
|
|
588
|
+
write(`║ ${a.padEnd(56)}║`);
|
|
589
|
+
}
|
|
590
|
+
write('╚══════════════════════════════════════════════════════════════╝');
|
|
591
|
+
write('');
|
|
592
|
+
return 0;
|
|
593
|
+
}
|
|
429
594
|
/**
|
|
430
595
|
* Run the `dz` CLI. Returns a process exit code; never calls `process.exit`,
|
|
431
596
|
* so it is safe to call from tests. Output and working directory are injectable.
|
|
@@ -461,6 +626,14 @@ export async function runCli(argv, io = {}) {
|
|
|
461
626
|
return cmdMigrate(options, cwd, write);
|
|
462
627
|
case 'doctor':
|
|
463
628
|
return await cmdDoctor(options, cwd, write);
|
|
629
|
+
case 'install':
|
|
630
|
+
return await cmdInstall(options, flags, cwd, write);
|
|
631
|
+
case 'sync-upstream':
|
|
632
|
+
return await cmdSyncUpstream(options, cwd, write);
|
|
633
|
+
case 'stats':
|
|
634
|
+
return cmdStats(cwd, write);
|
|
635
|
+
case 'dashboard':
|
|
636
|
+
return cmdDashboard(cwd, write);
|
|
464
637
|
case 'roam':
|
|
465
638
|
return cmdRoam(options, flags, cwd, write);
|
|
466
639
|
default:
|
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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dzhechkov/harness-cli",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.6",
|
|
4
4
|
"description": "The dz CLI — install AI skills for Claude Code, Codex, OpenCode, Hermes. 11 commands, 7 presets, 4 platform adapters.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -34,9 +34,9 @@
|
|
|
34
34
|
"README.md"
|
|
35
35
|
],
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@dzhechkov/harness-
|
|
37
|
+
"@dzhechkov/harness-presets": "0.2.2",
|
|
38
38
|
"@dzhechkov/scout": "0.7.1",
|
|
39
|
-
"@dzhechkov/harness-
|
|
39
|
+
"@dzhechkov/harness-core": "0.3.3"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@types/node": "^25.6.0",
|
package/src/cli.ts
CHANGED
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
listSkills,
|
|
18
18
|
runDoctor,
|
|
19
19
|
runInit,
|
|
20
|
+
checkUpstream,
|
|
20
21
|
runMigrate,
|
|
21
22
|
runSync,
|
|
22
23
|
runVerify,
|
|
@@ -40,6 +41,10 @@ Usage:
|
|
|
40
41
|
dz create-skill --name <id> [--description <text>] [--skills-dir <dir>] [--bto]
|
|
41
42
|
dz scout [--topics <list>] [--since <date>] [--deep]
|
|
42
43
|
dz workflow <task> [--dry-run]
|
|
44
|
+
dz install <npm-pkg> [--target <name>] [--project <dir>]
|
|
45
|
+
dz sync-upstream [--package <dir>]
|
|
46
|
+
dz stats
|
|
47
|
+
dz dashboard
|
|
43
48
|
dz roam [--apply] [--slug <slug>]
|
|
44
49
|
dz help
|
|
45
50
|
|
|
@@ -82,6 +87,11 @@ function parseArgs(argv: string[]): ParsedArgs {
|
|
|
82
87
|
}
|
|
83
88
|
}
|
|
84
89
|
|
|
90
|
+
// Store extra positional args as _positional_0, _positional_1, ...
|
|
91
|
+
for (let pi = 1; pi < positional.length; pi += 1) {
|
|
92
|
+
options.set(`_positional_${pi - 1}`, positional[pi] ?? '');
|
|
93
|
+
}
|
|
94
|
+
|
|
85
95
|
return { command: positional[0] ?? '', options, flags };
|
|
86
96
|
}
|
|
87
97
|
|
|
@@ -485,6 +495,182 @@ function cmdRoam(options: Map<string, string>, flags: Set<string>, cwd: string,
|
|
|
485
495
|
return 0;
|
|
486
496
|
}
|
|
487
497
|
|
|
498
|
+
async function cmdInstall(options: Map<string, string>, flags: Set<string>, cwd: string, write: Write): Promise<number> {
|
|
499
|
+
const pkg = options.get('_positional_0');
|
|
500
|
+
if (!pkg) {
|
|
501
|
+
write('dz install: package name required (e.g., dz install @dzhechkov/skills-devops)');
|
|
502
|
+
return 1;
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
const targetOpt = options.get('target') ?? 'claude-code';
|
|
506
|
+
if (!isTargetName(targetOpt)) {
|
|
507
|
+
write(`dz install: --target must be one of: ${TARGET_NAMES.join(', ')}`);
|
|
508
|
+
return 1;
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
const projectRoot = resolve(cwd, options.get('project') ?? '.');
|
|
512
|
+
|
|
513
|
+
// Step 1: npm install the package
|
|
514
|
+
write(`Installing ${pkg}...`);
|
|
515
|
+
try {
|
|
516
|
+
execSync(`npm install ${pkg} --save-dev --no-fund --no-audit`, { cwd: projectRoot, stdio: 'pipe', encoding: 'utf-8' });
|
|
517
|
+
} catch (err) {
|
|
518
|
+
write(`dz install: npm install failed — ${err instanceof Error ? err.message : String(err)}`);
|
|
519
|
+
return 1;
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
// Step 2: Find SKILL.md files in the installed package
|
|
523
|
+
const pkgDir = join(projectRoot, 'node_modules', pkg);
|
|
524
|
+
if (!existsSync(pkgDir)) {
|
|
525
|
+
write(`dz install: package not found at ${pkgDir}`);
|
|
526
|
+
return 1;
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
// Discover skills — look for dirs containing SKILL.md
|
|
530
|
+
const entries = readdirSync(pkgDir, { withFileTypes: true })
|
|
531
|
+
.filter((e) => e.isDirectory() && existsSync(join(pkgDir, e.name, 'SKILL.md')));
|
|
532
|
+
|
|
533
|
+
if (entries.length === 0) {
|
|
534
|
+
write(`dz install: no SKILL.md files found in ${pkg}. Package may not contain agentskills.io skills.`);
|
|
535
|
+
return 0;
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
// Step 3: Use dz init with the package as skills source
|
|
539
|
+
const report = await runInit({
|
|
540
|
+
target: targetOpt,
|
|
541
|
+
skillsDir: pkgDir,
|
|
542
|
+
projectRoot,
|
|
543
|
+
force: flags.has('force'),
|
|
544
|
+
});
|
|
545
|
+
|
|
546
|
+
const totalWritten = report.skills.reduce((sum, s) => sum + s.written.length, 0);
|
|
547
|
+
const totalSkipped = report.skills.reduce((sum, s) => sum + s.skipped.length, 0);
|
|
548
|
+
|
|
549
|
+
write(`dz install ${pkg}: ${report.skills.length} skill(s), ${totalWritten} file(s) written, ${totalSkipped} skipped`);
|
|
550
|
+
for (const skill of report.skills) {
|
|
551
|
+
write(` ${skill.id}: ${skill.written.length} written, ${skill.skipped.length} skipped`);
|
|
552
|
+
}
|
|
553
|
+
return 0;
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
async function cmdSyncUpstream(options: Map<string, string>, cwd: string, write: Write): Promise<number> {
|
|
557
|
+
const packageDir = resolve(cwd, options.get('package') ?? '.');
|
|
558
|
+
const report = await checkUpstream(packageDir);
|
|
559
|
+
if (!report) {
|
|
560
|
+
write('dz sync-upstream: no sources.json found in ' + packageDir);
|
|
561
|
+
return 1;
|
|
562
|
+
}
|
|
563
|
+
write(`Upstream: ${report.origin.repo} (${report.origin.branch})`);
|
|
564
|
+
write(`Checked: ${report.checked} | Changed: ${report.changed} | Up-to-date: ${report.upToDate} | Errors: ${report.errors}\n`);
|
|
565
|
+
for (const skill of report.skills) {
|
|
566
|
+
const icon = skill.status === 'up-to-date' ? '✓' : skill.status === 'changed' ? '△' : '✗';
|
|
567
|
+
const detail = skill.status === 'changed'
|
|
568
|
+
? ` (local: ${skill.localLines} lines, upstream: ${skill.upstreamLines} lines)`
|
|
569
|
+
: skill.error ? ` (${skill.error})` : '';
|
|
570
|
+
write(` ${icon} ${skill.skillId.padEnd(25)} ${skill.status}${detail}`);
|
|
571
|
+
}
|
|
572
|
+
return report.errors > 0 ? 1 : 0;
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
function cmdStats(cwd: string, write: Write): number {
|
|
576
|
+
const baseDir = join(cwd, 'packages', '@dzhechkov');
|
|
577
|
+
if (!existsSync(baseDir)) {
|
|
578
|
+
write('dz stats: no packages/@dzhechkov found');
|
|
579
|
+
return 1;
|
|
580
|
+
}
|
|
581
|
+
const dirs = readdirSync(baseDir, { withFileTypes: true }).filter((e) => e.isDirectory());
|
|
582
|
+
const packages = dirs.length;
|
|
583
|
+
let totalSkills = 0;
|
|
584
|
+
let skillPacks = 0;
|
|
585
|
+
for (const dir of dirs) {
|
|
586
|
+
if (dir.name.startsWith('skills-')) {
|
|
587
|
+
skillPacks++;
|
|
588
|
+
const skillDir = join(baseDir, dir.name);
|
|
589
|
+
const skillDirs = readdirSync(skillDir, { withFileTypes: true })
|
|
590
|
+
.filter((e) => e.isDirectory() && existsSync(join(skillDir, e.name, 'SKILL.md')));
|
|
591
|
+
totalSkills += skillDirs.length;
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
const targets = TARGET_NAMES.length;
|
|
595
|
+
const presets = PRESET_NAMES.length;
|
|
596
|
+
write(`dz stats — DZ Harness Hub`);
|
|
597
|
+
write(` Packages: ${packages}`);
|
|
598
|
+
write(` Skill packs: ${skillPacks}`);
|
|
599
|
+
write(` Total skills: ${totalSkills}`);
|
|
600
|
+
write(` Targets: ${targets} (${TARGET_NAMES.join(', ')})`);
|
|
601
|
+
write(` Presets: ${presets} (${PRESET_NAMES.join(', ')})`);
|
|
602
|
+
return 0;
|
|
603
|
+
}
|
|
604
|
+
|
|
605
|
+
function cmdDashboard(cwd: string, write: Write): number {
|
|
606
|
+
const baseDir = join(cwd, 'packages', '@dzhechkov');
|
|
607
|
+
if (!existsSync(baseDir)) {
|
|
608
|
+
write('dz dashboard: no packages/@dzhechkov found');
|
|
609
|
+
return 1;
|
|
610
|
+
}
|
|
611
|
+
const dirs = readdirSync(baseDir, { withFileTypes: true }).filter((e) => e.isDirectory());
|
|
612
|
+
|
|
613
|
+
// Categorize packages
|
|
614
|
+
const adapters: string[] = [];
|
|
615
|
+
const skillPacks: { name: string; count: number }[] = [];
|
|
616
|
+
const core: string[] = [];
|
|
617
|
+
|
|
618
|
+
for (const dir of dirs) {
|
|
619
|
+
const name = dir.name;
|
|
620
|
+
if (name.startsWith('adapter-')) {
|
|
621
|
+
adapters.push(name.replace('adapter-', ''));
|
|
622
|
+
} else if (name.startsWith('skills-')) {
|
|
623
|
+
const skillDir = join(baseDir, name);
|
|
624
|
+
const count = readdirSync(skillDir, { withFileTypes: true })
|
|
625
|
+
.filter((e) => e.isDirectory() && existsSync(join(skillDir, e.name, 'SKILL.md'))).length;
|
|
626
|
+
skillPacks.push({ name, count });
|
|
627
|
+
} else {
|
|
628
|
+
core.push(name);
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
const totalSkills = skillPacks.reduce((sum, p) => sum + p.count, 0);
|
|
633
|
+
|
|
634
|
+
write('');
|
|
635
|
+
write('╔══════════════════════════════════════════════════════════════╗');
|
|
636
|
+
write('║ DZ HARNESS HUB — DASHBOARD ║');
|
|
637
|
+
write('╠══════════════════════════════════════════════════════════════╣');
|
|
638
|
+
write(`║ Packages: ${String(dirs.length).padStart(3)} Targets: ${String(TARGET_NAMES.length).padStart(2)} Presets: ${String(PRESET_NAMES.length).padStart(2)} Skills: ${String(totalSkills).padStart(3)} ║`);
|
|
639
|
+
write('╠══════════════════════════════════════════════════════════════╣');
|
|
640
|
+
|
|
641
|
+
write('║ TARGETS ║');
|
|
642
|
+
for (const t of TARGET_NAMES) {
|
|
643
|
+
write(`║ ${t.padEnd(56)}║`);
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
write('╠──────────────────────────────────────────────────────────────╣');
|
|
647
|
+
write('║ SKILL PACKS ║');
|
|
648
|
+
for (const sp of skillPacks) {
|
|
649
|
+
write(`║ ${sp.name.padEnd(35)} ${String(sp.count).padStart(3)} skills ║`);
|
|
650
|
+
}
|
|
651
|
+
|
|
652
|
+
write('╠──────────────────────────────────────────────────────────────╣');
|
|
653
|
+
write('║ PRESETS ║');
|
|
654
|
+
for (const p of PRESET_NAMES) {
|
|
655
|
+
write(`║ ${p.padEnd(56)}║`);
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
write('╠──────────────────────────────────────────────────────────────╣');
|
|
659
|
+
write('║ CORE ║');
|
|
660
|
+
for (const c of core) {
|
|
661
|
+
write(`║ ${c.padEnd(56)}║`);
|
|
662
|
+
}
|
|
663
|
+
write('╠──────────────────────────────────────────────────────────────╣');
|
|
664
|
+
write('║ ADAPTERS ║');
|
|
665
|
+
for (const a of adapters) {
|
|
666
|
+
write(`║ ${a.padEnd(56)}║`);
|
|
667
|
+
}
|
|
668
|
+
|
|
669
|
+
write('╚══════════════════════════════════════════════════════════════╝');
|
|
670
|
+
write('');
|
|
671
|
+
return 0;
|
|
672
|
+
}
|
|
673
|
+
|
|
488
674
|
/**
|
|
489
675
|
* Run the `dz` CLI. Returns a process exit code; never calls `process.exit`,
|
|
490
676
|
* so it is safe to call from tests. Output and working directory are injectable.
|
|
@@ -522,6 +708,14 @@ export async function runCli(argv: string[], io: CliIo = {}): Promise<number> {
|
|
|
522
708
|
return cmdMigrate(options, cwd, write);
|
|
523
709
|
case 'doctor':
|
|
524
710
|
return await cmdDoctor(options, cwd, write);
|
|
711
|
+
case 'install':
|
|
712
|
+
return await cmdInstall(options, flags, cwd, write);
|
|
713
|
+
case 'sync-upstream':
|
|
714
|
+
return await cmdSyncUpstream(options, cwd, write);
|
|
715
|
+
case 'stats':
|
|
716
|
+
return cmdStats(cwd, write);
|
|
717
|
+
case 'dashboard':
|
|
718
|
+
return cmdDashboard(cwd, write);
|
|
525
719
|
case 'roam':
|
|
526
720
|
return cmdRoam(options, flags, cwd, write);
|
|
527
721
|
default:
|