feat(doctor): detect external hook managers and check bd integration (#908)

Add detection for external git hook managers (lefthook, husky, pre-commit,
overcommit, yorkie, simple-git-hooks) and check if they have bd hooks
integration configured.

- Detect manager config files in various locations/formats
- Parse lefthook YAML/TOML/JSON to check for `bd hooks run` commands
- Check husky hook scripts for bd integration
- Report which hooks have bd integration vs missing
- Use --chain flag in `bd doctor --fix` when external managers detected
- Detect active manager from git hooks when multiple present

Executed-By: mayor
Role: mayor
This commit is contained in:
Roelof Blom
2026-01-06 04:12:14 +01:00
committed by GitHub
parent e212683103
commit ffd2e2273c
4 changed files with 1364 additions and 5 deletions

View File

@@ -5,6 +5,17 @@ All notable changes to the beads project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Added
- **External hook manager detection** - `bd doctor` now detects lefthook, husky, pre-commit, and other hook managers
- Checks if external managers have `bd hooks run` integration configured
- Reports which hooks have bd integration vs which are missing
- `bd doctor --fix` uses `--chain` flag when external managers detected to preserve existing hooks
- Supports YAML, TOML, and JSON config formats for lefthook
- Detects active manager from git hooks when multiple managers present
## [0.44.0] - 2026-01-04
### Added