Skip to main content

Core workflows

Bodega One Code (CLI)

Bodega One Code is the terminal surface of Bodega One - the same engine, agent, and QEL verification you use here, driven from a shell. It shares this app's brain: provider keys, settings, sessions, and MCP servers configured in either place are visible to both. Install it once and bodega works in any terminal with zero prerequisites - the bundle carries its own runtime.

What it is

A native terminal client that spawns the same local backend this app runs. All reasoning, model selection, and QEL verification happen in that shared engine - the CLI adds an interactive session (with a first-run wizard), a headless mode whose exit code follows QEL verification (scripts and CI can trust it), parallel fleet runs, and full MCP + local-model management from the shell.

Because the app and the CLI share one data dir, there is nothing to re-configure: a provider key you saved here just works in the terminal, and a session started there shows up in your history here.

Install

Windows - Scoop is the recommended path (no SmartScreen prompt):

scoop install https://github.com/BodegaoneAI/bodegaone-cli-releases/releases/latest/download/bodega.json

Or the one-liner installer:

irm https://github.com/BodegaoneAI/bodegaone-cli-releases/releases/latest/download/install.ps1 | iex

macOS / Linux:

curl -fsSL https://github.com/BodegaoneAI/bodegaone-cli-releases/releases/latest/download/install.sh | sh

macOS bundles are signed and notarized. Manual downloads (per-platform archives + checksums) live on the release mirror; unpack anywhere and run bin/bodega. Open a new terminal after installing so PATH picks it up.

First run

  1. Run bodega. On a machine that already runs this app, it finds your existing providers and settings through the shared data dir - no setup. On a fresh machine, a short wizard walks you through picking a provider.
  2. bodega doctor verifies the install end to end (runtime, backend, data dir, providers) with PASS/WARN/FAIL rows and a fix for anything red.
  3. No API keys? bodega models recommends local models that fit your hardware, installs the runtime, and pulls one - fully offline coding after that.

Startup problems always print a plain-English cause and the command that fixes it.

The command surface

Command What it does
bodega interactive session (wizard on first run)
bodega run "<task>" headless one-shot; exit code derived from QEL
bodega models local runtimes + models: status, pull, rm, install-runtime
bodega mcp add / edit / remove MCP servers, import from other MCP clients' configs
bodega fleet "<task>" --split N N parallel isolated-worktree runs; QEL recommends the winner
bodega session portable session export / import (redaction-gated)
bodega config typed settings against the shared store
bodega self-update non-destructive update check against the official channel
bodega help <topic> in-depth topic docs in the terminal

Headless and CI

bodega run is built for scripts: the exit code is derived from the QEL verification result, not from "the model finished", so a pipeline can gate on verified work. Tool access can be restricted per run with --deny-tools, and air-gap mode is enforced by the shared engine exactly as it is in the app - a CLI run cannot reach the network when this machine is air-gapped.

bodega harness log and bodega harness revert

Want to undo what the agent changed to your persona, project rules, a skill, a remembered note, or a saved knowledge card? That's bodega harness revert. The backend keeps an audit trail of every write made through the continual-harness system - bodega harness log reads it back.

bodega harness log [--domain <d>] [--project <path>] [--limit N]

<d> is one of persona, project_rules, skill, memory, knowledge. Rows show newest first.

bodega harness revert <editId>

Replays that edit's before-value through the same write path the original edit used, restricted to your own account.

Revert works for all five domains - skill, project_rules, persona, memory, and knowledge. Knowledge revert covers saved knowledge cards; a plain URL/text reference you added with query_knowledge doesn't have a stable id to revert onto, so that one still refuses with a plain message rather than pretending it worked.

Revert also refuses if a later edit exists on the same target (revert that one first) or if the file was modified outside the log since the edit you're reverting - either way, nothing is silently overwritten.

Staying current

bodega self-update checks the official release channel and tells you when a newer version is out - it never replaces the binary behind your back. Upgrade by re-running the installer, or let Scoop / Homebrew handle it (scoop update bodega, brew upgrade bodega).

This page mirrors the in-app docs hub for app version 1.0.0-beta.35.1. Found something unclear or out of date? Tell us on Discord. New here? Download the free beta and follow along.