SuperAPI AI 工具集

go-local-health

测试与质量

查看项目

更新于 10-15 22:38

技能介绍

用途:为 Go 仓库提供一致、可重复的本地测试、覆盖率与 lint 检查流程,避免每次重新推导命令。适用于含 go.mod/go.sum 的 Go 项目。

主要能力与模式:

  1. 快速快照(Quick Snapshot):一次性查看测试、覆盖率与 lint 结果,需要 go、tparse、golangci-lint。
  2. 交互式测试循环(Interactive Test Loop):边改代码边筛选包并重跑测试,需要 lazygotest。
  3. 覆盖率浏览(Coverage Explorer):细看覆盖率热点,需要 gocovsh。

使用方式: 先确认仓库根目录存在 go.mod,否则停止并询问。所有命令从仓库根目录运行,以正确发现模块设置与工具配置。尊重仓库的 Go 工具链配置(go.mod + toolchain),优先使用仓库固定的工具版本(如 tools.go 或 go.mod tool 指令);工具缺失且无固定版本时,先询问再安装或添加固定。

快速快照首选脚本: ~/.codex/skills/go-local-health/scripts/go-local-health --scope ./... 手动回退: go test -cover -json ./... | tparse golangci-lint run ./... 缩小范围时把 ./... 换成具体包路径。

交互式测试循环:在仓库根目录运行 lazygotest,用界面筛选包并重跑测试。

覆盖率浏览:在仓库根目录运行 gocovsh;如需 cover.out,先生成: go test -coverprofile=cover.out ./...

报告方式:汇总失败包、错误类型与覆盖率缺口;lint 失败时报告主要类别而非逐行,并询问是否立即修复;覆盖率低时指出最差包,仅在用户要求时给出后续建议。

限制:不在非 Go 仓库运行;不替换其他工具或跳过必需检查;除非用户要求,不修改 CI 配置或代码。所有自动化运行必须非交互,仅在用户明确要求时启动 TUI。仓库较大时,运行完整 ./... 前先询问是否限定到某个包路径。所需工具缺失时,应询问安装而非使用替代品。