Files
Chris Sells d2f87d50de docs(pipeline): pin the CLI docs to the released bd; repair main's broken CLI reference (#4876)
* docs(pipeline): pin the generated CLI docs to the released bd; repair main's CLI reference

The #4874 squash-merge raced the docs-autofix bot: the bot had pushed a
regeneration from main's source onto the PR branch, so the squash landed a
contradictory mix — the release-aligned hand-written docs plus a CLI
reference re-documenting unreleased commands and flags, with docs.json
referencing four pages (heartbeat, migrate-personal, reclaim, unclaim)
whose files do not exist. That broken nav fails the docsync guard on main
and on every branch cut from it. This restores the intended end state of
#4874 and lands the pin that prevents the race from recurring.

- Regenerate the CLI reference from a bd built from the v1.1.0 tag (CI's
  canonical pure-Go build), removing the unreleased commands/flags and
  fixing the dangling nav entries.
- docs/cli-docs.pin names the release tag; scripts/resolve-docs-bd.sh
  builds and caches a canonical pure-Go bd from that tag, fetching the tag
  first in shallow CI checkouts.
- generate-cli-docs.sh, check-doc-flags.sh, and check-cli-docs-drift.sh
  resolve bd through the pin and ignore a supplied binary while pinned
  (BD_DOCS_IGNORE_PIN=1 bypasses), so the drift gates and the autofix bot
  now enforce docs-match-release instead of docs-match-main.
- tools/docsmint detects the pre-overhaul Docusaurus staging layout that
  bd <= v1.1.0 emits and converts it to the generic form before its normal
  Mintlify transform (tested); removable once the pin reaches a release
  whose emitter writes build/cli-docs.
- check-doc-flags.sh: run without timeout(1) on macOS instead of failing
  Check 4.
- Decision record: engdocs/decisions/2026-07-17-docs-release-pin.md; the
  beads-docs skill §8 updated to match.

* lint: annotate gosec G705 false positive in the docsmint legacy bridge

Same class as the existing nav-splice annotation: a developer tool writing
repo Markdown, not a web-output sink.
2026-07-17 18:03:28 -07:00

3.0 KiB

title, description
title description
bd backup Back up your beads database for off-machine recovery.

{/* AUTO-GENERATED: do not edit manually */}

Generated from bd help --doc backup.

Back up your beads database for off-machine recovery.

This is a Dolt-native database backup. It preserves the database state, including tables, branches, commit history, and working-set data. This is different from 'bd export', which writes issue records to JSONL for migration and interoperability.

Commands: bd backup init <path> Set up a backup destination (filesystem or DoltHub) bd backup sync Push to configured backup destination bd backup restore [path] Restore from a backup directory bd backup remove Remove backup destination bd backup status Show backup status

DoltHub is recommended for cloud backup: bd backup init https://doltremoteapi.dolthub.com/<user>/<repo> Set DOLT_REMOTE_USER and DOLT_REMOTE_PASSWORD for authentication.

bd backup [flags]

bd backup init

Configure a filesystem path or URL as a backup destination.

The path can be a local directory (external drive, NAS, Dropbox folder) or a DoltHub remote URL. If the destination was previously configured, it is updated to the new path.

Filesystem examples: bd backup add /mnt/usb/beads-backup bd backup add ~/Dropbox/beads-backup

DoltHub (recommended for cloud backup): bd backup add https://doltremoteapi.dolthub.com/myuser/beads-backup

After adding, run 'bd backup sync' to push your data.

bd backup init <path> [flags]

Aliases: add

bd backup remove

Remove the configured backup destination.

This unregisters the backup remote from Dolt and removes the local backup configuration. The backup data at the destination is not deleted.

bd backup remove [flags]

Aliases: rm

bd backup restore

Restore the beads database from a Dolt-native backup.

By default, reads from .beads/backup/ (or the configured backup directory). Optionally specify a path to a directory containing a Dolt backup.

This restores a full database backup created by 'bd backup sync' or an equivalent Dolt backup. JSONL files produced by 'bd export' are issue exports, not restore targets for this command.

Use --force to overwrite an existing database with the backup contents.

The database must already be initialized (run 'bd init' first if needed). To initialize and restore in one step, use: bd init && bd backup restore

bd backup restore [path] [flags]

Flags:

      --force   Overwrite existing database with backup contents

bd backup status

Show last backup status

bd backup status [flags]

bd backup sync

Sync the current beads database to the configured Dolt backup destination.

This pushes the entire database state (all branches, full history) to the backup location configured with 'bd backup init'.

The backup is atomic — if the sync fails, the previous backup state is preserved.

Run 'bd backup init <path>' first to configure a destination.

bd backup sync [flags]