@vyuhlabs/dxkit 2.6.0 → 2.7.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.
Files changed (221) hide show
  1. package/CHANGELOG.md +103 -13
  2. package/README.md +208 -459
  3. package/dist/analyzers/bom/discovery.d.ts +3 -4
  4. package/dist/analyzers/bom/discovery.d.ts.map +1 -1
  5. package/dist/analyzers/bom/discovery.js +3 -4
  6. package/dist/analyzers/bom/discovery.js.map +1 -1
  7. package/dist/analyzers/bom/types.d.ts +1 -1
  8. package/dist/analyzers/dashboard/index.d.ts.map +1 -1
  9. package/dist/analyzers/dashboard/index.js +42 -5
  10. package/dist/analyzers/dashboard/index.js.map +1 -1
  11. package/dist/analyzers/developer/gather.d.ts.map +1 -1
  12. package/dist/analyzers/developer/gather.js +9 -9
  13. package/dist/analyzers/developer/gather.js.map +1 -1
  14. package/dist/analyzers/quality/detailed.d.ts +8 -1
  15. package/dist/analyzers/quality/detailed.d.ts.map +1 -1
  16. package/dist/analyzers/quality/detailed.js +43 -10
  17. package/dist/analyzers/quality/detailed.js.map +1 -1
  18. package/dist/analyzers/quality/gather.js +3 -3
  19. package/dist/analyzers/quality/gather.js.map +1 -1
  20. package/dist/analyzers/security/detailed.d.ts +8 -1
  21. package/dist/analyzers/security/detailed.d.ts.map +1 -1
  22. package/dist/analyzers/security/detailed.js +14 -1
  23. package/dist/analyzers/security/detailed.js.map +1 -1
  24. package/dist/analyzers/security/gather.d.ts.map +1 -1
  25. package/dist/analyzers/security/gather.js +12 -3
  26. package/dist/analyzers/security/gather.js.map +1 -1
  27. package/dist/analyzers/tests/detailed.d.ts +8 -1
  28. package/dist/analyzers/tests/detailed.d.ts.map +1 -1
  29. package/dist/analyzers/tests/detailed.js +26 -7
  30. package/dist/analyzers/tests/detailed.js.map +1 -1
  31. package/dist/analyzers/tools/cloc.js +5 -5
  32. package/dist/analyzers/tools/cloc.js.map +1 -1
  33. package/dist/analyzers/tools/exclusions.d.ts +12 -12
  34. package/dist/analyzers/tools/exclusions.d.ts.map +1 -1
  35. package/dist/analyzers/tools/exclusions.js +27 -13
  36. package/dist/analyzers/tools/exclusions.js.map +1 -1
  37. package/dist/analyzers/tools/generic.d.ts.map +1 -1
  38. package/dist/analyzers/tools/generic.js +52 -14
  39. package/dist/analyzers/tools/generic.js.map +1 -1
  40. package/dist/analyzers/tools/gitleaks.d.ts.map +1 -1
  41. package/dist/analyzers/tools/gitleaks.js +28 -3
  42. package/dist/analyzers/tools/gitleaks.js.map +1 -1
  43. package/dist/analyzers/tools/graphify.d.ts +39 -5
  44. package/dist/analyzers/tools/graphify.d.ts.map +1 -1
  45. package/dist/analyzers/tools/graphify.js +609 -45
  46. package/dist/analyzers/tools/graphify.js.map +1 -1
  47. package/dist/analyzers/tools/grep-secrets.d.ts.map +1 -1
  48. package/dist/analyzers/tools/grep-secrets.js +1 -1
  49. package/dist/analyzers/tools/grep-secrets.js.map +1 -1
  50. package/dist/analyzers/tools/jscpd.d.ts.map +1 -1
  51. package/dist/analyzers/tools/jscpd.js +2 -1
  52. package/dist/analyzers/tools/jscpd.js.map +1 -1
  53. package/dist/analyzers/tools/nuget-package-reference.d.ts +4 -4
  54. package/dist/analyzers/tools/nuget-package-reference.js +4 -4
  55. package/dist/analyzers/tools/osv-scanner-deps.d.ts.map +1 -1
  56. package/dist/analyzers/tools/osv-scanner-deps.js +1 -1
  57. package/dist/analyzers/tools/osv-scanner-deps.js.map +1 -1
  58. package/dist/analyzers/tools/osv-scanner-fix.d.ts +4 -5
  59. package/dist/analyzers/tools/osv-scanner-fix.d.ts.map +1 -1
  60. package/dist/analyzers/tools/osv-scanner-fix.js +4 -5
  61. package/dist/analyzers/tools/osv-scanner-fix.js.map +1 -1
  62. package/dist/analyzers/tools/parallel.d.ts.map +1 -1
  63. package/dist/analyzers/tools/parallel.js +7 -0
  64. package/dist/analyzers/tools/parallel.js.map +1 -1
  65. package/dist/analyzers/tools/runner.d.ts +35 -2
  66. package/dist/analyzers/tools/runner.d.ts.map +1 -1
  67. package/dist/analyzers/tools/runner.js +112 -3
  68. package/dist/analyzers/tools/runner.js.map +1 -1
  69. package/dist/analyzers/tools/semgrep.d.ts.map +1 -1
  70. package/dist/analyzers/tools/semgrep.js +3 -1
  71. package/dist/analyzers/tools/semgrep.js.map +1 -1
  72. package/dist/analyzers/tools/tool-registry.d.ts +18 -0
  73. package/dist/analyzers/tools/tool-registry.d.ts.map +1 -1
  74. package/dist/analyzers/tools/tool-registry.js +140 -53
  75. package/dist/analyzers/tools/tool-registry.js.map +1 -1
  76. package/dist/analyzers/tools/tools-config.d.ts +46 -0
  77. package/dist/analyzers/tools/tools-config.d.ts.map +1 -0
  78. package/dist/analyzers/tools/tools-config.js +129 -0
  79. package/dist/analyzers/tools/tools-config.js.map +1 -0
  80. package/dist/analyzers/tools/vendored-advisor.d.ts.map +1 -1
  81. package/dist/analyzers/tools/vendored-advisor.js +3 -4
  82. package/dist/analyzers/tools/vendored-advisor.js.map +1 -1
  83. package/dist/analyzers/tools/walk-source-files.d.ts +8 -0
  84. package/dist/analyzers/tools/walk-source-files.d.ts.map +1 -1
  85. package/dist/analyzers/tools/walk-source-files.js +49 -4
  86. package/dist/analyzers/tools/walk-source-files.js.map +1 -1
  87. package/dist/analyzers/xlsx/licenses.d.ts +7 -7
  88. package/dist/analyzers/xlsx/licenses.js +7 -7
  89. package/dist/baseline/baseline-file.d.ts +8 -0
  90. package/dist/baseline/baseline-file.d.ts.map +1 -1
  91. package/dist/baseline/baseline-file.js.map +1 -1
  92. package/dist/baseline/check-renderers.d.ts.map +1 -1
  93. package/dist/baseline/check-renderers.js +10 -0
  94. package/dist/baseline/check-renderers.js.map +1 -1
  95. package/dist/baseline/check.d.ts +7 -0
  96. package/dist/baseline/check.d.ts.map +1 -1
  97. package/dist/baseline/check.js +2 -0
  98. package/dist/baseline/check.js.map +1 -1
  99. package/dist/baseline/coverage.d.ts +57 -0
  100. package/dist/baseline/coverage.d.ts.map +1 -0
  101. package/dist/baseline/coverage.js +62 -0
  102. package/dist/baseline/coverage.js.map +1 -0
  103. package/dist/baseline/create.d.ts +13 -0
  104. package/dist/baseline/create.d.ts.map +1 -1
  105. package/dist/baseline/create.js +21 -0
  106. package/dist/baseline/create.js.map +1 -1
  107. package/dist/cli.d.ts.map +1 -1
  108. package/dist/cli.js +123 -4
  109. package/dist/cli.js.map +1 -1
  110. package/dist/dashboard/graph-adapter.d.ts +151 -0
  111. package/dist/dashboard/graph-adapter.d.ts.map +1 -0
  112. package/dist/dashboard/graph-adapter.js +415 -0
  113. package/dist/dashboard/graph-adapter.js.map +1 -0
  114. package/dist/dashboard/graph-tab.d.ts +109 -0
  115. package/dist/dashboard/graph-tab.d.ts.map +1 -0
  116. package/dist/dashboard/graph-tab.js +297 -0
  117. package/dist/dashboard/graph-tab.js.map +1 -0
  118. package/dist/dashboard/vendor/vis-network.min.js +34 -0
  119. package/dist/doctor.d.ts.map +1 -1
  120. package/dist/doctor.js +6 -7
  121. package/dist/doctor.js.map +1 -1
  122. package/dist/explore/cli/api-surface.d.ts +12 -0
  123. package/dist/explore/cli/api-surface.d.ts.map +1 -0
  124. package/dist/explore/cli/api-surface.js +57 -0
  125. package/dist/explore/cli/api-surface.js.map +1 -0
  126. package/dist/explore/cli/communities.d.ts +10 -0
  127. package/dist/explore/cli/communities.d.ts.map +1 -0
  128. package/dist/explore/cli/communities.js +47 -0
  129. package/dist/explore/cli/communities.js.map +1 -0
  130. package/dist/explore/cli/context.d.ts +16 -0
  131. package/dist/explore/cli/context.d.ts.map +1 -0
  132. package/dist/explore/cli/context.js +118 -0
  133. package/dist/explore/cli/context.js.map +1 -0
  134. package/dist/explore/cli/entry-points.d.ts +12 -0
  135. package/dist/explore/cli/entry-points.d.ts.map +1 -0
  136. package/dist/explore/cli/entry-points.js +85 -0
  137. package/dist/explore/cli/entry-points.js.map +1 -0
  138. package/dist/explore/cli/feature.d.ts +16 -0
  139. package/dist/explore/cli/feature.d.ts.map +1 -0
  140. package/dist/explore/cli/feature.js +89 -0
  141. package/dist/explore/cli/feature.js.map +1 -0
  142. package/dist/explore/cli/file.d.ts +12 -0
  143. package/dist/explore/cli/file.d.ts.map +1 -0
  144. package/dist/explore/cli/file.js +139 -0
  145. package/dist/explore/cli/file.js.map +1 -0
  146. package/dist/explore/cli/hot-files.d.ts +11 -0
  147. package/dist/explore/cli/hot-files.d.ts.map +1 -0
  148. package/dist/explore/cli/hot-files.js +63 -0
  149. package/dist/explore/cli/hot-files.js.map +1 -0
  150. package/dist/explore/context-hook.d.ts +42 -0
  151. package/dist/explore/context-hook.d.ts.map +1 -0
  152. package/dist/explore/context-hook.js +131 -0
  153. package/dist/explore/context-hook.js.map +1 -0
  154. package/dist/explore/finding-context.d.ts +69 -0
  155. package/dist/explore/finding-context.d.ts.map +1 -0
  156. package/dist/explore/finding-context.js +102 -0
  157. package/dist/explore/finding-context.js.map +1 -0
  158. package/dist/explore/format.d.ts +64 -0
  159. package/dist/explore/format.d.ts.map +1 -0
  160. package/dist/explore/format.js +99 -0
  161. package/dist/explore/format.js.map +1 -0
  162. package/dist/explore/load.d.ts +50 -0
  163. package/dist/explore/load.d.ts.map +1 -0
  164. package/dist/explore/load.js +197 -0
  165. package/dist/explore/load.js.map +1 -0
  166. package/dist/explore/queries.d.ts +413 -0
  167. package/dist/explore/queries.d.ts.map +1 -0
  168. package/dist/explore/queries.js +855 -0
  169. package/dist/explore/queries.js.map +1 -0
  170. package/dist/explore/types.d.ts +130 -0
  171. package/dist/explore/types.d.ts.map +1 -0
  172. package/dist/explore/types.js +28 -0
  173. package/dist/explore/types.js.map +1 -0
  174. package/dist/explore-cli.d.ts +45 -0
  175. package/dist/explore-cli.d.ts.map +1 -0
  176. package/dist/explore-cli.js +213 -0
  177. package/dist/explore-cli.js.map +1 -0
  178. package/dist/generator.d.ts.map +1 -1
  179. package/dist/generator.js +19 -0
  180. package/dist/generator.js.map +1 -1
  181. package/dist/languages/csharp.d.ts.map +1 -1
  182. package/dist/languages/csharp.js +58 -26
  183. package/dist/languages/csharp.js.map +1 -1
  184. package/dist/languages/go.d.ts.map +1 -1
  185. package/dist/languages/go.js +17 -14
  186. package/dist/languages/go.js.map +1 -1
  187. package/dist/languages/index.d.ts +27 -0
  188. package/dist/languages/index.d.ts.map +1 -1
  189. package/dist/languages/index.js +35 -0
  190. package/dist/languages/index.js.map +1 -1
  191. package/dist/languages/java.d.ts.map +1 -1
  192. package/dist/languages/java.js +13 -10
  193. package/dist/languages/java.js.map +1 -1
  194. package/dist/languages/kotlin.d.ts.map +1 -1
  195. package/dist/languages/kotlin.js +13 -10
  196. package/dist/languages/kotlin.js.map +1 -1
  197. package/dist/languages/python.d.ts.map +1 -1
  198. package/dist/languages/python.js +31 -20
  199. package/dist/languages/python.js.map +1 -1
  200. package/dist/languages/ruby.d.ts.map +1 -1
  201. package/dist/languages/ruby.js +30 -16
  202. package/dist/languages/ruby.js.map +1 -1
  203. package/dist/languages/rust.d.ts.map +1 -1
  204. package/dist/languages/rust.js +16 -13
  205. package/dist/languages/rust.js.map +1 -1
  206. package/dist/languages/types.d.ts +54 -0
  207. package/dist/languages/types.d.ts.map +1 -1
  208. package/dist/languages/typescript.d.ts.map +1 -1
  209. package/dist/languages/typescript.js +22 -19
  210. package/dist/languages/typescript.js.map +1 -1
  211. package/dist/tools-cli.d.ts.map +1 -1
  212. package/dist/tools-cli.js +10 -4
  213. package/dist/tools-cli.js.map +1 -1
  214. package/dist/upgrade.js +2 -2
  215. package/dist/upgrade.js.map +1 -1
  216. package/package.json +2 -1
  217. package/templates/.claude/skills/dxkit-action/SKILL.md +21 -1
  218. package/templates/.claude/skills/dxkit-config/SKILL.md +26 -0
  219. package/templates/.claude/skills/dxkit-fix/SKILL.md +10 -0
  220. package/templates/.claude/skills/dxkit-reports/SKILL.md +3 -1
  221. package/templates/AGENTS.md.template +8 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../../src/analyzers/tools/tool-registry.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE7D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,QAA2D,CAAC;AA2BnF,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,eAAe,EAAE;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;OAUG;IACH,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,GAAG,SAAS,GAAG,KAAK,CAAC;IAC1F,WAAW,EAAE,cAAc,CAAC;IAC5B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AA2KD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,CAuHtE;AAkBD,wDAAwD;AACxD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAO7D;AAMD,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CA2fpD,CAAC;AAMF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,eAAe,EAAE,CA8B3F;AAED,sDAAsD;AACtD,wBAAgB,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,EAAE,CAgB/F"}
