Claude Code How to–如何组合CC各种工具

从github项目中学习如果组合官方提供的各种工具–不定版本尽量新版本

官方文档描述了各种功能,但没有告诉你如何将它们组合起来使用。你知道斜杠命令的存在,但却不知道如何将它们与Hooks、Memory和Subagent串联起来,形成一个真正能节省数小时的工作流,该文章提供先对部件认知然后给组合提供一些思路

1. 背景

前面文章已经学习了如何安装claude colder,如何安装Skills,MCP,Command,Agent,settings等,但是都是独立的模块进行的了解,该如何整合起来形成自己的工作流才是最重要的事情

这里依据luongnv89/claude-howto仓库进行第二步的学习

维度 官方文档(Official Docs) 本指南(This Guide)
格式 参考型文档 使用 Mermaid 图的可视化教程
深度 功能说明 底层工作原理解析
示例 基础代码片段 可直接用于生产的模板
结构 按功能组织 渐进式学习路径(从入门到进阶)
入门方式 自主学习 带时间预估的引导式路线
自我评估 交互式测验,定位知识缺口并生成个性化路径

该仓库主要是下面几个部分:

  • 覆盖 Claude Code 所有功能的 10 个教程模块——从斜杠命令到自定义智能体团队
  • 可直接复制粘贴的配置——斜杠命令、CLAUDE.md 模板、hook 脚本、MCP 配置、子智能体定义以及完整插件包
  • 使用 Mermaid 图展示每个功能的内部工作原理,让你不仅知道“怎么用”,还理解“为什么这样设计”
  • 内置自我评估——可以在 Claude Code 中直接运行 /self-assessment/lesson-quiz hooks 来识别知识盲区

主要是介绍了10个模块和上手容易程度

顺序 模块 等级
1 Slash Commands(斜杠命令) Beginner(初级)
2 Memory(记忆) Beginner+(初级+)
3 Checkpoints(检查点) Intermediate(中级)
4 CLI Basics(命令行基础) Beginner+(初级+)
5 Skills(技能) Intermediate(中级)
6 Hooks(钩子) Intermediate(中级)
7 MCP Intermediate+(中级+)
8 Subagents(子智能体) Intermediate+(中级+)
9 Advanced Features(高级功能) Advanced(高级)
10 Plugins(插件) Advanced(高级)

不同版本的claude code会发生变化,有可能大版本之后会有大的逻辑变化,所以要紧跟版本

2. Claude Code How To

将项目从github克隆下来之后,挨个进行复制,前面的claude code learn已经介绍了不同工具安装的目录路径,这里将不同的文件夹拷贝到目标文件夹即可

# 1. Clone the guide,克隆当前的仓库
git clone https://github.com/luongnv89/claude-howto.git
cd claude-howto

# 2. Copy your first slash command,启动第一个命令
mkdir -p /path/to/your-project/.claude/commands
cp 01-slash-commands/optimize.md /path/to/your-project/.claude/commands/

# 3. Try it — in Claude Code, type: 尝试第一个命令
# /optimize

# 4. Ready for more? Set up project memory: 设置项目记忆
cp 02-memory/project-CLAUDE.md /path/to/your-project/CLAUDE.md

# 5. Install a skill: skill的安装
cp -r 03-skills/code-review-specialist ~/.claude/skills/

3 Commands学习

斜杠命令就像你个人访问 AI 助手的快捷方式,可以把slash command想象成你在手机上设置的快捷方式图标,点击一下就能直接打开特定的功能,而不需要每次都输入完整的指令。而slash command可以看作是存储提示的markdown文件,里面包含了你想要AI执行的任务的详细说明和示例。通过使用斜杠命令,你可以快速调用这些预设的提示,节省时间并提高效率

  1. slash command结构

当你使用/commands的时候,其实底层触发的是下面的逻辑

┌─────────────────┐
 User Input      
 /command-name   
└────────┬────────┘
          Triggers
         
┌─────────────────────────┐
 Search                  
 .claude/commands/       
└──────────┬──────────────┘
            Finds
           
