<!-- title: Claude Code对话开发入门：安装到首项目交付 -->

# Claude Code对话式开发入门：从安装到首项目交付

## 概述

本教程面向从未使用过 Claude Code 的开发者，系统讲解对话式AI编程的核心思维、安装配置、基础操作和首个项目交付。学完你将掌握：独立安装和配置 Claude Code、理解对话式开发的心智模型、用自然语言驱动代码编写和调试、完成一个可运行的 CLI 工具项目。预计学习时间 4-6 小时。

## 前置条件

- **操作系统**：macOS 12+、Ubuntu 20.04+、Windows 10/11（WSL2）
- **Node.js**：v18.0 或更高版本（推荐 v20 LTS）
- **基础能力**：能打开终端、执行基本命令（cd、ls、git）
- **账户**：Anthropic 账户（免费版即可开始）或 API Key

## 第一章：理解对话式开发

### 1.1 Claude Code 是什么

Claude Code 是 Anthropic 官方的 AI 编程助手，直接运行在你的终端中。它与 Cursor、GitHub Copilot 的核心区别在于：

| 特性 | Claude Code | Cursor | Copilot |
|------|------------|--------|---------|
| 运行环境 | 原生终端 | VS Code 分支 | IDE 插件 |
| 交互方式 | 自然语言对话 | Tab 补全 + 聊天 | 行内补全 |
| 文件感知 | 全项目读写 | 当前窗口 | 当前文件 |
| 工具调用 | Bash/Read/Write/Grep/Glob | 内置 | 有限 |
| 自主性 | 可自主规划执行 | 半自动 | 被动补全 |

Claude Code 不是"代码补全工具"，而是一个**对话式开发伙伴**。你用自然语言描述需求，它理解项目上下文，自主读取文件、编写代码、运行命令、修复错误。

### 1.2 对话式开发的心智模型

传统开发的思维路径：

```
需求 → 分析 → 设计算法 → 编写代码 → 调试 → 测试
```

对话式开发的思维路径：

```
需求 → 用自然语言描述给 Claude → 审查结果 → 迭代优化
```

关键转变：你从**代码编写者**变为**意图表达者和质量审查者**。你的核心技能从"写代码"转向"准确描述需求"和"评估代码质量"。

```mermaid
flowchart LR
    A[你的意图] -->|自然语言| B[Claude Code]
    B -->|读取| C[项目文件]
    B -->|执行| D[终端命令]
    B -->|生成| E[代码输出]
    E -->|审查| F{满意?}
    F -->|否| A
    F -->|是| G[提交代码]

    style A fill:#4A90D9,color:#fff
    style B fill:#D97706,color:#fff
    style G fill:#059669,color:#fff
```

## 第二章：安装 Claude Code

### 2.1 三种安装方式

Claude Code 在 2026 年提供三种安装方式，按推荐顺序排列：

**方式一：原生安装（Native Install）—— 推荐**

```bash
# macOS / Linux
curl -fsSL https://claude.ai/install.sh | sh

# Windows（PowerShell 管理员模式）
irm https://claude.ai/install.ps1 | iex
```

原生安装不依赖 Node.js，二进制文件直接编译，启动更快，兼容性最好。

**方式二：Homebrew（macOS 专用）**

```bash
brew install claude-code
```

适合已使用 Homebrew 管理包的 macOS 用户，更新方便（`brew upgrade claude-code`）。

**方式三：npm 安装（全平台通用）**

```bash
npm install -g @anthropic-ai/claude-code
```

需要 Node.js v18+。适合没有原生包管理器或需要特定版本的场景。

### 2.2 验证安装

```bash
claude --version
# 预期输出：Claude Code v2.1.x 或更高版本
```

### 2.3 认证方式

启动 Claude Code 后会引导你完成认证。有两种方式：

**方式 A：账户登录（推荐新手）**

