Quickstart
import { Steps } from ‘@astrojs/starlight/components’;
-
Install BMO
Terminal window go install github.com/instagrim-dev/bmo@<release-tag>Replace
<release-tag>with the reviewed version from the GitHub release page (for examplevX.Y.Z).What you should see: Go downloads and compiles BMO with no errors. The binary is placed in
$GOPATH/bin(usually~/go/bin).Verify it worked: Run
bmo --version— it should print the installed version string.Recovery: If the install fails, check that Go 1.26+ is installed (
go version), that$GOPATH/binis on your$PATH, and that you used a published release tag instead of a placeholder. -
Set your API key
The simplest way is to export it in the same terminal you will use to start BMO:
Terminal window export ANTHROPIC_API_KEY=sk-ant-...Or set it in your shell profile so it’s always available. See Authentication for all supported providers.
Verify it worked: Run
test -n "$ANTHROPIC_API_KEY" && echo "ANTHROPIC_API_KEY configured"— it should print the confirmation without revealing the secret. If it prints nothing, re-export or check your shell profile. -
Start BMO in your project
Terminal window cd your-projectbmoBMO opens the interactive TUI. On first run you’ll be prompted for an API key if none is set.
What you should see: The TUI launches with a prompt input area and a sidebar. If the API key is missing, BMO shows a key-entry prompt instead.
Recovery: Press
ctrl+cor type/quitto exit BMO at any time. No files are modified until you explicitly approve a change. -
Initialize the project context
Type
/initto have BMO analyze your codebase and write the configured project context file (AGENTS.mdby default). This improves response quality in new sessions in that project./initWhat you should see: BMO scans your project files and writes an
AGENTS.md(or your configured context file) in the project root.Verify it worked: Check that
AGENTS.mdexists in your project root and contains a project summary.Undo: Delete the generated
AGENTS.mdfile. BMO does not modify any other project files during/init. -
Ask your first question
Try understanding your codebase:
What does this project do?Where is the main entry point?What are the most important files I should know about?What you should see: BMO streams a conversational answer describing your project. No files are modified during read-only questions.
-
Make a safe first change
Before asking BMO to edit production code, start with a small reversible workspace change:
Create scratch/bmo-first-edit.md with a one-paragraph summary of what this project doesBMO will show you the proposed change and ask for confirmation before writing.
What you should see: BMO displays a diff of the proposed edit and waits for your approval. No file is written until you confirm.
Before broad edits — checkpoint first: Open the Sessions dialog, select the session, then press
ctrl+kto create a checkpoint. To restore one later, pressctrl+eto open that session’s Checkpoints list, then pressEnter(orr) on the checkpoint you want. Checkpoints preserve conversation history, todos, and workspace context — not just files — so you can explore changes freely and roll back entirely if they don’t work out.Undo a file change: For the scratch file above, delete it. For a tracked file, use
git diff <file>first. Restore only that file after confirming it contains no unrelated edits:git restore -- <file>.
Essential slash commands
Section titled “Essential slash commands”| Command | What it does |
|---|---|
/new | Start a fresh session |
/session | Switch between sessions |
/model | Switch AI model mid-session |
/mode [code|chat|review|debug|plan|sre] | Change session mode |
/summarize | Compact context when it gets long |
/thinking | Toggle extended reasoning |
/help | Open the Commands palette for /tools and /capabilities discovery |
/tools | Open the Commands palette on the Tools tab |
/pack | Open the operating pack picker for session overlays such as cautious, delivery, or workspace sensing |
/capabilities | Show what BMO can do |
/review | Run the built-in code review command |
/pr-ready | Run the built-in pre-merge readiness check |
/quit | Exit BMO |
Open this guide from BMO
Section titled “Open this guide from BMO”From inside BMO, press ctrl+p (or type /) to open the Commands palette, then choose Docs (or type /docs). That opens the Quickstart guide in your default browser.
Essential keyboard shortcuts
Section titled “Essential keyboard shortcuts”| Key | What it does |
|---|---|
ctrl+p | Open the slash command picker |
ctrl+m | Open the model picker |
ctrl+s | Switch sessions |
shift+tab | Cycle session modes |
ctrl+l | Toggle the sidebar |
esc | Interrupt the active run |
Run a one-off task (no TUI)
Section titled “Run a one-off task (no TUI)”bmo run "Add a docstring to every exported function in ./internal/api"What you should see: BMO prints its progress and final output to stdout, then exits with code 0 on success. Use echo $? to check the exit code.
There is no root --session flag for resuming prior work. Use /session in
the TUI to switch between saved sessions.
Next steps
Section titled “Next steps”- Common Workflows — practical patterns for daily coding
- Keyboard Shortcuts — learn the core TUI controls
- CLI Commands — full command reference
- Configuration — customize BMO for your workflow