Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Mystery-as-Code

HeroTerminal treats every investigation as code. Content lives in git and is layered into Lens at runtime:

  • Investigators (investigators/<id>/home/**): persistent personal files (music, inbox, notes).
  • Case Files (cases/<case-key>/case.yaml): metadata, leads, reputation, briefing, hero cert text.
  • Lead Assets (cases/<case-key>/fs/lead-XX/**): evidence for a single lead. These are mounted onto ~/desk/ for the active lead.

Why this matters:

  • Deterministic: same repo -> same workstation state; easy to diff and review.
  • Auditable: everything versioned; no hidden database data.
  • Composable: investigator home + case + lead overlay -> single sandbox for Lens.

Content authors change YAML and files, then redeploy. No database migrations required for story data.