昨天那篇文章 引起群里不少读者对 Claude Code 的好奇心,但碍于它是一款终端软件,安装阶段就劝退众多非程序员朋友,这篇文章就手把手从安装开始,从基础入手,逐步深入,让你成为 Claude Code 使用高手,打造自己的 10 倍生产力。
资深 Claude Code 用户不在于掌握更多命令,更在于能否高效构建开发环境、配置智能上下文,以及设计能够充分发挥 Claude 推理能力的工作流。通过本教程,你将学会构建企业级开发流程、自动化复杂技术决策,并以前所未有的方式拓展开发能力。
✉️
免费订阅更新
订阅我的免费通讯,第一时间获取生成式 AI 领域优质内容
我承诺保护您的隐私,不会向第三方分享您的信息。
您可以随时取消订阅。
本文译自 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 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 npm install -g @anthropic-ai/claude-code brew install anthropic/tap/claude-code yay -S claude-code docker pull ghcr.io/rchgrav/claudebox:latest sudo apt update && sudo apt install -y nodejs npm npm install -g @anthropic-ai/claude-code claude --version claude /doctor ```` **最重要的第一步:** ```bash cd /path/to/your/projectclaude /init ```` **Max Plan(每月 100 美元)的性价比:** - **Token 成本**:重度使用 API,每月费用很容易超过 500 到 1000 美元 - **时间节省**:每月节省 2 小时 = 对大多数开发者而言价值 100 美元以上 - **保证工作流的连续性**:不受速率限制或 Token 数量的干扰 - **功能访问**:扩展思考、无限上下文支持以及高级推理能力 **实际成本比较:** ```markdown 场景:高级开发者每天使用 Claude Code 4 小时 API 定价(按使用付费): - 50k tokens/小时 × 4 小时 × 22 天 = 4.4M tokens/月 - 按 1M tokens 15 美元计算 = 66 美元/月(基本使用) - 包含扩展思考 + 上下文:200-400 美元/月 Max Plan:每月 100 美元固定 节省的时间成本盈亏平衡点:每月节省约 1.5 小时的开发时间
基本设置与配置 基础认证与配置 设置认证:
1 2 3 4 5 6 7 8 9 export ANTHROPIC_API_KEY="your-key-here" claude auth login ~/.claude/config.json
高级配置选项:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 { "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" ] } }
针对高级用户的隐藏环境变量:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1export DISABLE_NON_ESSENTIAL_MODEL_CALLS=1export ENABLE_BACKGROUND_TASKS=1export FORCE_AUTO_BACKGROUND_TASKS=1export CLAUDE_CODE_ENABLE_UNIFIED_READ_TOOL=1export MAX_THINKING_TOKENS=50000export DISABLE_TELEMETRY=1export DISABLE_ERROR_REPORTING=1export CLAUDE_CODE_DEBUG=1export CLAUDE_CODE_VERBOSE_LOGGING=1
集成开发环境(IDE)配置 VS Code 扩展配置:
1 2 3 4 5 6 7 8 { "claude-code.enableRealTimeErrors" : true , "claude-code.contextScope" : "workspace" , "claude-code.autoSaveContext" : true , "claude-code.inlineCompletions" : false , "claude-code.diagnosticsIntegration" : true }
Neovim 插件配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 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 的完整结构示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 # 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 通过 #
命令添加学到的模式:
1 2 3 Claude:“我将把它添加到你的 CLAUDE.md 文件中,以备将来参考。”
将 CLAUDE.md 文件纳入版本控制:
1 2 3 git add CLAUDE.md git commit -m "docs: 在 CLAUDE.md 中更新错误处理模式"
高级上下文管理 Claude Code 维护三种类型的上下文:
1. 会话上下文
当前的对话历史
正在进行的文件修改
临时变量和状态
2. 项目上下文
CLAUDE.md 文件内容
项目结构和依赖
Git 历史和分支信息
3. 全局上下文
有选择地清除上下文 1 2 3 4 5 6 7 8 9 10 11 /clear /clear --conversation-only /clear --rescan-project /clear --except=claude.md,git-history
上下文优化技巧 针对大型代码库(比如文件数超过 1 万):
1 2 3 4 5 6 7 8 claude --scope="src/components,src/hooks" "重构认证逻辑" claude --exclude="node_modules,dist,build,coverage" "分析代码结构" claude --include="*.ts,*.tsx" --exclude="*.test.*" "增加类型安全"
针对复杂功能:
1 2 3 4 5 6 7 8 9 10 11 12 13 # 创建上下文锚定文件 ## current-task.md 正在进行:用户认证重构 状态:规划阶段 关键文件:src/auth/, src/components/Login.tsx 依赖:@auth0/auth0-react 下一步: 1. 规划组件结构2. 更新路由3. 添加测试
多实例并行开发 运行多个 Claude 实例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 cd frontend && claude> "专注于 React 组件和样式" cd backend && claude> "处理 API 端点和数据库查询" cd . && claude --scope="tests,cypress" > "为当前功能编写并执行测试" cd infrastructure && claude> "管理部署脚本和配置"
专业级工作流 测试驱动开发(TDD)流程 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 # 使用 Claude Code 完成 TDD 周期 claude " 我需要使用 TDD 实现一个支付处理系统: 1. 规划阶段(PLAN PHASE): - 分析支付处理的需求 - 设计 API 接口 - 识别边缘情况和错误场景 - 暂时不要写任何代码 2. 测试阶段(TEST PHASE): - 为 PaymentProcessor 类编写全面的单元测试 - 包含成功、失败和边缘情况的测试 - 为支付网关通信编写集成测试 - 运行测试并确认它们都失败了 3. 实现阶段(IMPLEMENTATION PHASE): - 实现 PaymentProcessor 以通过所有测试 - 遵循我们的 SOLID 原则和依赖注入模式 - 添加适当的错误处理和日志记录 - 确保所有测试都通过 4. 重构阶段(REFACTOR PHASE): - 审查代码以进行改进 - 提取通用模式 - 添加文档 - 最终测试运行 让我们从规划阶段开始。 "
功能开发流程 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 # 完成功能实现 claude " 实现用户资料编辑功能: 设置: - 创建功能分支:feature/user-profile-editing - 遵循我们的模式设置适当的目录结构 后端: - 添加 API 端点:GET/PUT /api/users/:id/profile - 使用 Zod schema 包含验证 - 为新的资料字段添加数据库迁移 - 编写 API 测试 前端: - 创建带有表单验证的 ProfileEditor 组件 - 添加个人资料图片上传功能 - 实现乐观更新(Optimistic Updates) - 添加加载和错误状态 - 编写组件测试 集成: - 将前端连接到 API - 添加适当的错误处理 - 测试完整的流程 - 更新文档 部署: - 运行完整的测试套件 - 使用遵循 Conventional Commits 规范的提交信息进行提交 - 创建带有完整描述的 Pull Request - 标记相关的代码审查人员 "
Git 工作流自动化 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 # 自动化的 Git 工作流 claude " 使用适当的 Git 工作流实现 OAuth 功能: 1. 创建功能分支:feature/oauth-integration 2. 使用 GitHub 和 Google 提供商实现 OAuth 3. 每次逻辑更改单独提交,并使用描述性信息 4. 为每个组件编写测试 5. 更新文档 6. 创建 PR,并包含: - 清晰的更改描述 - 新 UI 的截图 - 测试说明 - 安全考量 7. 标记 @security-team 进行审查 "
自动代码审查流程 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # 自动代码审查流程 claude --headless " 审查当前的 PR,检查: - 安全漏洞 - 性能问题 - 代码风格合规性 - 测试覆盖率 - 文档完整性 生成一份 Markdown 报告,包含: - 执行摘要 - 详细发现 - 建议 - 风险评估 "
高级功能与技巧 扩展思考模式 如何触发深度分析:
1 2 3 4 5 6 7 8 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 :系统级重构、关键业务逻辑、高风险决策
全自动化模式:
在安全沙箱或隔离环境中工作时,可以启用全自动化模式:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 claude --dangerously-skip-permissions export CLAUDE_CODE_CONTAINER_MODE=1export BYPASS_ALL_CONFIRMATIONS=1docker 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) 1 2 3 4 5 6 7 8 9 claude " 实现一个分布式缓存系统,并使用子智能体来: - 验证性能特性 - 验证安全隐患 - 检查潜在的竞态条件 - 分析内存使用模式 - 审查错误处理的完整性 "
可视化开发 1 2 3 4 5 6 7 8 9 10 11 12 claude " 1. 截取当前登录页面的屏幕截图 2. 这是新的设计模型:[粘贴图片] 3. 按照新设计进行实现,并包含: - 响应式行为 - 辅助功能合规性 - 平滑动画 - 错误状态处理 4. 截取实现的屏幕截图 5. 迭代直到它与设计完全匹配 "
高级提示技巧 结构化输入问题:
1 2 3 4 5 6 7 8 9 10 claude " 上下文:拥有 100 万+ 用户的电商平台,React 前端,微服务后端 约束:必须保持 99.9% 的正常运行时间,要求符合 PCI 标准,每月 AWS 预算为 5 万美元 目标:在提升转化率的同时,将页面加载时间减少 40% 格式:提供分析、实施计划和成功指标 示例:你见过的类似优化(CDN、代码拆分、缓存) 验证:我们将如何衡量成功,以及如何回滚(如果需要) 分析我们的性能瓶颈并制定一个优化策略。 "
自定义命令 自定义斜杠命令 是 Claude Code 最强大的功能,用于创建可重复使用、特定于团队的工作流。与内置命令不同,自定义命令让你将团队的流程、工具和专业知识编码成可重复的自动化。
创建自定义命令 命令结构:
1 2 3 4 5 mkdir -p .claude/commands/touch .claude/commands/security-audit.md
安全审计命令内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 对当前代码库执行一次全面的安全审计: - 审查 JWT 实现是否存在漏洞 - 检查适当的会话管理 - 验证 RBAC 实现 - 扫描 SQL 注入漏洞 - 检查 XSS 预防措施 - 验证 API 输入净化 提供一份按优先级排序的发现列表,包含: - 严重级别(关键/高/中/低) - 漏洞描述 - 潜在影响 - 建议的修复方案 - 适用的代码示例 参数:$ARGUMENTS (需要关注的特定领域)
使用自定义命令:
1 2 3 4 5 6 /security-audit api authentication /security-audit frontend xss-prevention /commands
内置核心命令 1 2 3 4 5 6 7 8 /init /clear /help /permissions /memory /doctor /config /mcp
集成 MCP 服务器 MCP 服务器通过提供对外部系统和数据源的访问来扩展 Claude Code 的功能。可以将它们理解为专业的插件,让 Claude 直接访问你的开发生态系统。
关键的 MCP 服务器 数据库集成配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 { "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" ] } } } }
开发工具配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 { "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" } } } }
文档和上下文配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 { "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 服务器管理 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 claude mcp claude mcp list claude mcp add postgres "npx -y @modelcontextprotocol/server-postgres" claude mcp remove postgres claude mcp restart --all claude --mcp-debug
MCP 服务器的使用 数据库驱动的开发模式:
1 2 3 4 5 6 7 8 9 claude " 使用数据库 MCP 服务器: 1. 分析我们的用户表结构 2. 识别最常见查询中的性能瓶颈 3. 建议并实施数据库优化 4. 更新相应的 TypeScript 接口 5. 为任何模式更改编写迁移脚本 "
文档驱动的开发模式:
1 2 3 4 5 6 7 claude " 使用 Context7 获取最新的 React 18 模式并: 1. 审计我们的组件以查找过时的模式 2. 识别使用新 React 功能的机会 3. 重构我们最复杂的组件 4. 更新我们的编码标准文档 "
钩子(Hooks)和自动化 Claude Code 可以通过钩子集成到你的 Git 工作流中,从而在开发过程中的关键点启用自动化的代码分析、安全扫描和质量检查。
pre-commit
钩子基本的 pre-commit
安全扫描,用于代码提交前:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #!/bin/bash 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 "✅ 安全扫描通过"
高级钩子用例 每次会话结束后自动生成任务摘要:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 { "hooks" : { "Stop" : [ { "matcher" : "" , "hooks" : [ { "type" : "command" , "command" : "echo '任务在 $(date) 完成。摘要:Claude Code 已完成处理。' | tee -a ~/claude_task_log.txt" } ] } ] } }
关键操作的实时警报(移动端通知):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 { "hooks" : { "PreToolUse" : [ { "matcher" : "Bash|Write|Edit|MultiEdit" , "hooks" : [ { "type" : "command" , "command" : "~/scripts/ping_mobile.sh" } ] } ] } }
带多个服务的移动通知脚本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 #!/bin/bash # ~/scripts/ping_mobile.sh TOOL_NAME=$(echo "$1" | jq -r '.tool_name 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: -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: -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\""
任务完成后自动格式化文件,支持多种语言:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 { "hooks" : { "PostToolUse" : [ { "matcher" : "Write|Edit|MultiEdit" , "hooks" : [ { "type" : "command" , "command" : "~/scripts/format_files.sh" } ] } ] } }
全面的格式化脚本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 #!/bin/bash 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) 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) gofmt -w "$FILE_PATH " if command -v goimports >/dev/null; then goimports -w "$FILE_PATH " fi ;; *.py) if command -v black >/dev/null; then black "$FILE_PATH " fi if command -v isort >/dev/null; then isort "$FILE_PATH " fi ;; *.rs) rustfmt "$FILE_PATH " ;; *.java) if command -v google-java-format >/dev/null; then google-java-format --replace "$FILE_PATH " fi ;; *.c|*.cpp|*.h|*.hpp) if command -v clang-format >/dev/null; then clang-format -i "$FILE_PATH " fi ;; *.json) if command -v jq >/dev/null; then jq . "$FILE_PATH " > "/tmp/formatted.json" && mv "/tmp/formatted.json" "$FILE_PATH " fi ;; *.md) if command -v prettier >/dev/null; then npx prettier --write "$FILE_PATH " fi ;; *) echo "未对 $FILE_PATH 配置格式化程序" ;; esac echo "格式化完成:$FILE_PATH " fi
与 GitHub Actions 集成 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 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 ${securityReport.summary || '未发现关键问题' } ${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 设置钩子:
性能优化与扩展 如何管理大型代码库 针对代码行数超过 10 万行的代码库:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 claude --scope="src/core" " 分析核心业务逻辑层并识别: - 循环依赖 - 违反干净架构原则 - 更好的关注点分离机会 " claude " 执行增量代码库分析: 1. 从 package.json 开始并理解依赖关系 2. 分析顶级目录结构 3. 关注 src/components 并识别模式 4. 深入到已识别的问题区域 5. 提供重构建议 "
内存和性能优化:
1 2 3 4 5 6 7 8 claude --max-context=50000 " 将分析重点放在关键路径性能上: - 数据库查询优化 - 前端打包体积减小 - API 响应时间改进 跳过非关键文件,专注于面向用户的性能。 "
并行开发工作流 Git Worktree 集成:
1 2 3 4 5 6 7 8 9 git worktree add ../feature-auth feature/authentication git worktree add ../feature-ui feature/ui-redesign git worktree add ../hotfix-security hotfix/security-patch cd ../feature-auth && claude "实现 OAuth2 流程" cd ../feature-ui && claude "重新设计仪表板组件" cd ../hotfix-security && claude "修复用户输入中的 XSS 漏洞"
团队协作模式:
1 2 # 共享上下文文件 # .claude/team-context.md
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ## 当前冲刺目标 - 实现用户仪表板重新设计- 优化数据库查询性能- 添加全面的错误处理## 团队成员重点 - @alice:前端组件和样式- @bob:后端 API 优化- @charlie:测试和 QA 自动化## 共享约定 - 所有新组件必须是 TypeScript 严格模式- 数据库查询需要进行性能测试- UI 更改需要进行可访问性审查
自动化代码质量检查 集成性能监控工具:
1 2 3 4 5 6 7 8 9 10 11 claude " 设置自动化的性能监控: 1. 将 lighthouse CI 添加到我们的构建流程中 2. 为打包体积创建性能预算 3. 设置核心 Web Vitals 跟踪 4. 添加数据库查询性能监控 5. 为性能退化创建警报 生成配置文件并更新我们的 CI/CD 流水线。 "
最佳安全实践 安全开发工作流 安全优先的开发模式:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 claude " 以安全优先的方法实现一个新用户注册功能: 进行威胁建模: - 识别潜在的攻击向量 - 分析敏感信息的数据流 - 考虑 OWASP Top 10 榜单中的漏洞 安全实现: - 输入验证和数据清洗 - 速率限制和防 DDoS 攻击 - 使用 `bcrypt` 算法安全处理密码 - 使用安全的 Token 进行电子邮件验证 - 对安全事件进行审计日志记录 测试: - 安全单元测试 - 认证流程的集成测试 - 渗透测试用例 文档记录: - 安全架构决策 - 事件响应流程 - 安全审查清单 "
权限管理 细粒度的权限控制:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 { "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" ] }
数据保护 敏感数据处理:
1 2 3 4 5 6 7 8 9 10 11 12 13 # 配置数据保护模式 claude " 审查我们的代码库中是否存在敏感数据暴露: 1. 扫描硬编码的秘密信息、API 密钥和密码 2. 识别个人身份信息(PII)处理 3. 检查敏感数据的适当加密 4. 验证安全的日志记录实践(日志中不包含敏感数据) 5. 审计环境变量使用 6. 检查适当的 CORS 和 CSP 响应头 生成包含修复步骤的安全审计报告。 "
故障排查与高级调试技巧 常见问题及解决方案 上下文窗口溢出:
1 2 3 4 5 6 7 8 9 claude --clear-context " 让我们从头开始,专门关注: - src/auth/login.ts 中的认证 bug - 仅限相关的测试文件 - 暂时忽略其他所有内容 "
性能问题:
1 2 3 4 5 6 7 8 claude "分析整个代码库中的 bug" claude --scope="src/components/Login" "调试登录表单验证问题"
内存占用问题:
1 2 3 4 5 6 7 8 9 10 11 claude " 逐步处理我们的 TypeScript 迁移: 1. 每次转换 5 个文件 2. 每批次后进行测试 3. 提交正常工作的更改 4. 继续下一批次 5. 每次迭代后报告进度 "
高级调试技巧 多层次调试方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 claude " 使用多种方法调试这个复杂问题: 静态分析: - 代码审查以查找逻辑错误 - 类型检查和 linting - 依赖分析 动态分析: - 添加调试语句 - 创建可重现的测试用例 - 使用浏览器开发工具集成 系统分析: - 检查网络请求 - 分析数据库查询 - 审查服务器日志 在每一层提供发现和根本原因分析。 "
错误恢复模式 自动回滚机制:
1 2 3 4 5 6 7 8 9 10 claude " 如果这个数据库迁移失败: 1. 自动创建回滚脚本 2. 如果需要,从备份恢复 3. 通过 Slack 通知团队 4. 创建事件报告 5. 将经验教训更新到运行手册中 使用适当的错误处理和恢复程序进行实施。 "
企业级团队协作模式 团队协作标准化 共享团队配置:
1 # .claude/team-standards.md
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ## 代码审查标准 - 所有代码更改都需要 Claude Code 安全扫描 - 超过 100 行的更改需要进行性能影响分析 - UI 更改需要进行可访问性审查 - 数据库迁移需要进行模式更改审查 ## 部署模式 - 使用功能标志进行逐步发布 - 使用蓝绿部署实现零停机时间 - 自动回滚触发器 - 部署后监控 ## 质量门 - 必须达到 90%+ 的测试覆盖率 - 零关键安全漏洞 - 性能预算合规性 - 文档完整性检查
跨团队扩展 多项目管理:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 { "inherits" : "../shared/.claude/base-config.json" , "project" : { "name" : "前端应用" , "conventions" : "React + TypeScript" , "testing" : "Jest + React Testing Library" } } { "inherits" : "../shared/.claude/base-config.json" , "project" : { "name" : "后端 API" , "conventions" : "Node.js + Express" , "testing" : "Jest + Supertest" } }
知识管理 组织层面的知识学习:
1 2 3 4 5 6 7 8 9 10 11 claude " 为我们的开发实践建立一套知识管理系统: 1. 从成功的项目中提取模式 2. 记录常见的调试方法 3. 为新功能创建可重用模板 4. 为架构选择构建决策树 5. 维护常见问题解答(FAQ) 使用共享的学习经验更新所有项目中的 CLAUDE.md 文件。 "
快速参考与备忘录 核心命令 1 2 3 4 5 6 7 8 9 /init /clear /permissions /memory /doctor /config /mcp /hooks
自定义命令 1 2 3 4 5 6 /security-audit [scope] /performance-audit [scope] /architecture-review [scope] /gemini-analyze [focus] /ast-analyze [patterns] /tech-debt [priority]
高级用户 CLI 选项 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 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"
关键环境变量 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 export ANTHROPIC_API_KEY="sk-ant-api03-xxx" export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1export DISABLE_NON_ESSENTIAL_MODEL_CALLS=1export ENABLE_BACKGROUND_TASKS=1export CLAUDE_CODE_ENABLE_UNIFIED_READ_TOOL=1export MAX_THINKING_TOKENS=50000export DISABLE_TELEMETRY=1export DISABLE_ERROR_REPORTING=1
MCP 服务器快速设置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 { "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" ] } } }
工作流触发器 1 2 3 4 5 6 7 "plan before implementing" # 策略规划模式 "test-driven development" # TDD 工作流 "security-first approach" # 安全优先开发 "performance optimization" # 性能优先分析 "use subagents to verify" # 多智能体验证 "think hard about" # 扩展推理模式 "ultrathink" # 最大分析预算
Git 钩子集成 1 2 3 4 5 6 7 8 9 echo '#!/bin/bash claude /security-audit --scope=staged-files' > .git/hooks/pre-commitchmod +x .git/hooks/pre-commitecho '#!/bin/bash claude "Update documentation for recent changes"' > .git/hooks/post-commitchmod +x .git/hooks/post-commit
最佳实践核对清单
✅ 始终运行 /init
以创建 CLAUDE.md
✅ 使用 Max Plan 实现无限生产力
✅ 为你的技术栈设置 MCP 服务器
✅ 配置 IDE 扩展以获得实时反馈
✅ 对复杂决策使用扩展思考
✅ 在实施功能前进行规划
✅ 在不相关的任务之间清除上下文
✅ 在请求中具体且结构化
✅ 使用多个 Claude 实例进行并行工作
✅ 使用自定义命令自动化重复任务
✅ 设置钩子以实现自动质量检查
✅ 使用环境变量进行敏感配置
✅ 定期对权限和配置进行安全审计
请记住,Claude Code 不只是一个代码自动补全工具——它更像是一位能够思考、规划并执行复杂架构决策的资深开发者。你提供的上下文和结构越清晰、完整,它的表现就越出色。