┌─────────────────────────┐
 command-name.md         
└──────────┬──────────────┘
            Loads
           
┌─────────────────────────┐
 Markdown Content        
└──────────┬──────────────┘
            Executes
           
┌─────────────────────────┐
 Claude Processes Prompt 
└──────────┬──────────────┘
            Returns
           
┌─────────────────────────┐
 Result in Context       
└─────────────────────────┘

现在command用户体验层面基本合并skills了,但底层概念没有完全合并,Command本质上只是markdown文档,但是Skills增加了比如Tool权限控制,有更好的参数处理,能够与Hook配合等

cc command hook

  1. 新版命令分类
类型 来源 定义方式 示例 是否推荐 备注
Built-in Commands Claude Code 内置 系统提供 /help, /clear, /model ✅ 必须 不可修改
Skills(新标准) 用户定义 .claude/skills/*.md /optimize, /pr, /refactor ⭐⭐⭐⭐⭐ 推荐 替代旧 custom commands
Plugin Commands 插件系统 插件注册 /frontend-design:frontend-design ⭐⭐⭐ 依赖插件生态
MCP Prompts MCP Server MCP tools / prompts /mcp__github__list_prs ⭐⭐⭐⭐ 面向工具/API
Legacy Commands(旧) .claude/commands/ Markdown 文件 /build, /test ⚠️ 兼容但不推荐 已被 Skills 取代

不同的类型有了自己的命名规则,方便分类和管理

类型 命名格式
Skill command /skill-name
Plugin command /plugin:command
MCP command /mcp__server__tool
Built-in /help

自定义斜杠命令已合并到技能中。.claude/commands/ 目录下的文件仍然有效,但现在推荐使用技能目录 (.claude/skills/)。两者都会创建 /commands-name 快捷方式。

  1. 命令示例

[1] Claude Code内置命令

Claude Code内置命令都是绑定在claude code安装过程中的,不像自定义的命令需要手动安装到指定目录下

分类 Slash Command 别名 功能说明
帮助与元信息 /help - 查看帮助信息
/feedback /bug/share 提交反馈或问题
/powerup - 查看增强功能
/release-notes - 查看版本更新日志
/exit - 退出 Claude Code
会话与对话 /clear - 清空当前会话
/resume - 恢复历史会话
/rename - 重命名会话
/branch - 创建会话分支
/rewind /checkpoint 回退到历史检查点
/fork - 分叉当前对话
/copy - 复制当前会话
/export - 导出会话内容
/recap - 生成会话总结
/btw - 后台继续执行任务
/background - 后台运行任务
/stop - 停止当前任务
上下文与规划 /context - 查看上下文状态
/compact - 压缩上下文
/focus - 设置关注范围
/plan - 生成执行计划
/goal - 管理目标
/tasks - 查看任务列表
模型与推理强度 /model - 切换模型
/effort - 调整推理强度
/fast - 快速模式
/advisor - 顾问模式
项目初始化与配置 /init - 初始化项目
/config /settings 配置 Claude Code
/memory - 管理记忆
/permissions - 权限管理
/hooks - 配置 Hooks
/mcp - MCP 管理
/agents - Agent 管理
/skills - Skills 管理
/plugin - 插件管理
/workflows - 工作流管理
/statusline - 状态栏设置
/keybindings - 快捷键配置
/theme - 主题设置
/color - 配色设置
/scroll-speed - 滚动速度设置
/vim - Vim 模式配置
/terminal-setup - 终端环境配置
/ide - IDE 集成配置
/sandbox - 沙箱配置
/add-dir - 添加工作目录
/cd - 切换目录
/reload-skills - 重新加载 Skills
/reload-plugins - 重新加载插件
/privacy-settings - 隐私设置
注记

不同的版本会有不同的命令迭代更新,核心是知道有什么命令,在需要的时候调用即可,有的命令是针对桌面版的Claude Code

[2] Code Quality Command (/optimize)

Command现在并入了skills中,当前学习还是放置在commands文件夹中

# 1. 克隆仓库
git clone https://github.com/luongnv89/claude-howto.git
cd claude-howto

# 2. 创建项目文件夹或者直接复制到个人目录下的.claude
mkdir -p /path/to/your-project/.claude/commands

# 3. 复制命令文件
cp 01-slash-commands/optimize.md /path/to/your-project/.claude/commands/

下面是Optimization的markdown文件内容:

---
description: Analyze code for performance issues and suggest optimizations
---

# Code Optimization

Review the provided code for the following issues in order of priority:

1. **Performance bottlenecks** - identify O(n²) operations, inefficient loops
2. **Memory leaks** - find unreleased resources, circular references
  • 已经不需要name字段了,文件名就是命令名
  • description字段是可选的,但建议添加,方便在命令列表中快速了解

Claude Code中输入/optimize,就会触发这个命令,Claude会根据markdown文件中的提示分析代码并给出优化建议。

 /optimize 是一个代码性能优化分析技能。它会扫描代码并按优先级检
  查以下问题:

  1. 性能瓶颈 — O(n²) 操作、低效循环
  2. 内存泄漏 — 未释放的资源、循环引用
  3. 算法改进 — 更优的算法或数据结构建议
  4. 缓存机会 — 重复计算的可缓存点
  5. 并发问题 — 竞态条件、线程安全问题

  每个发现会标注严重程度(Critical/High/Medium/Low)、代码位置、
  解释和修复建议。

  用法: 对当前工作目录中的代码运行分析。你可以在后面指定要分析
  的文件或代码范围,比如 /optimize src/utils.ts。

  需要我对当前项目跑一次优化分析吗?

[3] Bundled Skills

Claude Code中有几个命令是以Skills的形式打包然后以/command命令调用,方便直接使用,后续介绍Skills的时候会详细介绍

技能命令 用途说明
/batch <instruction> 使用 Worktree 编排和执行大规模并行代码修改任务。
/claude-api 加载当前项目所使用编程语言对应的 Claude API 参考文档。
/debug [description] 启用调试日志,并可附带调试说明。
/loop [interval] <prompt> 按指定时间间隔重复执行同一个 Prompt。
/code-review [effort] 对当前 Diff 进行代码审查,重点查找正确性和潜在 Bug。可指定审查强度(如 lowmediumhigh)。在 v2.1.146 中曾吸收 /simplify 功能,但后来重新拆分。
/simplify 执行仅针对代码清理和优化的审查,包括代码复用、简化、效率提升和结构优化,并自动应用修改;不会主动查找 Bug。如需 Bug 检查,应使用 /code-review。曾在 v2.1.152 中作为 /code-review --fix 的别名,v2.1.154 后恢复为独立命令。

4 Memory学习

记忆功能使 Claude 能够在会话和对话之间保留上下文。它以两种形式存在:claude.ai 中的自动合成,以及 Claude Code 中基于文件系统的 CLAUDE.md 文件。

在 Claude.ai(网页端 Claude)中,Claude 会自动从你和它的长期对话里提炼出一些有价值的信息,形成 Memory,而不是让你手动维护一个文件

Claude Code中的记忆系统提供了永久的上下文保存,可以多重的会话.不像临时的上下文窗口,记忆文件有优势:

  • 能够在team中分享项目标准
  • 存储个人开发偏好
  • 保持项目规则和设置
  • 导入额外文档
  • 项目的版本控制
Command 作用(Purpose) 用法(Usage) 适用场景(When to Use)
/init 初始化项目记忆,创建或更新 CLAUDE.md /init 新项目开始时;首次创建项目记忆
/memory 编辑和管理记忆文件 /memory 大规模修改、整理、查看项目记忆
# 前缀 快速添加单行记忆(已废弃) 已移除 现在使用 /memory 或直接对话告诉 Claude
@path/to/file 导入外部文件内容作为上下文 @README.md
@docs/api.md
引用已有文档、规范、设计说明

这里先给一个整体的关系图

                    项目知识管理

                           │
         ┌─────────────────┼─────────────────┐
         │                 │                 │
         ▼                 ▼                 ▼

      /init            /memory          @file

   创建记忆库        编辑记忆库       导入临时上下文

         │                 │                 │
         └──────────┬──────┘                 │
                    ▼                        │

                CLAUDE.md                    │
              (长期项目记忆)               │

                    ▲                        │
                    └───────────────┬────────┘
                                    ▼

                             Claude 回答问题

4.1 /init命令

/init在Claude Code是设置项目记忆的最快方式,它会初始化一个包含项目基础文档的CLAUDE.md文件

在claude code中输入/init

  • 在您的项目中创建一个新的 CLAUDE.md 文件,可以位于项目中的CLAUDE.md,也可以在用户层面的./claude/CLAUDE.md,或者两者都创建
  • 制定项目规范和准则
  • 为跨会话的上下文持久性奠定基础
  • 为项目标准提供模板

增强交互模式(Enhanced interactive mode):设置环境变量 CLAUDE_CODE_NEW_INIT=1 后,Claude Code 的 /init 命令会启用新的多阶段交互流程,引导你一步一步完成项目初始化

./CLAUDE.md和./.claude/CLAUDE.md现在属于平级状态

bashzsh中设置:

export CLAUDE_CODE_NEW_INIT=1

4.2 /memory命令

#快捷键已经弃用,之前还没了解过现在已经弃用了,发展太快学的太慢不知道是好还是坏了..

Claude Code中输入/memory,Claude会提示你选择要编辑的文件,然后确认后会跳转到编辑器去编辑文件,确认即可

cc memory

注记

AI Agent现在能做很多,包括你可以直接让AI去修改memory,比如告诉它下面的信息请记住,本项目始终使用 TypeScript 严格模式。 另请注意:优先使用 async/await 而非 Promise 链。

什么时候使用/memory?

  • 审查现有内存内容
  • 做大量项目标准的更新
  • 重新组织结构
  • 添加详细的文档或者指南
  • 随着项目的演进,维护和更新内存

4.3 @/path/file功能

这是 Claude Code 中一个很实用的功能,允许你在 CLAUDE.md 里引用其他文件内容,避免把所有内容都堆到一个大文件里

比如在CLAUDE.md文件中可以这么写

# Project Documentation
See @README.md for project overview
See @package.json for available npm commands
See @docs/architecture.md for system design

# Import from home directory using absolute path
@~/.claude/my-project-instructions.md

有点类似Ghostty中的设置文件,可以引用别的位置的文件来补充设置,放置一个文件内容过多导致的信息爆炸

  • 相对路径和绝对路径都是可以的
  • 文件深度最大是5层,相当于5个子文件夹
  • 首次从外部位置导入数据时,会触发安全审批对话框。
  • 在 Markdown 代码 span 或代码块中,导入指令不会被执行
  • 通过引用现有文档,有助于避免重复工作。

4.4 记忆架构和层级管理

cc memory architecture

Claude Code 使用多层级Memory系统。Memory文件会在 Claude Code 启动时自动加载,级别较高的文件优先级更高

  1. Claude Code 企业级集中管理(Managed Policy) 的功能,类似公司 IT 管理员统一下发配置和规则,让所有开发者使用 Claude Code 时自动遵守相同的规范
系统级CLAUDE.md
系统 路径
macOS /Library/Application Support/ClaudeCode/CLAUDE.md
Linux / WSL /etc/claude-code/CLAUDE.md
Windows C:\Program Files\ClaudeCode\CLAUDE.md
  1. Managed Drop-ins 以前只能写有一个巨大的CLAUDE.md从v2.1.83 开始新增,可以拆分多个文件,大型组织经常有很多的团队,如安全团队,开发规范团队,AI平台团队,所有人都修改同一个CLAUDE.md会造成冲突
Managed CLAUDE.md
└── 同目录下的 managed-settings.d/

01-security.md
02-compliance.md
03-devops.md
04-python.md
05-web.md
  1. Project Memory–团队共享上下文(版本控制)

./.claude/CLAUDE.md or ./CLAUDE.md (in repository root)

提示

这里的./非常容易让人误解,文档里的./CLAUDE.md并不是当前Shell工作目录,而是指Repository Root(git仓库根目录)

/etc/claude-code/CLAUDE.md     (系统级)

项目根目录 CLAUDE.md            (项目级)

.claude/CLAUDE.md             (本项目附加规则)

memory
  1. 项目规则 - 模块化、主题特定的项目说明
  • .claude/rules/*.md:把项目规则拆成多个主题文件,按需组织和维护
  • 项目里的 CLAUDE.md:写一个总规则文件
my-project/

├── CLAUDE.md
└── .claude/
└── rules/
├── python.md
├── testing.md
├── git.md
├── architecture.md
└── security.md

以前是把规则按主题一起塞入到CLAUDE.md,文件越来越大,越来越难维护,现在加入rules/*.md之后,团队协作项目,每个关键流程都是一个单独的文件,方便维护和更新

特性 .claude/rules/*.md Managed Drop-ins
作用范围 当前项目 整台机器 / 整个组织
位置 项目目录内 系统目录
管理者 项目开发者 IT管理员 / 企业管理员
是否提交 Git 通常是 通常不是
是否随项目传播
优先级 较低 较高
目标 项目规范 企业强制策略
  1. 个人记忆 - 个人偏好(所有项目)

~/.claude/CLAUDE.md (in user home directory)

  1. User-Level Rules - Personal rules (all projects)

~/.claude/rules/*.md

  1. 本地项目记忆(Local Project Memory)

专门解决:同一个项目里,团队共享规则和我个人习惯不一样怎么办

./CLAUDE.local.md

  1. Auto Memory - Claude’s automatic notes and learnings

Claude 在使用过程中自动积累的项目记忆

注记

Claude Code 对于memory搜索是有顺序的

cc memory order

4.5 使用 claudeMdExcludes 排除 CLAUDE.md 文件

在大型单体仓库中,某些 CLAUDE.md 文件可能与您当前工作无关。claudeMdExcludes 设置允许您跳过特定的 CLAUDE.md 文件,使其不被加载到上下文中

// In ~/.claude/settings.json or .claude/settings.json
{
  "claudeMdExcludes": [
    "packages/legacy-app/CLAUDE.md",
    "vendors/**/CLAUDE.md"
  ]
}

