Agent Skills
返回列表
💻

Husky 本地 Git 钩子守卫

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/enforce-local-git-hook-checks-in-javascript-repos-with-husky。

技能介绍

问题:Git 钩子常常只在 CI 上存在

很多团队把校验只放进 CI:提交已经推送、PR 已经打开,才发现 lint 挂了、测试没跑、commit message 不符合约定。等到那时,错误信息已经离开开发者的机器,回滚和修复的成本都更高。Git 本身支持本地钩子,但 .git/hooks 目录不随仓库分发,换机器或初始化新 clone 后,这些保护常常就消失了。

这个技能做了什么

该技能围绕 Husky 展开,把 Git 钩子变成仓库内可追踪、可共享的配置。目标不是再造一套 CI,而是让 pre-commit、pre-push、commit-msg 这类检查在开发者本机,以及通过仓库工作的 Agent 执行时,都能先跑一遍。

它关注的核心能力包括:

  • 将本地 Git 钩子接入 JavaScript 仓库,而不是依赖某台机器上的临时脚本
  • 覆盖 pre-commit、pre-push、commit-msg 三个常见阶段,分别对应提交前、推送前和提交信息校验
  • 让人类开发者与 Agent 面对同一套进入远端前的守卫条件
  • 为后续接入现有工具链提供统一入口,例如 lint、格式化和测试脚本可以挂到对应钩子上

典型工作路径是:先确认环境满足 Git、Node.js 以及 npm / pnpm / yarn 之一;再把 Husky 配置纳入仓库;最后为不同钩子挂接实际检查命令。由于配置随代码维护,新克隆的仓库更容易获得一致的本地检查行为,而不是靠每个人记住执行哪条命令。

适用边界与注意点

这个技能解决的是离开工作站之前的拦截,不能替代 CI 里的完整验证,也不能替代分支保护、评审流程或发布流水线。它适合 JavaScript / Node.js 项目,尤其是希望把 lint、format、单测或 commit 规则前置到本地的团队。

实际使用时需要注意:项目必须已经引入 Husky 相关配置和钩子逻辑,技能才不会凭空生成项目里不存在的脚本。当前 SKILL.md 未能自动提取可用的安装与使用步骤,因此在敏感流程中运行前,应先审阅上游仓库,并对照 Husky 官方文档确认版本与目录约定。

使用场景

  • JavaScript 仓库里,把 lint 或测试挂到 `pre-commit`,提交前先拦截错误
  • 团队要在改动推送前执行 `pre-push` 检查,避免问题离开本机
  • 需要统一 `commit-msg` 规则,约束提交信息格式
  • 让 Agent 和开发者在提交、推送前执行同一套 Husky 钩子守卫

适合人员

  • 维护 JavaScript 仓库的工程师,想把校验前移到本地 Git 钩子
  • 负责配置提交规范的开发者,需要统一 `commit-msg` 检查
  • 开发 Agent 的维护者,希望自动化修改也先过本地守卫
  • 管理团队仓库规范的技术负责人,想让钩子配置随仓库共享