Agent Skills
返回列表
💻

仓库卫生守门员

开发编程 更新于 2026.08.29

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

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/enforce-repo-hygiene-with-pre-commit-hooks 到你的 AI 助手。

技能介绍

先说说仓库里常见的坏味道

很多仓库的规范执行依赖 CI 或代码评审。问题在于这两者都发生在变更进入仓库之后:格式化不规范的代码、被 linter 标记的问题、误提交的密钥,甚至违反策略的改动,往往先合入 main 再被发现,回滚和修复的成本成倍上升。pre-commit 钩子的思路是把检查前移:在 git commit 完成之前,先跑一遍可重复的关卡。

这个技能做什么

它围绕 pre-commit 配置一个提交前检查网关,把仓库卫生规范固化成可执行规则,核心能力包括四类检查:

  • 格式化检查:统一缩进、换行和导入顺序,避免风格争议进入评审;
  • lint 检查:静态检查代码质量问题,提前暴露未使用的导入、类型错误和可疑写法;
  • 密钥扫描:拦截疑似硬编码的 API Key、Token 和私钥,防止凭据入库;
  • 策略校验:按仓库约定验证提交信息、文件范围或分支规则,把策略从文档变成门禁。

关键步骤很直接:声明钩子依赖 pre-commit 作为前置条件;在仓库中维护一份钩子配置,把上述检查注册为提交前任务;提交时钩子自动执行,任一检查失败则终止提交,直到问题修复并重新提交。

适用边界与注意点

  • 钩子只在本地 git commit 时触发。如果团队通过 GitHub 网页端或 API 直接合入,本地钩子不会运行,CI 侧仍需保留兜底检查。
  • 配置中的每个钩子都会拖慢提交速度,检查范围宜聚焦在变更文件上,避免全仓库扫描带来的等待。
  • 密钥扫描依赖规则或工具的覆盖面,新出现的泄露模式可能需要额外配置,不能视为绝对防线。
  • 技能本身没有提供可直接落地的安装与用法说明,需要在接入前自行审阅上游项目,确认钩子配置与依赖版本,再决定是否用于敏感工作流。
  • 规范文档可参考 pre-commit 官方站点:https://pre-commit.com/ 。

使用场景

  • 写完新功能准备提交,但不确定缩进和导入顺序是否合规,需要先过一遍格式检查再提交。
  • 调试时把测试用的 API Key 写进了配置文件,提交前想确认密钥不会被误提交进仓库。
  • 多人协作的仓库里,每次提交后 CI 都因代码风格不一致失败,想在本地提交前统一拦截格式问题。
  • 仓库约定 commit message 必须遵循特定格式,提交前需要自动校验信息是否合规再放行。

适合人员

  • 后端开发者:希望提交前自动拦截格式和 lint 问题,减少 CI 失败和返工。
  • 安全工程师:需要防止 API Key 和凭据被误提交进仓库,堵住凭据泄露的常见入口。
  • 开源仓库维护者:想把代码风格和提交规范固化为本地可重复执行的门禁,减少评审中的格式争议。