或者直接让AI去写入到文件中去

  1. Setting 文件的层级

Claude Code 设置(包括 autoMemoryDirectory、claudeMdExcludes 和其他配置)是根据五级层次结构解析的,级别越高优先级越高:

Level Location Scope 说明
1 (Highest) Managed policy (system-level) Organization-wide enforcement 组织级强制策略(最高优先级,无法被覆盖)
2 managed-settings.d/ (v2.1.83+) Modular policy drop-ins 模块化策略片段,按文件名字母顺序合并
3 .claude/settings.local.json Local overrides 本地覆盖配置(通常被 git ignore)
4 .claude/settings.json Project-level 项目级配置(会提交到 git 仓库)
5 (Lowest) ~/.claude/settings.json User preferences 用户全局偏好设置(最低优先级)

在claude code输入/config同样会修改当前用户下的setting.json文件,选择之后都会保存

cc config

  1. 本地缓存文件清理
{
  "cleanupPeriodDays": 14
}

Claude Code 启动时,会删除 14 天前的本地历史文件,会清理下面的目录

目录 用途
~/.claude/checkpoints/ Checkpoint 历史快照
~/.claude/tasks/ Task 执行记录
~/.claude/shell-snapshots/ Shell 命令快照
~/.claude/backups/ Claude 自动备份文件

