三大Git Hook管理器集成教程:GGA无缝搭配Husky、pre-commit与Lefthook 【免费下载链接】gentleman-guardian-angel Gentleman Guardian Angel (gga) - Provider-agnostic code review using AI. Use Claude, Gemini, Codex, Ollama to enforce your coding standards.项目地址https://gitcode.com/gh_mirrors/ge/gentleman-guardian-angel点击查看免费下载GGAGentleman Guardian Angel是一款提供商无关的 AI 代码审查工具可搭配任意 Git Hook 管理器在每次提交时自动检查代码规范。本教程面向新手完整演示三大 Git Hook 管理器——Husky、pre-commit 与 Lefthook——的集成步骤与配置示例帮你快速搭建提交即审查的自动化防线。为什么需要 Git Hook 管理器GGA 的核心思路很简单在git commit时拦截提交把暂存区的文件交给 AIClaude、Gemini、Codex、Ollama 等均可对照项目里的AGENTS.md规范文件逐条审查——通过STATUS: PASSED则放行失败则直接阻止提交。GGA 本身默认写入原生 Git Hook.git/hooks/pre-commit入口为 bin/gga。但如果团队同时有多个检查项、且要随仓库分发给每位成员就需要专业的 Git Hook 管理器来统一管理。HuskyNode 生态首选、pre-commitPython 标准解、LefthookGo 编写、快速且语言无关正是三大主流方案。 官方集成文档docs/integrations.md第 0 步安装 GGA三种方案通用前置⚡先确保本机装有 GGA 和至少一个 AI 提供商 CLI# 方式一Homebrew推荐 brew install gentleman-programming/tap/gga # 方式二源码安装 git clone https://gitcode.com/gh_mirrors/ge/gentleman-guardian-angel cd gentleman-guardian-angel ./install.sh然后在你的业务项目中初始化配置cd ~/your-project gga init # 在项目根目录生成 .gga 配置文件接着创建规范文件AGENTS.md这是 GGA 的审查依据并在.gga中设置PROVIDER。完整配置项说明见 docs/configuration.md。 使用 Hook 管理器时无需再执行gga install——把一行gga run写进管理器的 pre-commit 配置即可效果完全一致。方案一Husky 集成配置JavaScript/TypeScript 项目首选Husky 是 Node 生态最流行的 Git Hook 管理器适合前端与全栈团队。一键安装与初始化步骤npm install -D husky npx husky init编写 .husky/pre-commit 脚本Husky 初始化后把 AI 审查写入.husky/pre-commit#!/usr/bin/env bash # 运行 Gentleman Guardian Angel内部自动读取 git 暂存文件 gga run || exit 1 # 其他检查可选 npm run lint npm run typecheck只要gga run退出码非 0审查失败提交就会被阻止。进阶搭配 lint-staged 分工协作在package.json中声明lint-staged负责格式化让 GGA 先审查、格式化随后执行#!/usr/bin/env bash gga run || exit 1 # AI 审查先行 npx lint-staged # 再做本地格式化GGA 自带智能缓存未变化文件直接跳过逻辑见 lib/cache.sh串行执行不会明显拖慢提交速度。方案二pre-commit 集成配置Python 项目标准解pre-commit 框架是 Python 社区的事实标准它支持把任意本地命令注册为 Hook接入 GGA 非常直接。最快配置方法1. 安装框架pip install pre-commit # 或brew install pre-commit2. 创建.pre-commit-config.yamlrepos: # Gentleman Guardian Angel最先执行 - repo: local hooks: - id: gga name: Gentleman Guardian Angel entry: gga run language: system pass_filenames: false stages: [pre-commit]关键参数解读参数作用repo: locallanguage: system不下载外部仓库直接调用本机gga命令pass_filenames: falseGGA 自己读取暂存文件无需接收文件名参数stages: [pre-commit]声明该 Hook 在提交前阶段执行3. 安装并验证pre-commit install pre-commit run gga # 只跑 AI 审查 pre-commit run --all-files # 对仓库全部文件跑一遍pre-commit run --all-files很适合团队刚接入 GGA 时给存量代码做一次整体体检。方案三Lefthook 集成配置快速、语言无关Lefthook 用 Go 编写启动速度快一套配置适用于任意语言项目。Lefthook 配置文件写法1. 安装brew install lefthook # 或npm install -D lefthook2. 创建lefthook.ymlpre-commit: parallel: false commands: ai-review: run: gga run fail_text: GGA 审查未通过请先修复违规项再提交 lint: glob: *.{ts,tsx,js,jsx} run: npm run lint typecheck: run: npm run typecheck两个实用细节parallel: false保证命令按声明顺序串行执行AI 审查先跑fail_text让失败提示更友好、信息更明确。3. 安装 Hooklefthook install三大 Git Hook 管理器怎么选维度Huskypre-commitLefthook适用场景JS/TS 项目Python 生态为主任意语言配置载体.husky/目录.pre-commit-config.yamllefthook.yml执行性能较快一般各 Hook 独立环境快Go 编写新成员接入npm install触发prepare自动装pre-commit installlefthook installGGA 接入方式写进.husky/pre-commitrepo: local注册commands中执行gga run一句话选择建议Node 项目选 HuskyPython 项目选 pre-commit追求速度或多语言混合项目选 Lefthook。无论选谁与 GGA 对接的核心都只有一条命令gga run。集成常见问题排查 ✅Hook 没触发IDE如 VS Code提交时可能走不同的 shell 环境请在 IDE 内置终端执行which gga确认可解析更多报错处理见 docs/troubleshooting.md。Provider not foundHook 环境里找不到 AI CLI确认 Claude / Gemini / Codex 等命令行工具已安装且在PATH中。审查太慢在.gga里用EXCLUDE_PATTERNS排除生成物与构建产物未变化文件会被缓存自动跳过机制详见 docs/caching.md。需要临时跳过所有方案下都可以用git commit --no-verify -m wip绕过 pre-commit 检查--no-verify可简写为-n。小结把 GGA 接入 Husky、pre-commit 或 Lefthook本质就是把一行gga run放进对应管理器的 pre-commit 配置。配置随仓库提交后团队的每位成员都能获得一致的 AI 代码审查守门员。更多命令用法参考 docs/commands.mdHook 安装与卸载的自动化测试用例见 spec/integration/hooks_spec.sh。赞分享【免费下载链接】gentleman-guardian-angel Gentleman Guardian Angel (gga) - Provider-agnostic code review using AI. Use Claude, Gemini, Codex, Ollama to enforce your coding standards.项目地址https://gitcode.com/gh_mirrors/ge/gentleman-guardian-angel点击查看免费下载相关推荐prek 迁移指南从 pre-commit、lint-staged、Husky 与 Lefthook 平滑切换到 Rust 版 Git Hook 管理器prek 迁移指南从 pre commit、lint staged、Husky 与 Lefthook 平滑切换到 Rust 版 Git Hook 管理器 pr开发工具代码质量Ruff Pre-Commit Hook 使用教程Ruff Pre Commit Hook 使用教程 1. 项目的目录结构及介绍 Ruff Pre Commit Hook 项目的目录结构如下 ruff pre开发工具Lint格式化代码质量yapf 编辑器集成实战Vim 插件、TextMate 命令与 Git Pre-Commit Hook 配置全指南yapf 编辑器集成实战Vim 插件、TextMate 命令与 Git Pre Commit Hook 配置全指南 yapfA formatter for代码质量开发工具CLI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考