第一时间捕获有价值的信号
昨天那篇文章引起群里不少读者对 Claude Code 的好奇心,但碍于它是一款终端软件,安装阶段就劝退众多非程序员朋友,这篇文章就手把手从安装开始,从基础入手,逐步深入,让你成为 Claude Code 使用高手,打造自己的 10 倍生产力。
资深 Claude Code 用户不在于掌握更多命令,更在于能否高效构建开发环境、配置智能上下文,以及设计能够充分发挥 Claude 推理能力的工作流。通过本教程,你将学会构建企业级开发流程、自动化复杂技术决策,并以前所未有的方式拓展开发能力。
本文译自 claude-code-for-power-users ,有所增删。
了解 Claude Code
Claude Code 与传统 AI 编码助手的存在根本性差异, GitHub Copilot 这样的工具专注于代码补全,但 Claude Code 作为一个**自主智能体系统(Agentic System)**运行,能够理解整个项目上下文,做出架构决策,并执行复杂的多步骤工作流。
| AI 编码助手 | Claude Code |
|---|---|
| 逐行代码补全 | 对整个项目的全面理解 |
| 单文件上下文 | 跨文件间的分析 |
| 被动响应的建议 | 主动规划 |
| 手动集成操作 | 自主执行任务 |
| 基于模式匹配 | 推理和自我调整能力 |
核心架构理念
Claude Code 建立在三个基本原则之上
底层控制(Low-Level Control)
与那些有特定开发理念的框架不同,Claude Code 让你直接访问 Claude 的推理能力,而无需强制遵循特定的工作流。这意味着你可以将它适应任何开发方法、团队结构或项目架构。
具备上下文感知能力的智能(Context-Aware Intelligence)
通过多个数据源建立和维护对你项目的全面理解
- 文件系统结构和模式
- Git 历史和分支策略
- 文档和配置文件
- 团队约定和编码标准
- 先前的交互和学习的模式
自主智能体行为(Agentic Behavior)
Claude Code 不仅仅是响应提示,它还能:
- 规划复杂的多步骤操作
- 基于项目上下文做出决策
- 自主执行任务
- 学习和适应你的模式
- 为其决策提供推理依据
初次安装使用
安装过程:
# 方法 1:NPM(官方和推荐)
npm install -g @anthropic-ai/claude-code
# 方法 2:Homebrew(macOS 和 Linux)
brew install anthropic/tap/claude-code
# 方法 3:Arch Linux AUR
yay -S claude-code # 或 paru -S claude-code
# 方法 4:Docker(容器化)
docker pull ghcr.io/rchgrav/claudebox:latest
# 方法 5:通过 WSL 在 Windows 上(Anthropic 推荐)
# 启用 WSL 2,安装 Ubuntu,然后:
sudo apt update && sudo apt install -y nodejs npm
npm install -g @anthropic-ai/claude-code
# 验证安装
claude --version
claude /doctor
最重要的第一步:
# 进入你的项目
cd /path/to/your/project
# 初始化 Claude Code(至关重要)
claude
/init
# 此操作将创建 CLAUDE.md 文件
Claude Code 费用
Max Plan(每月 100 美元)的性价比:
- Token 成本:重度使用 API,每月费用很容易超过 500 到 1000 美元
- 时间节省:每月节省 2 小时 = 对大多数开发者而言价值 100 美元以上
- 保证工作流的连续性:不受速率限制或 Token 数量的干扰
- 功能访问:扩展思考、无限上下文支持以及高级推理能力
实际成本比较:
场景:高级开发者每天使用 Claude Code 4 小时
API 定价(按使用付费):
- 50k tokens/小时 × 4 小时 × 22 天 = 4.4M tokens/月
- 按 1M tokens 15 美元计算 = 66 美元/月(基本使用)
- 包含扩展思考 + 上下文:200-400 美元/月
Max Plan:每月 100 美元固定
节省的时间成本盈亏平衡点:每月节省约 1.5 小时的开发时间
基本设置与配置
基础认证与配置
设置认证:
# 方法 1:环境变量
export ANTHROPIC_API_KEY="your-key-here"
# 方法 2:安全存储凭证
claude auth login
# 遵循安全的 OAuth 流程
# 方法 3:配置文件
~/.claude/config.json
高级配置选项:
{
"model": "claude-sonnet-4-20250514",
"temperature": 0.1,
"max_tokens": 8192,
"thinking_budget": "extended",
"theme": "dark-daltonized",
"editorMode": "vim",
"autoUpdates": true,
"verbose": true,
"outputFormat": "text",
"allowedTools": ["Edit", "View"],
"bypassPermissionsModeAccepted": false,
"hasCompletedOnboarding": true,
"auto_save_context": true,
"workspace_settings": {
"auto_git_integration": true,
"commit_message_template": "feat: {summary}\n\n{details}",
"test_before_commit": true
},
"security": {
"allowed_directories": ["~/projects", "~/work"],
"blocked_patterns": ["*.env", "id_rsa", "*.key"],
"require_confirmation": ["rm", "delete", "drop"]
}
}
针对高级用户的隐藏环境变量:
# 用于性能优化
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
export DISABLE_NON_ESSENTIAL_MODEL_CALLS=1
export ENABLE_BACKGROUND_TASKS=1
export FORCE_AUTO_BACKGROUND_TASKS=1
export CLAUDE_CODE_ENABLE_UNIFIED_READ_TOOL=1
# 用于扩展思考配置
export MAX_THINKING_TOKENS=50000
# 用于隐私设置
export DISABLE_TELEMETRY=1
export DISABLE_ERROR_REPORTING=1
# 用于开发与调试
export CLAUDE_CODE_DEBUG=1
export CLAUDE_CODE_VERBOSE_LOGGING=1
集成开发环境(IDE)配置
VS Code 扩展配置:
// settings.json
{
"claude-code.enableRealTimeErrors": true,
"claude-code.contextScope": "workspace",
"claude-code.autoSaveContext": true,
"claude-code.inlineCompletions": false, // 避免冲突
"claude-code.diagnosticsIntegration": true
}
Neovim 插件配置:
-- ~/.config/nvim/lua/claude-code.lua
require('claude-code').setup({
keymap = {
ask = '<leader>cc',
context = '<leader>cx',
commit = '<leader>cg'
},
integration = {
lsp = true,
treesitter = true,
telescope = true
}
})
认识 CLAUDE.md 文件
CLAUDE.md 文件是 Claude Code 的记忆系统。否则,Claude 会在每次交互时都从零开始,无法学习你团队的模式、编码标准或项目特定知识。这是区分新手与高手的首要因素。
CLAUDE.md 的完整结构示例
# CLAUDE.md
## 项目概览
这是一个用于项目管理的 React TypeScript 应用,后端使用 Node.js。
我们遵循领域驱动设计(Domain-Driven Design, DDD)的原则,并使用微服务架构(Microservices Architecture)。
## 技术栈
- 前端:React 18, TypeScript 5.2, Vite, TailwindCSS
- 后端:Node.js, Express, TypeScript, Prisma ORM
- 数据库:PostgreSQL 15
- 测试:Vitest, React Testing Library, Playwright
- 基础设施:Docker, Kubernetes, AWS
## 命令与脚本
- `npm run dev`: 启动开发服务器(前端在 :3000,后端在 :3001)
- `npm run build`: 生产构建,带优化
- `npm run typecheck`: 运行 TypeScript 类型检查
- `npm test`: 运行单元测试并生成覆盖率报告
- `npm run test:e2e`: Playwright 端到端测试
- `npm run db:migrate`: 应用数据库迁移
- `npm run db:seed`: 填充开发数据
## 代码风格与标准
- 使用带 Hooks 的函数式组件(无类组件)
- 倾向于组合优于继承
- 复杂 UI 使用组合组件模式
- 共享逻辑使用自定义 Hooks
- TypeScript 启用严格模式
- 使用 ESLint + Prettier 进行格式化
- 遵循 Conventional Commits 规范(feat:, fix:, docs: 等)
## 架构模式
- 按功能划分的文件夹结构(而非按类型划分)
- 从 index.ts 文件进行 Barrel exports(集中导出)
- 自定义 Hooks 模式:useFeatureName
- API 层:services/api/featureName.ts
- 状态管理:Zustand 用于全局状态,React state 用于局部
- 组件错误处理使用错误边界(Error Boundaries)
## 测试理念
- 在实现功能前编写测试(测试驱动开发, TDD)
- 关注用户行为,而非实现细节
- 使用 data-testid 进行元素选择
- 模拟外部依赖,在边界处进行集成测试
- 目标是 80% 以上的代码覆盖率
## 数据库模式
- 使用 Prisma 的 Schema-first 方法
- 通过 `deletedAt` 时间戳实现软删除
- 面向公众的实体使用 UUID 作为主键
- 跟踪创建/更新时间戳
- 数据库迁移在版本控制中
## 安全考量
- 所有 API 端点除 /health 外都需认证
- 使用 helmet.js 添加安全响应头
- 使用 Zod schema 进行输入验证
- 公共端点进行速率限制
- 生产域名配置 CORS
## 部署与基础设施
- 蓝绿部署(Blue-green deployment)策略
- .env 文件中配置环境特定设置
- Docker 多阶段构建以优化
- Kubernetes manifests 位于 k8s/ 目录
- 密钥通过 AWS Secrets Manager 进行管理
## 团队约定
- 采用特性分支(Feature Branch)工作流,并进行 PR(Pull Request)审查
- 合并前进行 Squash Commit
- 自动部署到主分支进行暂存
- 生产部署需要手动批准
- 破坏性更改需要通过 RFC(征求意见稿)形式进行讨论
## 常见陷阱
- 数据库迁移中不要使用任何依赖
- 在 TypeScript 组件中避免使用 `defaultProps`(而应使用默认参数)
- 不要提交 .env 文件(使用 .env.example 代替)
- 始终在组件中处理加载和错误状态
- 没有充分理由,不要使用 any 或 unknown 类型
## 性能指南
- 路由组件使用懒加载
- 对昂贵的组件使用 React.memo
- 对搜索输入和 API 调用进行防抖处理
- 使用 `webpack-bundle-analyzer` 工具优化打包体积
- 静态资源使用 CDN
## 调试与开发
- 使用 React DevTools 和 Redux DevTools
- 开发中启用源映射(Source maps)
- 使用 launch.json 配置 VS Code 调试器
- 记录结构化数据以便于解析
- 生产环境使用错误跟踪(Sentry)
## 外部依赖
- 避免在未经团队讨论的情况下添加新依赖
- 相比自定义实现,更倾向于使用 lodash 的工具函数
- 使用 date-fns 代替 moment.js(考虑打包体积)
- UI 组件只使用我们自定义的设计系统
## 文档标准
- 所有公共函数必须有 `JSDoc` 格式的注释
- 每个主要功能都有 README 文件
- 使用 OpenAPI/Swagger 进行 API 文档
- 重大决策使用架构决策记录(Architecture Decision Records, ADRs)
动态编辑 CLAUDE.md
通过 # 命令添加学到的模式:
# 在开发过程中,当 Claude 学习到一些有用的东西时
Claude:“我将把它添加到你的 CLAUDE.md 文件中,以备将来参考。”
# 按 # 键自动追加该模式
将 CLAUDE.md 文件纳入版本控制:
# 像跟踪代码库一样跟踪 CLAUDE.md 的变化
git add CLAUDE.md
git commit -m "docs: 在 CLAUDE.md 中更新错误处理模式"
高级上下文管理
Claude Code 维护三种类型的上下文:
1. 会话上下文
- 当前的对话历史
- 正在进行的文件修改
- 临时变量和状态
2. 项目上下文
- CLAUDE.md 文件内容
- 项目结构和依赖
- Git 历史和分支信息
3. 全局上下文
- 用户偏好和模式
- 跨项目学习(启用时)
- 工具配置
有选择地清除上下文
# 一键清空(终极选项)
/clear
# 仅清除对话历史(保留项目上下文)
/clear --conversation-only
# 清除并重新开始,进行新的项目扫描
/clear --rescan-project
# 选择性地清除上下文
/clear --except=claude.md,git-history
上下文优化技巧
针对大型代码库(比如文件数超过 1 万):
# 限制操作范围
claude --scope="src/components,src/hooks" "重构认证逻辑"
# 排除不相关的文件夹
claude --exclude="node_modules,dist,build,coverage" "分析代码结构"
# 只专注于特定类型的文件
claude --include="*.ts,*.tsx" --exclude="*.test.*" "增加类型安全"
针对复杂功能:
# 创建上下文锚定文件
## current-task.md
正在进行:用户认证重构
状态:规划阶段
关键文件:src/auth/, src/components/Login.tsx
依赖:@auth0/auth0-react
下一步:
1. 规划组件结构
2. 更新路由
3. 添加测试
多实例并行开发
运行多个 Claude 实例:
# 终端 1:前端开发
cd frontend && claude
> "专注于 React 组件和样式"
# 终端 2:后端开发
cd backend && claude
> "处理 API 端点和数据库查询"
# 3:测试和 QA
cd . && claude --scope="tests,cypress"
> "为当前功能编写并执行测试"
# 终端 4:DevOps 和部署
cd infrastructure && claude
> "管理部署脚本和配置"
专业级工作流
测试驱动开发(TDD)流程
# 使用 Claude Code 完成 TDD 周期
claude "
我需要使用 TDD 实现一个支付处理系统:
1. 规划阶段(PLAN PHASE):
- 分析支付处理的需求
- 设计 API 接口
- 识别边缘情况和错误场景
- 暂时不要写任何代码
2. 测试阶段(TEST PHASE):
- 为 PaymentProcessor 类编写全面的单元测试
- 包含成功、失败和边缘情况的测试
- 为支付网关通信编写集成测试
- 运行测试并确认它们都失败了
3. 实现阶段(IMPLEMENTATION PHASE):
- 实现 PaymentProcessor 以通过所有测试
- 遵循我们的 SOLID 原则和依赖注入模式
- 添加适当的错误处理和日志记录
- 确保所有测试都通过
4. 重构阶段(REFACTOR PHASE):
- 审查代码以进行改进
- 提取通用模式
- 添加文档
- 最终测试运行
让我们从规划阶段开始。
"
功能开发流程
# 完成功能实现
claude "
实现用户资料编辑功能:
设置:
- 创建功能分支:feature/user-profile-editing
- 遵循我们的模式设置适当的目录结构
后端:
- 添加 API 端点:GET/PUT /api/users/:id/profile
- 使用 Zod schema 包含验证
- 为新的资料字段添加数据库迁移
- 编写 API 测试
前端:
- 创建带有表单验证的 ProfileEditor 组件
- 添加个人资料图片上传功能
- 实现乐观更新(Optimistic Updates)
- 添加加载和错误状态
- 编写组件测试
集成:
- 将前端连接到 API
- 添加适当的错误处理
- 测试完整的流程
- 更新文档
部署:
- 运行完整的测试套件
- 使用遵循 Conventional Commits 规范的提交信息进行提交
- 创建带有完整描述的 Pull Request
- 标记相关的代码审查人员
"
Git 工作流自动化
# 自动化的 Git 工作流
claude "
使用适当的 Git 工作流实现 OAuth 功能:
1. 创建功能分支:feature/oauth-integration
2. 使用 GitHub 和 Google 提供商实现 OAuth
3. 每次逻辑更改单独提交,并使用描述性信息
4. 为每个组件编写测试
5. 更新文档
6. 创建 PR,并包含:
- 清晰的更改描述
- 新 UI 的截图
- 测试说明
- 安全考量
7. 标记 @security-team 进行审查
"
自动代码审查流程
# 自动代码审查流程
claude --headless "
审查当前的 PR,检查:
- 安全漏洞
- 性能问题
- 代码风格合规性
- 测试覆盖率
- 文档完整性
生成一份 Markdown 报告,包含:
- 执行摘要
- 详细发现
- 建议
- 风险评估
"
高级功能与技巧
扩展思考模式
如何触发深度分析:
# 基本的扩展思考
claude "think about the best architecture for our microservices communication"
# 增强的推理
claude "think hard about the security implications of our authentication flow"
# 最大分析
claude "ultrathink the scalability challenges and provide a comprehensive solution"
何时使用每个级别:
- think:复杂的架构决策、代码设计模式
- think hard:安全分析、性能优化、复杂调试
- ultrathink:系统级重构、关键业务逻辑、高风险决策
全自动化模式:
在安全沙箱或隔离环境中工作时,可以启用全自动化模式:
# 仅限隔离环境中——绕过所有权限提示
claude --dangerously-skip-permissions
# 结合隔离环境的优化
export CLAUDE_CODE_CONTAINER_MODE=1
export BYPASS_ALL_CONFIRMATIONS=1
# 谨慎使用——仅限隔离、可丢弃的环境
docker run -it --rm \
-e ANTHROPIC_API_KEY="$ANTHROPIC_API_KEY" \
-e CLAUDE_CODE_CONTAINER_MODE=1 \
-v "$PWD:/workspace" \
claude-dev-container \
claude --dangerously-skip-permissions "重构整个代码库"
子智能体(subagent)
# 使用子智能体进行复杂验证
claude "
实现一个分布式缓存系统,并使用子智能体来:
- 验证性能特性
- 验证安全隐患
- 检查潜在的竞态条件
- 分析内存使用模式
- 审查错误处理的完整性
"
可视化开发
# 截图驱动的开发模式
claude "
1. 截取当前登录页面的屏幕截图
2. 这是新的设计模型:[粘贴图片]
3. 按照新设计进行实现,并包含:
- 响应式行为
- 辅助功能合规性
- 平滑动画
- 错误状态处理
4. 截取实现的屏幕截图
5. 迭代直到它与设计完全匹配
"
高级提示技巧
结构化输入问题:
claude "
上下文:拥有 100 万+ 用户的电商平台,React 前端,微服务后端
约束:必须保持 99.9% 的正常运行时间,要求符合 PCI 标准,每月 AWS 预算为 5 万美元
目标:在提升转化率的同时,将页面加载时间减少 40%
格式:提供分析、实施计划和成功指标
示例:你见过的类似优化(CDN、代码拆分、缓存)
验证:我们将如何衡量成功,以及如何回滚(如果需要)
分析我们的性能瓶颈并制定一个优化策略。
"
自定义命令
自定义斜杠命令是 Claude Code 最强大的功能,用于创建可重复使用、特定于团队的工作流。与内置命令不同,自定义命令让你将团队的流程、工具和专业知识编码成可重复的自动化。
创建自定义命令
命令结构:
# 命令存储在 .claude/commands/ 中
mkdir -p .claude/commands/
# 创建一个命令文件
touch .claude/commands/security-audit.md
安全审计命令内容:
# 安全审计命令
对当前代码库执行一次全面的安全审计:
## 认证与授权
- 审查 JWT 实现是否存在漏洞
- 检查适当的会话管理
- 验证 RBAC 实现
## 输入验证
- 扫描 SQL 注入漏洞
- 检查 XSS 预防措施
- 验证 API 输入净化
## 输出格式
提供一份按优先级排序的发现列表,包含:
- 严重级别(关键/高/中/低)
- 漏洞描述
- 潜在影响
- 建议的修复方案
- 适用的代码示例
参数:$ARGUMENTS(需要关注的特定领域)
使用自定义命令:
# 执行自定义命令
/security-audit api authentication
/security-audit frontend xss-prevention
# 列出可用的自定义命令
/commands
内置核心命令
/init # 创建 CLAUDE.md 文件
/clear # 清除对话上下文
/help # 显示可用命令
/permissions # 管理工具权限
/memory # 编辑项目内存
/doctor # 系统健康检查
/config # 配置管理
/mcp # MCP 服务器管理
集成 MCP 服务器
MCP 服务器通过提供对外部系统和数据源的访问来扩展 Claude Code 的功能。可以将它们理解为专业的插件,让 Claude 直接访问你的开发生态系统。
关键的 MCP 服务器
数据库集成配置:
// .mcp.json(项目级别)或 ~/.claude.json(全局)
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"POSTGRES_CONNECTION_STRING": "postgresql://user:pass@localhost:5432/myapp",
"ALLOWED_OPERATIONS": ["SELECT", "INSERT", "UPDATE", "DELETE"],
"SCHEMA_ACCESS": ["public", "analytics"]
}
}
}
}
开发工具配置:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/workspace", "/docs"],
"env": {
"ALLOWED_EXTENSIONS": [".js", ".ts", ".json", ".md", ".py"],
"BLOCKED_PATHS": [".env", "node_modules", ".git", "*.key"]
}
},
"git": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-git"],
"env": {}
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}
文档和上下文配置:
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@context7/mcp-server"],
"env": {
"CACHE_DOCS": "true",
"AUTO_UPDATE": "daily"
}
},
"brave-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": {
"BRAVE_API_KEY": "your_brave_api_key"
}
}
}
}
MCP 服务器管理
# 交互式 MCP 设置
claude mcp
# 列出已配置的服务器
claude mcp list
# 添加新服务器
claude mcp add postgres "npx -y @modelcontextprotocol/server-postgres"
# 移除服务器
claude mcp remove postgres
# 重启所有服务器
claude mcp restart --all
# 调试 MCP 问题
claude --mcp-debug
MCP 服务器的使用
数据库驱动的开发模式:
claude "
使用数据库 MCP 服务器:
1. 分析我们的用户表结构
2. 识别最常见查询中的性能瓶颈
3. 建议并实施数据库优化
4. 更新相应的 TypeScript 接口
5. 为任何模式更改编写迁移脚本
"
文档驱动的开发模式:
claude "
使用 Context7 获取最新的 React 18 模式并:
1. 审计我们的组件以查找过时的模式
2. 识别使用新 React 功能的机会
3. 重构我们最复杂的组件
4. 更新我们的编码标准文档
"
钩子(Hooks)和自动化
Claude Code 可以通过钩子集成到你的 Git 工作流中,从而在开发过程中的关键点启用自动化的代码分析、安全扫描和质量检查。
pre-commit 钩子
基本的 pre-commit 安全扫描,用于代码提交前:
#!/bin/bash
# .git/hooks/pre-commit
# 获取暂存文件
staged_files=$(git diff --cached --name-only --diff-filter=ACM)
if [ -z "$staged_files" ]; then
exit 0
fi
echo "🔍 正在运行 Claude Code 安全扫描..."
# 分析暂存的更改
analysis=$(echo "$staged_files" | xargs cat | \
claude -p "审查这些暂存的更改,以查找安全漏洞、性能问题和代码质量问题。重点关注:SQL 注入、XSS、认证问题和性能反模式。" \
--allowedTools "View" \
--output-format json)
# 检查是否存在关键问题
if echo "$analysis" | jq -e '.severity == "critical"' > /dev/null 2>&1; then
echo "❌ 发现关键安全问题 - 提交被阻止"
echo "$analysis" | jq -r '.findings[]'
exit 1
fi
echo "✅ 安全扫描通过"
高级钩子用例
每次会话结束后自动生成任务摘要:
{
"hooks": {
"Stop": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "echo '任务在 $(date) 完成。摘要:Claude Code 已完成处理。' | tee -a ~/claude_task_log.txt"
}
]
}
]
}
}
关键操作的实时警报(移动端通知):
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash|Write|Edit|MultiEdit",
"hooks": [
{
"type": "command",
"command": "~/scripts/ping_mobile.sh"
}
]
}
]
}
}
带多个服务的移动通知脚本:
#!/bin/bash
# ~/scripts/ping_mobile.sh
TOOL_NAME=$(echo "$1" | jq -r '.tool_name // "unknown tool"')
MESSAGE="Claude Code 需要注意:$TOOL_NAME"
# 选项 1:Pushover
curl -s -X POST "[https://api.pushover.net/1/messages.json](https://api.pushover.net/1/messages.json "https://api.pushover.net/1/messages.json")" \
-d "token=$PUSHOVER_APP_TOKEN" \
-d "user=$PUSHOVER_USER_KEY" \
-d "message=$MESSAGE" \
-d "priority=1"
# 选项 2:Telegram
curl -s -X POST "[https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage](https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage")" \
-d "chat_id=$TELEGRAM_CHAT_ID" \
-d "text=$MESSAGE"
# 选项 3:Slack
curl -s -X POST "$SLACK_WEBHOOK_URL" \
-H 'Content-type: application/json' \
-d "{\"text\":\"$MESSAGE\"}"
# 选项 4:macOS 本地通知
osascript -e "display notification \"$MESSAGE\" with title \"Claude Code Alert\""
任务完成后自动格式化文件,支持多种语言:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit|MultiEdit",
"hooks": [
{
"type": "command",
"command": "~/scripts/format_files.sh"
}
]
}
]
}
}
全面的格式化脚本:
#!/bin/bash
# ~/scripts/format_files.sh
# 从工具响应中获取文件路径
FILE_PATH=$(echo "$1" | jq -r '.tool_input.path // .tool_input.file_path // ""')
if [ -n "$FILE_PATH" ] && [ -f "$FILE_PATH" ]; then
echo "正在格式化:$FILE_PATH"
case "$FILE_PATH" in
*.js|*.ts|*.jsx|*.tsx)
# JavaScript/TypeScript
if command -v prettier >/dev/null; then
npx prettier --write "$FILE_PATH"
fi
if command -v eslint >/dev/null; then
npx eslint --fix "$FILE_PATH" 2>/dev/null || true
fi
;;
*.go)
# Go
gofmt -w "$FILE_PATH"
if command -v goimports >/dev/null; then
goimports -w "$FILE_PATH"
fi
;;
*.py)
# Python
if command -v black >/dev/null; then
black "$FILE_PATH"
fi
if command -v isort >/dev/null; then
isort "$FILE_PATH"
fi
;;
*.rs)
# Rust
rustfmt "$FILE_PATH"
;;
*.java)
# Java
if command -v google-java-format >/dev/null; then
google-java-format --replace "$FILE_PATH"
fi
;;
*.c|*.cpp|*.h|*.hpp)
# C/C++
if command -v clang-format >/dev/null; then
clang-format -i "$FILE_PATH"
fi
;;
*.json)
# JSON
if command -v jq >/dev/null; then
jq . "$FILE_PATH" > "/tmp/formatted.json" && mv "/tmp/formatted.json" "$FILE_PATH"
fi
;;
*.md)
# Markdown
if command -v prettier >/dev/null; then
npx prettier --write "$FILE_PATH"
fi
;;
*)
echo "未对 $FILE_PATH 配置格式化程序"
;;
esac
echo "格式化完成:$FILE_PATH"
fi
与 GitHub Actions 集成
name: Claude Code Analysis
on:
pull_request:
branches: [main, develop]
push:
branches: [main]
jobs:
claude-analysis:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install Claude Code
run: npm install -g @anthropic-ai/claude-code
- name: Security Analysis
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
claude --dangerously-skip-permissions \
-p "对本次 PR 进行全面的安全分析。检查漏洞、暴露的秘密和安全反模式。" \
--output-format json > security-report.json
- name: Performance Analysis
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
claude --dangerously-skip-permissions \
-p "分析代码更改中的性能问题、内存泄漏和优化机会。" \
--output-format json > performance-report.json
- name: Comment PR
if: github.event_name == 'pull_request'
uses: actions/github-script@v6
with:
script: |
const fs = require('fs');
const securityReport = JSON.parse(fs.readFileSync('security-report.json', 'utf8'));
const performanceReport = JSON.parse(fs.readFileSync('performance-report.json', 'utf8'));
const comment = `## 🤖 Claude Code Analysis
### 🔒 Security Analysis
${securityReport.summary || '未发现关键问题'}
### ⚡ Performance Analysis
${performanceReport.summary || '未检测到性能问题'}
*由 Claude Code 在 CI/CD 中生成*`;
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment
});
设置钩子
通过 Claude Code 设置钩子:
# 交互式钩子配置
claude
/hooks
# 遵循提示来:
# 1. 选择钩子事件(Stop, PreToolUse, PostToolUse)
# 2. 添加匹配器模式
# 3. 添加钩子命令
# 4. 选择范围(项目或用户设置)
# 5. 按 Esc 保存
性能优化与扩展
如何管理大型代码库
针对代码行数超过 10 万行的代码库:
# 采用分层上下文管理
claude --scope="src/core" "
分析核心业务逻辑层并识别:
- 循环依赖
- 违反干净架构原则
- 更好的关注点分离机会
"
# 采用增量分析
claude "
执行增量代码库分析:
1. 从 package.json 开始并理解依赖关系
2. 分析顶级目录结构
3. 关注 src/components 并识别模式
4. 深入到已识别的问题区域
5. 提供重构建议
"
内存和性能优化:
# 上下文窗口管理技巧
claude --max-context=50000 "
将分析重点放在关键路径性能上:
- 数据库查询优化
- 前端打包体积减小
- API 响应时间改进
跳过非关键文件,专注于面向用户的性能。
"
并行开发工作流
Git Worktree 集成:
# 设置多个工作目录
git worktree add ../feature-auth feature/authentication
git worktree add ../feature-ui feature/ui-redesign
git worktree add ../hotfix-security hotfix/security-patch
# 在每个工作树中运行 Claude
cd ../feature-auth && claude "实现 OAuth2 流程"
cd ../feature-ui && claude "重新设计仪表板组件"
cd ../hotfix-security && claude "修复用户输入中的 XSS 漏洞"
团队协作模式:
# 共享上下文文件
# .claude/team-context.md
## 当前冲刺目标
- 实现用户仪表板重新设计
- 优化数据库查询性能
- 添加全面的错误处理
## 团队成员重点
- @alice:前端组件和样式
- @bob:后端 API 优化
- @charlie:测试和 QA 自动化
## 共享约定
- 所有新组件必须是 TypeScript 严格模式
- 数据库查询需要进行性能测试
- UI 更改需要进行可访问性审查
自动化代码质量检查
集成性能监控工具:
claude "
设置自动化的性能监控:
1. 将 lighthouse CI 添加到我们的构建流程中
2. 为打包体积创建性能预算
3. 设置核心 Web Vitals 跟踪
4. 添加数据库查询性能监控
5. 为性能退化创建警报
生成配置文件并更新我们的 CI/CD 流水线。
"
最佳安全实践
安全开发工作流
安全优先的开发模式:
claude "
以安全优先的方法实现一个新用户注册功能:
进行威胁建模:
- 识别潜在的攻击向量
- 分析敏感信息的数据流
- 考虑 OWASP Top 10 榜单中的漏洞
安全实现:
- 输入验证和数据清洗
- 速率限制和防 DDoS 攻击
- 使用 `bcrypt` 算法安全处理密码
- 使用安全的 Token 进行电子邮件验证
- 对安全事件进行审计日志记录
测试:
- 安全单元测试
- 认证流程的集成测试
- 渗透测试用例
文档记录:
- 安全架构决策
- 事件响应流程
- 安全审查清单
"
权限管理
细粒度的权限控制:
// .claude/permissions.json
{
"allowedTools": [
"Edit:src/**",
"Edit:tests/**",
"Bash:npm run *",
"Bash:git add *, git commit *, git push *",
"WebFetch:docs.* api.*"
],
"blockedTools": [
"Bash:rm -rf *",
"Bash:sudo *",
"Edit:**/.env",
"Edit:**/*key*"
],
"confirmationRequired": [
"Bash:git push origin main",
"Edit:package.json",
"Edit:docker-compose.yml"
]
}
数据保护
敏感数据处理:
# 配置数据保护模式
claude "
审查我们的代码库中是否存在敏感数据暴露:
1. 扫描硬编码的秘密信息、API 密钥和密码
2. 识别个人身份信息(PII)处理
3. 检查敏感数据的适当加密
4. 验证安全的日志记录实践(日志中不包含敏感数据)
5. 审计环境变量使用
6. 检查适当的 CORS 和 CSP 响应头
生成包含修复步骤的安全审计报告。
"
故障排查与高级调试技巧
常见问题及解决方案
上下文窗口溢出:
# 问题:“上下文窗口超出了”错误
# 解决方案:有策略的上下文管理
claude --clear-context "
让我们从头开始,专门关注:
- src/auth/login.ts 中的认证 bug
- 仅限相关的测试文件
- 暂时忽略其他所有内容
"
性能问题:
# 问题:响应时间慢
# 解决方案:优化上下文和范围
# 之前(慢)
claude "分析整个代码库中的 bug"
# 之后(快)
claude --scope="src/components/Login" "调试登录表单验证问题"
内存占用问题:
# 问题:内存占用过高
# 解决方案:采用增量处理
claude "
逐步处理我们的 TypeScript 迁移:
1. 每次转换 5 个文件
2. 每批次后进行测试
3. 提交正常工作的更改
4. 继续下一批次
5. 每次迭代后报告进度
"
高级调试技巧
多层次调试方法:
claude "
使用多种方法调试这个复杂问题:
静态分析:
- 代码审查以查找逻辑错误
- 类型检查和 linting
- 依赖分析
动态分析:
- 添加调试语句
- 创建可重现的测试用例
- 使用浏览器开发工具集成
系统分析:
- 检查网络请求
- 分析数据库查询
- 审查服务器日志
在每一层提供发现和根本原因分析。
"
错误恢复模式
自动回滚机制:
claude "
如果这个数据库迁移失败:
1. 自动创建回滚脚本
2. 如果需要,从备份恢复
3. 通过 Slack 通知团队
4. 创建事件报告
5. 将经验教训更新到运行手册中
使用适当的错误处理和恢复程序进行实施。
"
企业级团队协作模式
团队协作标准化
共享团队配置:
# .claude/team-standards.md
## 代码审查标准
- 所有代码更改都需要 Claude Code 安全扫描
- 超过 100 行的更改需要进行性能影响分析
- UI 更改需要进行可访问性审查
- 数据库迁移需要进行模式更改审查
## 部署模式
- 使用功能标志进行逐步发布
- 使用蓝绿部署实现零停机时间
- 自动回滚触发器
- 部署后监控
## 质量门
- 必须达到 90%+ 的测试覆盖率
- 零关键安全漏洞
- 性能预算合规性
- 文档完整性检查
跨团队扩展
多项目管理:
# 项目特定配置
# project-a/.claude/config.json
{
"inherits": "../shared/.claude/base-config.json",
"project": {
"name": "前端应用",
"conventions": "React + TypeScript",
"testing": "Jest + React Testing Library"
}
}
# project-b/.claude/config.json
{
"inherits": "../shared/.claude/base-config.json",
"project": {
"name": "后端 API",
"conventions": "Node.js + Express",
"testing": "Jest + Supertest"
}
}
知识管理
组织层面的知识学习:
claude "
为我们的开发实践建立一套知识管理系统:
1. 从成功的项目中提取模式
2. 记录常见的调试方法
3. 为新功能创建可重用模板
4. 为架构选择构建决策树
5. 维护常见问题解答(FAQ)
使用共享的学习经验更新所有项目中的 CLAUDE.md 文件。
"
快速参考与备忘录
核心命令
/init # 创建 CLAUDE.md(至关重要)
/clear # 重置上下文
/permissions # 配置工具访问权限
/memory # 编辑项目内存
/doctor # 系统健康检查
/config # 配置管理
/mcp # MCP 服务器管理
/hooks # 配置自动化钩子
# [pattern] # 添加到 CLAUDE.md
自定义命令
/security-audit [scope] # 全面安全分析
/performance-audit [scope] # 性能瓶颈分析
/architecture-review [scope] # 系统架构评估
/gemini-analyze [focus] # 使用 Gemini 进行大规模上下文分析
/ast-analyze [patterns] # AST-Grep 结构分析
/tech-debt [priority] # 技术债务评估
高级用户 CLI 选项
# 扩展思考模式
claude "think hard about [复杂问题]"
claude "ultrathink [关键决策]"
# 上下文管理
claude --scope="src/auth" "专注于认证"
claude --exclude="tests,docs" "分析生产代码"
claude --add-dir="../lib,../shared" "包含相关项目"
# 输出控制
claude --output-format=json "结构化分析"
claude --output-format=stream-json "耗时操作"
claude -p "quick query" # 打印模式(一次性)
# 会话管理
claude --session="frontend" "处理 UI 组件"
claude --resume="backend" # 恢复命名会话
claude -c # 继续上次会话
# 安全与权限
claude --allowedTools "Edit,View,mcp__git__*"
claude --dangerously-skip-permissions # 仅限容器!
claude --confirmation-required "git push origin main"
关键环境变量
# 核心配置
export ANTHROPIC_API_KEY="sk-ant-api03-xxx"
# 性能优化
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
export DISABLE_NON_ESSENTIAL_MODEL_CALLS=1
export ENABLE_BACKGROUND_TASKS=1
export CLAUDE_CODE_ENABLE_UNIFIED_READ_TOOL=1
# 扩展思考
export MAX_THINKING_TOKENS=50000
# 隐私与安全
export DISABLE_TELEMETRY=1
export DISABLE_ERROR_REPORTING=1
MCP 服务器快速设置
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"]
},
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/workspace"]
},
"context7": {
"command": "npx",
"args": ["-y", "@context7/mcp-server"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"]
}
}
}
工作流触发器
"plan before implementing" # 策略规划模式
"test-driven development" # TDD 工作流
"security-first approach" # 安全优先开发
"performance optimization" # 性能优先分析
"use subagents to verify" # 多智能体验证
"think hard about" # 扩展推理模式
"ultrathink" # 最大分析预算
Git 钩子集成
# `pre-commit` 安全扫描
echo '#!/bin/bash
claude /security-audit --scope=staged-files' > .git/hooks/pre-commit
chmod +x .git/hooks/pre-commit
# `post-commit` 文档更新
echo '#!/bin/bash
claude "Update documentation for recent changes"' > .git/hooks/post-commit
chmod +x .git/hooks/post-commit
最佳实践核对清单
- ✅ 始终运行
/init以创建 CLAUDE.md - ✅ 使用 Max Plan 实现无限生产力
- ✅ 为你的技术栈设置 MCP 服务器
- ✅ 配置 IDE 扩展以获得实时反馈
- ✅ 对复杂决策使用扩展思考
- ✅ 在实施功能前进行规划
- ✅ 在不相关的任务之间清除上下文
- ✅ 在请求中具体且结构化
- ✅ 使用多个 Claude 实例进行并行工作
- ✅ 使用自定义命令自动化重复任务
- ✅ 设置钩子以实现自动质量检查
- ✅ 使用环境变量进行敏感配置
- ✅ 定期对权限和配置进行安全审计
请记住,Claude Code 不只是一个代码自动补全工具——它更像是一位能够思考、规划并执行复杂架构决策的资深开发者。你提供的上下文和结构越清晰、完整,它的表现就越出色。