Skip to main content

Install

This puts the truecourse command on your PATH. Prefer not to install globally? Run any command one-off with npx truecourse <command> instead. See Installation for prerequisites.
The very first truecourse command you run asks once how TrueCourse should reach the LLM (your existing Claude Code login, recommended and key-free, or a provider API with your own key) and saves the answer. Deterministic analysis works with neither. See LLM transport.

Analyze your code

1

Run the analysis

The first run creates .truecourse/ in your repo and stores results there as plain JSON.
2

See what it found

Lists the violations from the latest analysis: severity, rule, file, and line.
3

Open the dashboard

Browse the architecture graph, violations, and analytics visually. See Dashboard.
4

Commit the baseline

With a committed baseline, truecourse analyze --diff shows only what your in-flight changes introduce, and the optional pre-commit hook can block new violations. See Baselines & diff.

Guard your specs

The spec → guard track turns your docs into executable checks. It needs an LLM for spec scan, guard setup, and guard generate (not for guard run), and a git repository, because baselines are commit-anchored.
1

Curate your docs into a corpus

Walks every markdown and OpenAPI file in the repo, drops non-spec material, tags each kept doc into areas, and flags within-area overlaps where two docs may disagree. See Spec scan.
2

Review flagged conflicts

Resolve genuine disagreements between docs with truecourse spec conflicts resolve: pick a side or dismiss. See Resolving conflicts.
3

Prepare the repo

The cheap preparation stage (at most two LLM calls): derives and proves the build recipe, declares the external APIs your app calls, and drafts the data + auth seed. A prerequisite for generate. See Guard setup.
4

Author scenario tests

An LLM splits each doc into sections, classifies what’s testable, authors declarative YAML scenarios bound to each section, and birth-validates each one by running it immediately. See Guard generate.
5

Run the scenarios

Fully deterministic: builds the repo via the recipe and executes every committed scenario. Exits non-zero on any drift, so it drops straight into CI. See Guard run.

Next steps

What analyze catches

The 8 rule categories, deterministic vs LLM rules, and language support.

How guard works

The four-stage pipeline: spec consolidation → setup → scenario generation → deterministic runs.

Git hooks

Block commits that introduce new violations.

LLM transport

Claude Code, a provider API, or an agent mailbox.