```bash
claude
# 首次启动会打开浏览器，登录 Anthropic 账户
# 免费 Plan：$5 免费额度
# Pro Plan：$20/月，更高额度
# Max Plan：$100-200/月，最高额度和模型访问
```

**方式 B：API Key**

```bash
export ANTHROPIC_API_KEY="sk-ant-xxxxx"
claude
# 直接使用 API Key 认证，按 token 计费
```

### 2.4 常见安装问题

| 问题 | 解决方案 |
|------|---------|
| `command not found: claude` | 检查 PATH 是否包含安装目录，或重新打开终端 |
| `EACCES: permission denied` | npm 安装时加 `--prefix ~/.local`，或使用原生安装 |
| Node.js 版本过低 | `nvm install 20 && nvm use 20` 升级到 v20 LTS |
| Windows 上 WSL2 报错 | 确保 WSL2 已更新：`wsl --update` |
| macOS Gatekeeper 阻止 | 系统设置 → 隐私与安全性 → 允许运行 |

## 第三章：首次对话

### 3.1 启动交互式会话

```bash
cd ~/projects        # 进入你的项目目录（或任何空目录）
claude               # 启动交互式会话
```

你会看到 Claude Code 的交互式界面，左侧是对话区，底部是输入框。

### 3.2 第一条命令

在输入框中输入：

```
> 你好，请帮我看看当前目录下有什么文件
```

Claude Code 会调用工具来查看目录内容：

```
我来查看当前目录的内容。

[Bash] ls -la /home/user/projects

输出：
total 8
drwxr-xr-x  2 user user 4096 May 26 10:00 .
drwxr-xr-x 18 user user 4096 May 25 09:30 ..

当前目录是空的。你想要创建什么项目？
```

### 3.3 核心斜杠命令

在交互式会话中，以下斜杠命令是你的"瑞士军刀"：

| 命令 | 功能 | 使用场景 |
|------|------|---------|
| `/help` | 显示所有可用命令 | 随时查看 |
| `/clear` | 清除当前对话上下文 | 话题切换时 |
| `/compact` | 压缩对话历史，释放上下文空间 | 长对话中途 |
| `/model` | 切换模型（Opus/Sonnet/Haiku） | 按需选择速度/质量 |
| `/permissions` | 管理工具权限 | 控制安全边界 |
| `/cost` | 显示当前会话费用 | 成本监控 |
| `/quit` 或 Ctrl+C | 退出会话 | 结束工作 |

### 3.4 理解工具权限系统

Claude Code 每次执行操作前会请求你的许可。首次运行时你会看到：

```
Claude wants to read file: package.json
[Allow / Deny / Always allow for this project]
```

三个选项的含义：
- **Allow**：本次允许，下次同样操作仍会询问
- **Deny**：拒绝本次操作
- **Always allow**：对当前项目永久允许此类操作

建议新手策略：**前三天全部手动 Allow**，熟悉 Claude Code 的行为模式后再批量授权。

### 3.5 模型选择指南

Claude Code 支持三种模型，各有适用场景：

```mermaid
flowchart TD
    A[选择模型] --> B{任务复杂度?}
    B -->|简单查询/快速修改| C[Haiku<br/>最快最便宜]
    B -->|日常开发/中等任务| D[Sonnet<br/>速度与质量平衡]
    B -->|架构设计/复杂重构| E[Opus<br/>最强推理能力]

    style C fill:#059669,color:#fff
    style D fill:#D97706,color:#fff
    style E fill:#7C3AED,color:#fff
```

| 模型 | 速度 | 成本 | 最佳场景 |
|------|------|------|---------|
| Haiku | 最快 | 最低 | 格式化、简单查询、快速修复 |
| Sonnet | 中等 | 中等 | 日常编码、功能开发、调试 |
| Opus | 较慢 | 最高 | 架构设计、复杂重构、代码审查 |

**新手建议**：默认使用 Sonnet，遇到困难问题时切换到 Opus。

## 第四章：五大核心工具

