* 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.
4.1 KiB
title, description
| title | description |
|---|---|
| bd migrate | Database migration and data transformation commands. |
{/* AUTO-GENERATED: do not edit manually */}
Generated from bd help --doc migrate.
Database migration and data transformation commands.
Without subcommand, checks and updates database metadata to current version.
Subcommands: hooks Plan git hook migration to marker-managed format issues Move issues between repositories schema Apply pending schema migrations (idempotent) sync Set up sync.branch workflow for multi-clone setups
bd migrate [flags]
Flags:
--dry-run Show what would be done without making changes
--inspect Show migration plan and database state for AI agent analysis
--json Output migration statistics in JSON format
--update-repo-id Update repository ID (use after changing git remote)
--yes Auto-confirm prompts
bd migrate hooks
Analyze git hook files and sidecar artifacts for migration to marker-managed format.
Modes: --dry-run Preview migration operations without changing files --apply Apply migration operations
Examples: bd migrate hooks --dry-run bd migrate hooks --apply bd migrate hooks --apply --yes bd migrate hooks --dry-run --json
bd migrate hooks [path] [flags]
Flags:
--apply Apply planned hook migration changes
--dry-run Show what would be done without making changes
--json Output in JSON format
--yes Skip confirmation prompt for --apply
bd migrate issues
Move issues from one source repository to another with filtering and dependency preservation.
This command updates the source_repo field for selected issues, allowing you to:
- Move contributor planning issues to upstream repository
- Reorganize issues across multi-phase repositories
- Consolidate issues from multiple repos
Examples:
Preview migration from planning repo to current repo
bd migrate-issues --from ~/.beads-planning --to . --dry-run
Move all open P1 bugs
bd migrate-issues --from ~/repo1 --to ~/repo2 --priority 1 --type bug --status open
Move specific issues with their dependencies
bd migrate-issues --from . --to ~/archive --id bd-abc --id bd-xyz --include closure
Move issues with label filter
bd migrate-issues --from . --to ~/feature-work --label frontend --label urgent
bd migrate issues [flags]
Flags:
--dry-run Show plan without making changes
--from string Source repository (required)
--id strings Specific issue IDs to migrate (can specify multiple)
--ids-file string File containing issue IDs (one per line)
--include string Include dependencies: none/upstream/downstream/closure (default "none")
--label strings Filter by labels (can specify multiple)
--priority int Filter by priority (0-4) (default -1)
--status string Filter by status (open/closed/all)
--strict Fail on orphaned dependencies or missing repos
--to string Destination repository (required)
--type string Filter by issue type (bug/feature/task/epic/chore/decision)
--within-from-only Only include dependencies from source repo (default true)
--yes Skip confirmation prompt
bd migrate schema
Apply pending schema migrations idempotently.
Schema migrations also run automatically on store open, so this subcommand is typically a no-op. It exists to make migration explicit and observable in CI, release gates, and recovery scenarios.
Example: bd migrate schema bd migrate schema --json
bd migrate schema [flags]
Flags:
--json Output in JSON format
bd migrate sync
Configure separate branch workflow for multi-clone setups.
This sets the sync.branch config value so that issue data is committed to a dedicated branch, keeping your main branch clean.
Example: bd migrate sync beads-sync
bd migrate sync <branch> [flags]
Flags:
--dry-run Show what would be done without making changes
--json Output in JSON format