@vyuhlabs/dxkit 2.5.0 → 2.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/CHANGELOG.md +231 -0
  2. package/README.md +48 -28
  3. package/dist/analyzers/tools/graphify.d.ts.map +1 -1
  4. package/dist/analyzers/tools/graphify.js +9 -5
  5. package/dist/analyzers/tools/graphify.js.map +1 -1
  6. package/dist/analyzers/tools/tool-registry.d.ts +19 -1
  7. package/dist/analyzers/tools/tool-registry.d.ts.map +1 -1
  8. package/dist/analyzers/tools/tool-registry.js +50 -8
  9. package/dist/analyzers/tools/tool-registry.js.map +1 -1
  10. package/dist/cli.d.ts.map +1 -1
  11. package/dist/cli.js +104 -11
  12. package/dist/cli.js.map +1 -1
  13. package/dist/constants.d.ts.map +1 -1
  14. package/dist/constants.js +0 -10
  15. package/dist/constants.js.map +1 -1
  16. package/dist/detect.d.ts.map +1 -1
  17. package/dist/detect.js +0 -15
  18. package/dist/detect.js.map +1 -1
  19. package/dist/doctor.d.ts +78 -1
  20. package/dist/doctor.d.ts.map +1 -1
  21. package/dist/doctor.js +509 -103
  22. package/dist/doctor.js.map +1 -1
  23. package/dist/generator.d.ts +1 -1
  24. package/dist/generator.d.ts.map +1 -1
  25. package/dist/generator.js +96 -135
  26. package/dist/generator.js.map +1 -1
  27. package/dist/hooks-cli.d.ts +20 -0
  28. package/dist/hooks-cli.d.ts.map +1 -0
  29. package/dist/hooks-cli.js +145 -0
  30. package/dist/hooks-cli.js.map +1 -0
  31. package/dist/languages/csharp.d.ts.map +1 -1
  32. package/dist/languages/csharp.js +5 -0
  33. package/dist/languages/csharp.js.map +1 -1
  34. package/dist/languages/go.d.ts.map +1 -1
  35. package/dist/languages/go.js +5 -0
  36. package/dist/languages/go.js.map +1 -1
  37. package/dist/languages/index.d.ts +43 -0
  38. package/dist/languages/index.d.ts.map +1 -1
  39. package/dist/languages/index.js +76 -0
  40. package/dist/languages/index.js.map +1 -1
  41. package/dist/languages/java.d.ts.map +1 -1
  42. package/dist/languages/java.js +5 -0
  43. package/dist/languages/java.js.map +1 -1
  44. package/dist/languages/kotlin.d.ts.map +1 -1
  45. package/dist/languages/kotlin.js +10 -0
  46. package/dist/languages/kotlin.js.map +1 -1
  47. package/dist/languages/python.d.ts.map +1 -1
  48. package/dist/languages/python.js +13 -0
  49. package/dist/languages/python.js.map +1 -1
  50. package/dist/languages/ruby.d.ts.map +1 -1
  51. package/dist/languages/ruby.js +5 -0
  52. package/dist/languages/ruby.js.map +1 -1
  53. package/dist/languages/rust.d.ts.map +1 -1
  54. package/dist/languages/rust.js +5 -0
  55. package/dist/languages/rust.js.map +1 -1
  56. package/dist/languages/types.d.ts +47 -0
  57. package/dist/languages/types.d.ts.map +1 -1
  58. package/dist/languages/typescript.d.ts.map +1 -1
  59. package/dist/languages/typescript.js +6 -0
  60. package/dist/languages/typescript.js.map +1 -1
  61. package/dist/prompts.d.ts.map +1 -1
  62. package/dist/prompts.js +0 -5
  63. package/dist/prompts.js.map +1 -1
  64. package/dist/setup-branch-protection.d.ts +34 -0
  65. package/dist/setup-branch-protection.d.ts.map +1 -0
  66. package/dist/setup-branch-protection.js +190 -0
  67. package/dist/setup-branch-protection.js.map +1 -0
  68. package/dist/setup-gh.d.ts +75 -0
  69. package/dist/setup-gh.d.ts.map +1 -0
  70. package/dist/setup-gh.js +213 -0
  71. package/dist/setup-gh.js.map +1 -0
  72. package/dist/setup-prebuild.d.ts +34 -0
  73. package/dist/setup-prebuild.d.ts.map +1 -0
  74. package/dist/setup-prebuild.js +181 -0
  75. package/dist/setup-prebuild.js.map +1 -0
  76. package/dist/ship-installers.d.ts +6 -0
  77. package/dist/ship-installers.d.ts.map +1 -1
  78. package/dist/ship-installers.js +135 -5
  79. package/dist/ship-installers.js.map +1 -1
  80. package/dist/tools-cli.d.ts.map +1 -1
  81. package/dist/tools-cli.js +45 -9
  82. package/dist/tools-cli.js.map +1 -1
  83. package/dist/types.d.ts +24 -6
  84. package/dist/types.d.ts.map +1 -1
  85. package/dist/update.d.ts +41 -0
  86. package/dist/update.d.ts.map +1 -1
  87. package/dist/update.js +154 -15
  88. package/dist/update.js.map +1 -1
  89. package/dist/upgrade.d.ts +88 -0
  90. package/dist/upgrade.d.ts.map +1 -0
  91. package/dist/upgrade.js +324 -0
  92. package/dist/upgrade.js.map +1 -0
  93. package/package.json +1 -1
  94. package/templates/.claude/skills/dxkit-action/SKILL.md +150 -0
  95. package/templates/.claude/skills/dxkit-config/SKILL.md +124 -0
  96. package/templates/.claude/skills/dxkit-fix/SKILL.md +165 -0
  97. package/templates/.claude/skills/dxkit-hooks/SKILL.md +109 -0
  98. package/templates/.claude/skills/dxkit-init/SKILL.md +93 -0
  99. package/templates/.claude/skills/dxkit-learn/SKILL.md +84 -0
  100. package/templates/.claude/skills/dxkit-onboard/SKILL.md +246 -0
  101. package/templates/.claude/skills/dxkit-reports/SKILL.md +111 -0
  102. package/templates/.claude/skills/dxkit-update/SKILL.md +164 -0
  103. package/templates/.devcontainer/devcontainer.json +13 -48
  104. package/templates/.devcontainer/post-create.sh +37 -8
  105. package/templates/AGENTS.md.template +137 -0
  106. package/templates/CLAUDE.md.template +16 -111
  107. package/dist/codebase-scanner.d.ts +0 -36
  108. package/dist/codebase-scanner.d.ts.map +0 -1
  109. package/dist/codebase-scanner.js +0 -687
  110. package/dist/codebase-scanner.js.map +0 -1
  111. package/templates/.claude/agents/doc-writer.md +0 -107
  112. package/templates/.claude/agents/knowledge-bot.md +0 -64
  113. package/templates/.claude/agents/onboarding.md +0 -62
  114. package/templates/.claude/agents/quality-reviewer.md +0 -85
  115. package/templates/.claude/agents-available/code-reviewer.md +0 -29
  116. package/templates/.claude/agents-available/codebase-explorer.md +0 -100
  117. package/templates/.claude/agents-available/dashboard-builder.md +0 -433
  118. package/templates/.claude/agents-available/debugger.md +0 -29
  119. package/templates/.claude/agents-available/dependency-mapper.md +0 -80
  120. package/templates/.claude/agents-available/dev-report.md +0 -108
  121. package/templates/.claude/agents-available/doc-writer.md +0 -107
  122. package/templates/.claude/agents-available/feature-builder.md +0 -163
  123. package/templates/.claude/agents-available/feature-planner.md +0 -185
  124. package/templates/.claude/agents-available/health-auditor.md +0 -95
  125. package/templates/.claude/agents-available/hooks-configurator.md +0 -211
  126. package/templates/.claude/agents-available/knowledge-bot.md +0 -62
  127. package/templates/.claude/agents-available/plan-executor.md +0 -133
  128. package/templates/.claude/agents-available/strategic-planner.md +0 -141
  129. package/templates/.claude/agents-available/test-gap-finder.md +0 -67
  130. package/templates/.claude/agents-available/test-writer.md +0 -34
  131. package/templates/.claude/agents-available/vulnerability-scanner.md +0 -173
  132. package/templates/.claude/commands/ask.md +0 -7
  133. package/templates/.claude/commands/build-feature.md +0 -26
  134. package/templates/.claude/commands/build.md.template +0 -30
  135. package/templates/.claude/commands/check.md.template +0 -43
  136. package/templates/.claude/commands/dashboard.md +0 -28
  137. package/templates/.claude/commands/deps.md +0 -15
  138. package/templates/.claude/commands/dev-report.md +0 -50
  139. package/templates/.claude/commands/docs.md +0 -21
  140. package/templates/.claude/commands/doctor.md +0 -29
  141. package/templates/.claude/commands/enable-agent.md +0 -12
  142. package/templates/.claude/commands/execute-plan.md +0 -25
  143. package/templates/.claude/commands/explore-codebase.md +0 -12
  144. package/templates/.claude/commands/export-pdf.md +0 -30
  145. package/templates/.claude/commands/feature.md +0 -25
  146. package/templates/.claude/commands/fix-issue.md +0 -12
  147. package/templates/.claude/commands/fix.md.template +0 -32
  148. package/templates/.claude/commands/health.md +0 -58
  149. package/templates/.claude/commands/help.md +0 -36
  150. package/templates/.claude/commands/learn.md +0 -48
  151. package/templates/.claude/commands/onboarding.md +0 -21
  152. package/templates/.claude/commands/plan.md +0 -20
  153. package/templates/.claude/commands/quality.md.template +0 -65
  154. package/templates/.claude/commands/session-end.md +0 -40
  155. package/templates/.claude/commands/session-start.md +0 -30
  156. package/templates/.claude/commands/setup-hooks.md +0 -18
  157. package/templates/.claude/commands/stealth-mode.md +0 -17
  158. package/templates/.claude/commands/test-gaps.md +0 -49
  159. package/templates/.claude/commands/test.md.template +0 -40
  160. package/templates/.claude/commands/vulnerabilities.md +0 -49
  161. package/templates/.claude/skills/build/SKILL.md.template +0 -90
  162. package/templates/.claude/skills/deploy/SKILL.md.template +0 -111
  163. package/templates/.claude/skills/deploy/references/gotchas.md +0 -5
  164. package/templates/.claude/skills/doctor/SKILL.md +0 -31
  165. package/templates/.claude/skills/gcloud/SKILL.md +0 -66
  166. package/templates/.claude/skills/gcloud/references/gotchas.md +0 -5
  167. package/templates/.claude/skills/learned/SKILL.md +0 -55
  168. package/templates/.claude/skills/learned/references/conventions.md +0 -11
  169. package/templates/.claude/skills/learned/references/deny-recommendations.md +0 -18
  170. package/templates/.claude/skills/learned/references/gotchas.md +0 -11
  171. package/templates/.claude/skills/pulumi/SKILL.md +0 -73
  172. package/templates/.claude/skills/quality/SKILL.md.template +0 -89
  173. package/templates/.claude/skills/quality/references/gotchas.md +0 -5
  174. package/templates/.claude/skills/review/SKILL.md.template +0 -74
  175. package/templates/.claude/skills/scaffold/SKILL.md.template +0 -113
  176. package/templates/.claude/skills/secrets/SKILL.md +0 -51
  177. package/templates/.claude/skills/session/SKILL.md +0 -32
  178. package/templates/.claude/skills/test/SKILL.md.template +0 -116
  179. package/templates/.claude/skills/test/references/gotchas.md +0 -5
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ /**
3
+ * `vyuh-dxkit setup-prebuild` — configures GitHub Codespaces prebuilds
4
+ * for the repo, so fresh Codespaces start from a prebuilt image
5
+ * instead of re-running the full devcontainer build.
6
+ *
7
+ * Math: dxkit's polyglot devcontainer takes ~7 min cold-start (post per-
8
+ * stack feature work in Sprint 1). Prebuilds drop this to ~30s by
9
+ * maintaining the built image in GitHub's image cache. Storage cost
10
+ * ~$3-5/month per region; for a 20-dev team averaging 5 fresh
11
+ * Codespaces/week, the wall-clock savings dwarf the cost by 2-3 orders
12
+ * of magnitude.
13
+ *
14
+ * Wraps `gh api -X POST repos/{owner}/{repo}/codespaces/prebuilds` with
15
+ * a JSON payload defining branch + region + retention. Edge cases:
16
+ * - gh CLI missing → preflight fails
17
+ * - No .devcontainer/ → fail with "run init --with-devcontainer first"
18
+ * - Org Codespaces disabled → HTTP 403 / 422 with org-admin guidance
19
+ * - Existing prebuild config for the same branch → skip with notice
20
+ * (idempotency; avoids accidental clobber of customer-chosen regions)
21
+ */
22
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ var desc = Object.getOwnPropertyDescriptor(m, k);
25
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
26
+ desc = { enumerable: true, get: function() { return m[k]; } };
27
+ }
28
+ Object.defineProperty(o, k2, desc);
29
+ }) : (function(o, m, k, k2) {
30
+ if (k2 === undefined) k2 = k;
31
+ o[k2] = m[k];
32
+ }));
33
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
34
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
35
+ }) : function(o, v) {
36
+ o["default"] = v;
37
+ });
38
+ var __importStar = (this && this.__importStar) || (function () {
39
+ var ownKeys = function(o) {
40
+ ownKeys = Object.getOwnPropertyNames || function (o) {
41
+ var ar = [];
42
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
43
+ return ar;
44
+ };
45
+ return ownKeys(o);
46
+ };
47
+ return function (mod) {
48
+ if (mod && mod.__esModule) return mod;
49
+ var result = {};
50
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
51
+ __setModuleDefault(result, mod);
52
+ return result;
53
+ };
54
+ })();
55
+ Object.defineProperty(exports, "__esModule", { value: true });
56
+ exports.runSetupPrebuild = runSetupPrebuild;
57
+ const fs = __importStar(require("fs"));
58
+ const path = __importStar(require("path"));
59
+ const logger = __importStar(require("./logger"));
60
+ const setup_gh_1 = require("./setup-gh");
61
+ function checkDevcontainer(cwd) {
62
+ return fs.existsSync(path.join(cwd, '.devcontainer', 'devcontainer.json'));
63
+ }
64
+ /**
65
+ * List existing prebuild configurations for the repo. Returns an empty
66
+ * array on 404 (Codespaces not enabled for the org) — caller decides
67
+ * whether to surface that as an error or continue.
68
+ */
69
+ function listExistingPrebuilds(cwd, owner, repo) {
70
+ const out = (0, setup_gh_1.ghApi)(`repos/${owner}/${repo}/codespaces/prebuilds`, {
71
+ cwd,
72
+ method: 'GET',
73
+ });
74
+ if (!out || !Array.isArray(out.prebuilds_configurations))
75
+ return [];
76
+ return out.prebuilds_configurations.map((p) => ({
77
+ id: p.id,
78
+ ref: p.ref,
79
+ region_count: p.region_count ?? 0,
80
+ }));
81
+ }
82
+ async function runSetupPrebuild(cwd, opts = {}) {
83
+ logger.header('vyuh-dxkit setup-prebuild');
84
+ if (!(0, setup_gh_1.preflightGhCli)('setup-prebuild')) {
85
+ process.exitCode = 1;
86
+ return;
87
+ }
88
+ // Devcontainer presence — prebuild without a devcontainer is useless
89
+ // (nothing to prebuild). Surface the fix path explicitly.
90
+ if (!checkDevcontainer(cwd)) {
91
+ logger.fail('No .devcontainer/devcontainer.json found. Prebuilds need a devcontainer to build.');
92
+ logger.dim(' → Run `vyuh-dxkit init --with-devcontainer --yes` first to scaffold one.');
93
+ process.exitCode = 1;
94
+ return;
95
+ }
96
+ let ownerRepo;
97
+ try {
98
+ ownerRepo = (0, setup_gh_1.resolveOwnerRepo)(cwd);
99
+ }
100
+ catch (e) {
101
+ if (e instanceof setup_gh_1.GhError) {
102
+ process.exitCode = (0, setup_gh_1.renderGhError)(e, 'Resolve repo');
103
+ return;
104
+ }
105
+ throw e;
106
+ }
107
+ const { owner, repo } = ownerRepo;
108
+ const branch = opts.branch ?? (0, setup_gh_1.resolveDefaultBranch)(cwd);
109
+ // Idempotency: skip if a prebuild already exists for this branch
110
+ // (unless --force). Avoids clobbering customer-chosen regions.
111
+ logger.info(`Checking existing prebuilds for ${owner}/${repo}#${branch}...`);
112
+ let existing;
113
+ try {
114
+ existing = listExistingPrebuilds(cwd, owner, repo);
115
+ }
116
+ catch (e) {
117
+ if (e instanceof setup_gh_1.GhError) {
118
+ // 404 here usually means org Codespaces disabled OR you don't
119
+ // have access to the prebuilds API on this repo.
120
+ if (e.httpStatus === 404) {
121
+ logger.fail('Codespaces prebuilds API returned 404 — either Codespaces is disabled for this org ' +
122
+ "or the repo doesn't support prebuilds.");
123
+ logger.dim(' → Ask your org admin to enable Codespaces, or configure manually in repo Settings → Codespaces.');
124
+ process.exitCode = 1;
125
+ return;
126
+ }
127
+ process.exitCode = (0, setup_gh_1.renderGhError)(e, 'List existing prebuilds');
128
+ return;
129
+ }
130
+ throw e;
131
+ }
132
+ const branchRef = `refs/heads/${branch}`;
133
+ const existingForBranch = existing.find((p) => p.ref === branchRef || p.ref === branch);
134
+ if (existingForBranch && !opts.force) {
135
+ logger.warn(`Prebuild config already exists for ${branch} (id=${existingForBranch.id}, ` +
136
+ `regions=${existingForBranch.region_count}). Skipping.`);
137
+ logger.dim(' → Pass --force to re-create, or edit in repo Settings → Codespaces.');
138
+ return;
139
+ }
140
+ // Payload — region selection is the trickiest part because GitHub's
141
+ // API expects region IDs rather than friendly names. When the
142
+ // customer doesn't specify, omit the region field and let GitHub
143
+ // pick a sensible default based on the org's Codespaces preferences.
144
+ const payload = {
145
+ ref: branchRef,
146
+ repository_id: undefined,
147
+ };
148
+ if (opts.regions) {
149
+ payload.regions = opts.regions.split(',').map((r) => r.trim());
150
+ }
151
+ // Retention is optional; let GitHub's default apply (typically keep
152
+ // the latest prebuild + retire older ones automatically).
153
+ logger.info(`Creating prebuild for ${branch}` + (opts.regions ? ` (regions: ${opts.regions})` : '') + '...');
154
+ try {
155
+ (0, setup_gh_1.ghApi)(`repos/${owner}/${repo}/codespaces/prebuilds`, {
156
+ cwd,
157
+ method: 'POST',
158
+ inputJson: JSON.stringify(payload),
159
+ });
160
+ }
161
+ catch (e) {
162
+ if (e instanceof setup_gh_1.GhError) {
163
+ // 402 / 422 typically indicate org-billing limits or invalid
164
+ // region IDs. Surface clearly.
165
+ if (e.httpStatus === 402) {
166
+ logger.fail('Codespaces billing limit reached for this org.');
167
+ logger.dim(' → Check repo / org spending limits in GitHub Settings.');
168
+ process.exitCode = 1;
169
+ return;
170
+ }
171
+ process.exitCode = (0, setup_gh_1.renderGhError)(e, 'Create prebuild');
172
+ return;
173
+ }
174
+ throw e;
175
+ }
176
+ console.log(''); // slop-ok
177
+ logger.success(`Prebuild configured for ${owner}/${repo}#${branch}.`);
178
+ logger.dim(' → First prebuild takes ~25 min (one-time); subsequent fresh Codespaces start in ~30s.');
179
+ logger.dim(` → Verify: https://github.com/${owner}/${repo}/settings/codespaces`);
180
+ }
181
+ //# sourceMappingURL=setup-prebuild.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-prebuild.js","sourceRoot":"","sources":["../src/setup-prebuild.ts"],"names":[],"mappings":"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"}
@@ -64,6 +64,11 @@ export declare function installHooks(cwd: string, opts?: InstallerOpts): ShipIns
64
64
  * `.devcontainer/`. If the consumer already has a devcontainer.json,