对于用户和项目推荐的CLAUDE.md写法和结构,更加合理的管控项目和个人偏好

your-project/
├── .claude/
│   ├── CLAUDE.md
│   └── rules/
│       ├── code-style.md
│       ├── testing.md
│       ├── security.md
│       └── api/                  # Subdirectories supported
│           ├── conventions.md
│           └── validation.md

~/.claude/
├── CLAUDE.md
└── rules/                        # User-level rules (all projects)
    ├── personal-style.md
    └── preferred-patterns.md
  • ~/.claude中放长期不变的个人习惯
  • your-project/.claude中放项目级别的规则
  • 这两个是可以共存的,但是~/.claude下面的会覆盖项目里面的
  1. 在Rules中指定文件

Path-Specific Rules with YAML Frontmatter 的作用是: > 让某条规则只对特定目录、文件类型或路径生效,而不是整个项目都生效

不使用特定路径的话,Rules会应用到整个项目,使用YAML Frontmatter会指定文件

---
paths: src/api/**/*.ts
---

# API Development Rules

- All API endpoints must include input validation
- Use Zod for schema validation
- Document all parameters and response types
- Include error handling for all operations

还可以使用全局模式:

  • **/*.ts - All TypeScript files
  • src/**/* - All files under src/
  • src/**/*.{ts,tsx} - Multiple extensions
  • {src,lib}/**/*.ts, tests/**/*.test.ts - Multiple patterns
