Skip to content

Atlas-SZ/cc-rules

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Claude Code Memory & Rules 配置示例

这是我的 Claude Code 用户级配置示例(User Level),用于部署到 ~/.claude/ 并跨项目复用。

项目级配置请在具体项目的 .claude/ 目录中维护(本仓库暂不提供 examples/project-level/)。

📋 目录结构

CC-Rules/
├── README.md                          # 本文件
└── examples/
    ├── user-level/                    # 用户级配置(部署到 ~/.claude/)
    │   ├── CLAUDE.md                 # 个人全局配置(v2.6, uv)
    │   ├── rules/                    # Rules (约束性规范)
    │   │   ├── frontend-style.md     # 前端 UI 风格与工程规范(v2.3新增✨)
    │   │   ├── python-style.md       # Python 开发规范(已合并偏好/复用/测试等共性条目)
    │   │   └── claude-code-defensive.md  # 防御性规则(v2.1新增检查原则✨)

🆕 2025 年版本更新

当前版本: v2.6 - 去除 skills 目录

v2.6 去除 skills 目录 (2025-12-14)

  • 避免命名冲突: 不再维护自定义 skills/,避免与 Claude Code 内置概念混淆
  • 工作方式收敛到 Rules: SDD→TDD/Debug 循环/测试层级补充到 claude-code-defensive.md

v2.5 SDD→TDD 工作流 (2025-12-14)

  • 开发流程升级: 默认 SDD(规格驱动) → TDD(细节测试驱动)
  • 更 AI 向: 工作流内容压缩为模板/清单(减少人类解释与冗余示例)
  • 防御规则同步: 复杂任务先写 Spec 再编码

v2.4 规则精简版 (2025-12-14)

  • 规则去重与引用: Python 共性规范集中到 python-style.md
  • 精简示例: 删除冗余示例与重复条目,保留最小核心示例
  • 按需加载: 继续通过 paths 限定规则生效范围

v2.3 User Level 专注版 (2025-12-14)

  • Python 包管理统一为 uv
  • README 移除 project-level/project-local 模板引用: 项目级配置在具体项目 .claude/ 中维护
  • Skills 增加文档落盘约束: 默认只在对话中输出,除非明确要求保存文件
  • Pydantic 示例更新为 v2 风格
  • 新增前端规则: UI 风格约束 + Vue/React 工程规范

v2.2 重构优化 (2025-12-13)

  • Rules 和 Skills 明确分离: 创建独立 skills/ 目录
  • 内容精简: 用户级配置精简 30%
  • 分层优化: 移除用户级的项目特定内容
  • 结构清晰: 每个文件职责更加明确

v2.1 开发原则增强 (2025-12-13)

  • 库复用原则: 不重复造轮子,优先使用成熟现成库
  • 修改前检查原则: 防止功能重复和冲突
  • 集中式目录结构: tests/docs 集中管理
  • TDD 内环: Red-Green-Refactor 循环(在 v2.5 起默认前置 SDD 规格)

v2.0 社区反馈增强 (2025-12-13)

基于 Claude Code 用户社区反馈,解决以下常见问题:

  • 防止测试篡改(最严重问题): 禁止修改测试来匹配错误代码
  • 避免过度工程化: 简单需求不要变成复杂系统
  • 确保任务完成: 不允许中途放弃 TODO 列表
  • 控制文档创建: 不主动生成中间文件和总结文档
  • 简化沟通: 减少啰嗦,代码优先

详见: CHANGES.md

💡 核心概念

Rules vs Workflows

Rules (规则):

  • 约束性规范,告诉 Claude "如何做"/"不要做什么"
  • 示例: "禁止修改测试"、"使用 FastAPI 框架"、"代码必须有类型注解"
  • 位置: rules/ 目录

Workflows (可执行工作流/命令化流程):

  • 更适合通过 Claude Code 的 workflow/plugin 能力落地(或放到项目级约定里)
  • 本仓库不维护自定义 skills/ 目录;仅保留最小“工作方式”在 claude-code-defensive.md

默认工作方式(精简版):

  • 复杂任务: 先写 Spec(SDD)+计划,确认后再实现
  • 细节层: TDD(必要时加 Contract/Integration/Property-based/E2E)
  • 排查: 复现 → 假设 → 隔离变量 → 最小修复 → 回归验证

🎯 三层级配置说明

这里保留“三层级”的概念说明,但本仓库目前只提供 User Level 示例。

1️⃣ 用户级配置(User Level)

部署位置: ~/.claude/ 作用范围: 你的所有项目 共享范围: 仅你自己

