SuperAPI AI 工具集

precommit-fast

编程与开发

查看项目

更新于 10-16 08:09

技能介绍

用途:在提交代码前快速执行检查,流程为 lint:fix(自动修复代码风格)后接 test(运行快速测试套件),不包含构建步骤。触发关键词包括 precommit fast、quick precommit、lint and test、precommit-fast。不适用场景:需要构建的完整 precommit(用 /precommit)、验证循环(用 /verify)、仅运行测试(直接运行)。

主要能力:优先查找并运行 .claude/scripts/precommit-runner.js,命令为 node .claude/scripts/precommit-runner.js --mode fast --tail 60。若输出 ## Overall: ✅ PASS 则直接采用;若输出 ⚠️ NO CHECKS RUN 不视为通过,需回退到生态检测执行真实检查;若 ❌ FAIL 则视为真实失败,不静默回退。未找到 runner 时尝试自动安装,需存在已知清单文件(package.json、pyproject.toml、Cargo.toml、go.mod、build.gradle、build.gradle.kts、pom.xml、Gemfile),并通过三级 Glob 查找插件脚本,找到后复制 runner 及依赖文件再运行。

回退执行:按清单检测生态并手动运行步骤,例如 Node.js 用 {pm} lint:fix 与 {pm} test:fast / test:unit / test;Python 用 ruff check --fix . 与 pytest tests/unit/;Rust 用 cargo clippy --fix 与 cargo test;Go 用 golangci-lint run --fix 与 go test ./...;Java 用 ./gradlew spotlessApply 与 ./gradlew test 或 mvn spotless:apply 与 mvn test;Ruby 用 bundle exec rubocop -a 与 bundle exec rspec。lint:fix 后运行 git diff --name-only 记录自动修复文件。失败行为为 continue-all,即运行所有步骤并报告全部结果。

限制:缺少必需工具会阻塞通过;仓库声明的能力仅在明确工具缺失证据下跳过;模糊或超时的探测视为不可用而非跳过。检查结果可通过 review-state.js 记录 note precommit pass 或 fail,该记录仅为建议性,失败不影响运行。输出包含结果表、变更文件与总体状态。