Skip to content

Git Hooks 代码检查(总览)

基于 Go 实现的 pre-commit 检查体系,通过 .gvt/hook/ 目录下的配置文件管理。每个模块一个 .toml 文件,支持独立的 enabled 开关,支持行数检查、lint、类型检查、构建检查等多种检查项。

命令

bash
# 检查所有已变更的文件(默认:暂存区 + 工作区 + 未跟踪文件)
gvt hook

# 仅检查暂存区(已 git add)的文件(pre-commit 钩子使用)
gvt hook -t

# 全项目扫描
gvt hook --all

激活 Git 钩子:

bash
bash scripts/install-hooks.sh

设计理念

  • 单一职责:每种检查(行数、lint、类型、构建)独立实现,互不耦合。
  • 可组合:通过 .tomlchecks 字段自由组合检查项。
  • 双阈值:行数检查区分警告(warn)与错误(error),默认 250 / 300 行。

相关页面

  • 配置结构 — 目录布局与字段说明
  • 检查项 — 全部检查项含义与适用场景
  • gvt doc — 从配置文件生成开发规范文档

注意事项

  • .githooks/.gvt/hook/ 不由 gvt init 生成,需运行 gvt add 安装。
  • 默认只检查暂存文件;使用 gvt hook --all 进行全量扫描。
  • gvt add 注册后自动生成规范文档;修改配置后运行 gvt doc <模块名> 重新生成(名称来自 gvt ls)。
  • build 检查在构建成功后还会扫描产物中的 vite-browser-external 标识,拦截 Vite/Rolldown 因依赖缺失而静默外部化 Node.js 模块导致的浏览器运行时崩溃(详见检查项)。

基于 MIT 协议开源