@vyuhlabs/dxkit 2.5.0 → 2.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +77 -0
- package/dist/analyzers/tools/graphify.d.ts.map +1 -1
- package/dist/analyzers/tools/graphify.js +9 -5
- package/dist/analyzers/tools/graphify.js.map +1 -1
- package/dist/analyzers/tools/tool-registry.d.ts +19 -1
- package/dist/analyzers/tools/tool-registry.d.ts.map +1 -1
- package/dist/analyzers/tools/tool-registry.js +25 -0
- package/dist/analyzers/tools/tool-registry.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +38 -1
- package/dist/cli.js.map +1 -1
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +18 -11
- package/dist/doctor.js.map +1 -1
- package/dist/generator.d.ts +1 -1
- package/dist/generator.d.ts.map +1 -1
- package/dist/generator.js +81 -135
- package/dist/generator.js.map +1 -1
- package/dist/hooks-cli.d.ts +20 -0
- package/dist/hooks-cli.d.ts.map +1 -0
- package/dist/hooks-cli.js +145 -0
- package/dist/hooks-cli.js.map +1 -0
- package/dist/languages/csharp.d.ts.map +1 -1
- package/dist/languages/csharp.js +4 -0
- package/dist/languages/csharp.js.map +1 -1
- package/dist/languages/go.d.ts.map +1 -1
- package/dist/languages/go.js +4 -0
- package/dist/languages/go.js.map +1 -1
- package/dist/languages/index.d.ts +18 -0
- package/dist/languages/index.d.ts.map +1 -1
- package/dist/languages/index.js +32 -0
- package/dist/languages/index.js.map +1 -1
- package/dist/languages/java.d.ts.map +1 -1
- package/dist/languages/java.js +4 -0
- package/dist/languages/java.js.map +1 -1
- package/dist/languages/kotlin.d.ts.map +1 -1
- package/dist/languages/kotlin.js +9 -0
- package/dist/languages/kotlin.js.map +1 -1
- package/dist/languages/python.d.ts.map +1 -1
- package/dist/languages/python.js +4 -0
- package/dist/languages/python.js.map +1 -1
- package/dist/languages/ruby.d.ts.map +1 -1
- package/dist/languages/ruby.js +4 -0
- package/dist/languages/ruby.js.map +1 -1
- package/dist/languages/rust.d.ts.map +1 -1
- package/dist/languages/rust.js +4 -0
- package/dist/languages/rust.js.map +1 -1
- package/dist/languages/types.d.ts +27 -0
- package/dist/languages/types.d.ts.map +1 -1
- package/dist/languages/typescript.d.ts.map +1 -1
- package/dist/languages/typescript.js +5 -0
- package/dist/languages/typescript.js.map +1 -1
- package/dist/ship-installers.d.ts +6 -0
- package/dist/ship-installers.d.ts.map +1 -1
- package/dist/ship-installers.js +120 -5
- package/dist/ship-installers.js.map +1 -1
- package/dist/tools-cli.d.ts.map +1 -1
- package/dist/tools-cli.js +45 -9
- package/dist/tools-cli.js.map +1 -1
- package/package.json +1 -1
- package/templates/.claude/skills/dxkit-action/SKILL.md +150 -0
- package/templates/.claude/skills/dxkit-config/SKILL.md +124 -0
- package/templates/.claude/skills/dxkit-hooks/SKILL.md +109 -0
- package/templates/.claude/skills/dxkit-init/SKILL.md +93 -0
- package/templates/.claude/skills/dxkit-learn/SKILL.md +84 -0
- package/templates/.claude/skills/dxkit-reports/SKILL.md +111 -0
- package/templates/.devcontainer/devcontainer.json +7 -33
- package/templates/.devcontainer/post-create.sh +18 -4
- package/templates/AGENTS.md.template +137 -0
- package/templates/CLAUDE.md.template +16 -111
- package/dist/codebase-scanner.d.ts +0 -36
- package/dist/codebase-scanner.d.ts.map +0 -1
- package/dist/codebase-scanner.js +0 -687
- package/dist/codebase-scanner.js.map +0 -1
- package/templates/.claude/agents/doc-writer.md +0 -107
- package/templates/.claude/agents/knowledge-bot.md +0 -64
- package/templates/.claude/agents/onboarding.md +0 -62
- package/templates/.claude/agents/quality-reviewer.md +0 -85
- package/templates/.claude/agents-available/code-reviewer.md +0 -29
- package/templates/.claude/agents-available/codebase-explorer.md +0 -100
- package/templates/.claude/agents-available/dashboard-builder.md +0 -433
- package/templates/.claude/agents-available/debugger.md +0 -29
- package/templates/.claude/agents-available/dependency-mapper.md +0 -80
- package/templates/.claude/agents-available/dev-report.md +0 -108
- package/templates/.claude/agents-available/doc-writer.md +0 -107
- package/templates/.claude/agents-available/feature-builder.md +0 -163
- package/templates/.claude/agents-available/feature-planner.md +0 -185
- package/templates/.claude/agents-available/health-auditor.md +0 -95
- package/templates/.claude/agents-available/hooks-configurator.md +0 -211
- package/templates/.claude/agents-available/knowledge-bot.md +0 -62
- package/templates/.claude/agents-available/plan-executor.md +0 -133
- package/templates/.claude/agents-available/strategic-planner.md +0 -141
- package/templates/.claude/agents-available/test-gap-finder.md +0 -67
- package/templates/.claude/agents-available/test-writer.md +0 -34
- package/templates/.claude/agents-available/vulnerability-scanner.md +0 -173
- package/templates/.claude/commands/ask.md +0 -7
- package/templates/.claude/commands/build-feature.md +0 -26
- package/templates/.claude/commands/build.md.template +0 -30
- package/templates/.claude/commands/check.md.template +0 -43
- package/templates/.claude/commands/dashboard.md +0 -28
- package/templates/.claude/commands/deps.md +0 -15
- package/templates/.claude/commands/dev-report.md +0 -50
- package/templates/.claude/commands/docs.md +0 -21
- package/templates/.claude/commands/doctor.md +0 -29
- package/templates/.claude/commands/enable-agent.md +0 -12
- package/templates/.claude/commands/execute-plan.md +0 -25
- package/templates/.claude/commands/explore-codebase.md +0 -12
- package/templates/.claude/commands/export-pdf.md +0 -30
- package/templates/.claude/commands/feature.md +0 -25
- package/templates/.claude/commands/fix-issue.md +0 -12
- package/templates/.claude/commands/fix.md.template +0 -32
- package/templates/.claude/commands/health.md +0 -58
- package/templates/.claude/commands/help.md +0 -36
- package/templates/.claude/commands/learn.md +0 -48
- package/templates/.claude/commands/onboarding.md +0 -21
- package/templates/.claude/commands/plan.md +0 -20
- package/templates/.claude/commands/quality.md.template +0 -65
- package/templates/.claude/commands/session-end.md +0 -40
- package/templates/.claude/commands/session-start.md +0 -30
- package/templates/.claude/commands/setup-hooks.md +0 -18
- package/templates/.claude/commands/stealth-mode.md +0 -17
- package/templates/.claude/commands/test-gaps.md +0 -49
- package/templates/.claude/commands/test.md.template +0 -40
- package/templates/.claude/commands/vulnerabilities.md +0 -49
- package/templates/.claude/skills/build/SKILL.md.template +0 -90
- package/templates/.claude/skills/deploy/SKILL.md.template +0 -111
- package/templates/.claude/skills/deploy/references/gotchas.md +0 -5
- package/templates/.claude/skills/doctor/SKILL.md +0 -31
- package/templates/.claude/skills/gcloud/SKILL.md +0 -66
- package/templates/.claude/skills/gcloud/references/gotchas.md +0 -5
- package/templates/.claude/skills/learned/SKILL.md +0 -55
- package/templates/.claude/skills/learned/references/conventions.md +0 -11
- package/templates/.claude/skills/learned/references/deny-recommendations.md +0 -18
- package/templates/.claude/skills/learned/references/gotchas.md +0 -11
- package/templates/.claude/skills/pulumi/SKILL.md +0 -73
- package/templates/.claude/skills/quality/SKILL.md.template +0 -89
- package/templates/.claude/skills/quality/references/gotchas.md +0 -5
- package/templates/.claude/skills/review/SKILL.md.template +0 -74
- package/templates/.claude/skills/scaffold/SKILL.md.template +0 -113
- package/templates/.claude/skills/secrets/SKILL.md +0 -51
- package/templates/.claude/skills/session/SKILL.md +0 -32
- package/templates/.claude/skills/test/SKILL.md.template +0 -116
- package/templates/.claude/skills/test/references/gotchas.md +0 -5
package/dist/ship-installers.js
CHANGED
|
@@ -40,6 +40,7 @@ exports.installCiGuardrails = installCiGuardrails;
|
|
|
40
40
|
exports.installCiBaselineRefresh = installCiBaselineRefresh;
|
|
41
41
|
exports.installPrReview = installPrReview;
|
|
42
42
|
exports.installIgnoreFiles = installIgnoreFiles;
|
|
43
|
+
exports.installHooksPostinstall = installHooksPostinstall;
|
|
43
44
|
/**
|
|
44
45
|
* Phase Ship installers — additive copy of dxkit's guardrail templates
|
|
45
46
|
* into a consumer repo. Wired into `vyuh-dxkit init` via the
|
|
@@ -56,6 +57,8 @@ const fs = __importStar(require("fs"));
|
|
|
56
57
|
const path = __importStar(require("path"));
|
|
57
58
|
const child_process_1 = require("child_process");
|
|
58
59
|
const files_1 = require("./files");
|
|
60
|
+
const detect_1 = require("./detect");
|
|
61
|
+
const languages_1 = require("./languages");
|
|
59
62
|
/**
|
|
60
63
|
* Detect the consumer repo's default branch so workflow templates
|
|
61
64
|
* that fire on pushes to "the main branch" point at the right name.
|
|
@@ -215,19 +218,50 @@ function installHooks(cwd, opts = {}) {
|
|
|
215
218
|
}
|
|
216
219
|
return result;
|
|
217
220
|
}
|
|
221
|
+
/**
|
|
222
|
+
* Render the per-stack features block as a properly-indented JSON
|
|
223
|
+
* fragment slotted into the template's `"features": __PLACEHOLDER__`
|
|
224
|
+
* line. The first line stays flush; continuation lines get the
|
|
225
|
+
* template's two-space outer indent so the resulting object reads
|
|
226
|
+
* naturally inside the surrounding JSONC.
|
|
227
|
+
*/
|
|
228
|
+
function renderFeaturesBlock(features) {
|
|
229
|
+
const raw = JSON.stringify(features, null, 2);
|
|
230
|
+
return raw
|
|
231
|
+
.split('\n')
|
|
232
|
+
.map((line, i) => (i === 0 ? line : ' ' + line))
|
|
233
|
+
.join('\n');
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Read the devcontainer.json template, substitute the
|
|
237
|
+
* `__DXKIT_DEVCONTAINER_FEATURES__` placeholder with the detected
|
|
238
|
+
* stack's features block, and return the rendered text. Pure-ish:
|
|
239
|
+
* one filesystem read, no writes.
|
|
240
|
+
*/
|
|
241
|
+
function renderDevcontainerJson(tmplDir, cwd) {
|
|
242
|
+
const srcAbs = path.join(tmplDir, 'devcontainer.json');
|
|
243
|
+
const template = fs.readFileSync(srcAbs, 'utf8');
|
|
244
|
+
const stack = (0, detect_1.detect)(cwd);
|
|
245
|
+
const features = (0, languages_1.buildDevcontainerFeatures)(stack.languages);
|
|
246
|
+
return template.replace('__DXKIT_DEVCONTAINER_FEATURES__', renderFeaturesBlock(features));
|
|
247
|
+
}
|
|
218
248
|
/**
|
|
219
249
|
* Devcontainer installer. Writes the dxkit lightweight devcontainer
|
|
220
250
|
* (devcontainer.json + post-create.sh + install-agent-clis.sh) into
|
|
221
251
|
* `.devcontainer/`. If the consumer already has a devcontainer.json,
|
|
222
252
|
* writes the entire dxkit set into `.devcontainer/.dxkit-reference/`
|
|
223
253
|
* for manual merge.
|
|
254
|
+
*
|
|
255
|
+
* devcontainer.json is rendered per-detected-stack: only active
|
|
256
|
+
* packs' features land in the output. Always-on entries (Node +
|
|
257
|
+
* GitHub CLI) ship regardless so the post-create script can run on
|
|
258
|
+
* a non-Node project.
|
|
224
259
|
*/
|
|
225
260
|
function installDevcontainer(cwd, opts = {}) {
|
|
226
261
|
const result = emptyResult();
|
|
227
262
|
const tmplDir = path.join(templatesDir(), '.devcontainer');
|
|
228
263
|
const destDir = path.join(cwd, '.devcontainer');
|
|
229
|
-
const
|
|
230
|
-
{ name: 'devcontainer.json', executable: false },
|
|
264
|
+
const filesToCopyVerbatim = [
|
|
231
265
|
{ name: 'post-create.sh', executable: true },
|
|
232
266
|
{ name: 'install-agent-clis.sh', executable: true },
|
|
233
267
|
];
|
|
@@ -235,9 +269,15 @@ function installDevcontainer(cwd, opts = {}) {
|
|
|
235
269
|
if (hasExistingDevcontainer && !opts.force) {
|
|
236
270
|
// Stash the whole dxkit set under a reference dir so the
|
|
237
271
|
// consumer can read it without it interfering with their own.
|
|
272
|
+
// The reference devcontainer.json is rendered with the
|
|
273
|
+
// per-stack features so the customer sees the same shape as
|
|
274
|
+
// a fresh install — they can lift the features block directly.
|
|
238
275
|
const refDir = path.join(destDir, '.dxkit-reference');
|
|
239
276
|
fs.mkdirSync(refDir, { recursive: true });
|
|
240
|
-
|
|
277
|
+
const renderedJson = renderDevcontainerJson(tmplDir, cwd);
|
|
278
|
+
fs.writeFileSync(path.join(refDir, 'devcontainer.json'), renderedJson, 'utf8');
|
|
279
|
+
result.sidecars.push(path.relative(cwd, path.join(refDir, 'devcontainer.json')));
|
|
280
|
+
for (const f of filesToCopyVerbatim) {
|
|
241
281
|
const srcAbs = path.join(tmplDir, f.name);
|
|
242
282
|
const destAbs = path.join(refDir, f.name);
|
|
243
283
|
fs.copyFileSync(srcAbs, destAbs);
|
|
@@ -253,7 +293,14 @@ function installDevcontainer(cwd, opts = {}) {
|
|
|
253
293
|
'`install-agent-clis.sh` into `.devcontainer/`.');
|
|
254
294
|
return result;
|
|
255
295
|
}
|
|
256
|
-
|
|
296
|
+
// devcontainer.json gets rendered (per-stack features substitution),
|
|
297
|
+
// the rest are flat copies.
|
|
298
|
+
fs.mkdirSync(destDir, { recursive: true });
|
|
299
|
+
const renderedJson = renderDevcontainerJson(tmplDir, cwd);
|
|
300
|
+
const destDevcontainerJson = path.join(destDir, 'devcontainer.json');
|
|
301
|
+
fs.writeFileSync(destDevcontainerJson, renderedJson, 'utf8');
|
|
302
|
+
result.installed.push(path.relative(cwd, destDevcontainerJson));
|
|
303
|
+
for (const f of filesToCopyVerbatim) {
|
|
257
304
|
copyAdditive(path.join(tmplDir, f.name), path.join(destDir, f.name), cwd, { force: true }, result, { executable: f.executable });
|
|
258
305
|
}
|
|
259
306
|
return result;
|
|
@@ -328,7 +375,12 @@ function installPrReview(cwd, opts = {}) {
|
|
|
328
375
|
return result;
|
|
329
376
|
}
|
|
330
377
|
const GITIGNORE_HEADER = '# dxkit — runtime outputs (analyzer reports + dashboard)';
|
|
331
|
-
const GITIGNORE_ENTRIES = [
|
|
378
|
+
const GITIGNORE_ENTRIES = [
|
|
379
|
+
'.dxkit/reports/',
|
|
380
|
+
'.dxkit/dashboard.html',
|
|
381
|
+
'.dxkit/cache/',
|
|
382
|
+
'graphify-out/',
|
|
383
|
+
];
|
|
332
384
|
/**
|
|
333
385
|
* Seed `.gitignore` with dxkit's runtime-output paths and write a
|
|
334
386
|
* starter `.dxkit-ignore` template explaining the optional dxkit-
|
|
@@ -387,6 +439,69 @@ function installIgnoreFiles(cwd, opts = {}) {
|
|
|
387
439
|
}
|
|
388
440
|
return result;
|
|
389
441
|
}
|
|
442
|
+
/**
|
|
443
|
+
* Wire `vyuh-dxkit hooks activate` into the consumer's `package.json`
|
|
444
|
+
* postinstall script so cloning + `npm install` auto-activates the
|
|
445
|
+
* dxkit hook directory. Closes the per-clone "run this one git config
|
|
446
|
+
* command" friction step that today's installHooks emits as a note.
|
|
447
|
+
*
|
|
448
|
+
* Conflict policy (mirrors the rest of the ship surface):
|
|
449
|
+
* - No package.json → skip cleanly (Python-only / Go-only / etc.
|
|
450
|
+
* repos use the existing manual-activation path).
|
|
451
|
+
* - scripts.postinstall absent → write ours.
|
|
452
|
+
* - scripts.postinstall already mentions `vyuh-dxkit hooks activate`
|
|
453
|
+
* → skip (idempotent re-runs).
|
|
454
|
+
* - scripts.postinstall is set to something else → leave it alone
|
|
455
|
+
* and emit a note asking the consumer to chain. Auto-chaining
|
|
456
|
+
* risks breaking their existing script's exit-code semantics.
|
|
457
|
+
*/
|
|
458
|
+
const POSTINSTALL_CMD = 'vyuh-dxkit hooks activate';
|
|
459
|
+
function installHooksPostinstall(cwd, _opts = {}) {
|
|
460
|
+
const result = emptyResult();
|
|
461
|
+
const pkgPath = path.join(cwd, 'package.json');
|
|
462
|
+
if (!fs.existsSync(pkgPath)) {
|
|
463
|
+
// Non-Node repos (Python-only, Go-only, .NET-only, etc.) — no
|
|
464
|
+
// postinstall surface to wire into. Fall back to the existing
|
|
465
|
+
// manual note emitted by `installHooks`.
|
|
466
|
+
return result;
|
|
467
|
+
}
|
|
468
|
+
let raw;
|
|
469
|
+
try {
|
|
470
|
+
raw = fs.readFileSync(pkgPath, 'utf-8');
|
|
471
|
+
}
|
|
472
|
+
catch {
|
|
473
|
+
return result;
|
|
474
|
+
}
|
|
475
|
+
let pkg;
|
|
476
|
+
try {
|
|
477
|
+
pkg = JSON.parse(raw);
|
|
478
|
+
}
|
|
479
|
+
catch {
|
|
480
|
+
// Malformed package.json — bail rather than risk corrupting it.
|
|
481
|
+
result.notes.push(`Skipped postinstall hooks-activation wire-up: ${path.relative(cwd, pkgPath)} is not valid JSON.`);
|
|
482
|
+
return result;
|
|
483
|
+
}
|
|
484
|
+
const existing = pkg.scripts?.postinstall;
|
|
485
|
+
if (existing && existing.includes(POSTINSTALL_CMD)) {
|
|
486
|
+
result.skipped.push('package.json (postinstall)');
|
|
487
|
+
return result;
|
|
488
|
+
}
|
|
489
|
+
if (existing && existing.trim().length > 0) {
|
|
490
|
+
// Don't auto-chain — too risky. Surface a clear note instead.
|
|
491
|
+
result.notes.push(`Existing package.json scripts.postinstall preserved. To auto-activate dxkit hooks on every clone, ` +
|
|
492
|
+
`chain by hand: \`"postinstall": "${existing} && ${POSTINSTALL_CMD}"\`.`);
|
|
493
|
+
return result;
|
|
494
|
+
}
|
|
495
|
+
pkg.scripts = { ...(pkg.scripts ?? {}), postinstall: POSTINSTALL_CMD };
|
|
496
|
+
// Preserve trailing newline if the original had one — many editors
|
|
497
|
+
// and linters expect it.
|
|
498
|
+
const trailingNewline = raw.endsWith('\n') ? '\n' : '';
|
|
499
|
+
fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + trailingNewline, 'utf-8');
|
|
500
|
+
result.installed.push('package.json (postinstall)');
|
|
501
|
+
result.notes.push('Wired `vyuh-dxkit hooks activate` into package.json postinstall — every clone + `npm install` ' +
|
|
502
|
+
'will activate `core.hooksPath = .githooks` automatically. (Manual one-time activation no longer needed.)');
|
|
503
|
+
return result;
|
|
504
|
+
}
|
|
390
505
|
const DXKIT_IGNORE_TEMPLATE = `# .dxkit-ignore — extra paths dxkit's analyzers should skip.
|
|
391
506
|
#
|
|
392
507
|
# Format: same as .gitignore (directory/, file-glob, multi-segment).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ship-installers.js","sourceRoot":"","sources":["../src/ship-installers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ship-installers.js","sourceRoot":"","sources":["../src/ship-installers.ts"],"names":[],"mappings":"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"}
|
package/dist/tools-cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools-cli.d.ts","sourceRoot":"","sources":["../src/tools-cli.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAWxC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,EACrC,OAAO,GAAE,mBAAwB,GAChC,MAAM,EAAE,CAQV;
|
|
1
|
+
{"version":3,"file":"tools-cli.d.ts","sourceRoot":"","sources":["../src/tools-cli.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAWxC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,EACrC,OAAO,GAAE,mBAAwB,GAChC,MAAM,EAAE,CAQV;AA8SD,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC,CAYf"}
|
package/dist/tools-cli.js
CHANGED
|
@@ -98,20 +98,26 @@ function sortByLayer(statuses) {
|
|
|
98
98
|
});
|
|
99
99
|
}
|
|
100
100
|
function formatStatusLine(s) {
|
|
101
|
-
const icon = s.available ? '\x1b[32m✓\x1b[0m' : '\x1b[31m✗\x1b[0m';
|
|
102
101
|
const name = s.name.padEnd(16);
|
|
103
102
|
const layer = LAYER_LABEL[s.requirement.layer] || s.requirement.layer;
|
|
104
103
|
const forStack = s.requirement.for.padEnd(7);
|
|
105
104
|
if (s.available) {
|
|
106
105
|
const src = s.source === 'path' ? '' : ` (${s.source})`;
|
|
107
|
-
return `
|
|
106
|
+
return ` \x1b[32m✓\x1b[0m ${name} ${layer} ${forStack} ${logger.bold('found')}${src}`;
|
|
107
|
+
}
|
|
108
|
+
// N/A tools (applicability gate fired): show a distinct icon + the
|
|
109
|
+
// reason so users see "not for this stack" rather than "missing".
|
|
110
|
+
// These intentionally do NOT count toward the missing tally.
|
|
111
|
+
if (s.source === 'n/a') {
|
|
112
|
+
const reason = s.notApplicableReason ? ` \x1b[2m(${s.notApplicableReason})\x1b[0m` : '';
|
|
113
|
+
return ` \x1b[2m−\x1b[0m ${name} ${layer} ${forStack} \x1b[2mn/a${reason ? '' : ' for this stack'}\x1b[0m${reason}`;
|
|
108
114
|
}
|
|
109
115
|
// Project-local tools (F-UX-3): annotate so users don't confuse a
|
|
110
116
|
// missing dev-dep with a missing system tool.
|
|
111
117
|
const scopeNote = s.requirement.installScope === 'project-local'
|
|
112
118
|
? ' \x1b[2m(project-local — `npm ci`)\x1b[0m'
|
|
113
119
|
: '';
|
|
114
|
-
return `
|
|
120
|
+
return ` \x1b[31m✗\x1b[0m ${name} ${layer} ${forStack} \x1b[2mmissing\x1b[0m${scopeNote}`;
|
|
115
121
|
}
|
|
116
122
|
/** Show tool status for the repo's detected stack. */
|
|
117
123
|
function showStatus(targetPath) {
|
|
@@ -134,14 +140,27 @@ function showStatus(targetPath) {
|
|
|
134
140
|
logger.dim(` path: ${s.path}`);
|
|
135
141
|
}
|
|
136
142
|
}
|
|
137
|
-
|
|
143
|
+
// Split the unavailable set: truly missing (actionable) vs n/a
|
|
144
|
+
// (informational — the applicability gate excluded the tool from
|
|
145
|
+
// this stack). Missing-count math must not include n/a entries or
|
|
146
|
+
// customers see false "1/14 missing" alarms on repos that
|
|
147
|
+
// legitimately don't use the tool.
|
|
148
|
+
const missing = statuses.filter((s) => !s.available && s.source !== 'n/a');
|
|
149
|
+
const notApplicable = statuses.filter((s) => s.source === 'n/a');
|
|
138
150
|
const total = statuses.length;
|
|
151
|
+
const applicable = total - notApplicable.length;
|
|
139
152
|
console.log('');
|
|
140
153
|
if (missing.length === 0) {
|
|
141
|
-
|
|
154
|
+
if (notApplicable.length === 0) {
|
|
155
|
+
logger.success(`All ${total} required tools available.`);
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
logger.success(`All ${applicable} applicable tools available (${notApplicable.length} n/a for this stack).`);
|
|
159
|
+
}
|
|
142
160
|
}
|
|
143
161
|
else {
|
|
144
|
-
|
|
162
|
+
const naSuffix = notApplicable.length > 0 ? `, ${notApplicable.length} n/a` : '';
|
|
163
|
+
logger.warn(`${missing.length}/${applicable} applicable tools missing${naSuffix}.`);
|
|
145
164
|
console.log('');
|
|
146
165
|
// F-UX-3: partition missing by install scope so the hint matches
|
|
147
166
|
// where each tool actually lives. Project-local tools (eslint,
|
|
@@ -212,13 +231,29 @@ async function runInstall(targetPath, autoYes, options = {}) {
|
|
|
212
231
|
statuses = showStatus(targetPath);
|
|
213
232
|
modeLabel = 'Install missing tools';
|
|
214
233
|
}
|
|
215
|
-
|
|
234
|
+
// Exclude n/a entries — applicability gate already determined the
|
|
235
|
+
// tool doesn't apply to this stack, so attempting an install would
|
|
236
|
+
// either no-op or pull in dead weight.
|
|
237
|
+
const missing = statuses.filter((s) => !s.available && s.source !== 'n/a');
|
|
238
|
+
const notApplicable = statuses.filter((s) => s.source === 'n/a');
|
|
239
|
+
// Targeted single-tool install hitting an n/a tool: surface the
|
|
240
|
+
// reason and exit cleanly rather than silently skipping. Users who
|
|
241
|
+
// explicitly typed the name deserve a direct answer.
|
|
242
|
+
if (options.toolName && notApplicable.length === 1 && missing.length === 0) {
|
|
243
|
+
const reason = notApplicable[0].notApplicableReason ?? 'not applicable to this stack';
|
|
244
|
+
logger.info(`${options.toolName} is not applicable here: ${reason}.`);
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
216
247
|
if (missing.length === 0) {
|
|
217
248
|
if (options.toolName) {
|
|
218
249
|
logger.success(`${options.toolName} is already installed.`);
|
|
219
250
|
}
|
|
220
251
|
else if (options.all) {
|
|
221
|
-
|
|
252
|
+
const naSuffix = notApplicable.length > 0 ? ` (${notApplicable.length} n/a for this stack — skipped)` : '';
|
|
253
|
+
logger.success(`All ${statuses.length - notApplicable.length} applicable tools already installed.${naSuffix}`);
|
|
254
|
+
}
|
|
255
|
+
else if (notApplicable.length > 0) {
|
|
256
|
+
logger.success(`All applicable tools available (${notApplicable.length} n/a for this stack — skipped).`);
|
|
222
257
|
}
|
|
223
258
|
return;
|
|
224
259
|
}
|
|
@@ -290,7 +325,8 @@ async function runInstall(targetPath, autoYes, options = {}) {
|
|
|
290
325
|
const installed = results.filter((r) => r.status === 'installed').length;
|
|
291
326
|
const skipped = results.filter((r) => r.status === 'skipped').length;
|
|
292
327
|
const failed = results.filter((r) => r.status === 'failed').length;
|
|
293
|
-
|
|
328
|
+
const naSuffix = notApplicable.length > 0 ? `, ${notApplicable.length} n/a` : '';
|
|
329
|
+
logger.info(`${installed} installed, ${skipped} skipped, ${failed} failed${naSuffix}`);
|
|
294
330
|
if (failed > 0) {
|
|
295
331
|
console.log('');
|
|
296
332
|
logger.dim('Failed installs:');
|
package/dist/tools-cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools-cli.js","sourceRoot":"","sources":["../src/tools-cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools-cli.js","sourceRoot":"","sources":["../src/tools-cli.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dxkit-action
|
|
3
|
+
description: Read a dxkit report and execute fixes — prioritize findings by severity, plan the fix sequence, run the fix, verify the score moved, re-baseline if appropriate. Use when the user says "fix these findings", "act on the health report", "close out these vulnerabilities", or after dxkit-reports has surfaced something concrete.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# dxkit-action
|
|
7
|
+
|
|
8
|
+
This skill takes a dxkit report and drives the fix loop with the user. Reach for it after `dxkit-reports` has surfaced concrete findings.
|
|
9
|
+
|
|
10
|
+
## The action loop
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
[1] Read the report → understand what's flagged
|
|
14
|
+
[2] Prioritize → severity + reachability + cost
|
|
15
|
+
[3] Plan → ordered list of edits
|
|
16
|
+
[4] Execute → fix one finding at a time
|
|
17
|
+
[5] Verify → re-run the analyzer, confirm score moved
|
|
18
|
+
[6] Decide on baseline → commit fix or accept-as-baseline
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Don't skip [5]. Re-running the analyzer is the only way to confirm the fix landed correctly.
|
|
22
|
+
|
|
23
|
+
## Priority order
|
|
24
|
+
|
|
25
|
+
Walk findings in this order (highest to lowest):
|
|
26
|
+
|
|
27
|
+
1. **CRITICAL** secrets (leaked credentials) — these are public-internet-facing. Stop everything and rotate.
|
|
28
|
+
2. **CRITICAL / HIGH** SAST findings in primary-architecture paths (controllers/handlers/services for backend; components/pages for frontend).
|
|
29
|
+
3. **CRITICAL / HIGH** dep-vulns with known exploits + a patched version available.
|
|
30
|
+
4. **HIGH** test-gap findings on primary-architecture files.
|
|
31
|
+
5. **MEDIUM** SAST / dep-vuln.
|
|
32
|
+
6. **LOW** anything (often defer to backlog).
|
|
33
|
+
|
|
34
|
+
Skip items where reachability is "no" (graphify can't find a call path) UNLESS the finding is a secret leak (those don't depend on reachability).
|
|
35
|
+
|
|
36
|
+
## Common fix recipes
|
|
37
|
+
|
|
38
|
+
### Secret in code
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
# 1. Rotate the credential immediately (in the issuing provider's UI)
|
|
42
|
+
# 2. Remove the secret from the file
|
|
43
|
+
# 3. If the secret was committed: `git filter-repo` or BFG to scrub history
|
|
44
|
+
# 4. Re-scan to confirm gitleaks no longer reports it
|
|
45
|
+
vyuh-dxkit vulnerabilities --json | jq '.summary.findings'
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Don't try to redact the secret in place — the git history still has it. Rotation is the only true fix.
|
|
49
|
+
|
|
50
|
+
### SAST finding (semgrep)
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# 1. Read the finding's rule + line range from the report
|
|
54
|
+
# 2. Open the file, understand why semgrep flagged it
|
|
55
|
+
# 3. Either FIX (preferred) or SUPPRESS (carefully)
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Suppression is `// nosemgrep: <rule-id>` on the offending line. Use sparingly — every suppression is a future maintenance burden. Better: fix the underlying issue.
|
|
59
|
+
|
|
60
|
+
### Dependency vulnerability
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# Find the patched version (osv-scanner / npm-audit / etc. report it)
|
|
64
|
+
npm install <pkg>@<patched-version>
|
|
65
|
+
# Re-run the scan
|
|
66
|
+
vyuh-dxkit vulnerabilities
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
For peer-dep conflicts: `npm install <pkg>@<patched-version> --legacy-peer-deps` (matches the post-create.sh fallback chain).
|
|
70
|
+
|
|
71
|
+
For Python: `pip install --upgrade <pkg>=<patched>` then re-pip-freeze. For Go: `go get <pkg>@<patched>` then `go mod tidy`. For Ruby: edit Gemfile, `bundle update <pkg>`. For Rust: `cargo update -p <pkg> --precise <patched>`.
|
|
72
|
+
|
|
73
|
+
### Test gap
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# 1. Read the source file the test-gap analyzer flagged
|
|
77
|
+
# 2. Write a test that exercises the file's primary contract
|
|
78
|
+
# 3. Run the test runner to confirm it passes
|
|
79
|
+
npm test # or pytest, go test, cargo test, etc.
|
|
80
|
+
# 4. Re-run test-gaps to confirm the file dropped off the list
|
|
81
|
+
vyuh-dxkit test-gaps
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Don't write tests that just import the module — write tests that exercise behavior. Useless tests inflate the count but don't move the dimension.
|
|
85
|
+
|
|
86
|
+
### Slop / code-pattern finding
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
# Read the slop check report at .dxkit/reports/
|
|
90
|
+
# Most slop hits are in committed AI-generated prose: README sections,
|
|
91
|
+
# CHANGELOG entries, doc comments. Rewrite by hand to remove the patterns.
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
If the finding is a false positive, add `// slop-ok: <reason>` on the offending line (or `# slop-ok` for non-JS).
|
|
95
|
+
|
|
96
|
+
## Verification — never skip
|
|
97
|
+
|
|
98
|
+
After each fix:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
# Re-run the SPECIFIC analyzer that flagged the finding
|
|
102
|
+
vyuh-dxkit vulnerabilities # or quality / test-gaps / health
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
The fix is verified when:
|
|
106
|
+
- The specific finding fingerprint disappears from the report.
|
|
107
|
+
- The dimension score moves in the right direction.
|
|
108
|
+
- (Optional) The dashboard's diff view confirms the count dropped.
|
|
109
|
+
|
|
110
|
+
If the finding's still there: the fix didn't work, try again.
|
|
111
|
+
|
|
112
|
+
## Baseline decisions
|
|
113
|
+
|
|
114
|
+
Once a finding is fixed AND verified gone, the workflow depends on what changed:
|
|
115
|
+
|
|
116
|
+
| Scenario | Action |
|
|
117
|
+
|---|---|
|
|
118
|
+
| Fix landed via a code change | Commit the code. Baseline is unchanged. Future scans confirm the fix held. |
|
|
119
|
+
| Fix landed via a config change (e.g., new entry in `.dxkit-ignore`) | Re-baseline: `vyuh-dxkit baseline create --force`. Commit both `.dxkit-ignore` and the new baseline. |
|
|
120
|
+
| Finding accepted as known + not blocking | Re-baseline with explicit reason in the commit message. Future scans treat it as pre-existing, not net-new. |
|
|
121
|
+
| Finding is genuinely a false positive | First try suppression on the offending line. If you can't suppress, re-baseline. |
|
|
122
|
+
|
|
123
|
+
**Never** re-baseline a finding silently — the commit message should explain why the regression is accepted. Future maintainers reading `git log .dxkit/baselines/` should see the rationale.
|
|
124
|
+
|
|
125
|
+
## Workflow guardrail
|
|
126
|
+
|
|
127
|
+
After fixing N findings, run the guardrail check before pushing:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
vyuh-dxkit guardrail check
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Exit 0 = your fixes didn't introduce any net-new regressions (you only removed/fixed things). Exit 1 = something new appeared; address that before pushing.
|
|
134
|
+
|
|
135
|
+
## When fixes get expensive
|
|
136
|
+
|
|
137
|
+
Sometimes the right call is: don't fix, accept as baseline.
|
|
138
|
+
|
|
139
|
+
Examples:
|
|
140
|
+
- Legacy code on a deprecation path (sunset > fix)
|
|
141
|
+
- A SAST finding in vendored code you don't maintain
|
|
142
|
+
- A test gap on a one-off script that doesn't merit tests
|
|
143
|
+
|
|
144
|
+
In those cases: accept-as-baseline with a commit message explaining the call. dxkit's baseline IS designed to support this — the brownfield contract is "today's mess is acknowledged; tomorrow's must be a real improvement." Use it.
|
|
145
|
+
|
|
146
|
+
## Hand-offs
|
|
147
|
+
|
|
148
|
+
- For ignore-file edits as part of a fix → `dxkit-config` skill
|
|
149
|
+
- For hook-related issues during a fix push → `dxkit-hooks` skill
|
|
150
|
+
- For re-running reports between fixes → `dxkit-reports` skill
|