1
+ {"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../../src/analyzers/tools/tool-registry.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE7D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,QAA2D,CAAC;AA2BnF,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,eAAe,EAAE;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;OAUG;IACH,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,GAAG,SAAS,GAAG,KAAK,CAAC;IAC1F,WAAW,EAAE,cAAc,CAAC;IAC5B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAgOD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,CA0HtE;AAkBD,wDAAwD;AACxD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAO7D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASjE;AAMD,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CA2fpD,CAAC;AAMF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,eAAe,EAAE,CA8B3F;AAED,sDAAsD;AACtD,wBAAgB,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,EAAE,CAgB/F"}
@@ -36,6 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.TOOL_DEFS = exports.TOOLS_VENV = void 0;
37
37
  exports.findTool = findTool;
38
38
  exports.getInstallCommand = getInstallCommand;
39
+ exports.getInstallEnv = getInstallEnv;
39
40
  exports.buildRequiredTools = buildRequiredTools;
40
41
  exports.checkAllTools = checkAllTools;
41
42
  /**
@@ -58,6 +59,8 @@ const fs = __importStar(require("fs"));
58
59
  const os = __importStar(require("os"));
59
60
  const path = __importStar(require("path"));
60
61
  const languages_1 = require("../../languages");
62
+ const runner_1 = require("./runner");
63
+ const tools_config_1 = require("./tools-config");
61
64
  /**
62
65
  * Shared Python venv location for graphify specifically. Graphify is a
63
66
  * Python *library* that our graphify.ts subprocess imports directly,
@@ -93,7 +96,7 @@ const LEGACY_TOOLS_VENV = '/tmp/graphify-venv';
93
96
  * which is already in `getSystemPaths()` probes so `findTool()` picks it
94
97
  * up on the next run.
95
98
  */
