# Beadboard Dolt System Workflow Beadboard supports an optional **Dolt storage backend**. Dolt is a SQL database with git-like version control, enabling advanced features like branching, merging, and historic diffs for your issue data. If your environment has Dolt enabled (no CGO build errors when using `bd`), you have access to powerful new version control commands. They behave similarly to `git` but operate purely on Beadboard issues. ## 1. Branching You can create branches of your issue database, to test speculative features or isolate a swarm of issues before merging them into main. - **List all branches**: ```bash bd branch ``` - **Create a new branch**: ```bash bd branch ``` ## 2. Version Control (Commit & Merge) Use `bd vc` to manage commits on your branch. - **View status of current branch**: ```bash bd vc status ``` - **Create a commit**: ```bash bd vc commit ``` - **Merge a branch**: ```bash bd vc merge ``` *Note: You can also rely on `--dolt-auto-commit=on` (which can be set in config) to automatically commit changes after write operations like `bd create` or `bd update`.* ## 3. Viewing Diffs You can view the exact issue changes (created, deleted, modified) between two commits or branches. - **Compare current state against a branch**: ```bash bd diff main feature-branch ``` - **Compare history**: ```bash bd diff HEAD~5 HEAD # Show changes in the last 5 commits ``` ## Summary for Agents If you receive an error about `dolt backend requires CGO` when running `bd ready`, it means the Dolt features are not available on this specific build. You must fall back to standard `bd` commands which use SQLite by default and sync via JSONL files. However, when working in a Dolt-enabled environment, you should proactively create a branch when starting a large Epic (`bd branch feature-xyz`), commit your `bd` issue changes natively tracking the state (`bd vc commit`), and merge them back when the epic is verified (`bd vc merge`).