2424
2525---
2626
27- Think of doxy as ** "caniuse for npm packages"** — it reads your lockfile versions and curated API data to find mismatches at lint time, with zero runtime cost.
27+ Think of doxy as ** "caniuse for npm packages"** — it reads your installed or declared dependency versions and curated API data to find mismatches at lint time, with zero runtime cost.
2828
2929```
3030$ doxy verify
@@ -57,11 +57,10 @@ $ doxy verify
5757- ** Removed API detection** — errors when you use APIs removed in your installed version
5858- ** Future API detection** — errors when you use APIs that require a newer version than installed
5959- ** Wrong arity detection** — errors when you call functions with the wrong number of arguments
60- - ** Incremental analysis** — only re-analyzes changed files using git diff + content hashing
6160- ** Inline suppression** — silence specific findings with ` // doxy-ignore ` comments
6261- ** Config-level suppression** — suppress patterns project-wide with glob-based rules
63- - ** Multiple output formats** — human-readable, JSON, JSONL, SARIF
64- - ** Framework-aware** — understands React/Next.js import patterns and re-exports
62+ - ** Multiple output formats** — human-readable, JSON, JSONL
63+ - ** Framework-aware** — understands React import patterns and ReactDOM subpaths
6564- ** Fast** — powered by SWC for parsing (~ 100x faster than TypeScript compiler)
6665
6766## Installation
@@ -86,14 +85,11 @@ yarn add -D doxy
8685# Run verification on your project
8786npx doxy verify
8887
89- # Only check changed files (great for CI)
90- npx doxy verify --changed
91-
9288# Output as JSON for tooling integration
9389npx doxy verify --json
9490
95- # Get detailed info about a specific finding
96- npx doxy explain dxy_a1b2c3d4
91+ # Output as JSONL for agent or streaming workflows
92+ npx doxy verify --jsonl
9793```
9894
9995## CLI Reference
@@ -103,32 +99,14 @@ npx doxy explain dxy_a1b2c3d4
10399| Command | Description |
104100| ---| ---|
105101| ` doxy verify [files...] ` | Run verification (default command) |
106- | ` doxy init ` | Initialize doxy in your project |
107- | ` doxy explain <finding-id> ` | Detailed explanation of a finding |
108- | ` doxy cache status ` | Show cache statistics |
109- | ` doxy cache clear ` | Delete cached data |
110- | ` doxy authority list ` | List loaded authority packages |
111- | ` doxy authority update ` | Pull latest authority data |
112- | ` doxy authority show <pkg> [export] ` | Inspect authority data for a package |
113- | ` doxy fix [files...] ` | Apply auto-fixes |
114102
115103### Verify Flags
116104
117105| Flag | Description |
118106| ---| ---|
119107| ` --json ` | Output findings as JSON |
120108| ` --jsonl ` | Output findings as newline-delimited JSON |
121- | ` --sarif ` | Output findings in SARIF format |
122- | ` --severity <level> ` | Minimum severity to report (default: ` warning ` ) |
123- | ` --fail-on <level> ` | Exit non-zero threshold (default: ` error ` ) |
124- | ` --changed ` | Only analyze changed files |
125- | ` --base <ref> ` | Git ref for diff base |
126- | ` --no-cache ` | Disable caching |
127- | ` --framework <name@version> ` | Override framework detection |
128- | ` --save-baseline ` | Save current findings as baseline |
129- | ` --update-baseline ` | Update baseline to current findings |
130- | ` --include-baseline ` | Show baseline findings in output |
131- | ` --include-suppressed ` | Show suppressed findings in output |
109+ | ` [files...] ` | Optional explicit files to analyze instead of config globs |
132110
133111### Exit Codes
134112
@@ -217,7 +195,7 @@ Lockfile ─────┘ │ │ │
2171953 . ** Query** — Each symbol is checked against curated authority data for your installed version
2181964 . ** Emit** — Findings are generated with severity, messages, and fix suggestions
2191975 . ** Filter** — Inline and config-level suppressions are applied
220- 6 . ** Cache ** — Results are cached per-file with smart invalidation
198+ 6 . ** Report ** — Findings are emitted in human, JSON, or JSONL format
221199
222200doxy never executes your code. It reads your lockfile for installed versions and uses curated API specifications to detect issues statically.
223201
@@ -226,9 +204,8 @@ doxy never executes your code. It reads your lockfile for installed versions and
226204| Framework | Status | Packages |
227205| ---| ---| ---|
228206| React | Supported | ` react ` , ` react-dom ` |
229- | Next.js | Planned | ` next ` |
230207
231- Authority data currently covers ** 27 API specs ** across React and ReactDOM, including hooks, lifecycle methods, rendering APIs, and more .
208+ Authority data currently covers React and ReactDOM APIs , including hooks, lifecycle methods, rendering APIs, and deprecation timelines .
232209
233210## Finding Kinds
234211
@@ -238,7 +215,6 @@ Authority data currently covers **27 API specs** across React and ReactDOM, incl
238215| ` removed-api ` | error | API was removed in your installed version |
239216| ` future-api ` | error | API requires a newer version than installed |
240217| ` wrong-arity ` | error | Function called with wrong number of arguments |
241- | ` wrong-param ` | error | Function called with wrong parameter names |
242218| ` unknown-export ` | info | Export not found in authority data |
243219
244220## CI Integration
@@ -249,12 +225,6 @@ Authority data currently covers **27 API specs** across React and ReactDOM, incl
249225 run : npx doxy verify --fail-on error
250226` ` `
251227
252- ` ` ` yaml
253- # With JSON output for annotations
254- - name : Check API compatibility
255- run : npx doxy verify --json > doxy-results.json
256- ` ` `
257-
258228doxy writes **findings to stdout** and **everything else to stderr**, making it easy to pipe and parse output in CI pipelines.
259229
260230## Contributing
@@ -273,17 +243,17 @@ npm run check # typecheck + lint + test
273243```
274244doxy/
275245├── src/
276- │ ├── cli/ CLI entry point + commands
246+ │ ├── cli/ `verify` command + reporters
277247│ ├── core/ Pure analysis logic
278248│ │ ├── types/ All shared type definitions
279249│ │ ├── repo-context/ Version detection from manifests
250+ │ │ ├── files/ File discovery from config globs
280251│ │ ├── import-resolver/ Import → package/export mapping
252+ │ │ ├── analyzer/ Per-file analysis orchestration
281253│ │ ├── suppression/ Inline + config suppression
282- │ │ └── analyzer/ Per-file analysis orchestration
283254│ ├── authority/ Authority data store
284255│ ├── adapters/ Framework-specific adapters
285256│ ├── parser/ SWC-based AST parsing
286- │ └── incremental/ Git diff + caching
287257├── authority-data/ Curated API spec datasets
288258└── fixtures/ Test fixture mini-projects
289259```
0 commit comments