Claude Code 通过五大工具与你的项目交互。理解这些工具，你就理解了 Claude Code 的能力边界。

### 4.1 Read —— 读取文件

```
> 请看看 src/index.js 的内容
```

Claude Code 调用 Read 工具读取文件，然后分析内容。它一次能读取约 2000 行，超出部分会分段读取。

### 4.2 Write/Edit —— 创建和编辑文件

```
> 请创建一个 README.md，内容是项目说明
```

Claude Code 会生成文件内容并调用 Write 工具创建文件。对于已存在的文件，使用 Edit 工具进行精确修改。

### 4.3 Bash —— 执行终端命令

```
> 运行 npm test 看看测试是否通过
```

Claude Code 通过 Bash 工具执行命令。**这是最需要关注安全性的工具**——它会请求你的许可后才执行。

### 4.4 Glob —— 按模式搜索文件

```
> 项目里有哪些 TypeScript 文件？
```

Claude Code 使用 Glob 按模式匹配查找文件，如 `**/*.ts`。

### 4.5 Grep —— 按内容搜索文件

```
> 哪些文件引用了 express 模块？
```

Claude Code 使用 Grep 搜索文件内容，支持正则表达式。

```mermaid
flowchart TB
    subgraph "Claude Code 五大工具"
        A[Read<br/>读取文件内容]
        B[Write/Edit<br/>创建/修改文件]
        C[Bash<br/>执行终端命令]
        D[Glob<br/>按模式搜索文件名]
        E[Grep<br/>按内容搜索文件]
    end

    subgraph "你的项目"
        F[源代码文件]
        G[配置文件]
        H[测试文件]
        I[终端/Shell]
    end

    A --> F
    A --> G
    B --> F
    B --> G
    B --> H
    C --> I
    D --> F
    E --> F

    style A fill:#4A90D9,color:#fff
    style B fill:#059669,color:#fff
    style C fill:#D97706,color:#fff
    style D fill:#7C3AED,color:#fff
    style E fill:#DC2626,color:#fff
```

## 第五章：CLAUDE.md —— 项目的持久记忆

### 5.1 为什么需要 CLAUDE.md

每次启动新会话，Claude Code 默认不记得你的项目偏好。CLAUDE.md 是一个 Markdown 文件，告诉 Claude Code 你的项目规则、技术栈、编码风格等。

### 5.2 五层 CLAUDE.md 体系

```mermaid
flowchart BT
    A["~/.claude/CLAUDE.md<br/>全局规则<br/>所有项目生效"] --> B["项目根/CLAUDE.md<br/>项目级规则<br/>团队共享"]
    B --> C["项目根/.claude/CLAUDE.md<br/>同上，放 .claude 目录"]
    C --> D["子目录/CLAUDE.md<br/>模块级规则"]
    D --> E["~/.claude/CLAUDE.local.md<br/>个人本地规则<br/>不提交到 Git"]

    style A fill:#DC2626,color:#fff
    style B fill:#D97706,color:#fff
    style C fill:#D97706,color:#fff
    style D fill:#4A90D9,color:#fff
    style E fill:#059669,color:#fff
```

### 5.3 新手 CLAUDE.md 模板

在项目根目录创建 `CLAUDE.md`：

```markdown
# 项目说明
这是一个 [项目名称]，使用 [技术栈]。

# 开发规则
- 使用 TypeScript strict 模式
- 代码注释使用英文
- 提交信息格式：feat/fix/docs: 简短描述

# 常用命令
- 启动开发：npm run dev
- 运行测试：npm test
- 构建项目：npm run build

# 注意事项
- 不要修改 .env 文件
- 测试覆盖率不低于 80%
```

### 5.4 CLAUDE.md 生效验证

在会话中输入：

```
> 请描述一下当前项目的规则和约束
```

Claude Code 会读取 CLAUDE.md 并复述其中的规则。如果回复正确，说明配置生效。

