<repo>/.truecourse/, and a per-user store under ~/.truecourse/.
Per-repo: .truecourse/
Created on first use. The committable files travel with the repo through git; everything else is added to.truecourse/.gitignore automatically.
Per-user: ~/.truecourse/
Set
TRUECOURSE_HOME to relocate the whole per-user directory.
Write safety
Writes go through an atomic write-to-tmp + rename, so a crash never leaves a half-written store. Concurrent analyses are prevented by the.analyze.lock file. The server walks up from cwd looking for .truecourse/, so commands work from anywhere inside the repo.
Next steps
Baselines & diff
The commit conventions in practice, on the analyze side.
Telemetry
What anonymous usage data is collected, and how to opt out.