mcpField
L
lint-and-validate

lint-and-validate

github.com/sickn33测试与质量48.7k1.3k 次安装今天更新
代码仓库

关于 lint-and-validate

用于代码或配置变更后选择并运行项目检查的仓库技能。它强调先检查命令,避免自动修复或下载工具,并如实报告执行结果与未检查项。

主要功能

  1. 01检查已配置的脚本和工具
  2. 02运行只读 lint 与类型检查
  3. 03避免下载缺失的检查器
  4. 04报告结果与限制
  5. 05有限范围的源码注解盘点

适用场景

  1. 01完成前验证代码变更
  2. 02开发期间检查相关文件
  3. 03报告无法运行的必需工具

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill lint-and-validate

安装后在 Claude Code 中输入/lint-and-validate确认已加载。

附带文件scripts/lint_runner.pyscripts/type_coverage.py

详细介绍

检查与验证

何时使用

在行为或配置变更后,当仓库具有相关的检查或类型检查时使用。先阅读仓库的说明和 package 脚本。在开发期间运行针对性检查,在完成前运行必需的检查。

流程

  1. 确定变更的语言、配置的命令和已安装的工具。在执行前检查 package 脚本:名为 lint 的脚本可能修改文件或运行任意项目代码。
  2. 运行项目的只读检查/类型检查命令。对于 Node 项目,优先使用已声明的脚本,例如 npm run lint 和 npm run typecheck。不要使用 npx 静默获取不存在的检查器。
  3. 对于 Python,使用已配置、已安装的工具,例如 ruff check . 或 mypy .。不要假设每个 pyproject.toml 都同时配置了两者。在未检查建议的变更和任务的授权之前,绝不要添加 --fix。
  4. 修复相关失败,不要删除用户的工作、削弱规则或仅仅为了通过而提高超时时间。如果必需的工具不可用,报告未能运行的确切检查。
  5. 报告命令、退出结果、范围和剩余的局限。检查通过并不能证明不存在运行时或安全缺陷。

示例

在修正 TypeScript 行为后,检查 package.json,运行已配置的针对性回归测试,然后如果这些脚本存在,运行 npm run lint 和 npm run typecheck。如果 TypeScript 已声明但未安装,报告缺失的本地检查器;不要用下载的包替代,或将结果称为通过。

捆绑的辅助工具

  • python scripts/lint_runner.py /absolute/project:运行一组保守的候选检查。Node 后备检查器必须存在于本地 node_modules/.bin 中;Python 候选必须已安装。先检查项目脚本。命令缺失或检查失败退出码为 1;没有配置的检查或无效的项目元数据退出码为 2。退出码 0 表示所调用的检查通过了,而不是发现了所有需要的检查。Python 检测是启发式的,可能建议未配置的 Ruff/MyPy 命令。
  • python scripts/type_coverage.py /absolute/project:只读的注解清单,尽管保留了兼容性的文件名。每种语言最多采样 30 个文件,跳过链接和构建/依赖目录,并限制文件读取。Python 使用 AST 节点以避免重复计数函数。TypeScript 报告词法上的 : any 出现位置,包括可能的注释和字符串。不推断质量百分比或通过/失败阈值。退出码 2 表示没有适用的文件;解析/读取错误退出码为 1。

局限

运行器执行受信任的项目命令,这些命令可能修改文件或访问网络。它不安装依赖、不检测每个 monorepo 配置,也不替代项目的 CI 合约。清单是有界的源代码样本,而非语义类型覆盖率;推断类型、泛型、装饰器行为和正确性需要实际的类型检查器。不要将未运行的检查标记为成功。

评论

支持 Markdown