重要

.claude/rules/ 的两个组织能力增强功能:子目录递归 + 符号链接(symlink)复用规则

  • Subdirectories(子目录)
  • Symlinks(符号链接): 允许你在多个项目之间共享同一份规则文件

cc memory cycle

4.6 Auto Memory

自动记忆库是一个持久目录,Claude 会在项目运行过程中自动记录学习成果、模式和见解。与您手动编写和维护的 CLAUDE.md 文件不同,自动记忆库由 Claude 在运行过程中自动生成。

  • 自动记忆库中的内容会根据项目需求自动更新,无需手动干预。
  • 自动记忆库的位置在~/.claude/projects/<project>/memory/
  • 入口点: MEMORY.md 是自动内存目录中的主文件
  • 会话启动时,MEMORY.md 文件的前 200 行(或前 25KB,以先到者为准)会被加载到上下文中。主题文件是按需加载的,而不是在启动时加载的。

cc memory

注记

常见的目录结构:

~/.claude/projects/<project>/memory/
├── MEMORY.md              # Entrypoint (first 200 lines / 25KB loaded at startup)
├── debugging.md           # Topic file (loaded on demand)
├── api-conventions.md     # Topic file (loaded on demand)
└── testing-patterns.md    # Topic file (loaded on demand)

自动记忆功能需要 Claude Code v2.1.59 或更高版本

