做了个开源项目 Skill: claude-rules。解决 AI 编码助手总是跟着旧代码坏习惯走的问题
用 Claude Code / Cursor 写代码的时候,大家有没有遇到一个很头疼的问题:
AI 会模仿项目里已有的代码风格,包括那些坏习惯。
比如项目里有个 God Class 写了 800 行,你让 AI 加个功能,它就往这个文件里继续堆。旧代码用了 any ,AI 也跟着用 any 。旧代码回调嵌套 5 层,AI 也照着嵌套。
根本原因是:AI 默认会”保持风格一致”,但如果风格本身就有问题呢?
解决思路
给项目加一个规范文件( CLAUDE.md / .cursorrules ),明确告诉 AI:不要模仿旧代码,按规范重构。
但手写规范太累了,而且大多数人写出来的规范都是”使用适当的错误处理”这种空话,AI 根本执行不了。
所以我做了 claude-rules ( https://github.com/lifedever/claude-rules ):
- base + language + framework 三层组合,自动检测技术栈
- 每条规则都是具体可执行的指令,不是空话
- 关键规则都有禁止/正确的代码对比
- 有量化标准:函数 ≤30 行、文件 ≤300 行、嵌套 ≤3 层
- 推荐各语言/框架的现代写法(@Observable 而非 ObservableObject 、as const 而非 enum )
支持的技术栈
Languages: TypeScript, JavaScript, Java, Kotlin, Swift, Python, HTML, CSS Frameworks: Vue 3, React, SwiftUI, Spring Boot, Tauri
Claude Code 用户(插件一键初始化)
claude plugin marketplace add lifedever/claude-rules claude plugin install init-claude-rules@claude-rules
重启 Claude Code ,在任意项目里运行 /init-rules:
- 自动检测技术栈
- 让你确认后生成 CLAUDE.md
- 上游更新规则后 claude plugin marketplace update claude-rules 即可同步
Cursor / Windsurf / GitHub Copilot 用户
规范文件是纯 Markdown ,clone 下来拼接就行:
git clone https://github.com/lifedever/claude-rules.git cat base/core.md base/git.md languages/typescript.md frameworks/vue.md > .cursorrules
不同工具放不同位置:
- Claude Code → CLAUDE.md
- Cursor → .cursorrules
- Windsurf → .windsurfrules
- GitHub Copilot → .github/copilot-instructions.md
举个例子
之前的 cursor-rules 类项目写 Vue 规范是这样的:
- 正确使用 ref 和 reactive
- 实现适当的缓存
- 使用适当的导航方法
AI 看了等于没看。claude-rules 这样写:
- 基本类型用 ref ,对象/数组用 reactive
- 禁止对基本类型用 reactive (会丢失响应性)
- 禁止解构 reactive 对象(用 toRefs 或直接 . 访问)
- computed 必须是纯函数,禁止在 computed 里修改状态或发请求
每条都是 AI 能直接执行的指令。
开源地址
https://github.com/lifedever/claude-rules
MIT 协议,欢迎 PR 贡献新的语言和框架规范。
效果预览
@master/uPic/2026/03/CS2026-03-18-11.02.27@2x.png" alt="" />