用途:自动发现项目内的 lint、格式化与验证工具,按顺序执行并修复问题,直至所有工具零错误。
主要能力:
- 工具检测:扫描项目根目录的配置文件、Makefile 目标与包管理脚本,识别可用工具。检测顺序包括 Makefile(lint、test、validate、format、gen、build、check、vet 等目标)、package.json(lint、test、format、prettier、eslint、build、typecheck 等脚本)、go.mod(golangci-lint、gofmt、go vet、go test)、pyproject.toml/setup.py(ruff、black、flake8、mypy、pytest)、.csproj/.sln(dotnet format、build、test)、Cargo.toml(cargo clippy、fmt、test),以及独立配置如 .eslintrc*、.prettierrc*、biome.json、.golangci.yml、.markdownlint*。若未检测到工具,会向用户报告并建议设置 lint,不会以空流水线继续。
- 代码生成优先:若检测到 make gen、make generate 或等价命令,先运行生成,避免生成代码覆盖手工修复;生成失败则先修复生成问题。
- 有序流水线:按生成、格式化、lint、类型检查、验证、测试、构建的顺序排列,执行前向用户展示流水线并确认,用户可增删或调整顺序。
- 执行与原子修复:按序执行,遇首个失败即停止,捕获完整输出(文件路径、行号、规则名、错误信息)。随后逐项修复:每次只修一个问题(最小改动),立即重跑失败命令,验证问题已解决且未引入新问题;若产生新问题则回滚并换方案。该命令全部解决后继续下一命令。
- 最终验证:所有命令单独通过后,以单条序列端到端重跑全部命令,任一失败则回到修复步骤。
使用方式:作为技能在支持的环境中调用,按提示确认检测到的流水线后执行。常见修复模式包括:格式化问题用 --write 或 -w 而非 --check;导入排序多用 linter 的 --fix;行尾空白与文件末尾换行可用编辑器设置或 sed -i 's/[[:space:]]*$//' file;类型错误通常需改代码而非自动修复;测试失败需判断是本次改动引入的真实缺陷还是既有的不稳定测试。
适用场景:需要在提交前统一跑通 lint、格式化、类型检查、测试与构建的项目,尤其适合多工具、多语言仓库。
限制:资料未提供具体支持的平台、安装方式、收费与价格信息;检测与修复依赖项目已有工具与配置,未检测到工具时不会自动创建流水线。