mcpField
Q
Quality Gates

Quality Gates

github.com/hedera-dev测试与质量28551 次安装8 周前更新
代码仓库

关于 Quality Gates

Quality Gates 是面向开发 Agent 的质量验证技能,可在文件编辑后自动检查,并指导推送前和部署前的验证。它结合按技术栈识别的检查器、CI 流程与部署清单。

主要功能

  1. 01文件编辑后自动检查
  2. 02识别技术栈和文件类型
  3. 03本地运行 lint、构建、测试与安全扫描
  4. 04五阶段部署清单

适用场景

  1. 01编辑后立即发现错误
  2. 02推送前运行质量检查
  3. 03部署前验证应用

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/hedera-dev/hedera-skills --skill quality-gates

安装后在 Claude Code 中输入/quality-gates确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
deploy-checklist.md
hook-patterns.md
ci-pipeline.md

详细介绍

质量门禁

目的

在开发的每个阶段自动进行质量验证,从单个文件的编辑到完整部署。质量门禁能及早发现错误,此时修复成本最低。

PostToolUse 钩子

最强大的质量门禁:每次编辑或创建文件时都会自动进行验证。

工作原理
  1. Agent 使用 Edit 或 Write 修改文件
  2. PostToolUse 钩子自动触发
  3. 验证脚本检测文件类型并运行相应的检查器
  4. 结果会立即显示给 Agent
  5. Agent 发现错误后,可在同一会话中修复
设置

此插件在 hooks/hooks.json 中包含一个开箱即用的钩子,用于运行 scripts/post-edit-check.sh。作为插件安装时,该钩子会自动生效。

如需在项目中手动设置,请添加到 .claude/settings.json:

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          {
            "type": "command",
            "command": "bash .claude/scripts/post-edit-check.sh"
          }
        ]
      }
    ]
  }
}

**重要:**命令必须严格为 bash .claude/scripts/post-edit-check.sh,不要添加参数。该脚本会自动从环境中读取 $CLAUDE_TOOL_INPUT。

有关针对不同技术栈的钩子示例,请参阅 references/hook-patterns.md。

部署检查清单

部署任何应用程序之前,请完成以下 5 个验证阶段:

阶段内容门槛
1. 代码质量Lint + 类型检查 + 测试全部通过
2. 构建完整构建成功产物存在
3. 环境必需的环境变量均已配置全部已设置(绝不读取变量值)
4. 容器镜像构建并启动无错误
5. 部署后健康检查端点、日志200 OK,日志无异常

有关各技术栈的完整验证命令,请参阅 references/deploy-checklist.md。

CI 推送前门禁

推送到远程之前,请在本地运行完整的质量检查套件:

Lint → Build → Test → Security Scan

关键规则:

  • 按顺序运行各阶段
  • 首次失败时立即退出
  • 总耗时控制在 2 分钟以内
  • 不要跳过任何阶段
  • 将结果保存到 .claude/reports/ci/

有关完整的流水线模板,请参阅 references/ci-pipeline.md。

技术栈检测

质量门禁系统会自动检测项目的技术栈,以运行合适的验证器。

检测优先级
检查项检测到的技术栈主要验证器
存在 tsconfig.jsonTypeScriptnpx tsc --noEmit
存在 package.json(无 tsconfig)JavaScriptnpx eslint
存在 pyproject.toml 或 setup.pyPythonruff check
存在 Cargo.tomlRustcargo check
存在 go.modGogo vet ./...
文件扩展名回退

编辑单个文件时,根据扩展名检测:

扩展名验证器
.ts、.tsxTypeScript 检查器
.js、.jsxESLint(如果已配置)
.pyruff 或 py_compile
.rscargo check
.gogo vet
其他静默通过

工作流集成

开发期间
  • PostToolUse 钩子会在每次编辑时捕获错误
  • Agent 会立即修复问题,避免问题累积
推送之前
  • 在本地运行 CI 流水线:lint → build → test → security
  • 推送前所有阶段都必须通过
部署之前
  • 完成部署检查清单
  • 验证构建、环境和健康检查端点
  • 确保回滚方案已准备就绪

交叉引用

  • references/hook-patterns.md — 各技术栈的 PostToolUse 钩子示例
  • references/deploy-checklist.md — 部署前的 5 阶段验证
  • references/ci-pipeline.md — 本地 CI 流水线模式

评论

支持 Markdown