包含内容:

  • 个人编码风格偏好(缩进、命名、注释习惯)
  • 通用工作流程(需求分析、PRD 撰写、代码审查)
  • 跨项目的技术栈偏好(FastAPI vs Django, PostgreSQL 设置)

何时修改:

  • 你改变了编码习惯
  • 学习了新的最佳实践
  • 换了新的工具或技术栈

2️⃣ 项目级配置(Project Level)

部署位置: ./.claude/ 或项目根目录 作用范围: 当前项目 共享范围: 通过 Git 与团队共享

包含内容:

  • 项目架构和技术栈
  • 业务领域规则(CRO 行业术语、流程)
  • 团队编码规范和约定
  • API 设计标准
  • 数据库设计规范

何时修改:

  • 新增功能模块
  • 团队约定变更
  • 发现新的最佳实践
  • 修复了重要 Bug 后总结规则

3️⃣ 本地私有配置(Project Local)

部署位置: ./CLAUDE.local.md 作用范围: 当前项目 共享范围: 仅你自己(自动 gitignore)

包含内容:

  • 本地开发环境配置(数据库 URL、API Key)
  • 个人调试偏好
  • 临时笔记和 TODO
  • 正在实验的功能

何时修改:

  • 切换开发环境
  • 需要记录调试信息
  • 临时记录想法

📦 部署指南

步骤 1: 部署用户级配置

# 0. 确保 Claude Code 已初始化(必须存在 ~/.claude)
test -d ~/.claude || (echo "ERROR: ~/.claude 不存在,请先安装并运行一次 Claude Code" >&2; exit 1)

# 1. 推荐: 一键部署(会把旧 CLAUDE.md 和 rules/ 移动到本仓库的 backup/ 下)
./deploy_user_level.sh

# 2. 或手动部署
mkdir -p ~/.claude/rules
cp examples/user-level/CLAUDE.md ~/.claude/CLAUDE.md
cp examples/user-level/rules/* ~/.claude/rules/

# 3. 验证
ls -la ~/.claude/
# 应该看到 CLAUDE.md 和 rules/ 目录

步骤 2: (可选)在项目中启用项目级配置

# 在具体项目里维护 .claude/ (本仓库不提供 project-level 模板)
mkdir -p .claude/rules
touch .claude/CLAUDE.md

步骤 3: (可选)项目本地私有配置

# 在项目根目录创建本地私有配置,并确保 gitignore
touch CLAUDE.local.md
echo "CLAUDE.local.md" >> .gitignore

🔧 验证部署

使用 Claude Code 验证

# 1. 在项目目录启动 Claude Code
cd ~/projects/cro-platform
claude

# 2. 在 Claude Code 中执行
/memory

# 3. 你应该看到加载的 memory 文件列表:
# - User memory: ~/.claude/CLAUDE.md
# - User rules: ~/.claude/rules/*.md
# - Project memory: ./.claude/CLAUDE.md (如果存在)
# - Project rules: ./.claude/rules/**/*.md (如果存在)
# - Project local: ./CLAUDE.local.md (如果存在)

测试 rules 生效

# 在 Claude Code 中,让它帮你写一段代码
# 观察它是否遵循了你设置的规则:

用户: 帮我创建一个受试者入组的 API 端点

# 期望 Claude Code 会:
# 1. 使用 FastAPI 框架
# 2. 包含类型注解和 docstring
# 3. 遵循你项目自己的领域规则(项目级 .claude/rules/)
# 4. 添加必要的安全与审计约束(项目级规则优先)
# 5. 使用正确的响应格式

📝 使用技巧

1. 快速添加新规则

使用 Claude Code 的 # 快捷键:

# 在 Claude Code 输入框开头输入:
# 所有 API 端点必须包含限流装饰器

# Claude 会询问保存到哪个文件,选择合适的 rules 文件

2. 使用 paths 字段精确控制

在 rules 文件的 YAML frontmatter 中使用 paths:

---
paths: ["**/models/subject*.py", "**/api/**/subjects.py"]
---

# 这条规则只在处理受试者相关代码时生效

3. 定期审查和更新

建议频率:

  • 用户级规则: 每月审查一次
  • 项目级规则: 每个 Sprint 结束后审查
  • 本地配置: 随时更新

4. 使用符号链接共享通用规则

如果你有多个 CRO 项目,可以创建共享规则库:

# 1. 创建共享规则库
mkdir -p ~/cro-shared-rules

# 2. 将通用规则移到共享库
mv .claude/rules/cro-domain ~/cro-shared-rules/

