Files
gastownhall__beads/docs/cli-reference/worktree.md
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

2.8 KiB

title, description
title description
bd worktree Manage git worktrees with proper beads configuration.

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

Generated from bd help --doc worktree.

Manage git worktrees with proper beads configuration.

Worktrees allow multiple working directories sharing the same git repository, enabling parallel development (e.g., multiple agents or features).

Worktrees automatically share the same beads database as the main repository via git common directory discovery — no manual redirect configuration needed.

Examples: bd worktree create feature-auth # Create worktree bd worktree create bugfix --branch fix-1 # Create with specific branch name bd worktree list # List all worktrees bd worktree remove feature-auth # Remove worktree (with safety checks) bd worktree info # Show info about current worktree

bd worktree [flags]

bd worktree create

Create a git worktree for parallel development.

This command:

  1. Creates a git worktree at ./<name> (or specified path)
  2. Adds the worktree path to .gitignore (if inside repo root)

The worktree automatically shares the same beads database as the main repository via git common directory discovery — no redirect file needed.

Examples: bd worktree create feature-auth # Create at ./feature-auth bd worktree create bugfix --branch fix-1 # Create with branch name bd worktree create ../agents/worker-1 # Create at relative path

bd worktree create <name> [--branch=<branch>] [flags]

Flags:

      --branch string   Branch name for the worktree (default: same as name)

bd worktree info

Show information about the current worktree.

If the current directory is in a git worktree, shows:

  • Worktree path and name
  • Branch
  • Beads configuration (redirect or main)
  • Main repository location

Examples: bd worktree info # Show current worktree info bd worktree info --json # JSON output

bd worktree info [flags]

bd worktree list

List all git worktrees and their beads configuration state.

Shows each worktree with:

  • Name (directory name)
  • Path (full path)
  • Branch
  • Beads state: "redirect" (uses shared db), "shared" (is main), "none" (no beads)

Examples: bd worktree list # List all worktrees bd worktree list --json # JSON output

bd worktree list [flags]

bd worktree remove

Remove a git worktree with safety checks.

Before removing, this command checks for:

  • Uncommitted changes
  • Unpushed commits
  • Stashes

Use --force to skip safety checks (not recommended).

Examples: bd worktree remove feature-auth # Remove with safety checks bd worktree remove feature-auth --force # Skip safety checks

bd worktree remove <name> [flags]

Flags:

      --force   Skip safety checks