96
- const PIPX_BOOTSTRAP = 'command -v pipx >/dev/null 2>&1 || { python3 -m pip install --user pipx 2>/dev/null || python3 -m pip install --user --break-system-packages pipx; } && export PATH="$HOME/.local/bin:$PATH"';
99
+ const PIPX_BOOTSTRAP = 'command -v pipx >/dev/null 2>&1 || { python3 -m pip install --user pipx || python3 -m pip install --user --break-system-packages pipx; } && export PATH="$HOME/.local/bin:$PATH"';
97
100
  /**
98
101
  * Platform-specific system paths to probe.
99
102
  */
@@ -114,6 +117,28 @@ function getSystemPaths() {
114
117
  if (process.env.GOPATH) {
115
118
  paths.push(path.join(process.env.GOPATH, 'bin'));
116
119
  }
120
+ // Windows install locations that aren't always on PATH. The
121
+ // PATHEXT-aware PATH walk in `resolveOnPath` covers anything on PATH;
122
+ // these are the fallback dirs common installers drop binaries into
123
+ // without amending the user's PATH (npm global, dotnet, cargo, go).
124
+ if (process.platform === 'win32') {
125
+ const appData = process.env.APPDATA;
126
+ const localAppData = process.env.LOCALAPPDATA;
127
+ const programFiles = process.env.ProgramFiles;
128
+ if (appData)
129
+ paths.push(path.join(appData, 'npm')); // npm -g shims
130
+ if (localAppData)
131
+ paths.push(path.join(localAppData, 'Microsoft', 'WindowsApps'));
132
+ if (programFiles) {
133
+ paths.push(path.join(programFiles, 'dotnet'));
134
+ paths.push(path.join(programFiles, 'Git', 'cmd'));
135
+ }
136
+ paths.push(path.join(home, '.dotnet')); // dotnet-install.ps1 default
137
+ // Windows venvs put binaries under `Scripts`, not `bin` — mirror the
138
+ // two POSIX venv `bin` entries above for the dxkit shared tools venv.
139
+ paths.push(path.join(exports.TOOLS_VENV, 'Scripts'));
140
+ paths.push(path.join(LEGACY_TOOLS_VENV, 'Scripts'));
141
+ }
117
142
  return paths;
118
143
  }