默认情况下,自动内存存储在 ~/.claude/projects/<项目>/memory/ 目录中。您可以使用 autoMemoryDirectory 设置(自 v2.1.74 版本起可用)更改此位置

// In ~/.claude/settings.json or .claude/settings.local.json (user/local settings only)
{
  "autoMemoryDirectory": "/path/to/custom/memory/directory"
}

[2] Worktree and Repository Sharing

同一个 Git 仓库中的所有工作树和子目录共享同一个自动内存目录。这意味着在不同的工作树之间切换,或者在同一个仓库的不同子目录中工作,都会读写同一个内存文件。

subagents有自己独立的memory 上下文,在子代理定义中使用内存前置信息字段来指定要加载的内存范围

memory: user      # Load user-level memory only
memory: project   # Load project-level memory only
memory: local     # Load local memory only

[3] Additional Directories with --add-dir

--add-dir 标志允许 Claude Code 从当前工作目录之外的其他目录加载 CLAUDE.md 文件。这对于单体仓库或多项目架构非常有用,因为在这些情况下,其他目录的上下文信息也很重要。

有两种方法来允许claude code读取子目录

  • 临时生效,在终端直接写CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude,只对这一次claude启动生效
  • export CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1写在.bashrc或者.zshrc中,永久生效

同样的控制是否启动自动记忆也是这样子的

# Disable auto memory for a session
CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 claude

# Force auto memory on explicitly
CLAUDE_CODE_DISABLE_AUTO_MEMORY=0 claude

4.7 实际例子

[1] 个人偏好定位等,写在~/.claude/CLAUDE.md中,可以用来参考:

# My Development Preferences

