#V2EX

2d0154e14033e848...

npub195q4fc2qx05y3dzg49cny2lm7nsy52wrwuqjac844dnqnx6k7xks3pwpxu

hex

66776486dc8ed58a8519fc152101b5dff5912941fcb0057124dad2baaf88b1c8

nevent

nevent1qqsxvamysmwga4v2s5vlc9fpqx6alav399qlevq9wyjd454647ytrjqprpmhxue69uhhyetvv9ujuem4d36kwatvw5hx6mm9qgsz6q25u9qr86zgk3y2jufj90alfcz298phwqfwur66kesfndt0rtgp0ncdr

Kind-1 (TextNote)

2026-03-18T03:53:26Z

#V2EX

[Claude] 做了个开源项目 Skill: claude-rules。解决 AI 编码助手总是跟着旧代码坏习惯走的问题

用 Claude Code / Cursor 写代码的时候,大家有没有遇到一个很头疼的问题:

AI 会模仿项目里已有的代码风格,包括那些坏习惯。

比如项目里有个 God Class 写了 800 行,你让 AI 加个功能,它就往这个文件里继续堆。旧代码用了 any ,AI 也跟着用 any 。旧代码回调嵌套 5 层,AI 也照着嵌套。

根本原因是:AI 默认会"保持风格一致",但如果风格本身就有问题呢?

解决思路

给项目加一个规范文件( [CLAUDE.md](http://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](http://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](http://core.md base/[git.md](http://git.md languages/[typescript.md](http://typescript.md frameworks/[vue.md](http://vue.md > .cursorrules

不同工具放不同位置:

  • Claude Code → [CLAUDE.md](http://CLAUDE.md
  • Cursor → .cursorrules
  • Windsurf → .windsurfrules
  • GitHub Copilot → .github/[copilot-instructions.md](http://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 贡献新的语言和框架规范。

效果预览

![](https://cdn.jsdelivr.net/gh/lifedever/images@master/uPic/2026/03/CS2026-03-18-11.02.27@2x.png https://www.v2ex.com/t/1199143#reply0

Raw JSON

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