65
65
  * writes the entire dxkit set into `.devcontainer/.dxkit-reference/`
66
66
  * for manual merge.
67
+ *
68
+ * devcontainer.json is rendered per-detected-stack: only active
69
+ * packs' features land in the output. Always-on entries (Node +
70
+ * GitHub CLI) ship regardless so the post-create script can run on
71
+ * a non-Node project.
67
72
  */
68
73
  export declare function installDevcontainer(cwd: string, opts?: InstallerOpts): ShipInstallResult;
69
74
  export declare function installCiGuardrails(cwd: string, opts?: InstallerOpts): ShipInstallResult;
@@ -102,5 +107,6 @@ export declare function installPrReview(cwd: string, opts?: InstallerOpts): Ship
102
107
  * never overwritten.
103
108
  */
104
109
  export declare function installIgnoreFiles(cwd: string, opts?: InstallerOpts): ShipInstallResult;
110
+ export declare function installHooksPostinstall(cwd: string, _opts?: InstallerOpts): ShipInstallResult;
105
111
  export {};
106
112
  //# sourceMappingURL=ship-installers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ship-installers.d.ts","sourceRoot":"","sources":["../src/ship-installers.ts"],"names":[],"mappings":"AAiBA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAkCvD;AAED,MAAM,WAAW,iBAAiB;IAChC,6EAA6E;IAC7E,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,qFAAqF;IACrF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,sEAAsE;IACtE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,UAAU,aAAa;IACrB,uEAAuE;IACvE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AA+CD;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,iBAAiB,CA8DrF;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,iBAAiB,CA8C5F;AA0CD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,iBAAiB,CAE5F;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,iBAAiB,CAYjG;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,iBAAiB,CAUxF;AAKD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,iBAAiB,CAqC3F"}
