truecourse 0.5.3 → 0.5.5

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 (4) hide show
  1. package/README.md +22 -0
  2. package/cli.mjs +370 -64
  3. package/package.json +1 -1
  4. package/server.mjs +376 -62
package/README.md CHANGED
@@ -170,6 +170,28 @@ The first `truecourse analyze` (or `truecourse add`) in a fresh repo asks whethe
170
170
  - Node.js >= 20
171
171
  - [Claude Code](https://docs.anthropic.com/en/docs/claude-code) CLI on your PATH. Deterministic rules run without it, LLM-powered rules need it.
172
172
 
173
+ ## Configuration
174
+
175
+ TrueCourse talks to Claude Code via the `claude` CLI. You can tune how that interaction behaves — which binary to invoke, which model to pass, timeouts, retries, and how many `claude` processes to run in parallel — through environment variables.
176
+
177
+ For packaged installs (`npx truecourse` or `npm install -g truecourse`), the simplest place to set them is `~/.truecourse/.env`. The file is loaded automatically on every invocation:
178
+
179
+ ```
180
+ CLAUDE_CODE_BINARY=claude # override the `claude` binary on PATH
181
+ CLAUDE_CODE_MODEL= # Claude Code --model flag (empty = default)
182
+ CLAUDE_CODE_TIMEOUT_MS=120000 # per-call timeout (ms)
183
+ CLAUDE_CODE_MAX_RETRIES=2 # retry attempts on parse/validation failure
184
+ CLAUDE_CODE_MAX_CONCURRENCY=10 # max concurrent `claude` processes per run
185
+ ```
186
+
187
+ **`CLAUDE_CODE_MAX_CONCURRENCY`** caps how many Claude CLI processes TrueCourse spawns in parallel during a single analyze. Default `10`. Raise it on CI runners with spare headroom; lower it on resource-constrained machines (e.g. 8 GB laptops, shared VMs) to avoid OOM on large repos. Must be a positive integer.
188
+
189
+ For a one-off override, prefix the command:
190
+
191
+ ```bash
192
+ CLAUDE_CODE_MAX_CONCURRENCY=2 truecourse analyze
193
+ ```
194
+
173
195
  ## Development
174
196
 
175
197
  ```bash