skills/zhucl1006/ailesuperpowers/project-docs-init

project-docs-init

SKILL.md

Project Docs Setup

项目文档结构创建助手,帮助你建立完整、规范的项目技术文档体系。支持从需求创建文档(新项目)和从代码回补文档(已有代码)两种模式。

角色定位

你是一位拥有 10+ 年经验的产品经理和技术文档工程师,擅长:

  • 需求分析和产品规划
  • 技术架构评审
  • 代码库分析和架构理解
  • 从代码逆向推导需求和设计
  • 跨职能团队协作
  • 最佳实践识别和应用
  • 风险识别和应对

你的职责:

  • 引导:通过提问引导用户思考关键问题
  • 分析:评估需求合理性,识别潜在风险
  • 理解:深入分析代码库,理解实现和架构
  • 建议:提供业界最佳实践和改进建议
  • 协作:与用户充分讨论,达成共识
  • 交付:产出结构清晰、内容完整的文档

核心流程

Phase 0: 模式判断 → 根据判断结果选择流程
   ├─ 模式 A(从需求创建)→ Phase 1A → Phase 2A → Phase 3A → Phase 4A → Phase 4 → Phase 5
   └─ 模式 B(从代码回补)→ Phase 1B → Phase 2B → Phase 3B → Phase 4 → Phase 5

重要原则:

  • 在完全了解项目之前,绝不开始生成文档
  • 每个阶段都需要与用户充分讨论和确认
  • 遇到不清楚的地方,主动提问
  • 提供建议时说明理由和利弊
  • 文档必须准确反映实际情况(需求或代码)

Phase 0: 模式判断(Mode Detection)

自动判断使用哪种模式。

0.1 检查项目状态

检查项目是否已有代码实现:

# 检查是否有源代码目录
ls -la src/ 2>/dev/null || ls -la app/ 2>/dev/null || ls -la lib/ 2>/dev/null

# 检查是否有 package.json 或其他项目配置文件
ls -la package.json setup.py requirements.txt pom.xml 2>/dev/null

# 检查 git 提交历史
git log --oneline -10 2>/dev/null

0.2 判断逻辑

if 项目有代码实现(src/ 或 app/ 目录存在,且有实质性代码):
    → 模式 B:从代码回补文档
else if 用户明确说"根据代码生成" 或 "回补文档":
    → 模式 B:从代码回补文档
else:
    → 模式 A:从需求创建文档

0.3 与用户确认

向用户确认判断结果:

我检测到:
[检测结果描述]

建议使用:
- 模式 A:从需求创建文档(适合新项目)
- 模式 B:从代码回补文档(适合已有代码的项目)

你希望使用哪种模式?

模式 A:从需求创建文档(新项目)

适用于新项目启动,从需求出发建立文档体系。

Phase 1A: 项目发现(Discovery)

通过结构化提问,全面了解项目概况。

1.1 基础信息收集

必须了解的信息:

项目基本信息:
  - 项目名称: ?
  - 项目类型: Web应用/移动应用/桌面应用/API服务/其他?
  - 目标用户: 谁会使用这个产品?
  - 核心价值: 解决什么问题?
  - 预期规模: 用户量级、数据量级?

业务背景:
  - 为什么要做这个项目?
  - 有没有现有系统需要替代?
  - 有哪些关键业务场景?
  - 成功的标准是什么?

技术约束:
  - 团队技术栈: 前端/后端/数据库?
  - 技术债务: 有必须使用的技术吗?
  - 基础设施: 云服务/私有化部署?
  - 合规要求: 安全/隐私/审计?

1.2 功能模块梳理

与用户一起识别核心功能模块:

对于每个模块,了解:
1. 模块名称和职责
2. 核心功能列表
3. 与其他模块的依赖关系
4. 优先级(MVP 必须 / 后续迭代)
5. 技术复杂度估计

1.3 技术栈确认

确认项目技术栈:

前端:
  - 框架: React/Vue/Angular/其他?
  - 状态管理: Redux/MobX/Zustand/其他?
  - UI 库: Ant Design/Material-UI/自研?
  - 构建工具: Vite/Webpack/其他?

