Skip to content

dowsingFind where fixing pays off

Behavioral code analysis for TypeScript monorepos. It crosses your git history with your code structure and points at the few places worth your time.

Thirty seconds

bash
npx dowsing analyze

Run it in a TypeScript monorepo with git history. You get a hotspot ranking, per-package risk, and hidden coupling. There is nothing to configure.

⚠ Top hotspots (complexity=loc):
┌───┬────────────────────────────────┬───────┬────────┬────────┬─────────┐
│ # │ file                           │ score │   freq │     cx │ commits │
├───┼────────────────────────────────┼───────┼────────┼────────┼─────────┤
│ 1 │ services/api/src/runtime.ts    │ 0.999 │ 100pct │ 100pct │     255 │
│ 2 │ services/api/tests/db/…test.ts │ 0.997 │ 100pct │ 100pct │     128 │
└───┴────────────────────────────────┴───────┴────────┴────────┴─────────┘

🔗 Hidden coupling — packages that change together with no dependency (1):
│ @acme/admin-web │ @acme/customer-web │ 33% │ 91 │ hidden ⚠ │

How it differs

CodeScene created this category. dowsing keeps its central insight — not all code is equal — and aims at the places where a general-purpose tool is structurally weak.

CodeScenedowsing
MonoreposRetrofitted as foldersPackage graph is first-class
Score provenanceFormulas and thresholds are closedFully published, recomputable by hand
Churn qualityAdmits renames inflate itAST comparison removes false churn
Bus factorRepository or file levelPer package
FixingAdvice onlyApplies, verifies, measures the delta
Languages39TS/TSX only — that is where the edge comes from
PricePaid, per active authorMIT

If your codebase spans many languages, CodeScene is the better fit. dowsing trades breadth for precision on TypeScript monorepos.

Released under the MIT License