## 第六章：实战项目 —— 构建命令行笔记工具

现在我们来构建一个完整的 CLI 工具，体验从零到交付的全过程。

### 6.1 需求描述

构建一个名为 `quicknote` 的命令行笔记工具，功能：
- 添加笔记：`quicknote add "今天学到了对话式开发"`
- 列出笔记：`quicknote list`
- 搜索笔记：`quicknote search "对话式"`
- 删除笔记：`quicknote delete 3`
- 笔记存储在 `~/.quicknote/notes.json`

### 6.2 初始化项目

```bash
mkdir quicknote && cd quicknote
git init
claude
```

在 Claude Code 会话中输入：

```
> 我想创建一个命令行笔记工具 quicknote。使用 Node.js 和 TypeScript。
> 功能包括：add、list、search、delete 四个子命令。
> 笔记存储在 ~/.quicknote/notes.json，每条笔记有 id、内容、创建时间。
> 请帮我初始化项目结构，创建 package.json 和 tsconfig.json。
```

Claude Code 会执行以下操作：
1. 运行 `npm init -y` 创建 package.json
2. 安装 TypeScript 和相关依赖
3. 创建 tsconfig.json
4. 搭建基础目录结构

### 6.3 编写核心逻辑

继续在会话中输入：

```
> 请实现 quicknote 的核心功能。入口文件是 src/index.ts。
> 使用 commander 库处理命令行参数，用 chalk 给输出加颜色。
```

Claude Code 生成的代码结构如下：

```
quicknote/
├── src/
│   ├── index.ts        # 入口，命令行解析
│   ├── store.ts        # 数据存储层
│   └── types.ts        # 类型定义
├── package.json
├── tsconfig.json
└── CLAUDE.md
```

**src/types.ts**：

```typescript
export interface Note {
  id: number;
  content: string;
  createdAt: string;
}
```

**src/store.ts**：

```typescript
import * as fs from 'fs';
import * as path from 'path';
import { Note } from './types';

const NOTES_DIR = path.join(process.env.HOME || '~', '.quicknote');
const NOTES_FILE = path.join(NOTES_DIR, 'notes.json');

function ensureFile(): void {
  if (!fs.existsSync(NOTES_DIR)) {
    fs.mkdirSync(NOTES_DIR, { recursive: true });
  }
  if (!fs.existsSync(NOTES_FILE)) {
    fs.writeFileSync(NOTES_FILE, JSON.stringify([], null, 2));
  }
}

export function loadNotes(): Note[] {
  ensureFile();
  const data = fs.readFileSync(NOTES_FILE, 'utf-8');
  return JSON.parse(data);
}

export function saveNotes(notes: Note[]): void {
  ensureFile();
  fs.writeFileSync(NOTES_FILE, JSON.stringify(notes, null, 2));
}

export function addNote(content: string): Note {
  const notes = loadNotes();
  const note: Note = {
    id: notes.length > 0 ? Math.max(...notes.map(n => n.id)) + 1 : 1,
    content,
    createdAt: new Date().toISOString(),
  };
  notes.push(note);
  saveNotes(notes);
  return note;
}

export function searchNotes(keyword: string): Note[] {
  return loadNotes().filter(n =>
    n.content.toLowerCase().includes(keyword.toLowerCase())
  );
}

export function deleteNote(id: number): boolean {
  const notes = loadNotes();
  const index = notes.findIndex(n => n.id === id);
  if (index === -1) return false;
  notes.splice(index, 1);
  saveNotes(notes);
  return true;
}
```

**src/index.ts**：

