react-doctor 0.2.14-dev.52ecf12 → 0.2.14-dev.5976266

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.
package/README.md CHANGED
@@ -27,6 +27,14 @@ npx react-doctor@latest
27
27
 
28
28
  https://github.com/user-attachments/assets/07cc88d9-9589-44c3-aa73-5d603cb1c570
29
29
 
30
+ On a large repo, add `--experimental-parallel` to fan the scan out across your CPU cores:
31
+
32
+ ```bash
33
+ npx react-doctor@latest --experimental-parallel
34
+ ```
35
+
36
+ React Doctor's rules run as oxlint JS plugins, which are single-threaded per process, so the scan scales nearly linearly with the number of worker processes — typically 3–4x faster on large codebases. Pass `--experimental-parallel <n>` to cap the worker count, or set `REACT_DOCTOR_PARALLEL=<n>` (handy in CI). Diagnostics are identical to a serial run.
37
+
30
38
  ### 2. Install for agents
31
39
 
32
40
  Once you have an audit, you can install the skill for your coding agent to learn from the issues and fix them in the future.
@@ -69,11 +77,27 @@ jobs:
69
77
 
70
78
  React Doctor scans the files changed in the pull request, emits inline annotations, blocks on error-level findings, and updates one sticky PR comment with the score and issue summary. The built-in GitHub token is used automatically; no secret or PAT is required. On forked PRs where GitHub withholds write permissions, the scan and annotations still run, but the sticky comment may be skipped.
71
79
 
80
+ **Permissions:** set `permissions: { contents: read, pull-requests: write }` so React Doctor can read the pull request's changed files for a changed-files-only scan and post the sticky summary comment. If `pull-requests: read` is unavailable (for example on fork PRs or with a restricted default token), the action degrades gracefully to a full-project scan instead of failing.
81
+
72
82
  [Add GitHub Action →](https://github.com/marketplace/actions/react-doctor)
73
83
 
74
- ### 4. Configure rules in `react-doctor.config.json`
84
+ ### 4. Configure rules in `doctor.config.ts`
85
+
86
+ Configure with a `doctor.config.ts` (or `.js`, `.mjs`, `.cjs`, `.json`, `.jsonc`) in your project root — or a `"reactDoctor"` key in `package.json`.
75
87
 
76
- Point the `$schema` key at `https://react.doctor/schema/config.json` to get autocomplete, hover docs, and typo warnings for every option in any editor that understands JSON Schema.
88
+ ```ts
89
+ // doctor.config.ts
90
+ import type { ReactDoctorConfig } from "react-doctor/api";
91
+
92
+ export default {
93
+ lint: true,
94
+ rules: {
95
+ "react-doctor/no-array-index-as-key": "off",
96
+ },
97
+ } satisfies ReactDoctorConfig;
98
+ ```
99
+
100
+ Prefer JSON? Use `doctor.config.json` and point `$schema` at `https://react.doctor/schema/config.json` for autocomplete, hover docs, and typo warnings in any editor that understands JSON Schema (comments and trailing commas are allowed):
77
101
 
78
102
  ```jsonc
79
103
  {
@@ -82,6 +106,17 @@ Point the `$schema` key at `https://react.doctor/schema/config.json` to get auto
82
106
  }
83
107
  ```
84
108
 
109
+ Don't hand-edit if you'd rather not — the `rules` subcommands list, explain, and configure rules for you (they edit your `doctor.config.*` in place — including TS/JS, preserving formatting — or `package.json#reactDoctor`):
110
+
111
+ ```bash
112
+ npx react-doctor@latest rules list # every rule + its effective severity
113
+ npx react-doctor@latest rules explain <rule> # why a rule matters and how to tune it
114
+ npx react-doctor@latest rules disable <rule> # turn a rule off
115
+ npx react-doctor@latest rules set <rule> warn # off | warn | error
116
+ npx react-doctor@latest rules category "React Native" off
117
+ npx react-doctor@latest rules ignore-tag design # skip a whole rule family
118
+ ```
119
+
85
120
  ## Contributing
86
121
 
87
122
  [Issues welcome!](https://github.com/millionco/react-doctor/issues)