用途:validator 相当于在本地跑一遍 CI/CD 流水线,自动识别项目类型并执行相应的校验命令,最后清晰汇报结果。
主要能力:先根据项目文件判断语言/框架,如 package.json(Node.js/TypeScript/JavaScript)、tsconfig.json(TypeScript)、pyproject.toml 或 setup.py、requirements.txt(Python)、Gemfile(Ruby)、Cargo.toml(Rust)、go.mod(Go)、pom.xml(Java Maven)、build.gradle(Java/Kotlin Gradle);若同时存在多个,取更具体者(如 package.json + tsconfig.json 视为 TypeScript)。随后读取配置识别可用脚本,按顺序执行代码检查、类型检查、测试,以及可选的死代码检测。
使用方式:按项目类型运行对应命令。TypeScript/JavaScript 依次尝试 npm run lint 或 npx eslint .、npm run typecheck 或 npx tsc --noEmit、npm run test 或 npx jest,可选 npx knip。Python 用 ruff check .、flake8 或 pylint,mypy 或 pyright,pytest 或 python -m unittest discover,可选 vulture .。Ruby 用 bundle exec rubocop、bundle exec rspec 或 bundle exec rake test,可选 bundle exec debride .。Rust 用 cargo clippy -- -D warnings、cargo test、cargo build --release。Go 用 go vet ./... 或 golangci-lint run、go test ./...、go build ./...。
结果处理:捕获 stdout/stderr 与退出码,解析错误数、警告数、测试通过/失败数及具体 file:line,生成含总体状态、各检查项状态、命令与摘要表格的报告,并给出修复建议。
限制:某命令失败仍继续执行后续检查;工具未安装记为 SKIPPED 并建议安装命令;命令超过约 2 分钟记为 TIMEOUT;全程自主运行、无需交互。具体超时阈值与安装建议以实际环境为准。