truecourse 0.6.1 → 0.6.6-next.0

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 +3 -1
  2. package/cli.mjs +1599 -920
  3. package/package.json +1 -1
  4. package/server.mjs +3088 -2507
package/README.md CHANGED
@@ -356,13 +356,15 @@ TrueCourse talks to Claude Code via the `claude` CLI. You can tune how that inte
356
356
  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:
357
357
 
358
358
  ```
359
- CLAUDE_CODE_BINARY=claude # override the `claude` binary on PATH
359
+ CLAUDE_CODE_BINARY=claude # override the `claude` binary on PATH (CLAUDE_CODE_BIN also accepted)
360
360
  CLAUDE_CODE_MODEL= # Claude Code --model flag (empty = default)
361
361
  CLAUDE_CODE_TIMEOUT_MS=120000 # per-call timeout (ms)
362
362
  CLAUDE_CODE_MAX_RETRIES=2 # retry attempts on parse/validation failure
363
363
  CLAUDE_CODE_MAX_CONCURRENCY=10 # max concurrent `claude` processes per run
364
364
  ```
365
365
 
366
+ Every command that uses Claude (`analyze` with LLM rules, `spec scan`, `spec resolve`, `contracts generate`) runs a quick up-front preflight: it makes one tiny `claude` call to confirm the CLI is installed and logged in, and aborts with the CLI's own error message if not — so an expired login is caught immediately instead of failing every extraction subprocess at the end of a long run. `CLAUDE_CODE_BINARY` is the canonical way to point at a non-default binary; `CLAUDE_CODE_BIN` is honored as a legacy alias.
367
+
366
368
  **`CLAUDE_CODE_MAX_CONCURRENCY`** caps how many Claude CLI processes TrueCourse spawns in parallel during a single run. 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.
367
369
 
368
370
  For a one-off override, prefix the command: