SuperAPI AI 工具集

pre-push

测试与质量

查看项目

更新于 10-16 01:19

技能介绍

用途:在推送到远程仓库前运行 pre-push 检查,确保代码质量。

用法:执行 /pre-push 运行当前项目的全部 pre-push 检查。

主要能力与流程:

  1. 检查 npm pre-push 脚本:在当前目录查找 package.json,若 scripts 中存在 pre-push 脚本则运行 npm run pre-push 并报告结果;成功即停止。
  2. 若无该脚本,则自动检测并在并行条件下运行检查:
  • 识别项目类型:package.json(Node.js/JavaScript/TypeScript)、pyproject.toml、setup.py、requirements.txt(Python)、Cargo.toml(Rust)、go.mod(Go)等。
  • 检测 linting、测试、构建等可用检查,通过 Task 工具(subagent_type: general-purpose,run_in_background: true)并行运行独立检查。
  • Linting:Node 下检测 ESLint、Prettier、TypeScript(npm run lint、npx eslint .、npm run type-check、npx tsc --noEmit);Python 下检测 pylint、flake8、black、mypy、ruff;Rust 运行 cargo fmt --check 和 cargo clippy;Go 运行 go fmt ./... 与 golint ./... 或 go vet ./...。
  • 测试:Node 用 npm test 或 npm run test:ci;Python 用 pytest 或 python -m pytest 或 python -m unittest discover;Rust 用 cargo test;Go 用 go test ./...。
  • 构建:Node 用 npm run build;Rust 用 cargo build;Go 用 go build ./...。
  1. 报告:汇总各并行检查结果,给出通过/失败状态、错误与修复建议,并列出运行的命令;全部通过则确认可推送。

边界情况:未检测到测试或 linting 工具时警告用户并询问是否跳过;命令因缺少依赖失败时建议安装命令;在 monorepo 或 workspace 中适当处理。

限制:资料未提供具体的工具与技能安装、收费、平台支持等信息。