该技能用于为项目搭建 Git 钩子,实现提交前的自动化代码质量约束。属于项目引导类工作,不改动源代码。
用途与范围:安装钩子管理工具、配置暂存文件检查、设置提交信息校验并验证钩子触发。不负责配置 linter 本身(由 ln-741 完成),也不搭建测试基础设施(由 ln-743 完成)。
支持技术栈:Node.js 使用 Husky + lint-staged + commitlint;Python 使用 pre-commit 及 pre-commit 钩子;混合项目可同时使用,提交信息统一用 commitlint。
主要流程:先检查现有配置(.husky/、.pre-commit-config.yaml、lint-staged、commitlint.config.*),已有可用则跳过,部分配置则询问用户。随后安装钩子管理器:Node 执行 npm install -D husky 与 npx husky init;Python 执行 pip install pre-commit(或 uv add --dev pre-commit)与 pre-commit install。接着配置暂存检查(如 TypeScript 用 ESLint+Prettier,JSON/MD/CSS 用 Prettier),并配置 commitlint 校验提交信息,采用 Conventional Commits 格式,类型含 feat、fix、docs、style、refactor、test、chore、ci,标题最长 100 字符。最后测试钩子,包括触发 lint-staged 与校验提交信息。
关键规则:Husky 需先初始化 Git 仓库;lint-staged 需先配置 linter(先运行 ln-741);需向用户说明可用 git commit --no-verify 紧急跳过钩子;pre-commit 钩子应尽量自动修复。Windows 环境注意跨平台脚本语法。完成后需告知用户钩子工作原理、紧急跳过方式和提交信息格式要求。