> ## Documentation Index
> Fetch the complete documentation index at: https://beads.gascity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# bd dolt

> Configure Dolt database settings

Generated from `bd help --doc dolt`.

Configure and manage Dolt database settings and server lifecycle.

Beads uses a dolt sql-server for all database operations. The server is
auto-started transparently when needed. Use these commands for explicit
control or diagnostics.

Server lifecycle:
bd dolt start        Start the Dolt server for this project
bd dolt stop         Stop the Dolt server for this project
bd dolt status       Show Dolt server status

Configuration:
bd dolt show         Show current Dolt configuration with connection test
bd dolt set \<k> \<v>  Set a configuration value
bd dolt test         Test server connection

Version control:
bd dolt commit       Commit pending changes
bd dolt push         Push commits to Dolt remote
bd dolt pull         Pull commits from Dolt remote

Remote management:
bd dolt remote add \<name> \<url>   Add a Dolt remote
bd dolt remote list                List configured remotes
bd dolt remote remove \<name>       Remove a Dolt remote

Configuration keys for 'bd dolt set':
database  Database name (default: issue prefix or "beads")
host      Server host (default: 127.0.0.1)
port      Server port (auto-detected; override with bd dolt set port \<N>)
user      MySQL user (default: root)
data-dir  Custom dolt data directory (absolute path; default: .beads/dolt)

Flags for 'bd dolt set':
\--update-config  Also write to config.yaml for team-wide defaults

Examples:
bd dolt set database myproject
bd dolt set host 192.168.1.100 --update-config
bd dolt set data-dir /home/user/.beads-dolt/myproject
bd dolt test

```
bd dolt [command]
```

## bd dolt clean-databases

Identify and drop leftover test and agent databases that accumulate
on the shared Dolt server from interrupted test runs and terminated agents.

Stale database prefixes: testdb\_*, beads\_test*, beads\_pt\*, beads\_vr\*, doctest\_*, doctortest\_*, benchdb\_\*

These waste server memory and can degrade performance under concurrent load.
Use --dry-run to see what would be dropped without actually dropping.

```
bd dolt clean-databases [flags]
```

**Flags:**

```
      --dry-run   Show what would be dropped without dropping
```

## bd dolt commit

Create a Dolt commit from any uncommitted changes in the working set.

This is the primary commit point for batch mode. When auto-commit is set to
"batch", changes accumulate in the working set across multiple bd commands and
are committed together here with a descriptive summary message.

Also useful before push operations that require a clean working set, or when
auto-commit was off or changes were made externally.

For more options (--stdin, custom messages), see: bd vc commit

```
bd dolt commit [flags]
```

**Flags:**

```
  -m, --message string   Commit message (default: auto-generated)
```

## bd dolt killall

Find and kill orphan dolt sql-server processes not tracked by the
canonical PID file for the current repo's Dolt data directory.

Under an orchestrator, the canonical server lives at \$GT\_ROOT/.beads/. Any other
dolt sql-server processes using that shared data directory are considered
orphans and will be killed.

In standalone mode, only dolt sql-server processes using the current
project's Dolt data directory are eligible for cleanup. Other projects'
servers are preserved.

```
bd dolt killall [flags]
```

## bd dolt pull

Pull commits from the configured Dolt remote into the local database.

Requires a Dolt remote to be configured in the database directory.
For Hosted Dolt, set DOLT\_REMOTE\_USER and DOLT\_REMOTE\_PASSWORD environment
variables for authentication.

Use --remote to pull from a specific named remote instead of the default.
The remote must already exist (see 'bd dolt remote add').

```
bd dolt pull [flags]
```

**Flags:**

```
      --remote string   Pull from a specific named remote instead of the default
```

## bd dolt push

Push local Dolt commits to the configured remote.

Requires a Dolt remote to be configured in the database directory.
For Hosted Dolt, set DOLT\_REMOTE\_USER and DOLT\_REMOTE\_PASSWORD environment
variables for authentication.

Use --force to overwrite remote changes (e.g., when the remote has
uncommitted changes in its working set).

Use --remote to push to a specific named remote instead of the default.
The remote must already exist (see 'bd dolt remote add').

```
bd dolt push [flags]
```

**Flags:**

```
      --force           Force push (overwrite remote changes)
      --remote string   Push to a specific named remote instead of the default
```

## bd dolt remote

Manage Dolt remotes for push/pull replication.

Subcommands:
add \<name> \<url>   Add a new remote
list               List all configured remotes
remove \<name>      Remove a remote

```
bd dolt remote [command]
```

### bd dolt remote add

Add a Dolt remote

```
bd dolt remote add <name> <url> [flags]
```

**Flags:**

```
      --allow-git-origin   Allow adding a Dolt remote whose URL matches the git origin (proceed with a warning instead of aborting)
```

### bd dolt remote list

List configured Dolt remotes

```
bd dolt remote list [flags]
```

### bd dolt remote remove

Remove a Dolt remote

```
bd dolt remote remove <name> [flags]
```

## bd dolt set

Set a Dolt configuration value in metadata.json.

Keys:
database  Database name (default: issue prefix or "beads")
host      Server host (default: 127.0.0.1)
port      Server port (auto-detected; override with bd dolt set port \<N>)
user      MySQL user (default: root)
data-dir  Custom dolt data directory (absolute path; default: .beads/dolt)

Use --update-config to also write to config.yaml for team-wide defaults.

Examples:
bd dolt set database myproject
bd dolt set host 192.168.1.100
bd dolt set port 3307 --update-config
bd dolt set data-dir /home/user/.beads-dolt/myproject

```
bd dolt set <key> <value> [flags]
```

**Flags:**

```
      --update-config   Also write to config.yaml for team-wide defaults
```

## bd dolt show

Show current Dolt configuration with connection status

```
bd dolt show [flags]
```

## bd dolt start

Start a dolt sql-server for the current beads project.

The server runs in the background on a per-project port derived from the
project path. PID and logs are stored in .beads/.

The server auto-starts transparently when needed, so manual start is rarely
required. Use this command for explicit control or diagnostics.

```
bd dolt start [flags]
```

## bd dolt status

Show the status of the Dolt engine for the current project.

In embedded mode, reports that the Dolt engine runs in-process and shows
the on-disk data directory. For beads-managed (local) servers, displays
PID, port, and data directory from the local PID file. For externally-
managed servers — a shared server (dolt.shared-server: true), a remote
dolt\_server\_host, or a local server managed outside bd (dolt.auto-start:
false, e.g. an orchestrator-shared sql-server) — pings the configured
endpoint via SQL and reports reachability, server version, and database.

```
bd dolt status [flags]
```

## bd dolt stop

Stop the dolt sql-server managed by beads for the current project.

This sends a graceful shutdown signal. The server will restart automatically
on the next bd command unless auto-start is disabled.

```
bd dolt stop [flags]
```

**Flags:**

```
      --force   Force stop the server
```

## bd dolt test

Test the connection to the configured Dolt server.

This verifies that:

1. The server is reachable at the configured host:port
2. The connection can be established

Use this before switching to server mode to ensure the server is running.

```
bd dolt test [flags]
```
