scip-query 0.2.0 → 0.2.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 (319) hide show
  1. package/README.md +16 -43
  2. package/dist/chunk-2UELLEBI.js +1 -0
  3. package/dist/chunk-34JPTNRN.js +601 -0
  4. package/dist/{chunk-W4ALF422.js → chunk-3566TKJ5.js} +3 -3
  5. package/dist/{chunk-Z6YZJ36C.js → chunk-4ACRRQC4.js} +8 -4
  6. package/dist/{chunk-Z4GHE2HD.js → chunk-4BQFSNFI.js} +6 -2
  7. package/dist/{chunk-4XHWPRAX.js → chunk-6QSHLFSL.js} +3 -3
  8. package/dist/{chunk-4EXL2CUA.js → chunk-6WVR5K46.js} +16 -8
  9. package/dist/{chunk-ZQIIPFD7.js → chunk-75RQSBTK.js} +2 -2
  10. package/dist/{chunk-KPPHZCZJ.js → chunk-7HK5ZLOE.js} +28 -46
  11. package/dist/{chunk-MCUX5LA7.js → chunk-7JFZSOJ7.js} +3 -3
  12. package/dist/{chunk-6SXADWLW.js → chunk-AKMBBKWV.js} +2 -2
  13. package/dist/{chunk-NHBZIL2J.js → chunk-AMNISGYR.js} +3 -3
  14. package/dist/{chunk-2CKGIR6G.js → chunk-BFLULBEU.js} +3 -3
  15. package/dist/{chunk-HPFZLISB.js → chunk-CU62ZDHI.js} +2 -2
  16. package/dist/{chunk-EQYLEQCW.js → chunk-DY4AFG2W.js} +12 -10
  17. package/dist/{chunk-5RMYT5WH.js → chunk-F7XU27LU.js} +2 -2
  18. package/dist/{chunk-KCBMVQL5.js → chunk-GPJVPT3U.js} +2 -2
  19. package/dist/{chunk-NUZ4OMU3.js → chunk-GU2H5QRN.js} +2 -2
  20. package/dist/{chunk-UJQN5N3I.js → chunk-H6WCPKCX.js} +6 -3
  21. package/dist/{chunk-OVPLOMPY.js → chunk-HMYJJ3HY.js} +7 -4
  22. package/dist/chunk-IJKLB2JW.js +69 -0
  23. package/dist/{chunk-DGUPQSOR.js → chunk-IXPHLF6K.js} +2 -2
  24. package/dist/{chunk-7PBOG4YE.js → chunk-KBOQX573.js} +2 -2
  25. package/dist/{chunk-ZOGY2V3N.js → chunk-LLMPAG56.js} +93 -30
  26. package/dist/{chunk-BOVXCR46.js → chunk-LTJC5ZQL.js} +2 -2
  27. package/dist/{chunk-LAWMH22O.js → chunk-M3NPW3FC.js} +2 -2
  28. package/dist/{chunk-NWCE4CIC.js → chunk-M4QGEKKD.js} +5 -27
  29. package/dist/{chunk-63G7IQTD.js → chunk-MVH45PYK.js} +20 -40
  30. package/dist/chunk-N4C3H7LH.js +37 -0
  31. package/dist/chunk-NG5F43OU.js +200 -0
  32. package/dist/{chunk-D567NFIF.js → chunk-NVIIM34O.js} +3 -3
  33. package/dist/{chunk-BNN2RKD2.js → chunk-ORINICIZ.js} +3 -3
  34. package/dist/{chunk-4PDAL6IL.js → chunk-PMJKOXOT.js} +3 -3
  35. package/dist/{chunk-QOV2R2WT.js → chunk-QIXNAB5K.js} +42 -2
  36. package/dist/{chunk-7LLPRPR5.js → chunk-R2I3M5B4.js} +2 -2
  37. package/dist/{chunk-7RLE5EWE.js → chunk-R56FJU3E.js} +34 -13
  38. package/dist/{chunk-H2MDONBU.js → chunk-RFMT7UAZ.js} +3 -3
  39. package/dist/{chunk-SEFSL2GF.js → chunk-TOIEB3LG.js} +2 -2
  40. package/dist/chunk-VO4QI3LS.js +84 -0
  41. package/dist/{chunk-ZK6GXM3J.js → chunk-WVK7AASK.js} +3 -3
  42. package/dist/{chunk-HMLMH7VZ.js → chunk-Y3M323OX.js} +2 -2
  43. package/dist/{chunk-DCKMSTJ4.js → chunk-Y4JFVQ7C.js} +2 -2
  44. package/dist/{chunk-7UCKSQRS.js → chunk-YAFWL3RA.js} +3 -3
  45. package/dist/{chunk-FGXRVW7G.js → chunk-YZ6L7GFO.js} +2 -2
  46. package/dist/cli.js +1355 -671
  47. package/dist/{db-BNVVZSfP.d.ts → db-BHYam4BK.d.ts} +6 -18
  48. package/dist/index.d.ts +15 -15
  49. package/dist/index.js +260 -231
  50. package/dist/postinstall.js +5 -76
  51. package/dist/queries/affected.d.ts +1 -1
  52. package/dist/queries/affected.js +3 -3
  53. package/dist/queries/bottlenecks.d.ts +1 -1
  54. package/dist/queries/bottlenecks.js +2 -2
  55. package/dist/queries/by-kind.d.ts +1 -1
  56. package/dist/queries/by-kind.js +2 -2
  57. package/dist/queries/call-graph.d.ts +1 -1
  58. package/dist/queries/call-graph.js +3 -3
  59. package/dist/queries/change-surface.d.ts +2 -2
  60. package/dist/queries/change-surface.js +2 -3
  61. package/dist/queries/code.d.ts +1 -1
  62. package/dist/queries/code.js +3 -3
  63. package/dist/queries/complexity-hotspots.d.ts +1 -1
  64. package/dist/queries/complexity-hotspots.js +3 -3
  65. package/dist/queries/complexity.d.ts +1 -1
  66. package/dist/queries/complexity.js +3 -3
  67. package/dist/queries/convergence.d.ts +1 -1
  68. package/dist/queries/convergence.js +3 -3
  69. package/dist/queries/coupling.d.ts +1 -1
  70. package/dist/queries/cycles.d.ts +1 -1
  71. package/dist/queries/cycles.js +3 -2
  72. package/dist/queries/dataflow.d.ts +1 -1
  73. package/dist/queries/dataflow.js +3 -3
  74. package/dist/queries/dead.d.ts +1 -1
  75. package/dist/queries/dead.js +4 -3
  76. package/dist/queries/deep-chains.d.ts +1 -1
  77. package/dist/queries/deep-chains.js +3 -2
  78. package/dist/queries/deps.d.ts +1 -1
  79. package/dist/queries/diff-impact.d.ts +2 -2
  80. package/dist/queries/diff-impact.js +2 -3
  81. package/dist/queries/doc-coverage.d.ts +1 -1
  82. package/dist/queries/doc-coverage.js +2 -2
  83. package/dist/queries/drift.d.ts +1 -1
  84. package/dist/queries/drift.js +3 -2
  85. package/dist/queries/extract-candidates.d.ts +1 -1
  86. package/dist/queries/extract-candidates.js +3 -3
  87. package/dist/queries/fan.d.ts +1 -1
  88. package/dist/queries/fan.js +2 -2
  89. package/dist/queries/files.d.ts +1 -1
  90. package/dist/queries/health.d.ts +1 -1
  91. package/dist/queries/health.js +14 -14
  92. package/dist/queries/hierarchy.d.ts +1 -1
  93. package/dist/queries/hierarchy.js +3 -2
  94. package/dist/queries/hotspots.d.ts +1 -1
  95. package/dist/queries/hotspots.js +2 -2
  96. package/dist/queries/imports.d.ts +1 -1
  97. package/dist/queries/imports.js +3 -2
  98. package/dist/queries/index.d.ts +1 -2
  99. package/dist/queries/index.js +43 -48
  100. package/dist/queries/isolated.d.ts +1 -1
  101. package/dist/queries/isolated.js +4 -3
  102. package/dist/queries/members.d.ts +2 -2
  103. package/dist/queries/members.js +3 -2
  104. package/dist/queries/methods.d.ts +1 -1
  105. package/dist/queries/methods.js +2 -2
  106. package/dist/queries/outline.d.ts +1 -1
  107. package/dist/queries/outline.js +2 -2
  108. package/dist/queries/passthrough-candidates.d.ts +1 -1
  109. package/dist/queries/passthrough-candidates.js +3 -3
  110. package/dist/queries/redundant-reexports.d.ts +1 -1
  111. package/dist/queries/redundant-reexports.js +4 -2
  112. package/dist/queries/refs.d.ts +1 -1
  113. package/dist/queries/similar-chains.d.ts +1 -1
  114. package/dist/queries/similar-chains.js +3 -2
  115. package/dist/queries/similar-files.d.ts +1 -1
  116. package/dist/queries/similar-files.js +3 -2
  117. package/dist/queries/similar-signatures.d.ts +1 -1
  118. package/dist/queries/similar-signatures.js +2 -2
  119. package/dist/queries/similar.d.ts +1 -1
  120. package/dist/queries/similar.js +3 -3
  121. package/dist/queries/slice.d.ts +1 -1
  122. package/dist/queries/slice.js +3 -3
  123. package/dist/queries/stale-abstractions.d.ts +1 -1
  124. package/dist/queries/stale-abstractions.js +3 -3
  125. package/dist/queries/stats.d.ts +1 -1
  126. package/dist/queries/surface.d.ts +1 -1
  127. package/dist/queries/surface.js +2 -2
  128. package/dist/queries/symbols.d.ts +1 -1
  129. package/dist/queries/symbols.js +2 -2
  130. package/dist/queries/system.d.ts +1 -1
  131. package/dist/queries/system.js +2 -2
  132. package/dist/queries/trace.d.ts +1 -1
  133. package/dist/queries/trace.js +3 -1
  134. package/dist/queries/wrapper-candidates.d.ts +1 -1
  135. package/dist/queries/wrapper-candidates.js +3 -3
  136. package/dist/reindex-worker.js +24 -12
  137. package/package.json +6 -1
  138. package/IMPROVEMENTS.md +0 -143
  139. package/PLAN.md +0 -320
  140. package/dist/chunk-2CKGIR6G.js.map +0 -1
  141. package/dist/chunk-3UOUTZQT.js +0 -45
  142. package/dist/chunk-3UOUTZQT.js.map +0 -1
  143. package/dist/chunk-4EXL2CUA.js.map +0 -1
  144. package/dist/chunk-4PDAL6IL.js.map +0 -1
  145. package/dist/chunk-4TYLS5XX.js.map +0 -1
  146. package/dist/chunk-4XHWPRAX.js.map +0 -1
  147. package/dist/chunk-5RMYT5WH.js.map +0 -1
  148. package/dist/chunk-63G7IQTD.js.map +0 -1
  149. package/dist/chunk-6SXADWLW.js.map +0 -1
  150. package/dist/chunk-74RFWB5T.js.map +0 -1
  151. package/dist/chunk-7LLPRPR5.js.map +0 -1
  152. package/dist/chunk-7PBOG4YE.js.map +0 -1
  153. package/dist/chunk-7RLE5EWE.js.map +0 -1
  154. package/dist/chunk-7UCKSQRS.js.map +0 -1
  155. package/dist/chunk-BNN2RKD2.js.map +0 -1
  156. package/dist/chunk-BOVXCR46.js.map +0 -1
  157. package/dist/chunk-D567NFIF.js.map +0 -1
  158. package/dist/chunk-DCKMSTJ4.js.map +0 -1
  159. package/dist/chunk-DEZKCZXD.js +0 -40
  160. package/dist/chunk-DEZKCZXD.js.map +0 -1
  161. package/dist/chunk-DGUPQSOR.js.map +0 -1
  162. package/dist/chunk-DVWGWHFW.js +0 -99
  163. package/dist/chunk-DVWGWHFW.js.map +0 -1
  164. package/dist/chunk-EQYLEQCW.js.map +0 -1
  165. package/dist/chunk-FGXRVW7G.js.map +0 -1
  166. package/dist/chunk-H2MDONBU.js.map +0 -1
  167. package/dist/chunk-HB7MRLLL.js +0 -76
  168. package/dist/chunk-HB7MRLLL.js.map +0 -1
  169. package/dist/chunk-HDSRORNV.js.map +0 -1
  170. package/dist/chunk-HMLMH7VZ.js.map +0 -1
  171. package/dist/chunk-HPFZLISB.js.map +0 -1
  172. package/dist/chunk-HZBC7PPD.js +0 -88
  173. package/dist/chunk-HZBC7PPD.js.map +0 -1
  174. package/dist/chunk-ITZ3DDOG.js.map +0 -1
  175. package/dist/chunk-JJP7KQND.js +0 -1
  176. package/dist/chunk-JJP7KQND.js.map +0 -1
  177. package/dist/chunk-KCBMVQL5.js.map +0 -1
  178. package/dist/chunk-KPPHZCZJ.js.map +0 -1
  179. package/dist/chunk-LAWMH22O.js.map +0 -1
  180. package/dist/chunk-MCUX5LA7.js.map +0 -1
  181. package/dist/chunk-MGNMHKX3.js.map +0 -1
  182. package/dist/chunk-N5KEREIA.js.map +0 -1
  183. package/dist/chunk-NHBZIL2J.js.map +0 -1
  184. package/dist/chunk-NUZ4OMU3.js.map +0 -1
  185. package/dist/chunk-NWCE4CIC.js.map +0 -1
  186. package/dist/chunk-OVPLOMPY.js.map +0 -1
  187. package/dist/chunk-QOV2R2WT.js.map +0 -1
  188. package/dist/chunk-SEFSL2GF.js.map +0 -1
  189. package/dist/chunk-UJQN5N3I.js.map +0 -1
  190. package/dist/chunk-W4ALF422.js.map +0 -1
  191. package/dist/chunk-Z4GHE2HD.js.map +0 -1
  192. package/dist/chunk-Z6YZJ36C.js.map +0 -1
  193. package/dist/chunk-ZK6GXM3J.js.map +0 -1
  194. package/dist/chunk-ZOGY2V3N.js.map +0 -1
  195. package/dist/chunk-ZQIIPFD7.js.map +0 -1
  196. package/dist/cli.js.map +0 -1
  197. package/dist/index.js.map +0 -1
  198. package/dist/postinstall.js.map +0 -1
  199. package/dist/queries/affected.js.map +0 -1
  200. package/dist/queries/bottlenecks.js.map +0 -1
  201. package/dist/queries/by-kind.js.map +0 -1
  202. package/dist/queries/call-graph.js.map +0 -1
  203. package/dist/queries/change-surface.js.map +0 -1
  204. package/dist/queries/clean-signature.js.map +0 -1
  205. package/dist/queries/code.js.map +0 -1
  206. package/dist/queries/complexity-hotspots.js.map +0 -1
  207. package/dist/queries/complexity.js.map +0 -1
  208. package/dist/queries/convergence.js.map +0 -1
  209. package/dist/queries/coupling.js.map +0 -1
  210. package/dist/queries/cycles.js.map +0 -1
  211. package/dist/queries/dataflow.js.map +0 -1
  212. package/dist/queries/dead.js.map +0 -1
  213. package/dist/queries/deep-chains.js.map +0 -1
  214. package/dist/queries/deps.js.map +0 -1
  215. package/dist/queries/diff-impact.js.map +0 -1
  216. package/dist/queries/doc-coverage.js.map +0 -1
  217. package/dist/queries/drift.js.map +0 -1
  218. package/dist/queries/extract-candidates.js.map +0 -1
  219. package/dist/queries/fan.js.map +0 -1
  220. package/dist/queries/files.js.map +0 -1
  221. package/dist/queries/health.js.map +0 -1
  222. package/dist/queries/hierarchy.js.map +0 -1
  223. package/dist/queries/hotspots.js.map +0 -1
  224. package/dist/queries/imports.js.map +0 -1
  225. package/dist/queries/index.js.map +0 -1
  226. package/dist/queries/isolated.js.map +0 -1
  227. package/dist/queries/members.js.map +0 -1
  228. package/dist/queries/methods.js.map +0 -1
  229. package/dist/queries/outline.js.map +0 -1
  230. package/dist/queries/passthrough-candidates.js.map +0 -1
  231. package/dist/queries/redundant-reexports.js.map +0 -1
  232. package/dist/queries/refs.js.map +0 -1
  233. package/dist/queries/similar-chains.js.map +0 -1
  234. package/dist/queries/similar-files.js.map +0 -1
  235. package/dist/queries/similar-signatures.js.map +0 -1
  236. package/dist/queries/similar.js.map +0 -1
  237. package/dist/queries/slice.js.map +0 -1
  238. package/dist/queries/stale-abstractions.js.map +0 -1
  239. package/dist/queries/stats.js.map +0 -1
  240. package/dist/queries/surface.js.map +0 -1
  241. package/dist/queries/symbols.js.map +0 -1
  242. package/dist/queries/system.js.map +0 -1
  243. package/dist/queries/test-coverage.d.ts +0 -22
  244. package/dist/queries/test-coverage.js +0 -11
  245. package/dist/queries/test-coverage.js.map +0 -1
  246. package/dist/queries/trace.js.map +0 -1
  247. package/dist/queries/wrapper-candidates.js.map +0 -1
  248. package/dist/reindex-worker.js.map +0 -1
  249. package/docs/AGENT_GUIDE.md +0 -359
  250. package/reports/debloat/2026-04-10-scip-query-self-audit.md +0 -161
  251. package/src/cli.ts +0 -1480
  252. package/src/config.ts +0 -117
  253. package/src/db.ts +0 -127
  254. package/src/gitignore-filter.ts +0 -143
  255. package/src/index.ts +0 -11
  256. package/src/postinstall.ts +0 -8
  257. package/src/queries/affected.ts +0 -86
  258. package/src/queries/bottlenecks.ts +0 -67
  259. package/src/queries/by-kind.ts +0 -204
  260. package/src/queries/call-graph.ts +0 -66
  261. package/src/queries/change-surface.ts +0 -110
  262. package/src/queries/clean-signature.ts +0 -22
  263. package/src/queries/code.ts +0 -101
  264. package/src/queries/complexity-hotspots.ts +0 -119
  265. package/src/queries/complexity.ts +0 -152
  266. package/src/queries/convergence.ts +0 -82
  267. package/src/queries/coupling.ts +0 -99
  268. package/src/queries/cycles.ts +0 -78
  269. package/src/queries/dataflow.ts +0 -128
  270. package/src/queries/dead.ts +0 -122
  271. package/src/queries/deep-chains.ts +0 -59
  272. package/src/queries/deps.ts +0 -46
  273. package/src/queries/diff-impact.ts +0 -204
  274. package/src/queries/doc-coverage.ts +0 -86
  275. package/src/queries/drift.ts +0 -224
  276. package/src/queries/extract-candidates.ts +0 -167
  277. package/src/queries/fan.ts +0 -148
  278. package/src/queries/files.ts +0 -16
  279. package/src/queries/health.ts +0 -324
  280. package/src/queries/hierarchy.ts +0 -49
  281. package/src/queries/hotspots.ts +0 -53
  282. package/src/queries/imports.ts +0 -95
  283. package/src/queries/index.ts +0 -45
  284. package/src/queries/isolated.ts +0 -67
  285. package/src/queries/members.ts +0 -54
  286. package/src/queries/methods.ts +0 -27
  287. package/src/queries/outline.ts +0 -52
  288. package/src/queries/passthrough-candidates.ts +0 -94
  289. package/src/queries/redundant-reexports.ts +0 -170
  290. package/src/queries/refs.ts +0 -27
  291. package/src/queries/similar-chains.ts +0 -314
  292. package/src/queries/similar-files.ts +0 -140
  293. package/src/queries/similar-signatures.ts +0 -151
  294. package/src/queries/similar.ts +0 -305
  295. package/src/queries/slice.ts +0 -154
  296. package/src/queries/stale-abstractions.ts +0 -82
  297. package/src/queries/stats.ts +0 -22
  298. package/src/queries/surface.ts +0 -34
  299. package/src/queries/symbols.ts +0 -39
  300. package/src/queries/system.ts +0 -86
  301. package/src/queries/test-coverage.ts +0 -106
  302. package/src/queries/trace.ts +0 -55
  303. package/src/queries/wrapper-candidates.ts +0 -112
  304. package/src/query-support.ts +0 -226
  305. package/src/reindex/detect.ts +0 -58
  306. package/src/reindex/index.ts +0 -153
  307. package/src/reindex/indexers.ts +0 -220
  308. package/src/reindex/install.ts +0 -125
  309. package/src/reindex-worker.ts +0 -35
  310. package/src/setup.ts +0 -202
  311. package/src/symbol-parser.ts +0 -278
  312. package/src/types.ts +0 -654
  313. package/src/watch.ts +0 -274
  314. package/tests/gitignore-filter.test.ts +0 -48
  315. package/tests/queries.test.ts +0 -300
  316. package/tests/symbol-parser.test.ts +0 -157
  317. package/tsconfig.json +0 -20
  318. package/tsup.config.ts +0 -40
  319. package/vitest.config.ts +0 -7