1
+ {"version":3,"file":"ship-installers.d.ts","sourceRoot":"","sources":["../src/ship-installers.ts"],"names":[],"mappings":"AAmBA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAkCvD;AAED,MAAM,WAAW,iBAAiB;IAChC,6EAA6E;IAC7E,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,qFAAqF;IACrF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,sEAAsE;IACtE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,UAAU,aAAa;IACrB,uEAAuE;IACvE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AA+CD;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,iBAAiB,CA8DrF;AA+CD;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,iBAAiB,CA2D5F;AA0CD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,iBAAiB,CAE5F;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,iBAAiB,CAYjG;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,iBAAiB,CAUxF;AAUD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,iBAAiB,CAqC3F;AAoBD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,aAAkB,GAAG,iBAAiB,CAuDjG"}
@@ -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,65 @@ 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
+ * Render the extensions array as a JSON array, indented to line up
237
+ * naturally inside the surrounding JSONC. Mirrors renderFeaturesBlock's
238
+ * shape so the two substitutions produce visually consistent output.
239
+ */
240
+ function renderExtensionsBlock(extensions) {
241
+ const raw = JSON.stringify(extensions, null, 2);
242
+ return raw
243
+ .split('\n')
244
+ .map((line, i) => (i === 0 ? line : ' ' + line))
245
+ .join('\n');
246
+ }
247
+ /**
248
+ * Read the devcontainer.json template, substitute the
249
+ * `__DXKIT_DEVCONTAINER_FEATURES__` and `__DXKIT_DEVCONTAINER_EXTENSIONS__`
250
+ * placeholders with the detected stack's per-pack contributions, and
251
+ * return the rendered text. Pure-ish: one filesystem read, no writes.
252
+ */
253
+ function renderDevcontainerJson(tmplDir, cwd) {
254
+ const srcAbs = path.join(tmplDir, 'devcontainer.json');
255
+ const template = fs.readFileSync(srcAbs, 'utf8');
256
+ const stack = (0, detect_1.detect)(cwd);
257
+ const features = (0, languages_1.buildDevcontainerFeatures)(stack.languages);
258
+ const extensions = (0, languages_1.buildDevcontainerExtensions)(stack.languages);
259
+ return template
260
+ .replace('__DXKIT_DEVCONTAINER_FEATURES__', renderFeaturesBlock(features))
261
+ .replace('__DXKIT_DEVCONTAINER_EXTENSIONS__', renderExtensionsBlock(extensions));
262
+ }
218
263
  /**
219
264
  * Devcontainer installer. Writes the dxkit lightweight devcontainer
220
265
  * (devcontainer.json + post-create.sh + install-agent-clis.sh) into
221
266
  * `.devcontainer/`. If the consumer already has a devcontainer.json,
222
267
  * writes the entire dxkit set into `.devcontainer/.dxkit-reference/`
223
268
  * for manual merge.
269
+ *
270
+ * devcontainer.json is rendered per-detected-stack: only active
271
+ * packs' features land in the output. Always-on entries (Node +
272
+ * GitHub CLI) ship regardless so the post-create script can run on
273
+ * a non-Node project.
224
274
  */
