Precious 变更文件定向检查
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/run-only-the-relevant-linters-and-formatters-on-changed-files-with-precious。
技能介绍
要解决的问题
当你的项目里同时挂着多个 linter 和 formatter 时,把它们全跑一遍往往要几十秒甚至更久。而在 pre-commit 或 CI 场景中,绝大多数提交只改动少数几个文件,全量检查换来的可能只是「没问题」这个结论。真正有价值的是:只检查这次改动真正影响的文件,并且只对这些文件运行有意义的工具,让反馈保持快速且聚焦。
工作方式
这个技能把 Precious 作为统一入口。Precious 是一个代码质量工具,目标是用一条命令跑完项目里的 linter 和 tidier(整理工具),并把「哪些工具跑在项目的哪些部分」集中定义在一个配置文件里,而不是散落在各个工具自己的命令行参数和 CI 脚本中。
核心步骤:
- 确认环境里已安装
precious,这是唯一前置依赖。 - 在配置文件中声明每个组件要运行的命令,
commands.下的名称必须唯一。 - 执行时必须传入
--auto,或者至少一个--component:
- --auto 模式下由 Precious 自行判断该运行哪些命令;
- 传 --component 则直接指定要跑的组件。
- 需要复跑同一套检查时,不必再手写一串工具调用,统一交给 Precious 处理。
适用边界与注意点
- 如果既没有传
--auto,也没有传任何--component,命令不会被执行,这是硬性约束。 - 同一个可执行文件可以在配置中以多种不同方式被调用(例如不同组件使用不同参数),因此「命令唯一」约束的是
commands.下的名称,而不是底层二进制本身。 - 单条命令的耗时与其处理的文件数量相关,组件划分得越细,增量运行的收益越明显。
- 技能正文里的说明摘录自上游文档,参数细节如有不一致,应以 Precious 上游 README 为准。
使用场景
- 改完几行代码准备提交,只想对变更文件跑相关 linter,不等全量检查
- CI 每次触发都全量跑工具太慢,想改成只检查本次改动涉及的文件
- 项目里工具配置分散在多个脚本,想统一由配置文件声明并调用
- 本地复跑上次同一批检查,不想逐个重写各工具的命令行参数
适合人员
- 在多人仓库里提交频繁的后端工程师,希望 pre-commit 秒级反馈而不是等几分钟
- 维护 CI 流水线的 DevOps 工程师,想缩短 PR 检查耗时并定位是哪类检查拖慢了构建
- 同时维护多个 linter 配置的技术负责人,想把工具与项目模块的对应关系收进单一配置文件
- 经常本地复现线上问题的全栈工程师,想按组件重跑相关检查而不是全仓库扫描