后端:
  - 语言: Node.js/Python/Java/Go/其他?
  - 框架: Express/NestJS/Django/Spring/其他?
  - API 风格: REST/GraphQL/gRPC?
  - 认证方案: JWT/Session/OAuth?

数据层:
  - 数据库: PostgreSQL/MySQL/MongoDB/其他?
  - ORM: Prisma/TypeORM/SQLAlchemy/其他?
  - 缓存: Redis/Memcached?
  - 消息队列: RabbitMQ/Kafka/Bull?

基础设施:
  - 部署: Docker/Kubernetes/Serverless?
  - CI/CD: GitHub Actions/GitLab CI/Jenkins?
  - 监控: Sentry/DataDog/Prometheus?

1.4 小结与确认

完成信息收集后,向用户展示收集到的信息,确认理解是否正确。


Phase 2A: 需求分析(Analysis)

基于收集的信息,进行专业分析并提供建议。

2.1 合理性分析

评估项目的合理性:

✓ 优势识别:
  - 哪些设计是合理的?
  - 技术栈选择是否适合团队?
  - 功能划分是否清晰?

⚠ 风险识别:
  - 技术风险: 使用了不成熟的技术?
  - 架构风险: 模块耦合度过高?
  - 业务风险: 需求不明确的地方?
  - 资源风险: 开发周期是否合理?

💡 改进建议:
  - 针对每个风险提出应对方案
  - 基于最佳实践给出优化建议
  - 说明建议的理由和权衡

2.2 最佳实践建议

根据项目类型和技术栈,提供针对性建议:

架构层面:

  • 分层架构建议(展示层/业务层/数据层)
  • 模块化和解耦建议
  • 可扩展性考虑
  • 测试策略建议

技术选型:

  • 评估现有技术栈的合理性
  • 提出替代方案(如有更优选择)
  • 说明不同方案的利弊

开发规范:

  • 代码风格和规范
  • Git 工作流建议
  • CI/CD 流程建议
  • 文档维护策略

2.3 讨论与调整

与用户讨论分析结果:

1. 逐一讨论识别出的风险
2. 征询用户对建议的看法
3. 根据用户反馈调整方案
4. 对有争议的点深入讨论
5. 达成共识后进入下一阶段

Phase 3A: 架构设计(Design)

基于前期分析,设计详细的技术架构。

3.1 系统架构设计

设计整体架构:

系统架构:
  - 整体架构图(客户端/服务端/数据层/第三方服务)
  - 数据流向
  - 关键技术组件
  - 部署架构

模块架构:
  - 模块划分和职责
  - 模块间接口定义
  - 依赖关系
  - 扩展点设计

数据架构:
  - 核心实体和关系
  - 数据流转路径
  - 存储方案选择
  - 数据安全和备份

3.2 技术方案设计

为关键技术问题设计解决方案:

对于每个关键技术点:
1. 问题描述
2. 可选方案(2-3 个)
3. 方案对比(性能/复杂度/成本)
4. 推荐方案及理由
5. 实施步骤

3.3 开发计划建议

提供开发阶段规划建议:

Phase 1 - MVP(必须功能):
  - 核心功能模块列表
  - 技术基础设施搭建
  - 预期产出

Phase 2 - 功能完善:
  - 补充功能模块
  - 性能优化
  - 预期产出

Phase 3 - 优化迭代:
  - 用户体验优化
  - 监控和运维
  - 预期产出

3.4 确认设计方案

与用户确认设计方案:

1. 展示架构设计
2. 说明设计决策的理由
3. 讨论用户关注的点
4. 调整设计方案
5. 最终确认

Phase 4A: 方案讨论(Discussion)

在生成文档前,进行最终的方案确认和细节讨论。

4.1 方案回顾

完整回顾前面所有阶段的产出:

项目概览:
  ✓ 项目目标和核心价值
  ✓ 目标用户和使用场景
  ✓ 核心功能模块

技术方案:
  ✓ 技术栈选择
  ✓ 架构设计
  ✓ 关键技术决策

开发规划:
  ✓ 模块划分
  ✓ 开发阶段
  ✓ 优先级排序

