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

2.4 KiB

title, description
title description
bd hooks Install, uninstall, or list git hooks for beads integration.

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

Generated from bd help --doc hooks.

Install, uninstall, or list git hooks for beads integration.

The hooks provide:

  • pre-commit: Run chained hooks before commit
  • post-merge: Run chained hooks after pull/merge
  • pre-push: Run chained hooks before push
  • post-checkout: Run chained hooks after branch checkout
  • prepare-commit-msg: Add agent identity trailers for forensics
bd hooks [flags]

bd hooks install

Install git hooks for beads integration.

By default, hooks are installed to .git/hooks/ in the current repository. Use --beads to install to .beads/hooks/ (recommended for Dolt backend). Use --shared to install to a versioned directory (.beads-hooks/) that can be committed to git and shared with team members.

Hooks use section markers to coexist with existing hooks — any user content outside the markers is preserved across installs and upgrades.

Installed hooks:

  • pre-commit: Run chained hooks before commit
  • post-merge: Run chained hooks after pull/merge
  • pre-push: Run chained hooks before push
  • post-checkout: Run chained hooks after branch checkout
  • prepare-commit-msg: Add agent identity trailers (for orchestrator agents)
bd hooks install [flags]

Flags:

      --beads    Install hooks to .beads/hooks/ (recommended for Dolt backend)
      --chain    Chain with existing hooks (run them before bd hooks)
      --force    Overwrite existing hooks without backup
      --shared   Install hooks to .beads-hooks/ (versioned) instead of .git/hooks/

bd hooks list

Show the status of bd git hooks (installed, outdated, missing).

bd hooks list [flags]

bd hooks run

Execute the logic for a git hook. This command is typically called by thin shim scripts installed in .git/hooks/.

Supported hooks:

  • pre-commit: Run chained hooks before commit
  • post-merge: Run chained hooks after pull/merge
  • pre-push: Run chained hooks before push
  • post-checkout: Run chained hooks after branch checkout
  • prepare-commit-msg: Add agent identity trailers for forensics

The thin shim pattern ensures hook logic is always in sync with the installed bd version - upgrading bd automatically updates hook behavior.

bd hooks run <hook-name> [args...] [flags]

bd hooks uninstall

Remove bd git hooks from .git/hooks/ directory.

bd hooks uninstall [flags]