SuperAPI AI 工具集

health-check

测试与质量

查看项目

更新于 10-15 08:17

技能介绍

用途

Health Check 是一个无头(headless)代码库诊断技能,用于运行代码库质量门禁(quality gates),覆盖类型检查、测试、Lint、安全扫描、死代码、循环依赖和依赖审计等检查项。它的目标是在一次运行中给出代码库整体健康状况的汇总报告。

主要能力

该技能运行以下门禁检查,并捕获每项的退出码和摘要行:

  • TypeCheck(所有工作区):使用 npx tsc --noEmit,对每个工作区运行,捕获退出码和错误数量。
  • Tests:使用 npx vitest run --reporter=dot,用 dot reporter 减少输出,捕获退出码和通过/失败数量。
  • Lint:使用 npx eslint .,捕获退出码和错误/警告数量。
  • Semgrep 安全扫描:使用 semgrep scan --config auto --severity ERROR --severity WARNING --quiet;若未安装 semgrep,则记为 SKIP。
  • 循环依赖:使用 npx madge --circular --ts-config tsconfig.json src/;若发现任何循环则记为 FAIL。
  • 死代码/未使用导出:使用 npx knip --no-progress;记为 WARN(而非 FAIL),因为 knip 首次运行可能噪音较多。
  • 依赖漏洞:使用 npm audit --production(或 pnpm audit --prod);低/中危记为 WARN,高/严重记为 FAIL。

所有门禁完成后,打印一张汇总表,状态值包括 PASS、FAIL、SKIP(工具未安装)、WARN(非零但不阻塞)。

使用方式

该技能为无头模式,每一步作为单条 Bash 命令运行,捕获退出码和关键输出行,然后打印汇总表。可使用辅助脚本代替重复输入命令矩阵:

bash scripts/run-health-check.sh
bash scripts/run-health-check.sh --quick
bash scripts/run-health-check.sh --security-only
bash scripts/run-health-check.sh --code-quality

参数说明:

  • --quick:跳过 Semgrep + knip(节省时间)
  • --security-only:仅运行 Semgrep + audit
  • --code-quality:仅运行 knip + madge + typecheck(跳过安全检查和测试)
  • 若为空:运行所有门禁

适用场景

适用于需要在代码库中运行质量门禁并获取整体通过/失败概览的场景,例如在开发流程中快速了解类型检查、测试、Lint、安全、依赖健康等方面的状态。

限制与约束

该技能有明确的行为约束:

  • 绝不在第一个失败门禁后停止——即使有失败也要报告完整情况。
  • 绝不在输出中分析失败或建议修复。
  • 绝不生成子代理进行解释。
  • 绝不静默跳过缺失的工具——将其标记为 SKIP。
  • 绝不使用该技能提交、推送或修改文件。

此外,该技能只打印汇总表,不分析错误、不读取文件、不建议修复。

自定义

项目特定门禁的常见补充包括:

  • OpenAPI lint:npx spectral lint openapi.json
  • Bundle size check:npx bundlesize
  • Package exports:npx publint && npx attw --pack
  • Secret scanning:trufflehog git "file://$(pwd)" --only-verified

关于收费、价格、平台支持等具体信息,资料中暂未提供。