truecourse analyze runs static and LLM analysis over your repository (architecture, security, bugs, performance, and more) and stores the results as plain JSON under .truecourse/.
truecourse dashboard, or diff your working tree against a committed baseline with truecourse analyze --diff.
What it catches
Rule coverage
TrueCourse ships with 1,500+ deterministic rules and 100 LLM rules:
Deterministic rules run via tree-sitter AST visitors: fast, zero-cost, no API calls. LLM rules send source code to the configured LLM for semantic analysis. They go deeper, but they require an LLM transport. Enable or disable either kind per repository; see Rules.
The deterministic scan runs in a worker thread with a per-file time budget, so a single pathological file (e.g. one that drives a rule’s regex into catastrophic backtracking) is skipped-with-a-warning instead of freezing the whole run; the analysis always completes and writes its output. The budget defaults to 30s per file and is overridable with
TRUECOURSE_DET_FILE_TIMEOUT_MS (milliseconds) for repos with unusually large legitimate sources.Language support
C#‘s semantic rules run in a Roslyn host you build once (
dotnet build -c Release tools/csharp-roslyn-host). Analyzing a repo that contains C# without the host fails fast; see Installation.
Commands
Next steps
Baselines & diff
Commit a baseline once, then see only what your changes introduce.
Rules
Configure categories, LLM rules, and individual rules per repository.