225
275
  function installDevcontainer(cwd, opts = {}) {
226
276
  const result = emptyResult();
227
277
  const tmplDir = path.join(templatesDir(), '.devcontainer');
228
278
  const destDir = path.join(cwd, '.devcontainer');
229
- const filesToInstall = [
230
- { name: 'devcontainer.json', executable: false },
279
+ const filesToCopyVerbatim = [
231
280
  { name: 'post-create.sh', executable: true },
232
281
  { name: 'install-agent-clis.sh', executable: true },
233
282
  ];
@@ -235,9 +284,15 @@ function installDevcontainer(cwd, opts = {}) {
235
284
  if (hasExistingDevcontainer && !opts.force) {
236
285
  // Stash the whole dxkit set under a reference dir so the
237
286
  // consumer can read it without it interfering with their own.
287
+ // The reference devcontainer.json is rendered with the
288
+ // per-stack features so the customer sees the same shape as
289
+ // a fresh install — they can lift the features block directly.
238
290
  const refDir = path.join(destDir, '.dxkit-reference');
239
291
  fs.mkdirSync(refDir, { recursive: true });
240
- for (const f of filesToInstall) {
292
+ const renderedJson = renderDevcontainerJson(tmplDir, cwd);
293
+ fs.writeFileSync(path.join(refDir, 'devcontainer.json'), renderedJson, 'utf8');
294
+ result.sidecars.push(path.relative(cwd, path.join(refDir, 'devcontainer.json')));
295
+ for (const f of filesToCopyVerbatim) {
241
296
  const srcAbs = path.join(tmplDir, f.name);
242
297
  const destAbs = path.join(refDir, f.name);
243
298
  fs.copyFileSync(srcAbs, destAbs);
@@ -253,7 +308,14 @@ function installDevcontainer(cwd, opts = {}) {
253
308
  '`install-agent-clis.sh` into `.devcontainer/`.');
254
309
  return result;
255
310
  }
256
- for (const f of filesToInstall) {
311
+ // devcontainer.json gets rendered (per-stack features substitution),
312
+ // the rest are flat copies.
313
+ fs.mkdirSync(destDir, { recursive: true });
314
+ const renderedJson = renderDevcontainerJson(tmplDir, cwd);
315
+ const destDevcontainerJson = path.join(destDir, 'devcontainer.json');
316
+ fs.writeFileSync(destDevcontainerJson, renderedJson, 'utf8');
317
+ result.installed.push(path.relative(cwd, destDevcontainerJson));
318
+ for (const f of filesToCopyVerbatim) {
257
319
  copyAdditive(path.join(tmplDir, f.name), path.join(destDir, f.name), cwd, { force: true }, result, { executable: f.executable });
258
320
  }
259
321
  return result;
@@ -328,7 +390,12 @@ function installPrReview(cwd, opts = {}) {
328
390
  return result;
329
391
  }
330
392
  const GITIGNORE_HEADER = '# dxkit — runtime outputs (analyzer reports + dashboard)';
331
- const GITIGNORE_ENTRIES = ['.dxkit/reports/', '.dxkit/dashboard.html', '.dxkit/cache/'];
393
+ const GITIGNORE_ENTRIES = [
394
+ '.dxkit/reports/',
395
+ '.dxkit/dashboard.html',
396
+ '.dxkit/cache/',
397
+ 'graphify-out/',
398
+ ];
332
399
  /**
333
400
  * Seed `.gitignore` with dxkit's runtime-output paths and write a
334
401
  * starter `.dxkit-ignore` template explaining the optional dxkit-
@@ -387,6 +454,69 @@ function installIgnoreFiles(cwd, opts = {}) {
387
454
  }
388
455
  return result;
389
456
  }
457
+ /**
458
+ * Wire `vyuh-dxkit hooks activate` into the consumer's `package.json`
459
+ * postinstall script so cloning + `npm install` auto-activates the
460
+ * dxkit hook directory. Closes the per-clone "run this one git config
461
+ * command" friction step that today's installHooks emits as a note.
462
+ *
463
+ * Conflict policy (mirrors the rest of the ship surface):
464
+ * - No package.json → skip cleanly (Python-only / Go-only / etc.
465
+ * repos use the existing manual-activation path).
466
+ * - scripts.postinstall absent → write ours.
467
+ * - scripts.postinstall already mentions `vyuh-dxkit hooks activate`
468
+ * → skip (idempotent re-runs).
469
+ * - scripts.postinstall is set to something else → leave it alone
470
+ * and emit a note asking the consumer to chain. Auto-chaining
471
+ * risks breaking their existing script's exit-code semantics.
472
+ */
473
+ const POSTINSTALL_CMD = 'vyuh-dxkit hooks activate';
474
+ function installHooksPostinstall(cwd, _opts = {}) {
475
+ const result = emptyResult();
476
+ const pkgPath = path.join(cwd, 'package.json');
477
+ if (!fs.existsSync(pkgPath)) {
478
+ // Non-Node repos (Python-only, Go-only, .NET-only, etc.) — no
479
+ // postinstall surface to wire into. Fall back to the existing
480
+ // manual note emitted by `installHooks`.
481
+ return result;
482
+ }
483
+ let raw;
484
+ try {
485
+ raw = fs.readFileSync(pkgPath, 'utf-8');
486
+ }
487
+ catch {
488
+ return result;
489
+ }
490
+ let pkg;
491
+ try {
492
+ pkg = JSON.parse(raw);
493
+ }
494
+ catch {
495
+ // Malformed package.json — bail rather than risk corrupting it.
496
+ result.notes.push(`Skipped postinstall hooks-activation wire-up: ${path.relative(cwd, pkgPath)} is not valid JSON.`);
497
+ return result;
498
+ }
499
+ const existing = pkg.scripts?.postinstall;
500
+ if (existing && existing.includes(POSTINSTALL_CMD)) {
501
+ result.skipped.push('package.json (postinstall)');
502
+ return result;
503
+ }
504
+ if (existing && existing.trim().length > 0) {
505
+ // Don't auto-chain — too risky. Surface a clear note instead.
506
+ result.notes.push(`Existing package.json scripts.postinstall preserved. To auto-activate dxkit hooks on every clone, ` +
507
+ `chain by hand: \`"postinstall": "${existing} && ${POSTINSTALL_CMD}"\`.`);
508
+ return result;
509
+ }
510
+ pkg.scripts = { ...(pkg.scripts ?? {}), postinstall: POSTINSTALL_CMD };
511
+ // Preserve trailing newline if the original had one — many editors
512
+ // and linters expect it.
513
+ const trailingNewline = raw.endsWith('\n') ? '\n' : '';
514
+ fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + trailingNewline, 'utf-8');
515
+ result.installed.push('package.json (postinstall)');
516
+ result.notes.push('Wired `vyuh-dxkit hooks activate` into package.json postinstall — every clone + `npm install` ' +
517
+ 'will activate `core.hooksPath = .githooks` automatically. (Manual one-time activation no longer needed.)');
518
+ return result;
519
+ }
390
520
  const DXKIT_IGNORE_TEMPLATE = `# .dxkit-ignore — extra paths dxkit's analyzers should skip.
391
521
  #
392
522
  # 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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"}
@@ -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;AAoQD,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"}
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 ` ${icon} ${name} ${layer} ${forStack} ${logger.bold('found')}${src}`;
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 ` ${icon} ${name} ${layer} ${forStack} \x1b[2mmissing\x1b[0m${scopeNote}`;
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
- const missing = statuses.filter((s) => !s.available);
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
- logger.success(`All ${total} required tools available.`);
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
- logger.warn(`${missing.length}/${total} tools missing.`);
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
- const missing = statuses.filter((s) => !s.available);
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
- logger.success(`All ${statuses.length} known tools already installed.`);
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
- logger.info(`${installed} installed, ${skipped} skipped, ${failed} failed`);
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:');
@@ -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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"}