通过 CLAUDE.md 四级作用域、自定义斜杠命令和 Skills 技能系统,可以为 Claude Opus 4.7 建立持久化项目记忆和可复用工作流,避免每次会话重复说明项目约定。
适合的任务:需要保持项目一致性的长期开发、团队协作、标准化开发流程、复杂多步骤任务
不适合的任务:一次性简单任务、不需要项目上下文的临时脚本
适用的模型版本:Claude Opus 4.7
适用的客户端、Agent 或 API:Claude Code
推荐的推理档位和参数:复杂工作流用 xhigh,日常命令用 high
# 1. 用户级(所有项目通用)
~/.claude/CLAUDE.md
# 示例:个人偏好
cat > ~/.claude/CLAUDE.md << 'EOF'
# 我的偏好
- 使用 TypeScript strict 模式
- 优先使用函数式编程风格
- 代码审查时检查:安全性、性能、可读性
- 使用 pnpm,不用 npm 或 yarn
EOF
# 2. 项目级(特定项目)
./CLAUDE.md
# 示例:项目配置
cat > CLAUDE.md << 'EOF'
# CLAUDE.md
## 项目:电商 API
Node.js 20 + Express + PostgreSQL + TypeScript
## 架构
- src/routes/ → API 路由处理
- src/services/ → 业务逻辑
- src/models/ → Prisma 数据库模型
- src/middleware/ → 认证、限流、错误处理
- tests/ → Jest 单元测试和集成测试
## 编码规范
- 始终使用 TypeScript strict 模式
- 仅使用命名导出(不用默认导出)
- 所有请求验证使用 Zod
- 错误处理使用 Result 模式(不抛异常)
- 每个新函数需要 JSDoc 注释
- 每个新文件需要对应测试文件
## 数据库
- ORM: Prisma
- 运行迁移: npx prisma migrate dev
- 种子数据: npx prisma db seed
- 不写原生 SQL,使用 Prisma 查询构建器
## 测试
- 运行测试: npm test
- 运行单文件: npx jest src/routes/users.test.ts
- 覆盖率目标: 最低 80%
## Git
- 分支命名: feat/, fix/, chore/, docs/
- Commit 格式: conventional commits (feat: add user endpoint)
- 不直接提交到 main
## 常用命令
- 启动开发: npm run dev
- 构建: npm run build
- Lint: npm run lint
- 类型检查: npm run typecheck
EOF
# 3. 目录级(特定目录)
./src/CLAUDE.md
# 4. Git 忽略级(不共享)
./.claude/CLAUDE.md
echo ".claude/CLAUDE.md" >> .gitignore# 创建命令目录
mkdir -p .claude/commands
# 命令 1: 代码审查
cat > .claude/commands/code-review.md << 'EOF'
审查已暂存的 git 变更 (`git diff --staged`),检查:
1. **Bug** - 逻辑错误、空指针风险、边界错误
2. **安全性** - 注入风险、未验证输入、暴露的密钥
3. **性能** - 不必要的循环、缺失索引、N+1 查询
4. **代码质量** - 命名、重复、复杂度
5. **测试覆盖** - 新函数是否测试?
输出格式:
## 摘要
一句话概述。
## 发现的问题
- [严重] 描述
- [警告] 描述
- [建议] 描述
## 结论
通过 / 需要修改
EOF
# 命令 2: 新功能开发
cat > .claude/commands/new-feature.md << 'EOF'
基于以下描述创建新功能:$ARGUMENTS
执行步骤:
1. 在 src/routes/ 创建路由处理器
2. 在 src/services/ 创建服务层
3. 如需更新 Prisma 模型,修改 schema.prisma
4. 添加 Zod 验证 schema
5. 在 tests/ 编写单元测试
6. 更新 docs/api.md 中的 API 文档
7. 运行 npm test 验证所有测试通过
严格遵循 CLAUDE.md 中的约定。
EOF
# 命令 3: 安全审计
cat > .claude/commands/security-audit.md << 'EOF'
对代码库执行安全审计,检查:
- SQL 注入漏洞
- XSS 向量
- 未验证的用户输入到达数据库
- 硬编码的密钥或凭证
- 受保护路由缺失认证
- 不安全的直接对象引用 (IDOR)
- 公共端点缺失速率限制
- 依赖漏洞(运行:npm audit)
输出按优先级排序的发现列表,包含 file:line 引用。
标记每个:严重 / 高 / 中 / 低
EOF
# 命令 4: 调试
cat > .claude/commands/debug.md << 'EOF'
调试以下问题:$ARGUMENTS
步骤:
1. 读取相关文件
2. 识别根本原因
3. 修复问题
4. 添加测试防止回归
EOF
# 使用命令
# 在 Claude Code 中输入:
# /code-review
# /new-feature "用户头像上传到 S3"
# /security-audit
# /debug "TypeError: Cannot read property 'id' of undefined"# 创建全局命令目录
mkdir -p ~/.claude/commands
# 全局命令 1: 解释代码
cat > ~/.claude/commands/explain.md << 'EOF'
向高级工程师解释以下代码。
简洁。聚焦于:它做什么、为什么这样工作、任何陷阱。
代码:$ARGUMENTS
EOF
# 全局命令 2: PR 描述
cat > ~/.claude/commands/pr-desc.md << 'EOF'
为当前 git 分支生成 pull request 描述。
运行:git log main..HEAD --oneline 和 git diff main...HEAD --stat
格式:
## 变更内容
## 原因
## 测试方法
## 破坏性变更(如有)
EOF
# 在任何项目中使用
# /explain "src/utils.ts 中的二分查找实现"
# /pr-desc#!/bin/bash
# setup-claude.sh - 为新项目配置 Claude Code
PROJECT_NAME=$1
STACK=$2 # 例如 "Node.js TypeScript PostgreSQL"
mkdir -p .claude/commands
# 创建 CLAUDE.md
cat > CLAUDE.md << EOF
# CLAUDE.md - ${PROJECT_NAME}
技术栈:${STACK}
## 架构
(在此描述你的目录结构)
## 编码规范
- (列出你的规范)
## 测试
- 运行测试: npm test
## 常用命令
- 开发: npm run dev
EOF
# 创建默认命令
cat > .claude/commands/code-review.md << 'EOF'
审查 git diff --staged,检查 bug、安全问题和代码质量。
格式:## 摘要, ## 问题 (严重/警告/建议), ## 结论
EOF
cat > .claude/commands/new-feature.md << 'EOF'
构建新功能:$ARGUMENTS
遵循 CLAUDE.md 中的所有约定。编写测试。完成后运行 npm test。
EOF
cat > .claude/commands/debug.md << 'EOF'
调试以下问题:$ARGUMENTS
1. 读取相关文件。2. 识别根本原因。3. 修复。4. 添加测试防止回归。
EOF
echo "Claude Code 配置完成!"
echo "已创建文件: CLAUDE.md, .claude/commands/"
echo "下一步:运行 claude 并使用 /init 让 Claude 优化 CLAUDE.md"初始化项目:运行 setup 脚本或手动创建 CLAUDE.md 和 .claude/commands/
配置个人偏好:在 ~/.claude/CLAUDE.md 中设置全局偏好
定义项目约定:在项目根目录 CLAUDE.md 中详细说明架构、规范、命令
创建常用命令:根据团队工作流创建 code-review、new-feature 等命令
测试命令:在 Claude Code 中运行 /command-name 验证效果
迭代优化:根据实际使用调整 CLAUDE.md 和命令定义
团队共享:将 CLAUDE.md 和 .claude/commands/ 提交到 Git(排除个人配置)
文章详细展示了四级 CLAUDE.md 作用域系统
提供了完整的自定义命令示例(code-review、new-feature、security-audit、debug)
展示了全局命令和用户级配置的复用机制
包含完整的项目初始化脚本
所有代码示例都是可直接复制使用的完整实现
CLAUDE.md 的加载顺序:内层优先于外层(目录级 > 项目级 > 用户级)
自定义命令使用 $ARGUMENTS 占位符传递参数
命令文件名即命令名(code-review.md → /code-review)
全局命令(~/.claude/commands/)在所有项目中可用
项目命令(.claude/commands/)仅在当前项目可用
CLAUDE.md 和命令定义需要团队维护和更新
某些复杂工作流可能需要 Skills 系统(更高级)
文章标题:"Claude Code Memory: How to Use CLAUDE.md, Custom Slash Commands and Skills"
文章强调:"Give Claude permanent project context"(给 Claude 永久的项目上下文),通过 CLAUDE.md 和自定义命令实现持久化记忆和标准化工作流。
Claude Opus 4.7