Documentation

Get Started

Install Bardo

Install the local bridge and prepare the workspace for .bardo bootstrap.

Install Bardo on the same machine that holds your campaign files. The default installer downloads the release binary, checks its checksum, and adds the bardo command for you.

Bardo installs a local bridge. That bridge is the local MCP server your AI client talks to while you play. The website is still involved for sign-in, approval, billing, and account status, but your campaign truth and runtime state stay local. The hosted side only handles account workflows, not hosted gameplay truth.

macOS and LinuxLink to macos-and-linux

Run curl -fsSL https://bardo.gg/install | sh.

Expected result: the installer finishes without errors and bardo --help works in a new shell.

WindowsLink to windows

Run irm https://bardo.gg/install.ps1 | iex in PowerShell.

Expected result: PowerShell installs Bardo and bardo --help works in a new terminal.

Custom install pathsLink to custom-install-paths

If you need custom paths, pass them into the shell that executes the installer:

  • macOS and Linux: curl -fsSL https://bardo.gg/install | env BARDO_INSTALL_ROOT="$HOME/.local/share/bardo-test" BARDO_BIN_DIR="$HOME/.local/bin" sh
  • Windows PowerShell: $env:BARDO_INSTALL_ROOT="$HOME/.local/share/bardo-test"; $env:BARDO_BIN_DIR="$HOME/.local/bin"; irm https://bardo.gg/install.ps1 | iex

Developer fallbackLink to developer-fallback

If you intentionally want the old source-based developer path, set BARDO_INSTALL_MODE=source before running the installer. This is for development only, not normal user setup.

What happens nextLink to what-happens-next

From the workspace root:

bardo login
bardo init
bardo connect --client codex

bardo login opens a browser approval flow. That approval gives the local bridge the account credentials it needs to start the local MCP endpoint for your client. It does not upload your campaign into a hosted gameplay backend.

The approval URL must be opened while signed in to the Bardo account that owns the subscription. A raw unauthenticated POST to the approval API returns 401 Unauthorized by design.

If ./rulebook.md exists, bardo init preserves it at .bardo/rules/rulebook.md, normalizes it into .bardo/rules/normalized/, and writes .bardo/rules/normalized/index.json.

If the rulebook lives elsewhere inside the workspace, pass it explicitly:

bardo init --rulebook ./rules/core-rulebook.md

If your source starts as a PDF, convert it to Markdown before bootstrap. The importer expects Markdown or plain text, not raw PDF bytes.

If .bardo/ is deleted later, Bardo does not silently recreate canon during play. Re-run bardo init from the workspace root before continuing.

Troubleshooting:

  • If bardo is not found, open a new shell and try again.
  • If the installer reports a checksum problem, stop there and rerun the official installer instead of forcing it.
  • If you are unsure why the browser step exists, remember: the bridge is local, but account approval and billing are hosted.
  • If approval says the bridge session expired or was not found, retry bardo login; hosted deployments must use durable bridge storage so approval and polling can meet across Vercel instances.