feat(config): add BD_NO_INSTALL_HOOKS environment variable to disable git hook installation (#500)
* feat(config): add no-install-hooks config to disable git hook installation Add `no-install-hooks` boolean config that prevents git hook installation during `bd init`. This can be set via: - Environment variable: BD_NO_INSTALL_HOOKS=1 - Global config: ~/.config/bd/config.yaml with `no-install-hooks: true` - Local config: .beads/config.yaml with `no-install-hooks: true` The existing `--skip-hooks` flag continues to work and takes precedence. Default behavior unchanged: hooks install by default. * docs: add no-install-hooks to configuration documentation - Add no-install-hooks to Supported Settings table in CONFIG.md - Add example in config file section - Add "Disabling Hook Installation" section to GIT_INTEGRATION.md with examples for flag, env var, and config file methods
This commit is contained in:
@@ -388,8 +388,8 @@ With --stealth: configures global git settings for invisible beads usage:
|
||||
}
|
||||
|
||||
// Check if we're in a git repo and hooks aren't installed
|
||||
// Install by default unless --skip-hooks is passed
|
||||
if !skipHooks && isGitRepo() && !hooksInstalled() {
|
||||
// Install by default unless --skip-hooks is passed or no-install-hooks config is set
|
||||
if !skipHooks && !config.GetBool("no-install-hooks") && isGitRepo() && !hooksInstalled() {
|
||||
if err := installGitHooks(); err != nil && !quiet {
|
||||
yellow := color.New(color.FgYellow).SprintFunc()
|
||||
fmt.Fprintf(os.Stderr, "\n%s Failed to install git hooks: %v\n", yellow("⚠"), err)
|
||||
|
||||
Reference in New Issue
Block a user