Engines
Claude Code, Codex, opencode, Gemini, Antigravity and Kimi Code — plus a plain shell, with no agent at all.
The self-hosted command deck for AI coding agents. This site is the repository's own documentation, rendered — built from the same filtered public snapshot that feeds the GitHub mirror, so it contains only content eligible for the public mirror.
If you have never run BattleLab, read Install and then Trust model — in that order. The second one matters more than it looks: BattleLab launches AI coding agents with permission bypass by design, so its trust boundary is SSH access to the host, not the login form.
If you are already running it, the Guide has one page per capability, and the Reference has every CLI subcommand, route and environment variable in one place.
This site is built from the filtered public snapshot — the same tree scripts/check-public-snapshot produces and the GitHub mirror is cut from. Pages like Security and Reference are not retyped here: they are the repository's own SECURITY.md and docs/reference.md, included verbatim, so there is no second copy to drift.
That is a claim about eligibility, not about matching the mirror's HEAD. The mirror is pushed by an operator, so a build can be ahead of the last publish and describe behaviour that is not yet mirrored or released. The footer on every page names the exact commit it was built from and how far ahead of the last publish that is — or says unknown rather than guessing, when the provenance cannot be established.
Automatic rebuild-on-merge is not wired up yet
The build is reproducible today — scripts/build-docs-site runs the whole pipeline, gates included, from any checkout. What does not exist yet is the deployment that runs it on every merge to main; until that lands, this site is published when someone runs it. The footer stamp is the thing to trust in the meantime: it names the commit you are actually reading.
The /guide/ pages are the exception worth knowing about: they are new prose, so they can go semantically stale while the build stays green. Each one carries a verified against line naming the commit and the constants it was checked against.