```typescript
#!/usr/bin/env node
import { Command } from 'commander';
import chalk from 'chalk';
import { addNote, loadNotes, searchNotes, deleteNote } from './store';

const program = new Command();

program
  .name('quicknote')
  .description('一个简单的命令行笔记工具')
  .version('1.0.0');

program
  .command('add <content>')
  .description('添加一条笔记')
  .action((content: string) => {
    const note = addNote(content);
    console.log(chalk.green(`✓ 笔记已添加 [${note.id}] ${note.content}`));
  });

program
  .command('list')
  .description('列出所有笔记')
  .action(() => {
    const notes = loadNotes();
    if (notes.length === 0) {
      console.log(chalk.yellow('暂无笔记'));
      return;
    }
    notes.forEach(note => {
      const time = new Date(note.createdAt).toLocaleString('zh-CN');
      console.log(
        chalk.blue(`[${note.id}]`) + ` ${note.content} ` +
        chalk.gray(time)
      );
    });
  });

program
  .command('search <keyword>')
  .description('搜索笔记')
  .action((keyword: string) => {
    const results = searchNotes(keyword);
    if (results.length === 0) {
      console.log(chalk.yellow(`未找到包含 "${keyword}" 的笔记`));
      return;
    }
    results.forEach(note => {
      console.log(chalk.blue(`[${note.id}]`) + ` ${note.content}`);
    });
  });

program
  .command('delete <id>')
  .description('删除指定ID的笔记')
  .action((id: string) => {
    const success = deleteNote(parseInt(id, 10));
    if (success) {
      console.log(chalk.green(`✓ 笔记 [${id}] 已删除`));
    } else {
      console.log(chalk.red(`✗ 未找到笔记 [${id}]`));
    }
  });

program.parse();
```

### 6.4 配置运行

```
> 请更新 package.json，添加 bin 字段和 build 脚本，
> 然后运行 npm run build 验证编译通过。
```

Claude Code 会更新 `package.json`：

```json
{
  "name": "quicknote",
  "version": "1.0.0",
  "bin": {
    "quicknote": "./dist/index.js"
  },
  "scripts": {
    "build": "tsc",
    "dev": "ts-node src/index.ts"
  },
  "dependencies": {
    "commander": "^12.0.0",
    "chalk": "^5.3.0"
  },
  "devDependencies": {
    "typescript": "^5.4.0",
    "@types/node": "^20.0.0",
    "ts-node": "^10.9.0"
  }
}
```

### 6.5 测试运行

```
> 请用 npm link 安装到全局，然后运行 quicknote add "我的第一条笔记" 测试功能。
> 接着运行 quicknote list 确认笔记已保存。
```

预期输出：

```
✓ 笔记已添加 [1] 我的第一条笔记

[1] 我的第一条笔记 2026/5/26 14:30:00
```

### 6.6 添加单元测试

```
> 请为 store.ts 添加单元测试。使用 vitest 框架。
> 测试覆盖：添加笔记、列出笔记、搜索笔记、删除笔记四个场景。
```

Claude Code 会创建 `src/__tests__/store.test.ts`：

```typescript
import { describe, it, expect, beforeEach, afterEach } from 'vitest';
import * as fs from 'fs';
import * as path from 'path';
import { addNote, loadNotes, searchNotes, deleteNote } from '../store';

const NOTES_FILE = path.join(
  process.env.HOME || '~', '.quicknote', 'notes.json'
);

describe('Store', () => {
  beforeEach(() => {
    if (fs.existsSync(NOTES_FILE)) {
      fs.unlinkSync(NOTES_FILE);
    }
  });

  it('should add a note', () => {
    const note = addNote('测试笔记');
    expect(note.id).toBe(1);
    expect(note.content).toBe('测试笔记');
    expect(note.createdAt).toBeDefined();
  });

  it('should list all notes', () => {
    addNote('笔记A');
    addNote('笔记B');
    const notes = loadNotes();
    expect(notes).toHaveLength(2);
  });

  it('should search notes by keyword', () => {
    addNote('学习 TypeScript');
    addNote('学习 React');
    addNote('做饭');
    const results = searchNotes('学习');
    expect(results).toHaveLength(2);
  });

  it('should delete a note by id', () => {
    addNote('待删除');
    addNote('保留');
    const deleted = deleteNote(1);
    expect(deleted).toBe(true);
    expect(loadNotes()).toHaveLength(1);
  });

  it('should return false for non-existent id', () => {
    const deleted = deleteNote(999);
    expect(deleted).toBe(false);
  });
});
```

