DHappy 相信自己!

AI Coding项目初始化教程

2026-07-01
FTX


项目开发规范与流程指南(完整版)

整合 规范驱动开发(SDD)Claude Code 工作流,从模糊想法到高质量交付的一站式手册。


第一部分:规范驱动开发(SDD)

1.1 为什么 AI 编程需要“规范”

在淘宝买衣服时,你说“我要一件好看的”——结果收到的和你想象的完全不同。这是沟通不精准的代价。

AI 编程也一样。你对 AI 说“帮我做个网站”,它可能输出一个完全跑偏的东西。“垃圾进,垃圾出”——模糊的需求必然导致不准确的结果。

规范(Specification) 就是你和 AI 之间的 “合同”,它明确定义:

  • 要做什么(功能需求)
  • 怎么做(技术方案)
  • 做到什么程度(质量标准)

有了这份“合同”,AI 才能精准理解你的意图,产出符合预期的代码。

1.2 需求规范:PRD 文档

PRD(Product Requirements Document) 回答 “要做什么”

✅ 用户故事格式

作为一个 [角色],
我希望 [功能],
以便 [价值/目的]。

示例:

作为一个博客读者,
我希望能按标签筛选文章,
以便快速找到我感兴趣的内容。

✅ 验收标准格式(Given-When-Then)

Given(前提条件):系统中有20篇文章,其中5篇标记了“Python”标签
When(操作):用户点击“Python”标签
Then(预期结果):页面只显示这5篇标记了“Python”标签的文章

✅ 用 AI 辅助生成 PRD 的 Prompt

将模糊想法快速转化为结构化文档:

我想做一个个人书签管理工具。

请帮我生成一份完整的 PRD 文档,包含:
1. 项目概述(一句话描述)
2. 目标用户
3. 核心功能列表(按优先级:Must Have / Should Have / Nice to Have)
4. 每个功能的用户故事和验收标准
5. 非功能需求(性能、安全、兼容性)

请用 Markdown 格式输出。

1.3 技术规范:TECHNICAL 文档(原 SPEC)

TECHNICAL 文档 回答 “怎么做”

模块 内容 说明
系统架构 整体架构设计图 前后端如何交互
技术选型 使用什么技术和框架 如 Next.js + Prisma + SQLite
数据模型 数据库表结构设计 表、字段、关系
API 接口 接口定义 URL、请求参数、返回格式
目录结构 项目文件组织 代码文件夹规范

✅ 让 AI 从 PRD 生成 TECHNICAL 的 Prompt

基于以下 PRD 文档,请生成对应的技术规范文档(TECHNICAL.md):

[粘贴你的 PRD 内容]

要求:
1. 推荐技术选型并说明理由
2. 设计完整的数据模型(包含字段类型和关系)
3. 列出所有 API 接口(RESTful 风格)
4. 给出建议的项目目录结构

1.4 质量规范(CHECKLIST 文档)

定义 “做到什么程度算合格”

  • 编码规范:代码风格、命名规则、注释要求
  • 测试规范:单元测试、集成测试覆盖范围
  • 安全规范:输入验证、认证授权、数据加密

提示:初学者不必一步到位写完美规范,从简单的 PRD 开始,项目复杂后再逐步完善。规范的核心价值是让沟通更精准


第二部分:项目初始化(6 个习惯性动作)

在开始编码之前,按顺序完成以下 6 项设置,可避免后续 80% 的返工:

步骤 动作 说明
Step 1 项目初始化 用需求模板向 AI 清晰描述目标(用途、设备、功能、页面、设计风格),AI 生成项目骨架。
Step 2 建立上下文 运行 ./init 或手动创建 CLAUDE.md,记录项目背景、技术栈、编码规范。
Step 3 配置权限与模式 编辑 .claude/settings.json,复杂项目默认 plan 模式,强制先规划后执行。
Step 4 功能开发 一次一个功能,严格遵循 Explore → Plan → Implement 节奏(见第三部分)。
Step 5 代码审查与测试 /review 命令让 AI 生成测试用例并运行,验证功能正确性。
Step 6 提交代码 git commit 保存进度,AI 协助生成规范 commit message。

第三部分:四阶段工作流(核心执行循环)

每个功能或任务都按以下四个阶段循环推进,一轮结束后回到 Explore 开始下一项。

Explore(探索) → Plan(规划) → Implement(实施) → Commit(提交)
      ↑                                                      ↓
      └──────────────────── 下一轮 ←─────────────────────────┘

阶段详解

阶段 你该做什么 AI 在做什么 推荐模式
① Explore 告诉 AI 要改动的区域(如“给订单表加软删除”) 读相关文件、grep 搜索、追踪引用链 Plan Mode
② Plan 让 AI 产出详细方案,你审核合理性与边界 生成计划、评估影响范围、列出风险点 Plan Mode
③ Implement 切出 Plan Mode,按批准计划执行 按顺序修改文件、运行构建 Normal / Auto-Accept
④ Commit 让 AI 生成 commit message,确认后提交 生成规范信息,可选自动发起 PR Normal

