第 20 章 · 综合实战项目
本章目标:综合运用前 19 章所学,从零搭建一个全栈 Todo 应用——完整走通需求分析、CLAUDE.md 编写、MCP 工具接入、Skill 封装、Hooks 自动化和部署验证的完整工作流。
20.1 项目规划与 CLAUDE.md
首先初始化项目并编写 CLAUDE.md——这是整个工作流的基础:
bash
mkdir todo-app && cd todo-app
git init
npm create vite@latest . -- --template react-tsmarkdown
# CLAUDE.md
## 项目概述
全栈 Todo 应用:React + TypeScript 前端,Express + SQLite 后端。
## 技术栈
- 前端: React 18, TypeScript, Tailwind CSS
- 后端: Express, better-sqlite3
- 测试: Vitest (前端), Jest (后端)
- 包管理: pnpm
## 硬性约束
- 所有 API 路由使用 /api/v1/ 前缀
- 数据库操作必须通过 repository 层
- 每个功能必须有对应测试
## 验证命令
- 前端测试: pnpm test:front
- 后端测试: pnpm test:back
- 类型检查: pnpm typecheck
- 完整验证: pnpm check20.2 需求→设计→编码
启动 Claude Code 并按阶段推进:
bash
claudetext
> 我要做一个 Todo 应用。请先阅读 CLAUDE.md 了解约束,
然后在 docs/plan.md 中写出功能列表和实现计划。Claude 会生成结构化的计划文档。审查确认后逐步执行:
text
> 按照 plan.md 的第一个功能(创建任务)开始实现,
先写后端 API 和数据库层,再写前端组件和测试。20.3 接入 MCP 工具
为 Claude 配置文件系统和数据库工具:
json
// .claude/mcp.json
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "."]
},
"sqlite": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sqlite", "--db-path", "./data/todo.db"]
}
}
}配置后 Claude 可以直接查询数据库状态来调试问题。
20.4 Skills 与 Hooks 自动化
封装重复操作为 Skill,用 Hooks 自动化质量检查:
markdown
<!-- .claude/skills/deploy/SKILL.md -->
---
name: deploy-check
description: 部署前检查:运行所有测试、类型检查和构建,全部通过后才允许部署。
---
## 步骤
1. 运行 pnpm check(包含 lint + typecheck + 全部测试)
2. 运行 pnpm build 确认构建成功
3. 如果任何步骤失败,报告错误并停止
4. 全部通过后输出"✅ 部署检查通过"json
// .claude/settings.json — Hooks
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"command": "pnpm lint --fix --quiet"
}
]
}
}每次 Claude 编辑文件后自动执行 lint 修复。
20.5 验证与部署
完成开发后,让 Claude 执行完整的部署流程:
text
> 使用 deploy-check skill 进行部署前检查。
全部通过后帮我生成 Dockerfile 和 docker-compose.yml。Claude 会:
- 加载
deploy-checkSkill; - 逐项执行检查命令;
- 根据项目结构生成 Docker 配置;
- 提交代码并打 tag。
本章小结
- CLAUDE.md 是整个工作流的基石——先写约束再写代码;
- MCP 工具让 Claude 能直接查询数据库等外部资源;
- Skill 封装可复用的多步操作,Hooks 自动化质量保障;
- 完整工作流:需求 → 计划 → 编码 → 测试 → 部署。
🧪 随堂测验
点击你认为正确的选项。答错时会展示正确答案与原因解析。
1. 在综合实战中,为什么要在写代码之前先创建 CLAUDE.md?
2. 在实战项目中,MCP sqlite 服务器的价值是什么?
3. deploy-check Skill 与 PostToolUse Hook 的分工是?
4. 实战工作流的正确顺序是?
🛠️ 动手实践
- 为你自己的项目编写一份 CLAUDE.md,至少包含技术栈、约束和验证命令三个部分。
- 配置一个 PostToolUse Hook,在每次文件编辑后自动运行格式化。
- 将你团队常用的部署检查流程封装为一个 Skill。
🎉 恭喜完成核心实战!继续阅读第 21 章了解近期新特性。