### 6.7 运行测试

```
> 请运行测试，确保全部通过。如果失败请修复。
```

```
> npm test

 ✓ src/__tests__/store.test.ts (5)
   ✓ Store > should add a note
   ✓ Store > should list all notes
   ✓ Store > should search notes by keyword
   ✓ Store > should delete a note by id
   ✓ Store > should return false for non-existent id

 Test Files  1 passed (1)
 Tests       5 passed (5)
```

### 6.8 完整工作流程图

```mermaid
flowchart TD
    A["1. mkdir quicknote && cd quicknote"] --> B["2. git init"]
    B --> C["3. claude 启动会话"]
    C --> D["4. 描述需求：初始化项目"]
    D --> E["5. Claude 创建 package.json"]
    E --> F["6. 描述需求：实现核心功能"]
    F --> G["7. Claude 编写 store.ts + index.ts"]
    G --> H["8. 描述需求：添加测试"]
    H --> I["9. Claude 创建 store.test.ts"]
    I --> J["10. npm test 验证"]
    J --> K{测试通过?}
    K -->|是| L["11. npm link 全局安装"]
    K -->|否| M["12. 让 Claude 修复"]
    M --> J
    L --> N["13. 实际测试 quicknote 命令"]
    N --> O["✓ 项目交付完成"]

    style C fill:#D97706,color:#fff
    style O fill:#059669,color:#fff
```

## 第七章：会话管理

### 7.1 恢复之前的会话

关闭终端后，你可以恢复之前的对话：

```bash
# 继续最近的会话
claude --continue

# 恢复指定会话
claude --resume abc123

# 查看历史会话
claude --sessions
```

### 7.2 上下文管理

Claude Code 的上下文窗口有限（约 200K tokens）。长对话中你会看到：

```
Context window usage: 85%. Consider using /compact.
```

此时使用 `/compact` 命令压缩对话历史。Claude Code 会保留关键信息，丢弃冗余细节。

### 7.3 一次性命令（非交互模式）

对于简单的单次查询，使用 `-p` 标志：

```bash
# 查询式使用
claude -p "这个项目的依赖有哪些"

# 管道输入
cat error.log | claude -p "分析这个错误日志的原因"
```

## 第八章：十个常见新手错误

### 错误 1：指令太模糊

```
# 不好
> 优化一下代码

# 好的
> 请把 src/utils.ts 中的 formatDate 函数重构为纯函数，
> 去除对全局变量 timezone 的依赖，改为参数传入。
```

**原则**：具体说明文件、函数、期望行为。

### 错误 2：一次要求太多

```
# 不好
> 帮我实现用户注册、登录、权限管理、个人资料编辑全部功能

# 好的
> 先实现用户注册功能，包含表单验证和密码加密
```

**原则**：拆分为小步骤，逐步推进。

### 错误 3：不审查直接接受

Claude Code 生成的代码可能有逻辑错误或安全问题。**始终审查关键代码**。

### 错误 4：忽略 CLAUDE.md

没有 CLAUDE.md，每次新会话 Claude Code 都要从零了解你的项目。**花 10 分钟写好 CLAUDE.md**，后面省 10 小时。

### 错误 5：盲目 Always Allow

前三天建议逐条 Allow。了解 Claude Code 会执行哪些操作后，再对安全的操作类型使用 Always Allow。

### 错误 6：不使用 Git

Claude Code 会修改文件。**频繁提交**让你随时可以回退：

```bash
git add -A && git commit -m "feat: 添加笔记存储功能"
```

### 错误 7：在敏感目录启动

不要在包含 `.env`、密钥文件的目录中启动 Claude Code。使用 `.gitignore` 和 `.claudeignore` 排除敏感文件。