119
144
  /** Run a command with short timeout, return stdout or empty string. */
@@ -129,14 +154,17 @@ function quickRun(cmd) {
129
154
  return '';
130
155
  }
131
156
  }
132
- /** Check if a binary name is available via `which`. */
157
+ /** Resolve a binary name against PATH (cross-platform; honors PATHEXT
158
+ * on Windows). Delegates to the canonical pure-Node resolver. */
133
159
  function findInPath(binary) {
134
- const result = quickRun(`which ${binary} 2>/dev/null`);
135
- return result || null;
160
+ return (0, runner_1.resolveOnPath)(binary);
136
161
  }
137
- /** Check if brew has installed a tool (macOS/Linux). */
162
+ /** Check if brew has installed a tool (macOS/Linux). `stdio: 'pipe'`
163
+ * in `quickRun` already discards stderr, so no shell redirect is
164
+ * needed (a `2>/dev/null` here would write a stray `nul` file on
165
+ * Windows). */
138
166
  function findInBrew(binary) {
139
- const brewPrefix = quickRun('brew --prefix 2>/dev/null');
167
+ const brewPrefix = quickRun('brew --prefix');
140
168
  if (!brewPrefix)
141
169
  return null;
142
170
  const candidate = path.join(brewPrefix, 'bin', binary);
@@ -144,13 +172,22 @@ function findInBrew(binary) {
144
172
  }
145
173
  /** Check if npm -g has installed a package with this binary. */
146
174
  function findInNpmGlobal(binary) {
147
- const npmBin = quickRun('npm bin -g 2>/dev/null') || quickRun('npm prefix -g 2>/dev/null');
175
+ const npmBin = quickRun('npm bin -g') || quickRun('npm prefix -g');
148
176
  if (!npmBin)
149
177
  return null;
178
+ // npm's global prefix holds binaries directly on Windows
179
+ // (`<prefix>\<bin>.cmd`) and under `bin/` on POSIX. Probe both, with
180
+ // PATHEXT-aware extensions on Windows.
150
181
  const candidates = [path.join(npmBin, binary), path.join(npmBin, 'bin', binary)];
151
182
  for (const c of candidates) {
152
183
  if (fs.existsSync(c))
153
184
  return c;
185
+ if (process.platform === 'win32') {
186
+ for (const ext of ['.cmd', '.exe', '.bat']) {
187
+ if (fs.existsSync(c + ext))
188
+ return c + ext;
189
+ }
190
+ }
154
191
  }
155
192
  return null;
156
193
  }
@@ -180,13 +217,13 @@ function getGemBinPaths() {
180
217
  const candidates = [];
181
218
  // System gem bin (matches the active Ruby — apt, brew, rbenv all
182
219
  // resolve correctly via `gem env`).
183
- const sysBin = quickRun('gem env executable_directory 2>/dev/null');
220
+ const sysBin = quickRun('gem env executable_directory');
184
221
  if (sysBin)
185
222
  candidates.push(sysBin);
186
223
  // User-install gem bin (`gem install --user-install <gem>` lands
187
224
  // here; matches `Gem.user_dir + "/bin"` — the dxkit-preferred install
188
225
  // mode since it doesn't need sudo).
189
- const userBin = quickRun(`ruby -e 'puts Gem.user_dir + "/bin"' 2>/dev/null`);
226
+ const userBin = quickRun(`ruby -e 'puts Gem.user_dir + "/bin"'`);
190
227
  if (userBin)
191
228
  candidates.push(userBin);
192
229
  _gemBinPathsCache = candidates;
@@ -201,15 +238,12 @@ function findInGemBin(binary) {
201
238
  }
202
239
  return null;
203
240
  }
204
- /** Check system probe paths. */
241
+ /** Check system probe paths (PATHEXT-aware on Windows). `extraProbes`
242
+ * carries per-tool probe dirs plus any user-configured `probePaths`
243
+ * from `.dxkit/tools.json`. */
205
244
  function findInProbePaths(binary, extraProbes = []) {
206
245
  const allPaths = [...getSystemPaths(), ...extraProbes];
207
- for (const p of allPaths) {
208
- const candidate = path.join(p, binary);
209
- if (fs.existsSync(candidate))
210
- return candidate;
211
- }
212
- return null;
246
+ return (0, runner_1.resolveInDirs)(binary, allPaths);
213
247
  }
214
248
  /** Check project-local node_modules/.bin/ for language tools. */
215
249
  function findInProjectNodeModules(binary, cwd) {
@@ -230,24 +264,46 @@ function findNodePackage(pkg, cwd) {
230
264
  * binary to probe.
231
265
  */
232
266
  function findGemPackage(pkg) {
233
- const result = quickRun(`gem list -i ${pkg} 2>/dev/null`);
267
+ const result = quickRun(`gem list -i ${pkg}`);
234
268
  return result === 'true' ? pkg : null;
235
269
  }
270
+ /**
271
+ * Resolve the python interpreter inside a venv root, honoring the
272
+ * platform's venv layout: POSIX venvs put it at `<root>/bin/python`,
273
+ * Windows venvs at `<root>\Scripts\python.exe`. `python3` doesn't exist
274
+ * inside a Windows venv, so we only look for `python(.exe)` there.
275
+ */
276
+ function venvPython(venvRoot) {
277
+ return process.platform === 'win32'
278
+ ? path.join(venvRoot, 'Scripts', 'python.exe')
279
+ : path.join(venvRoot, 'bin', 'python');
280
+ }
236
281
  /** Special-case: check if graphify Python module is importable. */
237
282
  function findGraphifyPython(cwd) {
283
+ // Bare interpreter names to resolve against PATH. Windows installs
284
+ // typically expose `python` and the `py` launcher (not `python3`);
285
+ // POSIX exposes `python3`. PATHEXT resolution in `findInPath` matches
286
+ // `python.exe` from a bare `python`.
287
+ const pathInterpreters = process.platform === 'win32' ? ['python', 'py', 'python3'] : ['python3', 'python'];
238
288
  const pythonCandidates = [
239
- `${exports.TOOLS_VENV}/bin/python`, // current (10f.2+)
240
- `${LEGACY_TOOLS_VENV}/bin/python`, // legacy
241
- `${os.homedir()}/.local/bin/python3`,
242
- 'python3',
289
+ venvPython(exports.TOOLS_VENV), // current (10f.2+); platform-correct venv layout
290
+ venvPython(LEGACY_TOOLS_VENV), // legacy
291
+ ...(process.platform === 'win32' ? [] : [`${os.homedir()}/.local/bin/python3`]),
292
+ ...pathInterpreters,
243
293
  ];
244
294
  for (const py of pythonCandidates) {
245
- // Resolve 'python3' via which first
246
- const resolved = py === 'python3' ? findInPath('python3') : py;
247
- if (!resolved || !fs.existsSync(resolved.replace('${HOME}', os.homedir())))
295
+ // Bare interpreter names resolve against PATH (cross-platform,
296
+ // PATHEXT-aware); explicit paths are used as-is.
297
+ const resolved = pathInterpreters.includes(py) ? findInPath(py) : py;
298
+ if (!resolved || !fs.existsSync(resolved))
248
299
  continue;
249
300
  try {
250
- const check = (0, child_process_1.execSync)(`${resolved} -c "import graphify; print('ok')" 2>/dev/null`, {
301
+ // No-shell invocation: pass the interpreter path + args array so a
302
+ // path containing spaces or backslashes (`C:\Program Files\...`)
303
+ // needs no quoting. `stdio: 'pipe'` discards stderr without a
304
+ // POSIX `2>/dev/null` redirect (which writes a stray `nul` file on
305
+ // Windows).
306
+ const check = (0, child_process_1.execFileSync)(resolved, ['-c', "import graphify; print('ok')"], {
251
307
  encoding: 'utf-8',
252
308
  stdio: ['pipe', 'pipe', 'pipe'],
253
309
  timeout: 5000,
@@ -364,8 +420,11 @@ function findTool(def, cwd) {
364
420
  const gemResult = findInGemBin(binary);
365
421
  if (gemResult)
366
422
  return makeStatus(def, gemResult, 'probe');
367
- // 5. System probe paths (includes cargo/go/graphify venv)
368
- const probeResult = findInProbePaths(binary, def.probePaths);
423
+ // 5. System probe paths (includes cargo/go/graphify venv) plus any
424
+ // user-configured `.dxkit/tools.json:probePaths` lets dxkit find
425
+ // tools installed into a non-standard / corp-managed directory.
426
+ const userProbePaths = (0, tools_config_1.loadToolsConfig)(cwd || process.cwd()).probePaths;
427
+ const probeResult = findInProbePaths(binary, [...(def.probePaths ?? []), ...userProbePaths]);
369
428
  if (probeResult) {
370
429
  let source = 'probe';
371
430
  if (probeResult.includes('/.cargo/'))
@@ -407,6 +466,34 @@ function getInstallCommand(def) {
407
466
  // Fall back to install field from ToolRequirement
408
467
  return def.install;
409
468
  }
469
+ /**
470
+ * Environment overlay that redirects an install into the user's
471
+ * configured `.dxkit/tools.json:installDir`. Empty when no install dir
472
+ * is set. We set every ecosystem's bin-dir variable at once — each is a
473
+ * no-op for the ecosystems an install doesn't touch — rather than
474
+ * parsing the install command to guess which package manager runs:
475
+ *
476
+ * - `PIPX_BIN_DIR` → pipx-installed app binaries
477
+ * - `npm_config_prefix` → npm -g (binaries under `<prefix>/bin`)
478
+ * - `CARGO_INSTALL_ROOT` → cargo install (binaries under `<root>/bin`)
479
+ * - `GOBIN` → go install
480
+ *
481
+ * Passed as an `env` overlay to the install subprocess, so it works
482
+ * identically on POSIX and Windows without shell-specific `VAR=val`
483
+ * prefixing. `loadToolsConfig` already adds both `installDir` and
484
+ * `installDir/bin` to the probe set, so the result is discoverable.
485
+ */
486
+ function getInstallEnv(cwd) {
487
+ const { installDir } = (0, tools_config_1.loadToolsConfig)(cwd);
488
+ if (!installDir)
489
+ return {};
490
+ return {
491
+ PIPX_BIN_DIR: installDir,
492
+ npm_config_prefix: installDir,
493
+ CARGO_INSTALL_ROOT: installDir,
494
+ GOBIN: installDir,
495
+ };
496
+ }
410
497
  // =============================================================================
411
498
  // Tool definitions
412
499
  // =============================================================================
@@ -419,7 +506,7 @@ exports.TOOL_DEFS = {
419
506
  for: 'all',
420
507
  layer: 'universal',
421
508
  binaries: ['cloc'],
422
- versionCheck: 'cloc --version 2>/dev/null',
509
+ versionCheck: 'cloc --version',
423
510
  installCommands: {
424
511
  // Create isolated npm workspace at ~/.local/share/dxkit, symlink to ~/.local/bin
425
512
  macos: 'brew install cloc || (mkdir -p ~/.local/share/dxkit && cd ~/.local/share/dxkit && echo \'{"name":"dxkit-tools","private":true}\' > package.json && npm install --silent cloc && mkdir -p ~/.local/bin && ln -sf ~/.local/share/dxkit/node_modules/cloc/lib/cloc ~/.local/bin/cloc)',
@@ -436,7 +523,7 @@ exports.TOOL_DEFS = {
436
523
  layer: 'universal',
437
524
  binaries: ['gitleaks'],
438
525
  probePaths: ['/tmp'],
439
- versionCheck: 'gitleaks version 2>/dev/null',
526
+ versionCheck: 'gitleaks version',
440
527
  installCommands: {
441
528
  macos: 'brew install gitleaks',
442
529
  // Install to ~/.local/bin (user path, no sudo)
@@ -453,7 +540,7 @@ exports.TOOL_DEFS = {
453
540
  layer: 'optional',
454
541
  binaries: ['graphify'],
455
542
  probePaths: [`${exports.TOOLS_VENV}/bin`, `${LEGACY_TOOLS_VENV}/bin`],
456
- versionCheck: 'python3 -c "import graphify; print(\'installed\')" 2>/dev/null || $HOME/.cache/dxkit/tools-venv/bin/python -c "import graphify; print(\'installed\')" 2>/dev/null',
543
+ versionCheck: 'python3 -c "import graphify; print(\'installed\')" || $HOME/.cache/dxkit/tools-venv/bin/python -c "import graphify; print(\'installed\')"',
457
544
  installCommands: {
458
545
  macos: 'mkdir -p "$HOME/.cache/dxkit" && (test -d "$HOME/.cache/dxkit/tools-venv" || python3 -m venv "$HOME/.cache/dxkit/tools-venv") && "$HOME/.cache/dxkit/tools-venv/bin/pip" install -q graphifyy',
459
546
  linux: 'mkdir -p "$HOME/.cache/dxkit" && (test -d "$HOME/.cache/dxkit/tools-venv" || python3 -m venv "$HOME/.cache/dxkit/tools-venv") && "$HOME/.cache/dxkit/tools-venv/bin/pip" install -q graphifyy',
@@ -468,7 +555,7 @@ exports.TOOL_DEFS = {
468
555
  for: 'all',
469
556
  layer: 'universal',
470
557
  binaries: ['jscpd'],
471
- versionCheck: 'jscpd --version 2>/dev/null',
558
+ versionCheck: 'jscpd --version',
472
559
  installCommands: {
473
560
  macos: 'mkdir -p ~/.local/share/dxkit && cd ~/.local/share/dxkit && npm install jscpd && mkdir -p ~/.local/bin && ln -sf ~/.local/share/dxkit/node_modules/.bin/jscpd ~/.local/bin/jscpd',
474
561
  linux: 'mkdir -p ~/.local/share/dxkit && cd ~/.local/share/dxkit && npm install jscpd && mkdir -p ~/.local/bin && ln -sf ~/.local/share/dxkit/node_modules/.bin/jscpd ~/.local/bin/jscpd',
@@ -484,7 +571,7 @@ exports.TOOL_DEFS = {
484
571
  layer: 'universal',
485
572
  binaries: ['semgrep'],
486
573
  probePaths: [`${exports.TOOLS_VENV}/bin`, `${LEGACY_TOOLS_VENV}/bin`],
487
- versionCheck: 'semgrep --version 2>/dev/null',
574
+ versionCheck: 'semgrep --version',
488
575
  installCommands: {
489
576
  macos: `${PIPX_BOOTSTRAP} && pipx install semgrep`,
490
577
  linux: `${PIPX_BOOTSTRAP} && pipx install semgrep`,
@@ -503,7 +590,7 @@ exports.TOOL_DEFS = {
503
590
  // for missing tools in this scope, not "vyuh-dxkit tools install".
504
591
  installScope: 'project-local',
505
592
  binaries: ['eslint', 'lb-eslint'],
506
- versionCheck: 'npx eslint --version 2>/dev/null',
593
+ versionCheck: 'npx eslint --version',
507
594
  installCommands: {
508
595
  macos: 'npm install --save-dev eslint',
509
596
  linux: 'npm install --save-dev eslint',
@@ -518,7 +605,7 @@ exports.TOOL_DEFS = {
518
605
  for: 'node',
519
606
  layer: 'language',
520
607
  binaries: ['npm'],
521
- versionCheck: 'npm --version 2>/dev/null',
608
+ versionCheck: 'npm --version',
522
609
  installCommands: {
523
610
  macos: 'builtin',
524
611
  linux: 'builtin',
@@ -539,7 +626,7 @@ exports.TOOL_DEFS = {
539
626
  // install lands) is already in getSystemPaths(), so no explicit
540
627
  // probe needed there.
541
628
  probePaths: [path.join(os.homedir(), 'go', 'bin')],
542
- versionCheck: 'osv-scanner --version 2>/dev/null',
629
+ versionCheck: 'osv-scanner --version',
543
630
  // Install via GitHub releases binary (mirrors the gitleaks pattern):
544
631
  // the prior `go install` path silently failed on every customer
545
632
  // container without a Go toolchain (the majority of stacks — Node,
@@ -570,7 +657,7 @@ exports.TOOL_DEFS = {
570
657
  for: 'node',
571
658
  layer: 'language',
572
659
  binaries: ['license-checker-rseidelsohn'],
573
- versionCheck: 'license-checker-rseidelsohn --version 2>/dev/null',
660
+ versionCheck: 'license-checker-rseidelsohn --version',
574
661
  installCommands: {
575
662
  macos: 'mkdir -p ~/.local/share/dxkit && cd ~/.local/share/dxkit && npm install license-checker-rseidelsohn && mkdir -p ~/.local/bin && ln -sf ~/.local/share/dxkit/node_modules/.bin/license-checker-rseidelsohn ~/.local/bin/license-checker-rseidelsohn',
576
663
  linux: 'mkdir -p ~/.local/share/dxkit && cd ~/.local/share/dxkit && npm install license-checker-rseidelsohn && mkdir -p ~/.local/bin && ln -sf ~/.local/share/dxkit/node_modules/.bin/license-checker-rseidelsohn ~/.local/bin/license-checker-rseidelsohn',
@@ -586,7 +673,7 @@ exports.TOOL_DEFS = {
586
673
  layer: 'language',
587
674
  binaries: ['ruff'],
588
675
  probePaths: [`${exports.TOOLS_VENV}/bin`, `${LEGACY_TOOLS_VENV}/bin`],
589
- versionCheck: 'ruff --version 2>/dev/null',
676
+ versionCheck: 'ruff --version',
590
677
  installCommands: {
591
678
  macos: `${PIPX_BOOTSTRAP} && pipx install ruff`,
592
679
  linux: `${PIPX_BOOTSTRAP} && pipx install ruff`,
@@ -602,7 +689,7 @@ exports.TOOL_DEFS = {
602
689
  layer: 'language',
603
690
  binaries: ['pip-audit'],
604
691
  probePaths: [`${exports.TOOLS_VENV}/bin`, `${LEGACY_TOOLS_VENV}/bin`],
605
- versionCheck: 'pip-audit --version 2>/dev/null',
692
+ versionCheck: 'pip-audit --version',
606
693
  installCommands: {
607
694
  macos: `${PIPX_BOOTSTRAP} && pipx install pip-audit`,
608
695
  linux: `${PIPX_BOOTSTRAP} && pipx install pip-audit`,
@@ -618,7 +705,7 @@ exports.TOOL_DEFS = {
618
705
  layer: 'language',
619
706
  binaries: ['pip-licenses'],
620
707
  probePaths: [`${exports.TOOLS_VENV}/bin`, `${LEGACY_TOOLS_VENV}/bin`],
621
- versionCheck: 'pip-licenses --version 2>/dev/null',
708
+ versionCheck: 'pip-licenses --version',
622
709
  installCommands: {
623
710
  macos: `${PIPX_BOOTSTRAP} && pipx install pip-licenses`,
624
711
  linux: `${PIPX_BOOTSTRAP} && pipx install pip-licenses`,
@@ -633,7 +720,7 @@ exports.TOOL_DEFS = {
633
720
  for: 'go',
634
721
  layer: 'language',
635
722
  binaries: ['golangci-lint'],
636
- versionCheck: 'golangci-lint --version 2>/dev/null',
723
+ versionCheck: 'golangci-lint --version',
637
724
  installCommands: {
638
725
  macos: 'brew install golangci-lint',
639
726
  linux: 'go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest',
@@ -648,7 +735,7 @@ exports.TOOL_DEFS = {
648
735
  for: 'go',
649
736
  layer: 'language',
650
737
  binaries: ['govulncheck'],
651
- versionCheck: 'govulncheck -version 2>/dev/null',
738
+ versionCheck: 'govulncheck -version',
652
739
  installCommands: {
653
740
  macos: 'go install golang.org/x/vuln/cmd/govulncheck@latest',
654
741
  linux: 'go install golang.org/x/vuln/cmd/govulncheck@latest',
@@ -663,7 +750,7 @@ exports.TOOL_DEFS = {
663
750
  for: 'go',
664
751
  layer: 'language',
665
752
  binaries: ['go-licenses'],
666
- versionCheck: 'go-licenses --help 2>/dev/null | head -1',
753
+ versionCheck: 'go-licenses --help | head -1',
667
754
  installCommands: {
668
755
  macos: 'go install github.com/google/go-licenses@latest',
669
756
  linux: 'go install github.com/google/go-licenses@latest',
@@ -678,7 +765,7 @@ exports.TOOL_DEFS = {
678
765
  for: 'rust',
679
766
  layer: 'language',
680
767
  binaries: ['cargo-clippy'],
681
- versionCheck: 'cargo clippy --version 2>/dev/null',
768
+ versionCheck: 'cargo clippy --version',
682
769
  installCommands: {
683
770
  macos: 'rustup component add clippy',
684
771
  linux: 'rustup component add clippy',
@@ -693,7 +780,7 @@ exports.TOOL_DEFS = {
693
780
  for: 'rust',
694
781
  layer: 'language',
695
782
  binaries: ['cargo-audit'],
696
- versionCheck: 'cargo audit --version 2>/dev/null',
783
+ versionCheck: 'cargo audit --version',
697
784
  installCommands: {
698
785
  macos: 'cargo install cargo-audit',
699
786
  linux: 'cargo install cargo-audit',
@@ -708,7 +795,7 @@ exports.TOOL_DEFS = {
708
795
  for: 'rust',
709
796
  layer: 'language',
710
797
  binaries: ['cargo-license'],
711
- versionCheck: 'cargo license --version 2>/dev/null',
798
+ versionCheck: 'cargo license --version',
712
799
  installCommands: {
713
800
  macos: 'cargo install cargo-license',
714
801
  linux: 'cargo install cargo-license',
@@ -723,7 +810,7 @@ exports.TOOL_DEFS = {
723
810
  for: 'csharp',
724
811
  layer: 'language',
725
812
  binaries: ['dotnet'],
726
- versionCheck: 'dotnet --version 2>/dev/null',
813
+ versionCheck: 'dotnet --version',
727
814
  installCommands: {
728
815
  macos: 'brew install dotnet-sdk',
729
816
  linux: 'apt install dotnet-sdk-8.0',
@@ -744,7 +831,7 @@ exports.TOOL_DEFS = {
744
831
  // probe silently missed `nuget-license` even when installed at
745
832
  // its canonical `dotnet tool install --global` location.
746
833
  probePaths: [path.join(os.homedir(), '.dotnet', 'tools')],
747
- versionCheck: 'nuget-license --version 2>/dev/null',
834
+ versionCheck: 'nuget-license --version',
748
835
  installCommands: {
749
836
  macos: 'dotnet tool install --global nuget-license',
750
837
  linux: 'dotnet tool install --global nuget-license',
@@ -759,7 +846,7 @@ exports.TOOL_DEFS = {
759
846
  for: 'java',
760
847
  layer: 'language',
761
848
  binaries: ['pmd'],
762
- versionCheck: 'pmd --version 2>/dev/null',
849
+ versionCheck: 'pmd --version',
763
850
  // PMD 7.x ships a single zip on GitHub Releases. Linux install
764
851
  // mirrors the detekt + gitleaks pattern: download to ~/.local/share,
765
852
  // symlink the entrypoint script (zip ships it as `bin/pmd`) into
@@ -785,7 +872,7 @@ exports.TOOL_DEFS = {
785
872
  // installs both `detekt` and `detekt-cli` as the same wrapper, so
786
873
  // listing both keeps detection working across install methods.
787
874
  binaries: ['detekt', 'detekt-cli'],
788
- versionCheck: 'detekt --version 2>/dev/null || detekt-cli --version 2>/dev/null',
875
+ versionCheck: 'detekt --version || detekt-cli --version',
789
876
  // detekt-cli ships as a single zip on GitHub Releases. Linux install
790
877
  // mirrors the gitleaks pattern: download to ~/.local/share, symlink
791
878
  // the entrypoint script (zip ships it as `bin/detekt-cli`) into
@@ -838,7 +925,7 @@ exports.TOOL_DEFS = {
838
925
  for: 'rust',
839
926
  layer: 'language',
840
927
  binaries: ['cargo-llvm-cov'],
841
- versionCheck: 'cargo llvm-cov --version 2>/dev/null',
928
+ versionCheck: 'cargo llvm-cov --version',
842
929
  installCommands: {
843
930
  macos: 'cargo install cargo-llvm-cov',
844
931
  linux: 'cargo install cargo-llvm-cov',
@@ -854,7 +941,7 @@ exports.TOOL_DEFS = {
854
941
  layer: 'language',
855
942
  binaries: ['coverage'],
856
943
  probePaths: [`${exports.TOOLS_VENV}/bin`, `${LEGACY_TOOLS_VENV}/bin`],
857
- versionCheck: 'coverage --version 2>/dev/null',
944
+ versionCheck: 'coverage --version',
858
945
  installCommands: {
859
946
  macos: `${PIPX_BOOTSTRAP} && pipx install coverage`,
860
947
  linux: `${PIPX_BOOTSTRAP} && pipx install coverage`,
@@ -869,7 +956,7 @@ exports.TOOL_DEFS = {
869
956
  for: 'ruby',
870
957
  layer: 'language',
871
958
  binaries: ['rubocop'],
872
- versionCheck: 'rubocop --version 2>/dev/null',
959
+ versionCheck: 'rubocop --version',
873
960
  installCommands: {
874
961
  macos: 'gem install --user-install rubocop',
875
962
  linux: 'gem install --user-install rubocop',
@@ -890,7 +977,7 @@ exports.TOOL_DEFS = {
890
977
  layer: 'language',
891
978
  binaries: [],
892
979
  gemPackage: 'simplecov',
893
- versionCheck: 'ruby -e "require \'simplecov\'; puts SimpleCov::VERSION" 2>/dev/null',
980
+ versionCheck: 'ruby -e "require \'simplecov\'; puts SimpleCov::VERSION"',
894
981
  installCommands: {
895
982
  macos: 'gem install --user-install simplecov',
896
983
  linux: 'gem install --user-install simplecov',
@@ -1 +1 @@
1
- {"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../../src/analyzers/tools/tool-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../../src/analyzers/tools/tool-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * User-authored tool-location config — `.dxkit/tools.json`.
3
+ *
4
+ * Lets a developer point dxkit at tool binaries that don't live in any
5
+ * of the default probe locations, and choose where `tools install`
6
+ * drops them. The motivating case is locked-down or non-standard
7
+ * environments (corporate Windows boxes, air-gapped CI) where the
8
+ * scanner toolchain is installed into a project- or team-specific
9
+ * directory rather than `~/.local/bin` / the npm global prefix / brew.
10
+ *
11
+ * Shape (every field optional):
12
+ *
13
+ * {
14
+ * "probePaths": ["D:\\devtools\\bin", "/opt/team/bin"],
15
+ * "installDir": "D:\\devtools\\bin"
16
+ * }
17
+ *
18
+ * - `probePaths` — extra directories `findTool` searches (PATHEXT-aware
19
+ * on Windows) AFTER PATH / brew / npm-g / pipx / system probes. A
20
+ * hit here reports the tool as available with `source: 'probe'`.
21
+ * - `installDir` — directory `tools install` targets, injected into the
22
+ * per-ecosystem install command via the ecosystem's bin-dir env var
23
+ * / flag. Implies a matching `probePaths` entry so the freshly
24
+ * installed binary is immediately discoverable.
25
+ *
26
+ * The file is optional and hand-authored (or written by the
27
+ * `dxkit-config` skill). Absent / malformed → empty config, never an
28
+ * error: tool detection must degrade gracefully, not crash.
29
+ */
30
+ export interface ToolsConfig {
31
+ /** Extra directories to search for tool binaries. */
32
+ readonly probePaths: string[];
33
+ /** Target directory for `tools install`, or null when unset. */
34
+ readonly installDir: string | null;
35
+ }
36
+ /** Location of the config inside a project. */
37
+ export declare function toolsConfigPath(cwd: string): string;
38
+ /** Test seam: drop the cache so per-test fixtures don't leak. */
39
+ export declare function clearToolsConfigCache(): void;
40
+ /**
41
+ * Load `.dxkit/tools.json` for `cwd`. Returns an empty config when the
42
+ * file is absent or unparseable — detection never depends on this file
43
+ * existing.
44
+ */
45
+ export declare function loadToolsConfig(cwd: string): ToolsConfig;
46
+ //# sourceMappingURL=tools-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools-config.d.ts","sourceRoot":"","sources":["../../../src/analyzers/tools/tools-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAKH,MAAM,WAAW,WAAW;IAC1B,qDAAqD;IACrD,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAC9B,gEAAgE;IAChE,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAID,+CAA+C;AAC/C,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD;AASD,iEAAiE;AACjE,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAMxD"}