* 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.
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:
- Creates a git worktree at ./<name> (or specified path)
- 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