### 错误 8：忽视费用

使用 `/cost` 定期检查费用。Opus 模型的成本是 Sonnet 的 5 倍、Haiku 的 25 倍。

### 错误 9：不了解 Plan 模式

对复杂任务，先进入 Plan 模式让 Claude Code 规划方案：

```
> 请进入 Plan 模式，分析重构数据库层的方案，不要直接修改代码
```

Plan 模式下 Claude Code 只读取和分析，不修改文件，适合规划和审查阶段。

### 错误 10：不利用上下文引用

用 `@文件名` 直接引用文件，让 Claude Code 精确知道你要讨论什么：

```
> 请看看 @src/store.ts 的 addNote 函数，有一个边界条件没有处理
```

## 第九章：对话式开发工作流模板

以下是一个标准的功能开发工作流，适用于大多数项目：

```mermaid
sequenceDiagram
    participant Dev as 开发者
    participant CC as Claude Code
    participant Git as Git 仓库
    participant FS as 文件系统

    Dev->>CC: 描述功能需求
    CC->>FS: 读取相关文件
    CC->>CC: 规划实现方案
    CC->>Dev: 展示计划（Plan 模式）
    Dev->>CC: 确认方案
    CC->>FS: 创建/修改文件
    CC->>Dev: 展示改动
    Dev->>CC: 运行测试
    CC->>FS: npm test
    CC->>Dev: 测试结果
    Dev->>Git: git commit
    Dev->>CC: 下一个需求...
```

**对话式开发的黄金法则**：

1. **描述清楚** —— 越具体越好
2. **小步迭代** —— 一次一个功能
3. **审查代码** —— 你是最终的质量守门人
4. **善用 Git** —— 随时可以回退
5. **保持对话聚焦** —— 一个会话一个主题

## 延伸阅读

- [Claude Code 官方文档](https://code.claude.com/docs/en/quickstart) —— 安装和快速入门
- [Claude Code Best Practices](https://code.claude.com/docs/en/best-practices) —— 官方最佳实践指南
- [Claude Code Changelog](https://code.claude.com/docs/en/changelog) —— 最新版本更新日志
- [Claude Code Cheatsheet](https://support.claude.com/en/articles/14553413-claude-code-cheatsheet) —— 命令速查表
- [Using CLAUDE.md Files](https://claude.com/blog/using-claude-md-files) —— 项目配置详解
- [45 Claude Code Tips](https://github.com/ykdojo/claude-code-tips) —— 社区经验总结

## 训练营适用性评估

| 维度 | 评估 |
|------|------|
| 适合训练营类型 | AI编程入门营、全栈开发训练营第一课、企业数字化转型培训 |
| 教学时长 | 4-6 小时（含实操） |
| 学员基础要求 | 会使用终端和 Git，了解任一编程语言基础 |
| 实操设备要求 | 每人一台笔记本（macOS/Linux/WSL2），可联网 |
| 课程密度 | 高——从安装到交付一个完整项目 |
| 建议分组 | 2-3 人一组，互相审查 Claude Code 生成的代码 |

---

## 参考来源

1. [Quickstart - Claude Code Docs](https://code.claude.com/docs/en/quickstart) — 官方安装和快速入门指南
2. [Claude Code Best Practices](https://code.claude.com/docs/en/best-practices) — 官方最佳实践文档
3. [Claude Code Tutorial for Beginners 2026](https://dev.to/ayyazzafar/claude-code-tutorial-for-beginners-2026-from-installation-to-building-your-first-project-1lma) — 社区入门教程
4. [15 Claude Code Best Practices from 6 Projects](https://aiorg.dev/blog/claude-code-best-practices) — 实战经验总结
5. [30 Claude Code Tips and Tricks](https://hannahstulberg.substack.com/p/claude-code-for-everything-30-claude-code-tips-and-tricks) — 1500+小时使用经验

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
