Skip to content

Quickstart

import { Steps } from ‘@astrojs/starlight/components’;

  1. 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 example vX.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/bin is on your $PATH, and that you used a published release tag instead of a placeholder.

  2. 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.

  3. Start BMO in your project

    Terminal window
    cd your-project
    bmo

    BMO 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+c or type /quit to exit BMO at any time. No files are modified until you explicitly approve a change.

  4. Initialize the project context

    Type /init to have BMO analyze your codebase and write the configured project context file (AGENTS.md by default). This improves response quality in new sessions in that project.

    /init

    What 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.md exists in your project root and contains a project summary.

    Undo: Delete the generated AGENTS.md file. BMO does not modify any other project files during /init.

  5. 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.

  6. 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 does

    BMO 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+k to create a checkpoint. To restore one later, press ctrl+e to open that session’s Checkpoints list, then press Enter (or r) 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>.

CommandWhat it does
/newStart a fresh session
/sessionSwitch between sessions
/modelSwitch AI model mid-session
/mode [code|chat|review|debug|plan|sre]Change session mode
/summarizeCompact context when it gets long
/thinkingToggle extended reasoning
/helpOpen the Commands palette for /tools and /capabilities discovery
/toolsOpen the Commands palette on the Tools tab
/packOpen the operating pack picker for session overlays such as cautious, delivery, or workspace sensing
/capabilitiesShow what BMO can do
/reviewRun the built-in code review command
/pr-readyRun the built-in pre-merge readiness check
/quitExit 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.

KeyWhat it does
ctrl+pOpen the slash command picker
ctrl+mOpen the model picker
ctrl+sSwitch sessions
shift+tabCycle session modes
ctrl+lToggle the sidebar
escInterrupt the active run
Terminal window
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.