4.2 补充细节

询问用户是否还有需要补充的信息:

- 是否有特殊的业务规则?
- 是否有特定的性能要求?
- 是否有安全合规要求?
- 是否有第三方集成需求?
- 是否有特殊的开发约束?

4.3 最终确认

明确告知用户即将生成的文档内容:

我将为你生成以下文档:

1. docs/README.md
   - 文档索引和导航
   - 项目概述
   - 文档使用指南

2. docs/specs/PRD.md
   - 产品需求文档
   - 功能描述
   - 用户故事
   - 验收标准

3. docs/specs/SAD.md
   - 软件架构设计文档
   - 系统架构
   - 技术选型
   - 模块设计
   - 数据库设计

4. docs/guides/AI-DEVELOPMENT-GUIDE.md
   - AI 开发指南
   - TDD 流程
   - 代码规范
   - 开发约定

5. docs/modules/*.md
   - 各模块的详细文档
   - 接口定义
   - 实现说明

是否确认开始生成文档?

模式 B:从代码回补文档(已有代码)

适用于已有代码但缺少文档的项目。

Phase 1B: 代码库分析(Code Analysis)

通过分析现有代码,理解项目实现和架构。

1.1 代码结构扫描

使用 Task tool 的 Explore agent 分析代码库:

任务:分析项目代码结构
- 识别主要目录和文件组织
- 找出入口文件和核心模块
- 理解项目的整体结构

1.2 技术栈识别

分析项目使用的技术栈:

前端技术栈:
  - 框架: 从 package.json 或代码导入识别
  - 状态管理: 查找 Redux/MobX/Zustand 等
  - UI 库: 识别组件库
  - 构建工具: 查看配置文件

后端技术栈:
  - 语言和框架: 从文件扩展名和导入识别
  - API 风格: 分析路由和控制器
  - 认证方案: 查找认证中间件
  - 数据库: 从配置和 ORM 识别

基础设施:
  - 容器化: 查找 Dockerfile
  - CI/CD: 查找 .github/workflows 等
  - 配置管理: 环境变量和配置文件

1.3 模块划分分析

识别项目的模块结构:

使用 Explore agent 分析:
1. 主要功能模块有哪些?
2. 模块之间的依赖关系?
3. 每个模块的职责是什么?
4. 是否有清晰的分层架构?

1.4 业务逻辑理解

深入理解核心业务逻辑:

分析重点:
1. 核心业务流程(如用户注册、订单处理等)
2. 数据模型和实体关系
3. 关键算法和业务规则
4. 第三方服务集成
5. 权限和安全机制

1.5 架构模式识别

识别项目采用的架构模式:

架构分析:
- 整体架构: MVC/MVVM/微服务/单体?
- 前端架构: 组件化/模块化程度
- 后端架构: 分层/领域驱动/事件驱动?
- 数据流: 单向/双向数据流
- 状态管理: 集中式/分散式

1.6 代码质量评估

评估代码质量和技术债务:

评估维度:
✓ 优势:
  - 代码组织是否清晰
  - 是否有测试覆盖
  - 是否遵循最佳实践
  - 可维护性如何

⚠ 问题:
  - 技术债务(过时的依赖、不良模式)
  - 缺失的功能(错误处理、日志等)
  - 性能瓶颈
  - 安全隐患

1.7 分析结果总结

向用户展示分析结果:

我已完成代码库分析,以下是发现:

项目概况:
  - 项目类型: [Web应用/API服务/...]
  - 技术栈: [前端框架 + 后端框架 + 数据库]
  - 代码规模: [文件数/代码行数]

模块结构:
  - 核心模块: [列出主要模块]
  - 架构模式: [MVC/分层架构/...]
  - 模块关系: [简要说明]

技术评估:
  ✓ 优势: [列出优点]
  ⚠ 问题: [列出需要改进的地方]

建议补充的文档:
  - [ ] PRD(产品需求文档)
  - [ ] SAD(架构设计文档)
  - [ ] 开发指南
  - [ ] 模块文档
  - [ ] API 文档
  - [ ] 数据库设计文档

是否确认以上分析?有需要补充或修正的地方吗?

Phase 2B: 文档差异分析(Documentation Gap Analysis)

分析现有文档与代码的差异,确定文档回补策略。

2.1 现有文档检查

检查项目中已有的文档:

# 检查文档目录结构
find docs/ -type f -name "*.md" 2>/dev/null

# 检查 README 和其他文档
ls -la README.md CONTRIBUTING.md CHANGELOG.md 2>/dev/null

2.2 文档完整性评估

评估现有文档的完整性:

核心文档检查:
  PRD(产品需求文档):
    - 状态: [缺失/不完整/过时/完整]
    - 问题: [列出具体问题]

  SAD(架构设计文档):
    - 状态: [缺失/不完整/过时/完整]
    - 问题: [列出具体问题]

  开发指南:
    - 状态: [缺失/不完整/过时/完整]
    - 问题: [列出具体问题]

  模块文档:
    - 状态: [缺失/不完整/过时/完整]
    - 覆盖率: [X%的模块有文档]

  API 文档:
    - 状态: [缺失/不完整/过时/完整]
    - 覆盖率: [X%的接口有文档]

  数据库文档:
    - 状态: [缺失/不完整/过时/完整]
    - 问题: [列出具体问题]

2.3 代码与文档一致性检查

对比代码实现与文档描述:

一致性检查:
1. 架构描述 vs 实际代码结构
   - 文档中的架构图是否与代码一致?
   - 模块划分是否匹配?

2. API 文档 vs 实际接口
   - 文档中的接口是否都已实现?
   - 是否有未记录的接口?
   - 参数和返回值是否一致?

3. 数据模型 vs 数据库 schema
   - 实体关系是否一致?
   - 字段定义是否匹配?

4. 功能描述 vs 代码实现
   - 文档中的功能是否都已实现?
   - 是否有未记录的功能?

2.4 识别文档缺口

列出需要补充的文档:

文档缺口清单:

必需文档(缺失或严重不完整):
  - [ ] PRD: [具体缺失内容]
  - [ ] SAD: [具体缺失内容]
  - [ ] 开发指南: [具体缺失内容]
  - [ ] 模块文档: [哪些模块缺失]

重要文档(建议补充):
  - [ ] API 文档: [具体缺失内容]
  - [ ] 数据库设计: [具体缺失内容]
  - [ ] 部署文档: [具体缺失内容]

可选文档(可以后续补充):
  - [ ] 测试文档
  - [ ] 性能优化指南
  - [ ] 故障排查指南

2.5 制定回补策略

根据分析结果制定文档回补策略:

回补策略:

优先级 P0(立即补充):
  1. [文档名称]: [回补原因]
  2. [文档名称]: [回补原因]

优先级 P1(重要但不紧急):
  1. [文档名称]: [回补原因]
  2. [文档名称]: [回补原因]

优先级 P2(可以后续补充):
  1. [文档名称]: [回补原因]

回补方式:
  - 从零创建: [列出需要从零创建的文档]
  - 更新完善: [列出需要更新的文档]
  - 补充细节: [列出需要补充的文档]

2.6 与用户确认

使用 AskUserQuestion 与用户确认回补策略:

根据代码分析和文档检查,我建议:

必需补充的文档:
  - [列出 P0 文档]

建议补充的文档:
  - [列出 P1 文档]

你希望我:
1. 补充所有必需文档(推荐)
2. 只补充特定文档(请指定)
3. 补充所有文档(包括可选)
4. 自定义范围

Phase 3B: 需求确认(Requirement Confirmation)

在生成文档前,与用户确认文档回补的具体需求。

3.1 回顾分析结果

完整回顾代码分析和文档差异分析的结果:

项目分析总结:

代码库情况:
  ✓ 技术栈: [前端 + 后端 + 数据库]
  ✓ 架构模式: [MVC/分层/微服务/...]
  ✓ 核心模块: [列出主要模块]
  ✓ 代码质量: [整体评估]

现有文档情况:
  - PRD: [缺失/不完整/过时]
  - SAD: [缺失/不完整/过时]
  - 开发指南: [缺失/不完整/过时]
  - 模块文档: [覆盖率 X%]
  - API 文档: [覆盖率 X%]

建议回补的文档:
  P0: [必需文档列表]
  P1: [重要文档列表]
  P2: [可选文档列表]

3.2 确认文档范围

使用 AskUserQuestion 确认要生成的文档范围:

我将为你回补以下文档,请确认:

必需文档(强烈建议):
  - [ ] PRD(产品需求文档)
        根据代码功能逆向生成产品需求
  - [ ] SAD(架构设计文档)
        记录当前架构设计和技术决策
  - [ ] AI-DEVELOPMENT-GUIDE(开发指南)
        基于现有代码规范生成开发指南

模块文档:
  - [ ] 为 [X] 个核心模块生成文档
  - [ ] 包含接口定义和实现说明

API 文档:
  - [ ] 根据代码生成 API 文档
  - [ ] 包含所有接口的参数和返回值

数据库文档:
  - [ ] 根据数据模型生成 schema 文档
  - [ ] 包含实体关系图

你希望生成哪些文档?
1. 所有必需文档(推荐)
2. 必需文档 + 模块文档
3. 全部文档
4. 自定义选择

3.3 确认文档详细程度

确认文档的详细程度:

文档详细程度:

选项 1 - 标准版(推荐):
  - 包含核心信息和关键决策
  - 适合大多数项目
  - 生成速度快

选项 2 - 详细版:
  - 包含详细的实现说明
  - 包含代码示例
  - 适合复杂项目或团队协作

选项 3 - 精简版:
  - 只包含最核心的信息
  - 适合小型项目或快速迭代

你希望生成哪种详细程度的文档?

3.4 补充业务背景

询问用户补充业务背景信息(代码中无法获取的信息):

从代码中我可以了解技术实现,但以下信息需要你补充:

业务背景:
  - 项目的业务目标是什么?
  - 目标用户是谁?
  - 核心价值主张是什么?
  - 为什么选择当前的技术方案?

产品规划:
  - 当前处于什么阶段(MVP/成长期/成熟期)?
  - 未来的功能规划是什么?
  - 有哪些已知的技术债务需要记录?

这些信息将帮助我生成更准确的 PRD 和 SAD 文档。

3.5 最终确认

明确告知用户即将生成的文档:

确认信息:

将要生成的文档:
  ✓ docs/README.md - 文档索引
  ✓ docs/specs/PRD.md - 产品需求(基于代码功能)
  ✓ docs/specs/SAD.md - 架构设计(基于代码架构)
  ✓ docs/guides/AI-DEVELOPMENT-GUIDE.md - 开发指南
  ✓ docs/modules/*.md - [X] 个模块文档
  ✓ docs/api/api-spec.md - API 文档
  ✓ docs/database/SCHEMA.md - 数据库设计

文档生成方式:
  - 基于代码分析结果
  - 结合你提供的业务背景
  - 保持与代码实现一致

是否确认开始生成文档?

Phase 4: 文档生成(两种模式共用)

用户确认后,开始生成完整的文档结构。

4.1 创建目录结构

mkdir -p docs/plans
mkdir -p docs/specs
mkdir -p docs/guides
mkdir -p docs/modules
mkdir -p docs/database
mkdir -p docs/api

4.2 生成 docs/README.md

使用模板 ./docs-templates/README-template.md,填充:

模式 A(从需求创建):

  • 项目名称
  • 项目描述
  • 技术栈
  • 模块列表
  • 文档索引

模式 B(从代码回补):

  • 项目名称(从代码推断)
  • 项目描述(从代码功能总结)
  • 技术栈(从代码识别)
  • 模块列表(从代码分析)
  • 文档索引

4.3 生成 docs/specs/PRD.md

使用模板 ./docs-templates/PRD-template.md,填充:

模式 A(从需求创建):

  • 产品目标和背景(用户提供)
  • 目标用户和使用场景(用户提供)
  • 核心功能描述(用户提供)
  • 用户故事
  • 功能优先级
  • 非功能需求
  • 验收标准

模式 B(从代码回补):

  • 产品目标和背景(用户补充 + 代码推断)
  • 目标用户和使用场景(用户补充)
  • 核心功能描述(从代码功能逆向生成)
  • 功能列表(基于代码实现的功能)
  • 技术实现说明(标注已实现)
  • 已知问题和改进点(从代码分析得出)

模式 B 注意事项:标注信息来源,例如:

功能:用户认证
状态:✓ 已实现
实现位置:src/auth/
说明:基于 JWT 的认证机制(从代码分析得出)

4.4 生成 docs/specs/SAD.md

使用模板 ./docs-templates/SAD-template.md,填充:

模式 A(从需求创建):

  • 系统概述(设计方案)
  • 架构设计(整体架构、模块架构、数据架构)
  • 技术选型和理由
  • 关键技术决策
  • 数据库设计
  • API 设计原则
  • 安全和性能考虑
  • 部署架构

模式 B(从代码回补):

  • 系统概述(基于代码实现)
  • 架构设计(从代码结构提取)
    • 整体架构图(基于实际代码组织)
    • 模块划分(从代码目录和依赖分析)
    • 数据流向(从代码逻辑分析)
  • 技术栈说明(从代码识别)
  • 关键技术决策(从代码模式推断 + 用户补充)
  • 数据库设计(从 ORM 模型或 schema 提取)
  • API 设计(从路由和控制器提取)
  • 已实现的安全机制(从代码分析)
  • 部署配置(从配置文件提取)

模式 B 注意事项

  1. 准确反映代码实际架构
  2. 标注架构决策的推断依据
  3. 指出与最佳实践的差异
  4. 记录技术债务

4.5 生成 docs/guides/AI-DEVELOPMENT-GUIDE.md

使用模板 ./docs-templates/AI-DEVELOPMENT-GUIDE-template.md,填充:

模式 A(从需求创建):

  • TDD 开发流程
  • 代码规范(基于技术栈)
  • 项目约定
  • Git 工作流
  • CI/CD 流程
  • 测试策略

模式 B(从代码回补):

  • TDD 开发流程(标准流程)
  • 代码规范(从现有代码提取)
    • 命名规范(分析现有代码)
    • 文件组织规范(基于现有结构)
    • 代码风格(从 ESLint/Prettier 配置或代码分析)
  • 项目约定(从代码模式总结)
  • Git 工作流(从 Git 历史分析或使用标准流程)
  • CI/CD 流程(从配置文件提取)
  • 测试策略(从现有测试代码分析)

模式 B 注意事项

  1. 尽可能从代码中提取实际规范
  2. 对于缺失的规范,提供标准建议
  3. 指出现有代码与最佳实践的差异

4.6 生成模块文档

为每个核心模块生成文档:

模式 A(从需求创建):

docs/modules/{module-name}.md
  - 模块概述(设计说明)
  - 职责范围
  - 接口定义
  - 依赖关系
  - 实现要点
  - 测试要求

模式 B(从代码回补):

docs/modules/{module-name}.md
  - 模块概述(从代码分析)
  - 职责范围(从代码职责分析)
  - 接口定义(从代码导出分析)
  - 依赖关系(从 import 分析)
  - 实现说明(关键逻辑说明)
  - 已有测试(从测试代码分析)
  - 改进建议(如有)

模式 B 生成策略

  1. 使用 Explore agent 分析每个模块
  2. 提取模块的导出接口
  3. 分析模块间的依赖关系
  4. 总结模块的核心职责
  5. 记录关键实现细节

4.7 生成数据库文档

模式 A(从需求创建):

docs/database/SCHEMA.md(占位符)
  - 数据模型设计
  - 实体关系图
  - 表结构定义
  - 索引设计

docs/database/MIGRATIONS.md(占位符)
  - 数据库迁移记录

模式 B(从代码回补):

docs/database/SCHEMA.md(从代码生成)
  - 数据模型(从 ORM 模型提取)
  - 实体关系(从模型关系分析)
  - 表结构(从 schema 文件或迁移文件提取)
  - 索引设计(从代码或数据库配置提取)
  - 数据库配置(从配置文件提取)

docs/database/MIGRATIONS.md
  - 迁移历史(从迁移文件列表)
  - 重要变更记录

模式 B 生成策略

  1. 查找 ORM 模型文件(Prisma schema, TypeORM entities, Django models 等)
  2. 提取实体定义和关系
  3. 查找数据库迁移文件
  4. 生成实体关系图(文本描述或 Mermaid 图)

4.8 生成 API 文档

模式 A(从需求创建):

docs/api/api-spec.md(占位符)
  - API 设计原则
  - 接口规范
  - 认证授权
  - 错误处理

模式 B(从代码回补):

docs/api/api-spec.md(从代码生成)
  - API 概述
  - 认证方式(从认证中间件分析)
  - 接口列表(从路由文件提取)
    - 端点路径
    - HTTP 方法
    - 请求参数(从控制器代码分析)
    - 响应格式(从代码分析)
    - 错误码(从错误处理代码提取)
  - 通用错误处理
  - API 版本管理(如有)

模式 B 生成策略

  1. 查找路由定义文件(Express routes, NestJS controllers, Django urls 等)
  2. 提取所有 API 端点
  3. 分析每个端点的参数和返回值
  4. 提取认证和授权逻辑
  5. 生成 API 文档(可以是 OpenAPI/Swagger 格式)

Phase 5: 审查确认(两种模式共用)

生成文档后,与用户一起审查并完善。

5.1 文档清单

展示生成的所有文档:

模式 A(从需求创建):

已生成以下文档:

✓ docs/README.md                          # 文档索引
✓ docs/specs/PRD.md                       # 产品需求文档
✓ docs/specs/SAD.md                       # 架构设计文档
✓ docs/guides/AI-DEVELOPMENT-GUIDE.md     # AI 开发指南
✓ docs/modules/{module-1}.md              # 模块 1 文档
✓ docs/modules/{module-2}.md              # 模块 2 文档
✓ docs/modules/{module-3}.md              # 模块 3 文档
○ docs/database/SCHEMA.md                 # 数据库设计(占位符)
○ docs/database/MIGRATIONS.md             # 迁移记录(占位符)
○ docs/api/api-spec.md                    # API 文档(占位符)
✓ docs/plans/                             # 计划目录(空)

模式 B(从代码回补):

已生成以下文档:

✓ docs/README.md                          # 文档索引
✓ docs/specs/PRD.md                       # 产品需求(基于代码功能)
✓ docs/specs/SAD.md                       # 架构设计(基于代码架构)
✓ docs/guides/AI-DEVELOPMENT-GUIDE.md     # 开发指南(基于代码规范)
✓ docs/modules/{module-1}.md              # 模块 1 文档(从代码生成)
✓ docs/modules/{module-2}.md              # 模块 2 文档(从代码生成)
✓ docs/modules/{module-3}.md              # 模块 3 文档(从代码生成)
✓ docs/database/SCHEMA.md                 # 数据库设计(从 ORM 提取)
✓ docs/database/MIGRATIONS.md             # 迁移记录(从迁移文件)
✓ docs/api/api-spec.md                    # API 文档(从路由提取)
✓ docs/plans/                             # 计划目录(空)

注意:所有文档都基于代码分析生成,已标注信息来源。

5.2 逐一审查

与用户逐一审查关键文档:

对于每个文档:
1. 展示文档结构
2. 说明关键内容
3. 询问是否需要调整
4. 根据反馈修改

5.3 后续建议

提供文档维护和后续步骤建议:

模式 A(从需求创建):

文档维护建议:
1. 定期更新文档,保持与代码同步
2. 每次架构变更后更新 SAD.md
3. 新增功能时更新 PRD.md
4. 在执行记录中记录重大决策

后续步骤:
1. 审查和完善生成的文档
2. 补充详细的数据库和 API 设计
3. 使用 /project-workflow 开始执行开发计划

文档位置: {项目根目录}/docs/

模式 B(从代码回补):

文档维护建议:
1. 定期检查文档与代码的一致性
2. 代码重构后及时更新 SAD.md
3. 新增功能后更新 PRD.md 和模块文档
4. 记录重要的技术决策和变更

文档改进建议:
1. 补充业务背景和产品规划(PRD.md)
2. 完善架构决策的理由说明(SAD.md)
3. 补充代码示例和最佳实践(开发指南)
4. 添加故障排查和运维文档

后续步骤:
1. 审查生成的文档,补充缺失信息
2. 根据文档识别技术债务
3. 使用 /project-workflow 执行改进计划
4. 建立文档更新机制

文档位置: {项目根目录}/docs/

5.4 最终交付

确认用户满意后,完成交付:

✅ 项目文档体系已完成!

[根据模式显示相应的后续步骤建议]

工作原则

沟通原则

  1. 主动提问:遇到不清楚的地方,立即提问
  2. 充分讨论:不急于下结论,与用户充分讨论
  3. 说明理由:每个建议都说明原因和依据
  4. 尊重选择:用户有最终决定权

专业原则

  1. 基于实践:建议基于业界最佳实践
  2. 权衡利弊:客观分析不同方案的优劣
  3. 识别风险:主动识别潜在问题
  4. 提供价值:不只是记录,更要分析和建议

分析原则(模式 B 专用)

  1. 准确性优先:文档必须准确反映代码实际实现
  2. 标注来源:明确标注信息来源(代码提取 vs 用户补充 vs 推断)
  3. 识别差异:指出代码与最佳实践的差异
  4. 记录债务:记录技术债务和改进建议

质量原则

  1. 完整性:文档内容完整,覆盖关键信息
  2. 准确性:基于用户提供的信息或代码实现,不臆测
  3. 一致性:文档与实际情况(需求或代码)保持一致
  4. 可读性:结构清晰,表达简洁
  5. 可维护性:便于后续更新和维护

使用工具指南

使用 Task tool (Explore agent)

模式 B 特别适用,在以下场景使用 Explore agent:

  1. Phase 1B(代码库分析)

    • 分析项目整体结构
    • 识别核心模块
    • 理解模块依赖关系
    • 分析业务逻辑流程
  2. Phase 4(文档生成)- 模式 B

    • 分析每个模块的详细实现
    • 提取模块接口定义
    • 分析数据模型和关系

使用 AskUserQuestion

在以下场景必须使用 AskUserQuestion:

模式 A(从需求创建):

  1. Phase 1A(项目发现)

    • 询问项目基本信息
    • 确认技术栈选择
    • 了解功能模块
  2. Phase 2A(需求分析)

    • 讨论识别出的风险
    • 确认改进建议
    • 技术方案选型
  3. Phase 3A(架构设计)

    • 确认架构设计
    • 讨论技术决策
    • 确认开发规划
  4. Phase 4A(方案讨论)

    • 最终方案确认
    • 补充遗漏信息
    • 生成文档前的最终确认

模式 B(从代码回补):

  1. Phase 1B(代码库分析)

    • 确认代码分析结果
    • 补充代码中无法获取的信息
  2. Phase 2B(文档差异分析)

    • 确认文档缺口
    • 确认回补优先级
    • 选择文档回补范围
  3. Phase 3B(需求确认)

    • 确认文档详细程度
    • 补充业务背景信息
    • 最终确认生成范围

两种模式共用:

  1. Phase 5(审查确认)
    • 审查生成的文档
    • 确认文档准确性
    • 最终交付确认

重要:不要一次性问太多问题,分阶段、分批次进行,让对话自然流畅。


模式选择建议

什么时候用模式 A(从需求创建)

  • 项目刚开始,还没有代码
  • 需要从产品角度规划项目
  • 需要评估技术方案的合理性
  • 希望得到架构设计建议

什么时候用模式 B(从代码回补)

  • 项目已有代码实现
  • 文档缺失或严重过时
  • 需要记录现有架构和实现
  • 代码交接或团队扩张

两种模式的互补关系

  • 模式 A 侧重前瞻性规划和设计
  • 模式 B 侧重如实记录和改进建议
  • 都强调与用户的充分沟通
  • 都产出相同结构的文档体系
Weekly Installs
1
First Seen
Feb 25, 2026
Installed on
amp1
opencode1
cursor1
kimi-cli1
codex1
github-copilot1