# 规范
结构
规范由通用层与各语言专属目录组成:
rules/ ├── common/ # 与语言无关的通用原则(必须安装) │ ├── coding-style.md │ ├── git-workflow.md │ ├── testing.md │ ├── performance.md │ ├── patterns.md │ ├── hooks.md │ ├── agents.md │ └── security.md ├── typescript/ # TypeScript/JavaScript 专属 ├── python/ # Python 专属 ├── golang/ # Go 专属 ├── web/ # Web 与前端专属 ├── swift/ # Swift 专属 └── php/ # PHP 专属
- common/ 存放通用开发原则,不含任何语言专属代码示例。
- 各语言目录 在通用规范基础上,补充框架专属设计模式、工具与代码示例。每个文件均会引用对应通用规范文件。
安装
方式一:安装脚本(推荐)
# 安装通用规范 + 一种或多种语言专属规范 ./install.sh typescript ./install.sh python ./install.sh golang ./install.sh web ./install.sh swift ./install.sh php # 一次性安装多种语言 ./install.sh typescript python
方式二:手动安装
> 重要:请复制完整目录,切勿使用 /* 扁平化复制。 > 通用目录与各语言目录包含同名文件。 > 若扁平化合并到同一目录,会导致语言专属文件覆盖通用规范, > 同时破坏语言文件中使用的 ../common/ 相对引用路径。
# 安装通用规范(所有项目必需) cp -r rules/common ~/.claude/rules/common # 根据项目技术栈安装对应语言专属规范 cp -r rules/typescript ~/.claude/rules/typescript cp -r rules/python ~/.claude/rules/python cp -r rules/golang ~/.claude/rules/golang cp -r rules/web ~/.claude/rules/web cp -r rules/swift ~/.claude/rules/swift cp -r rules/php ~/.claude/rules/php # 注意!!!请根据项目实际需求配置,此处仅为示例参考。
规范与技能的区别
- 规范(Rules) 定义通用标准、约定与检查项(例如:“测试覆盖率 80%”“禁止硬编码密钥”)。
- 技能(Skills)(
skills/目录)针对具体任务提供深度、可落地的参考资料(例如:python-patterns、golang-testing)。
语言专属规范文件会按需引用相关技能。规范规定做什么,技能说明怎么做。
新增语言支持
如需新增一门语言(例如 rust/):
- 创建
rules/rust/目录 - 添加扩展自通用规范的文件:
coding-style.md— 格式化工具、语言惯用法、错误处理模式testing.md— 测试框架、覆盖率工具、测试结构组织patterns.md— 语言专属设计模式hooks.md— 用于格式化、代码检查、类型检查的 PostToolUse 钩子security.md— 密钥管理、安全扫描工具
- 每个文件开头需添加:
> 本文档在 [common/xxx.md](../common/xxx.md) 基础上补充 <语言名称> 专属内容。 语言名称> - 若已有相关技能则直接引用,否则在
skills/下新建对应技能。
对于非语言类领域(如 web/),若领域内有足够可复用的专属指导内容,可按相同分层结构建立独立规范集。
规范优先级
当语言专属规范与通用规范冲突时,语言专属规范优先(特殊规则优于通用规则)。该逻辑遵循标准分层配置规则(类似 CSS 优先级或 .gitignore 优先级)。
rules/common/定义适用于所有项目的通用默认规则。rules/golang/、rules/python/、rules/swift/、rules/php/、rules/typescript/等目录会根据语言惯用法覆盖通用默认规则。
示例
common/coding-style.md 推荐以不可变性为默认设计原则。而 Go 语言专属的 golang/coding-style.md 可覆盖该规则:
> 符合 Go 语言习惯的写法会使用指针接收器修改结构体 — 通用原则请参考 common/coding-style.md,此处优先遵循 Go 惯用的修改方式。
标注可被覆盖的通用规范
rules/common/ 中可能被语言专属文件覆盖的规范会标注:
> 语言说明:若该模式不符合某语言的惯用写法,可由该语言专属规范覆盖本条规则。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/270595.html