Skip to content

gvt add — 为已有项目添加钩子检查

在已有项目中注册一个目录,自动检测其工具链并生成对应的钩子检查配置。

用法

bash
# 交互模式
cd your-project
gvt add

# 快捷模式
gvt add --dir frontend/my-app

# 指定前端框架(前端模块必选)
gvt add --dir frontend/my-app --framework vue3
gvt add --dir frontend/my-app --framework react

# 指定模块类型,跳过歧义选择
gvt add --dir backend --type backend

# 允许 Vue 内联样式
gvt add --dir frontend/portal --framework vue3 -s

交互流程

$ cd existing-project
$ gvt add

 → 输入前端目录路径: frontend/my-app
 → 正在检测工具链...
   ✓ 类型: vue3 | 包管理器: pnpm
   ✓ 工具: ESLint, Prettier, TypeScript, Vite
 → 选择前端框架: Vue 3 / React(必选)
   ✓ 将注册检查项: line_count, lint, build, format, types
 → 确认添加? Yes
   ✓ 已更新 .gvt/hook/ 配置文件
   ✓ 已安装 .githooks/pre-commit 钩子

参数

参数简写说明
--dir-d目录路径(相对项目根目录)
--type-t模块类型:backend / frontend(跳过歧义选择)
--framework-f前端框架:vue3 / react(注册前端模块时必选
--allow-inline-styles-s允许 Vue 内联样式

自动检测的检查项

根据检测结果自动生成检查项:line_countlintbuildformattypesinline_styles。不强制使用 oxc 工具链。

Vue 3 与 React 的差异化检查

检查项Vue 3React
inline_styles_block✓(无 oxlint 时启用)
vue-types✓(有 vue-tsc 时启用)
ts-types✓(有 typescript 时启用)

配置文件位置

注册后写入 .gvt/hook/modules/<name>.toml(或 .gvt/hook/frontend/<name>.toml / .gvt/hook/backend/<name>.toml)。文件名由路径推导:

  • . → 项目名
  • 多层路径用 - 连接,如 frontend/my-appfrontend-my-app

自动生成规范文档

注册后自动为所有已启用模块生成开发规范文档(默认 CONVENTIONS.md),放在各模块自身目录下。修改 .gvt/hook/ 配置后,运行 gvt doc 一键重新生成所有模块文档(也可指定模块名只更新单个模块,名称来自 gvt ls)。详见 gvt doc 命令。

激活钩子

gvt add 自动激活 .githooks,每次 git commit 触发 gvt hook -t 检查。无需手动执行 scripts/install-hooks.sh

适用场景

  • 旧项目接入 GVT 代码检查
  • 为第三方前端目录补充行数/lint/构建检查
  • 在 monorepo 中按目录注册多个独立检查模块

基于 MIT 协议开源