mirror of
https://github.com/gastownhall/beads.git
synced 2026-09-14 20:17:24 +08:00
d2f87d50de
* 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.
89 lines
2.4 KiB
Markdown
89 lines
2.4 KiB
Markdown
---
|
|
title: "bd hooks"
|
|
description: "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]
|
|
```
|