package/README.md CHANGED
@@ -12,7 +12,7 @@ For goal-oriented usage guides (not just command reference), see **[Agent Guide]
12
12
  - **[Write an implementation plan](docs/AGENT_GUIDE.md#workflow-2-write-a-concrete-implementation-plan)** — identify contracts, map dependencies, find reusable code
13
13
  - **[De-bloat a codebase](docs/AGENT_GUIDE.md#workflow-3-clean-up-and-de-bloat-a-codebase)** — prioritized cleanup from dead code to pattern drift
14
14
  - **[Assess code quality](docs/AGENT_GUIDE.md#workflow-4-assess-code-quality-and-risk)** — health score, complexity hotspots, coupling risks
15
- - **[Verify change impact](docs/AGENT_GUIDE.md#workflow-5-understand-impact-after-making-changes)** — diff impact, transitive blast radius, test gaps
15
+ - **[Verify change impact](docs/AGENT_GUIDE.md#workflow-5-understand-impact-after-making-changes)** — diff impact, transitive blast radius, consumer blast radius
16
16
 
17
17
  ## Quick Start
18
18
 
@@ -53,6 +53,8 @@ scip-query diff-impact # what did my changes affect?
53
53
  | Dart | scip-dart | [releases](https://github.com/nicovince/scip-dart/releases) |
54
54
  | PHP | scip-php | [releases](https://github.com/nicovince/scip-php/releases) |
55
55
 
56
+ For Python, the npm package is `scip-python-plus`. Depending on which version you installed, the executable on your `PATH` may be `scip-python`, `scip-python-plus`, or both. `scip-query` now accepts either name.
57
+
56
58
  ## How It Works
57
59
 
58
60
  1. A SCIP indexer analyzes your source code using the actual compiler/type checker and produces a `index.scip` protobuf file containing every symbol, definition, and reference — fully type-resolved.
@@ -461,10 +463,10 @@ scip-query dead src/utils --skip-barrels --include-members
461
463
  **Options:**
462
464
  - `--min-loc <n>` — Only show symbols >= N lines (default: 1)
463
465
  - `--include-tests` — Include test files in results (excluded by default)
464
- - `--skip-barrels` — Ignore references from barrel re-export files (index.ts)
466
+ - `--skip-barrels` — Ignore references from inactive barrel re-export files
465
467
  - `--include-members` — Include class members (module-level only by default)
466
468
 
467
- **Value:** Find code you can delete. The `--skip-barrels` flag is key without it, symbols re-exported through index.ts appear "referenced" even if no real consumer uses them.
469
+ **Value:** Find code you can delete. The `--skip-barrels` flag is key when a codebase has unused barrels, but it now keeps live entry-surface barrels counted so active exports do not look dead.
468
470
 
469
471
  ---
470
472
 
@@ -510,31 +512,6 @@ scip-query doc-coverage --min-loc 5
510
512
 
511
513
  ---
512
514
 
513
- #### `test-coverage [symbol]`
514
-
515
- Check if symbols are referenced by test files. Without a symbol argument, shows a summary percentage. With a symbol, shows which specific test files cover it.
516
-
517
- ```bash
518
- scip-query test-coverage
519
- # Test coverage: 45%
520
- # Total symbols: 95
521
- # Covered: 43
522
- # Not covered: 52
523
-
524
- scip-query test-coverage AuthService
525
- # [covered] AuthService (src/services/auth.service.ts)
526
- # ← src/__tests__/auth.test.ts
527
- # [NOT COVERED] AuthService:logout() (src/services/auth.service.ts)
528
- ```
529
-
530
- **Options:**
531
- - `-s, --scope <path>` — Limit to files matching path
532
- - `--min-loc <n>` — Minimum LOC for summary mode (default: 3)
533
-
534
- **Value:** Reference-based test coverage — which symbols does your test suite actually exercise? Not execution coverage, but structural coverage: "do tests at least reference this code?"
535
-
536
- ---
537
-
538
515
  ### Codebase Metrics
539
516
 
540
517
  These commands measure structural properties of the codebase — hotspots, coupling, bottlenecks, fan-in/out.
@@ -556,7 +533,7 @@ scip-query hotspots -n 15
556
533
  - `-n, --limit <n>` — Number of results (default: 30)
557
534
  - `-s, --scope <path>` — Limit to files matching path
558
535
 
559
- **Value:** Identify the symbols where a bug or breaking change would affect the most consumers. Hotspots deserve the most careful review, the best test coverage, and the most stable interfaces.
536
+ **Value:** Identify the symbols where a bug or breaking change would affect the most consumers. Hotspots deserve the most careful review and the most stable interfaces.
560
537
 
561
538
  ---
562
539
 
@@ -581,7 +558,7 @@ scip-query fan-in -n 10
581
558
  - `-n, --limit <n>` — Number of results for top mode (default: 30)
582
559
  - `-s, --scope <path>` — Limit to files matching path
583
560
 
584
- **Value:** High fan-in = widely depended upon. Changes to high fan-in symbols have large blast radius. These symbols should have stable interfaces and thorough tests.
561
+ **Value:** High fan-in = widely depended upon. Changes to high fan-in symbols have large blast radius. These symbols should have stable interfaces and careful review.
585
562
 
586
563
  ---
587
564
 
@@ -871,19 +848,19 @@ scip-query affected login --max-depth 3
871
848
 
872
849
  #### `change-surface <file>`
873
850
 
874
- Pre-change briefing for a file: every exported symbol, consumer count, test coverage, and risk level.
851
+ Pre-change briefing for a file: every exported symbol, consumer count, and blast-radius risk.
875
852
 
876
853
  ```bash
877
854
  scip-query change-surface auth.service.ts
878
855
  # File: src/services/auth.service.ts
879
- # Test coverage: 60% | External consumers: 45
856
+ # External consumers: 45
880
857
  #
881
- # 1-50 AuthService [12 consumers] (2 test files) * medium risk *
882
- # 5-20 login() [8 consumers] (1 test file)
883
- # 22-35 logout() [3 consumers] (no tests) *** HIGH RISK ***
858
+ # 1-50 AuthService [12 consumers] *** HIGH RISK ***
859
+ # 5-20 login() [8 consumers] * medium risk *
860
+ # 22-35 logout() [0 consumers]
884
861
  ```
885
862
 
886
- **Value:** One command before modifying any file. Shows what's exported, who uses it, what's tested, and what's dangerous.
863
+ **Value:** One command before modifying any file. Shows what's exported, who uses it, and which symbols carry the largest downstream blast radius.
887
864
 
888
865
  ---
889
866
 
@@ -897,13 +874,12 @@ scip-query diff-impact --base main
897
874
  # Changed files: 3
898
875
  # Changed symbols: 12
899
876
  # Affected consumer files: 28
900
- # Test coverage: 67%
901
877
  ```
902
878
 
903
879
  **Options:**
904
880
  - `--base <ref>` — Git ref to diff against (default: HEAD)
905
881
 
906
- **Value:** Run before committing. Shows everything your changes affect, which consumer files are impacted, and where test gaps exist.
882
+ **Value:** Run before committing. Shows everything your changes affect and which consumer files sit downstream of the changed symbols.
907
883
 
908
884
  ---
909
885
 
@@ -914,15 +890,12 @@ scip-query diff-impact --base main
914
890
  Detect files that deviate from their directory's typical dependency pattern.
915
891
 
916
892
  ```bash
917
- scip-query drift --min-deviation 30
893
+ scip-query drift
918
894
  # src/services/legacy-auth.ts (65% deviation from src/services)
919
895
  # Missing expected: validator.ts, logger.ts
920
896
  # Unexpected: raw-sql.ts, deprecated-crypto.ts
921
897
  ```
922
898
 
923
- **Options:**
924
- - `--min-deviation <n>` — Minimum deviation % to report (default: 30)
925
-
926
899
  **Value:** Finds files that don't follow their neighbors' conventions. The outliers are either legacy code needing migration or intentional exceptions needing documentation.
927
900
 
928
901
  ---
@@ -1149,7 +1122,7 @@ scip-query redundant-reexports
1149
1122
  - `-s, --scope <path>` — Limit to files matching path
1150
1123
  - `-n, --limit <n>` — Number of results (default: 30)
1151
1124
 
1152
- **Value:** Finds dead entries in barrel files. Note: TypeScript namespace imports (`import * as`) resolve through barrels transparently, so the command is most effective on codebases using named imports.
1125
+ **Value:** Finds dead entries in inactive barrel files. Live barrels are skipped so shared entry surfaces like package roots and CLI registries do not show up as false positives.
1153
1126
 
1154
1127
  ---
1155
1128
 
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-2UELLEBI.js.map