## About Me
- **Experience Level**: 8 years full-stack development
- **Preferred Languages**: TypeScript, Python
- **Communication Style**: Direct, with examples
- **Learning Style**: Visual diagrams with code

## Code Preferences

### Error Handling
I prefer explicit error handling with try-catch blocks and meaningful error messages.
Avoid generic errors. Always log errors for debugging.

### Comments
Use comments for WHY, not WHAT. Code should be self-documenting.
Comments should explain business logic or non-obvious decisions.

### Testing
I prefer TDD (test-driven development).
Write tests first, then implementation.
Focus on behavior, not implementation details.

### Architecture
I prefer modular, loosely-coupled design.
Use dependency injection for testability.
Separate concerns (Controllers, Services, Repositories).

## Debugging Preferences
- Use console.log with prefix: `[DEBUG]`
- Include context: function name, relevant variables
- Use stack traces when available
- Always include timestamps in logs

## Communication
- Explain complex concepts with diagrams
- Show concrete examples before explaining theory
- Include before/after code snippets
- Summarize key points at the end

## Project Organization
I organize my projects as:

   project/
   ├── src/
   │   ├── api/
   │   ├── services/
   │   ├── models/
   │   └── utils/
   ├── tests/
   ├── docs/
   └── docker/

## Tooling
- **IDE**: VS Code with vim keybindings
- **Terminal**: Zsh with Oh-My-Zsh
- **Format**: Prettier (100 char line length)
- **Linter**: ESLint with airbnb config
- **Test Framework**: Jest with React Testing Library

[2] 个人项目下的./CLAUDE.md文件

# Project Configuration

## Project Overview
- **Name**: E-commerce Platform
- **Tech Stack**: Node.js, PostgreSQL, React 18, Docker
- **Team Size**: 5 developers
- **Deadline**: Q4 2025

## Architecture
@docs/architecture.md
@docs/api-standards.md
@docs/database-schema.md

## Development Standards

### Code Style
- Use Prettier for formatting
- Use ESLint with airbnb config
- Maximum line length: 100 characters
- Use 2-space indentation

### Naming Conventions
- **Files**: kebab-case (user-controller.js)
- **Classes**: PascalCase (UserService)
- **Functions/Variables**: camelCase (getUserById)
- **Constants**: UPPER_SNAKE_CASE (API_BASE_URL)
- **Database Tables**: snake_case (user_accounts)

### Git Workflow
- Branch names: `feature/description` or `fix/description`
- Commit messages: Follow conventional commits
- PR required before merge
- All CI/CD checks must pass
- Minimum 1 approval required

### Testing Requirements
- Minimum 80% code coverage
- All critical paths must have tests
- Use Jest for unit tests
- Use Cypress for E2E tests
- Test filenames: `*.test.ts` or `*.spec.ts`

### API Standards
- RESTful endpoints only
- JSON request/response
- Use HTTP status codes correctly
- Version API endpoints: `/api/v1/`
- Document all endpoints with examples

### Database
- Use migrations for schema changes
- Never hardcode credentials
- Use connection pooling
- Enable query logging in development
- Regular backups required

### Deployment
- Docker-based deployment
- Kubernetes orchestration
- Blue-green deployment strategy
- Automatic rollback on failure
- Database migrations run before deploy

## Common Commands

| Command | Purpose |
|---------|---------|
| `npm run dev` | Start development server |
| `npm test` | Run test suite |
| `npm run lint` | Check code style |
| `npm run build` | Build for production |
| `npm run migrate` | Run database migrations |

## Team Contacts
- Tech Lead: Sarah Chen (@sarah.chen)
- Product Manager: Mike Johnson (@mike.j)
- DevOps: Alex Kim (@alex.k)

## Known Issues & Workarounds
- PostgreSQL connection pooling limited to 20 during peak hours
- Workaround: Implement query queuing
- Safari 14 compatibility issues with async generators
- Workaround: Use Babel transpiler

## Related Projects
- Analytics Dashboard: `/projects/analytics`
- Mobile App: `/projects/mobile`
- Admin Panel: `/projects/admin`