# 3. 在各个项目中创建符号链接
cd ~/projects/smo-system
ln -s ~/cro-shared-rules/cro-domain .claude/rules/cro-domain

cd ~/projects/edc-system
ln -s ~/cro-shared-rules/cro-domain .claude/rules/cro-domain

⚠️ 注意事项

1. 规则冲突处理

优先级(高到低):

  1. 项目级 rules(.claude/rules/)
  2. 项目级 CLAUDE.md(.claude/CLAUDE.md)
  3. 用户级 rules(~/.claude/rules/)
  4. 用户级 CLAUDE.md(~/.claude/CLAUDE.md)

示例:

  • 用户级偏好用 2 空格缩进
  • 项目级要求用 4 空格缩进
  • 结果: Claude 会使用 4 空格(项目级优先)

2. 避免规则过载

最佳实践:

  • 单个 rules 文件控制在 150-300 行
  • 整个项目的 rules 总量建议 < 2000 行
  • 只添加真正必要的规则,避免"为了完整而完整"

检查信号:

  • Claude 回答变得模糊不清
  • 经常出现"我不确定该遵循哪条规则"
  • 输出质量下降

解决方法:

  • 删除过时的规则
  • 合并重复的规则
  • 使用 paths 字段限定作用范围

3. 敏感信息保护

绝对不要在 Git 提交的文件中包含:

  • API Keys
  • 数据库密码
  • 真实的受试者数据
  • 生产环境配置

正确做法:

  • 敏感信息放在 CLAUDE.local.md(已 gitignore)
  • 或使用 .env 文件(已 gitignore)
  • 在示例中使用占位符

4. 团队协作

当修改项目级 rules 时:

  1. 创建 feature 分支
  2. 修改 rules 文件
  3. 提交 Pull Request
  4. 团队 Code Review(包括 rules 变更)
  5. 合并到主分支

沟通:

  • 重大 rules 变更需要团队讨论
  • 在 PR 中说明变更理由
  • 更新后通知团队成员

📊 维护策略

每月维护清单

## Memory & Rules 月度维护

### User Level (~/.claude/)
- [ ] 审查个人偏好是否仍然适用
- [ ] 删除不再使用的工具/库的规则
- [ ] 更新工作流程(如有变化)

### Project Level (.claude/)
- [ ] 检查是否有过时的业务规则
- [ ] 补充新增功能的领域规则
- [ ] 更新技术栈版本相关规则
- [ ] 清理临时添加的规则

### Project Local (CLAUDE.local.md)
- [ ] 更新本地环境配置
- [ ] 清理已完成的 TODO
- [ ] 归档已解决的调试笔记

规则文件版本化

建议在项目 CHANGELOG.md 中记录重要的 rules 变更:

## [1.2.0] - 2025-01-15

### Rules Changes
- Added: EDC 数据验证规则引擎规范
- Updated: SMO 中心启动流程要求
- Removed: 旧的 Django REST framework 规则(已迁移到 FastAPI)

🚀 进阶用法

1. 条件规则

---
paths: "**/models/*.py"
---

# 仅对 models 目录生效的规则

2. 多项目规则共享

# 创建规则模板仓库
git clone https://github.com/your-org/claude-rules-templates.git ~/claude-rules

# 在项目中引用
ln -s ~/claude-rules/cro-common .claude/rules/common

3. 规则测试

创建 tests/test_rules_compliance.py:

"""测试代码是否符合 rules."""

def test_all_api_endpoints_have_docstrings():
    """所有 API 端点必须有 docstring."""
    # 扫描 api/ 目录下的所有路由函数
    # 验证每个函数都有 docstring
    pass

def test_all_models_have_audit_fields():
    """所有模型必须有审计字段."""
    # 扫描 models/ 目录
    # 验证每个模型都有 created_at, updated_at 等字段
    pass

📚 参考资源

官方文档

社区资源

相关文章

  • 本配置基于的指导文章: [别再只写 CLAUDE.md 了:用 Rules 重构 Claude Code 的记忆系统]

🤝 贡献

如果你发现了更好的规则组织方式或有新的 CRO 领域规则,欢迎:

  1. Fork 本仓库
  2. 创建你的规则文件
  3. 提交 Pull Request

📄 许可证

本示例配置遵循 MIT 许可证,可自由使用和修改。


最后更新: 2025-12-13 维护者: Atlas 项目: 我爱的 CC 规则

About

CLaude Code 个性化规则【含 前端、后端(Python)、以及其他个人习惯】

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages