mcpField
P
pr-to-lint-rule

pr-to-lint-rule

github.com/zernie测试与质量15436 次安装2 天前更新
代码仓库

关于 pr-to-lint-rule

将重复出现的 PR 审查意见转化为自动化 lint 规则的技能。它先识别项目语言和工具链,再生成规则、更新 CLAUDE.md 并运行测试验证。

主要功能

  1. 01检测项目语言与 lint 工具
  2. 02生成对应的 lint 规则
  3. 03更新 CLAUDE.md 注释块
  4. 04运行测试验证规则

适用场景

  1. 01禁止直接导入特定库模块
  2. 02要求使用项目自定义日志器
  3. 03阻止生产代码调用 unwrap()
  4. 04要求 API 路由使用 withAuth

安装

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

$npx skills add https://github.com/zernie/vigiles --skill pr-to-lint-rule

安装后在 Claude Code 中输入/pr-to-lint-rule确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

CLAUDE.md
CLAUDE.md.spec.ts
frontmatter-CLAUDE.md
experimental-emit/
emit-server.mjs
README.md
run-emit.mjs
score-emits.mjs
experimental-emit/records/
emit-tool.json
emits-2026-08-13.jsonl
prose-baseline-2026-08-13.json
rate-limit-event.json
trials-2026-08-13.jsonl
harness/
agent-loop.harness.mjs
checks-dogfood.harness.mjs
compiled-hook-inprocess.harness.mjs
harness/dogfood/
adversarial-gate.eval.mjs
code-quality.trigger.eval.mjs
debug-my-harness.trigger.eval.mjs
edit-spec.trigger.eval.mjs
generate-logo.trigger.eval.mjs
landing-site.trigger.eval.mjs
review-docs.trigger.eval.mjs
reviewer-ab.eval.mjs
screenshot.trigger.eval.mjs
ship-a-feature.trigger.eval.mjs
harness/dogfood/reviewer-ab/prose/.claude-plugin/
plugin.json
harness/dogfood/reviewer-ab/prose/agents/
code-reviewer.md
harness/dogfood/reviewer-ab/spec/.claude-plugin/
plugin.json
harness/dogfood/reviewer-ab/spec/agents/
code-reviewer.md
code-reviewer.md.spec.ts

详细介绍

将反复出现的 PR 审查意见转换为自动化 lint 规则。

参数

$ARGUMENTS — 对要强制执行的模式的自然语言描述。例如:

  • “我们总是提醒大家不要从 antd 直接导入,而要使用我们的设计系统 barrel 文件”
  • “大家会忘记使用我们的自定义日志记录器,而改用 console.log”
  • “生产代码中不要使用 unwrap(),应使用 expect() 或妥善处理错误”
  • “API 路由处理程序必须使用 withAuth 包装器”

说明

你要根据反复出现的代码审查模式生成自动化 lint 规则。请按以下步骤操作:

步骤 1:检测项目语言和工具链

检查代码仓库,确定:

  • 主要语言(JS/TS、Python、Rust、Go、Ruby 等)
  • 所用的 Linter(ESLint、Ruff、Clippy、golangci-lint、RuboCop 等)
  • 测试框架(Vitest、Jest、pytest、cargo test 等)
  • 现有自定义规则(以保持风格一致)

如果无法有把握地判断语言或 Linter,请先询问用户要针对哪种语言和 Linter,再生成任何内容。

步骤 2:生成 lint 规则

根据检测到的(或用户指定的)语言,生成相应类型的规则。

对于 JavaScript/TypeScript,使用 AST 访问器模式生成 ESLint 规则,并包含 meta 和 create(context)。

步骤 3:更新 CLAUDE.md

添加注释块。正确格式请参阅 docs/spec-format.md。

步骤 4:验证

运行 npm test,确保新规则及测试通过。

评论

支持 Markdown