为什么要分阶段?
你说“加个软删除功能”,15 分钟后 AI 改了 14 个文件,动了全局查询过滤器,破坏 3 个接口——你只能手工回退。
在 Plan Mode 多花 5 分钟讨论方案,换来执行阶段节省 30 分钟返工。规划即节省


第四部分:项目文档与日志规范

为了统一管理,所有规范文档集中存放在 specs/ 目录下,不再区分 docsspecs。开发日志单独存放在 logs/

4.1 规范文档(specs/ 文件夹)

specs/ 是项目的唯一文档中心,包含以下核心文件:

文件 内容说明
PRD.md 产品需求文档(用户故事、验收标准、功能优先级)
TECHNICAL.md 技术规范(架构、技术选型、数据模型、API接口)
DESIGN.md UI/UX 设计规范(风格、色彩体系、交互说明)
PROCESS.md 开发流程与代码规范(四阶段工作流、命名规则、Git策略)
CHECKLIST.md 质量审查清单(测试覆盖、安全检查、上线标准)

4.2 开发日志(logs/ 文件夹)

  • 每天自动或手动记录:
    • 完成事项:今日已完成的功能、修复的 Bug
    • 待办事项:未完成的任务、下一步计划
  • 文件名:YYYY-MM-DD.md,按日期归档。

4.3 项目上下文文件(CLAUDE.md

在项目根目录下创建 CLAUDE.md,作为 AI 的入口指引,明确指向 specs/ 各文件:

# 项目上下文

## 文档索引(唯一规范中心)
所有项目规范统一存放在 `specs/` 目录下:
- 产品需求 → [specs/PRD.md](specs/PRD.md)
- 技术规范 → [specs/TECHNICAL.md](specs/TECHNICAL.md)
- 设计规范 → [specs/DESIGN.md](specs/DESIGN.md)
- 开发流程 → [specs/PROCESS.md](specs/PROCESS.md)
- 质量审查 → [specs/CHECKLIST.md](specs/CHECKLIST.md)

## 工作说明
- 所有任务严格遵循 **Explore → Plan → Implement → Commit** 四阶段。
- 每日开发日志记录在 `logs/` 目录下,文件名格式 `YYYY-MM-DD.md`- 代码提交前必须通过 `/review` 自动化测试,并对照 `specs/CHECKLIST.md` 进行自检。

第五部分:优化后的项目目录结构(精简版)

根目录只保留 specs/(文档中心)和 logs/(日志),避免冗余。

my-project/
├── .claude/                        # Claude Code 配置
│   └── settings.json               # 权限与默认模式(复杂项目设为 "plan")
│
├── specs/                          # ⭐ 唯一文档中心
│   ├── PRD.md                      # 产品需求文档
│   ├── TECHNICAL.md                # 技术规范(架构、数据模型、API)
│   ├── DESIGN.md                   # UI/UX 设计规范(风格、色彩)
│   ├── PROCESS.md                  # 开发流程与代码规范
│   └── CHECKLIST.md                # 质量审查清单
│
├── logs/                           # 开发日志(每日记录)
│   ├── 2026-07-18.md
│   ├── 2026-07-19.md
│   └── ...
│
├── src/                            # 源代码(按项目类型调整)
│   ├── components/
│   ├── pages/
│   ├── utils/
│   └── ...
│
├── tests/                          # 测试代码
│   ├── unit/
│   └── integration/
│
├── CLAUDE.md                       # 项目上下文说明(必填)
├── package.json                    # 依赖管理(或其他语言对应文件)
└── README.md                       # 项目简介

说明src/tests/ 的实际结构可根据项目框架(如 React、Vue、Node.js)灵活调整,此处仅为示例。


第六部分:需求提交模板(用于 Step 1 初始化)

在项目初始化时,使用以下模板向 AI 描述需求,确保精准生成骨架:

# 项目需求提交模板

## 1. 项目概述
- **软件名称**:(如“任务管理助手”)
- **运行设备**:(如“Web 浏览器 / iOS 手机”)

## 2. 功能目标
- **核心功能**:(如“创建任务、设置截止日期、分配负责人”)
- **解决的问题**:(如“帮助团队跟踪项目进度”)

## 3. 页面与内容
- **页面列表**:(如“任务列表页、任务详情页、统计看板”)
- **关键内容**:(列表页显示标题、状态、截止日期;详情页显示完整描述等)

## 4. 设计风格与色彩
- **设计风格**:(如“极简 / 扁平 / 新拟态”)
- **主色**:(如“#2C3E50(深蓝)+ #E74C3C(珊瑚红)”)
- **辅助色**:(如“背景 #F5F7FA”)

最佳实践总结

原则 说明
规范先行 先写 PRD 和 TECHNICAL,再让 AI 生成代码。
小步快跑 每次只处理一个功能,完成后立即提交。
先审后动 Plan Mode 中充分讨论,避免边写边改。
文档同步 代码变更同时更新 specs/logs/
测试驱动 每次 /review 都生成并运行测试。
上下文延续 维护好 CLAUDE.md,让 AI 始终理解全局。

遵循以上流程,你将把 AI 从“随机生成器”转变为“可靠的协作者”,实现高效、高质量的项目交付。


本指南为项目启动和日常开发的标准参考,如有变更请及时更新 specs/ 相关文档。


Content