用途:在提交代码前强制执行代码质量标准,通过自动化的 lint、格式化和静态分析,确保代码符合项目约定。该技能为强制技能,由 safe-commit 自动调用,官方明确要求不要手动运行 linter。
主要能力:检测项目语言(如 package.json、go.mod、requirements.txt、Cargo.toml 等),运行标准检查(lint、格式化、类型检查、静态分析,支持时自动修复),并运行语言相关的深度审计(如 control-flow-check、type-safety-audit、n-plus-one-detection)。支持 Node.js/TypeScript(ESLint、Prettier、tsc、npm audit)、Go(gofmt、go vet、golangci-lint、go mod tidy)、Python(ruff、mypy,回退 black、flake8、isort)、Rust(rustfmt、clippy)、Java(Maven/Gradle spotless、checkstyle)。
使用方式:由 safe-commit 在提交前、create-pr 在创建 PR 前自动调用。检查范围是整个仓库,例如 ruff check .、eslint .、golangci-lint run ./...,必须修复所有发现的问题,而非仅修改过的文件。修复后必须重新运行同一检查,循环直到零错误。运行前会检测工具是否安装,缺失时报告并给出安装命令;优先使用项目配置(.eslintrc、.prettierrc、.golangci.yml、pyproject.toml、.editorconfig)及 Makefile/npm 脚本。
限制:提交被严格禁止,除非最近一次质量检查显示零问题;无跳过选项。仅在用户明确表示跳过质量检查时才可覆盖,并需记录被忽略的问题。手动运行 linter 仅限开发阶段或用户明确要求,提交工作流中禁止手动运行。详细命令见 references/LANGUAGE-CHECKS.md、DEEP-AUDITS.md、RESULT-HANDLING.md。