4.4 KiB
4.4 KiB
name, description
| name | description |
|---|---|
| dev-deliver | 开发流程 - 交付阶段,生成接口文档、使用文档、部署文档等交付物 |
交付
开发流程第六阶段:基于实际代码和文档生成交付文档。
调用方式
/dev-deliver,也可说"生成交付文档"或"准备交付"。
产出目录
docs/deliverables/
执行流程
Checklist
- 前置检查:读取所有前序产出物
- 生成接口文档
- 生成使用文档
- 生成部署文档
- 生成变更摘要
- 用户审阅并保存
1. 前置检查
读取所有前序阶段的产出物:
docs/requirements/— 需求文档docs/design/— 设计文档docs/plans/— 步骤计划docs/dev-logs/— 开发日志docs/test-reports/— 测试报告
如果某些阶段缺失,提示用户但不阻止执行。基于已有信息生成交付文档。
2. 生成接口文档
基于实际代码扫描:
- 读取项目源代码文件
- 识别 API 端点、路由定义
- 提取函数签名和参数
- 识别请求/响应格式
- 提取错误码定义
生成格式:
## 接口文档
### API 接口 N:<名称>
**方法**:POST
**路径**:/api/xxx
**描述**:xxx
**请求参数**:
| 参数 | 类型 | 必填 | 描述 |
|------|------|------|------|
**响应格式**:
[实际响应结构]
**错误码**:
| 错误码 | 描述 |
|--------|------|
如果项目不是 API/库类型,调整为文档对应的接口形式(函数接口、模块接口等)。
3. 生成使用文档
基于项目配置文件:
- 读取 package.json / pyproject.toml / Makefile 等
- 识别依赖和版本要求
- 提取安装/构建命令
- 读取配置文件示例
生成格式:
## 使用文档
### 环境要求
- Node.js >= 18
- npm >= 9
### 安装
[实际安装命令]
### 配置
[实际配置说明]
### 基本用法
[使用示例]
4. 生成部署文档
基于项目结构和配置:
- 识别部署相关文件(Dockerfile、docker-compose.yml 等)
- 提取环境变量定义
- 识别外部依赖服务
- 提取构建和部署命令
生成格式:
## 部署文档
### 环境变量
| 变量名 | 必填 | 描述 | 默认值 |
|--------|------|------|--------|
### 部署步骤
1. xxx
2. yyy
### 依赖服务
- 数据库:xxx
- 缓存:xxx
5. 生成变更摘要
基于需求文档和开发日志:
## 变更摘要
### 新增
- 功能 A(涉及文件:src/xxx.ts)
### 修改
- 功能 B 优化(涉及文件:src/yyy.ts)
### 已知问题
- [问题 1]:描述及临时解决方案
6. 用户审阅
- 将完整交付文档展示给用户
- 分段确认:接口文档 → 使用文档 → 部署文档 → 变更摘要
- 收集反馈并修改
- 循环直到用户确认
7. 保存文档
按以下格式保存完整交付文档:
# 交付文档:<项目名称>
> 创建日期:YYYY-MM-DD
> 版本:1.0.0
> 状态:已交付
## 1. 项目概览
## 2. 接口文档
## 3. 使用文档
## 4. 部署文档
## 5. 变更摘要
保存到 docs/deliverables/YYYY-MM-DD-<项目名>.md
8. 发布执行(可选)
根据项目类型,询问用户是否需要执行发布操作:
是否执行发布操作?
[1] git tag + push
[2] npm publish / docker push
[3] 跳过,仅保留文档
如选择发布,协助用户执行对应的命令(通过 Bash tool),并记录操作日志。
9. 反馈收集(闭环)
交付完成后,收集本轮开发的反馈:
## 反馈记录
> 对应交付:docs/deliverables/xxx.md
> 反馈日期:YYYY-MM-DD
### 评分(1-5)
- 需求理解准确度:
- 实现符合预期度:
- 整体满意度:
### 问题与优化点
- [ ] 问题 1
- [ ] 问题 2
### 是否启动新一轮迭代
- [ ] 是 → 更新 workflow-status.md 为"需求分析"阶段
- [ ] 否 → 标记流程结束
保存到 docs/feedback/YYYY-MM-DD-<项目名>.md。
更新 docs/workflow-status.md:
- 如用户选择迭代:当前阶段 = "需求分析",提示
/dev-requirement - 如用户结束:状态 = "已完成"
关键行为
- 接口文档必须基于实际代码,不凭空编造
- 环境变量从代码中实际提取(搜索 process.env、os.environ 等)
- 部署步骤基于项目实际配置(Dockerfile、CI/CD 等)
- 如无法从代码提取,明确标注"需手动补充"