从PRD生成TDD技能
技能概述
基于已完成的PRD(产品需求文档),AI辅助生成TDD(技术设计文档)草稿,提升技术方案设计效率。
使用场景
何时使用
- •✅ PRD评审通过,需要编写TDD
- •✅ 需要快速生成技术方案草稿
- •✅ 需要AI辅助设计架构和接口
何时不使用
- •❌ PRD尚未完成或未评审
- •❌ 需求变更频繁,PRD不稳定
- •❌ 完全自定义的技术方案(无需AI辅助)
前置条件
必需条件
- •PRD文档已完成并评审通过(状态:🟢 已批准)
- •PRD包含完整的功能需求和数据需求
- •PRD验收标准明确
可选条件
- •技术栈已确定
- •架构方向已明确
- •性能指标已知
使用步骤
步骤1:定位PRD文档
bash
# AI会自动查找PRD文档路径
# 通常位于:docs/需求文档/{年月}-{需求名称}/product/PRD.md
AI操作:
- •询问用户需求名称或PRD路径
- •验证PRD文档存在且可读
- •检查PRD状态是否为"已批准"
步骤2:分析PRD内容
AI分析要点:
提取功能需求
- •核心功能清单
- •功能架构结构
- •业务规则和逻辑
- •数据流转关系
提取技术约束
- •性能要求
- •安全要求
- •兼容性要求
- •用户量和并发量
提取数据需求
- •核心数据实体
- •数据字段和类型
- •数据来源和流转
- •数据量级估算
提取交互设计
- •页面清单
- •页面路由
- •前端组件结构
步骤3:确认技术栈
AI询问:
code
基于PRD分析,我建议使用以下技术栈: **前端**: - 框架:Vue 3.4 / React 18.x - 状态管理:Pinia / Redux Toolkit - UI组件库:Element Plus / Ant Design **后端**: - 语言:Node.js 18.x / Python 3.11 - 框架:Express / FastAPI - 数据库:MySQL 8.0 / PostgreSQL **是否使用这些技术栈?或者您有其他选择?**
用户响应选项:
- •确认使用建议的技术栈
- •指定其他技术栈
- •部分修改技术栈
步骤4:生成TDD草稿
模板使用说明:
- •模板位置:
.cursor/skills/generate-tdd/templates/TDD_template.md - •模板变量替换:
- •
{{需求名称}}→ 实际需求名称 - •
{{创建日期}}→ 当前日期(YYYY-MM-DD)
- •
- •AI应基于 TDD模板 结构生成内容,替换占位符并填充实际内容
AI生成内容:
一、需求理解
- •基于PRD概述重新梳理
- •用技术语言描述需求
二、技术方案
- •技术栈选型及理由
- •系统架构设计(Mermaid图)
- •模块划分和职责
三、详细设计
前端设计:
- •基于PRD页面清单生成路由设计
- •基于功能架构生成组件结构
- •基于交互设计生成状态管理方案
后端设计:
- •基于功能需求生成服务分层
- •基于业务规则生成核心服务类
四、数据库设计
- •基于PRD数据需求生成表结构
- •自动添加常用字段(id, created_at, updated_at)
- •自动设计索引(主键、唯一键、普通索引)
- •生成ER图(Mermaid)
五、接口设计
- •基于PRD功能需求生成RESTful API清单
- •基于页面清单生成前端所需接口
- •为每个接口生成完整示例(至少1个)
- •请求参数
- •请求示例
- •响应数据
- •错误码
六、安全设计
- •基于PRD安全要求生成安全方案
- •标准的认证授权方案(JWT)
- •数据加密和传输安全
七、性能优化
- •基于PRD性能要求生成优化方案
- •前端优化(代码分割、懒加载、缓存)
- •后端优化(数据库索引、Redis缓存、异步处理)
八、测试方案
- •单元测试覆盖率要求
- •集成测试策略
- •E2E测试方案
九、部署方案
- •基于技术栈生成部署架构图
- •Docker容器化方案
- •CI/CD流程图
十、监控告警
- •应用监控指标
- •系统监控指标
- •告警规则
其他章节
- •风险与应对
- •版本历史(初始化为v1.0)
- •评审记录(空表格待填)
步骤5:人工审核和完善
AI提示:
code
✅ TDD草稿已生成:docs/需求文档/{年月}-{需求名称}/develop/TDD.md
📋 请人工审核和完善以下内容:
1. 技术方案是否合理,是否有更优选择
2. 架构设计是否满足扩展性要求
3. 接口设计是否完整,是否有遗漏
4. 数据库设计是否符合业务需求
5. 性能方案是否可行
6. 安全设计是否充分
⚠️ 注意事项:
- AI生成的是草稿,核心技术决策需人工确认
- 复杂的业务逻辑需要详细设计
- 性能优化方案需要结合实际情况调整
✏️ 完善后请更新:
- 文档状态:🔵 草稿
- 技术负责人信息
- PRD版本号
步骤6:执行质量检查
AI自动检查:
- • 所有必需章节已包含
- • 至少有2个Mermaid图(架构图+ER图)
- • 接口设计至少有1个完整示例
- • 数据库表设计包含索引
- • 技术栈有版本号
- • 与PRD版本对应
输出检查报告。
生成规则
基于PRD的映射规则
功能需求 → 技术模块
code
PRD功能模块 → TDD模块划分 PRD功能点 → TDD服务类/组件 PRD业务规则 → TDD业务逻辑设计
数据需求 → 数据库设计
code
PRD数据实体 → 数据库表 PRD数据字段 → 表字段设计 PRD数据关系 → 外键和ER图
交互设计 → 前端设计
code
PRD页面清单 → 前端路由表 PRD交互流程 → 状态流转设计 PRD页面结构 → 组件层级
非功能需求 → 技术方案
code
PRD性能要求 → 性能优化方案 PRD安全要求 → 安全设计方案 PRD兼容性要求 → 技术选型约束
自动推断规则
接口设计推断
code
基于PRD功能点自动生成CRUD接口:
- 获取列表:GET /api/{resource}
- 获取详情:GET /api/{resource}/:id
- 创建资源:POST /api/{resource}
- 更新资源:PUT /api/{resource}/:id
- 删除资源:DELETE /api/{resource}/:id
数据库字段推断
code
所有表自动包含: - id: BIGINT, 主键, 自增 - created_at: DATETIME, 创建时间 - updated_at: DATETIME, 更新时间 状态字段自动设计: - status: TINYINT, 索引, 默认1 用户关联自动设计: - user_id: BIGINT, 外键, 索引
索引设计推断
code
自动添加索引:
- 主键索引:id
- 状态索引:status
- 时间索引:created_at
- 外键索引:{table}_id
- 组合索引:常见查询条件组合
质量保证规则
完整性保证
- •✅ 包含所有必需章节
- •✅ 技术栈有版本号
- •✅ 至少2个Mermaid图
- •✅ 至少1个完整接口示例
- •✅ 数据库设计包含索引
一致性保证
- •✅ 需求名称与PRD一致
- •✅ 功能覆盖PRD所有核心功能
- •✅ 接口设计满足PRD页面需求
- •✅ 数据库设计支持PRD数据需求
可执行性保证
- •✅ 技术方案具体可实施
- •✅ 接口定义明确无歧义
- •✅ 数据库DDL可直接执行
- •✅ 部署方案可操作
命令示例
基本用法
用户:
code
基于PRD生成TDD
AI:
code
正在查找PRD文档... 找到PRD:docs/需求文档/202602-移动端首页改版/product/PRD.md PRD状态:🟢 已批准 PRD版本:v1.0 开始分析PRD并生成TDD... [生成过程] ✅ TDD草稿已生成
指定需求
用户:
code
为"202602-移动端首页改版"生成TDD
AI:
code
定位需求:202602-移动端首页改版 读取PRD... [继续生成流程]
指定技术栈
用户:
code
基于PRD生成TDD,使用Vue3 + TypeScript + FastAPI + PostgreSQL
AI:
code
确认技术栈: - 前端:Vue 3 + TypeScript - 后端:FastAPI - 数据库:PostgreSQL 开始生成TDD...
高级选项
选项1:生成策略
简化版:
- •只生成核心章节
- •接口设计只有清单
- •快速生成,人工补充
完整版(推荐):
- •生成所有必需章节
- •至少1个完整接口示例
- •详细的数据库设计
详尽版:
- •生成所有章节包括可选章节
- •所有接口完整示例
- •详细的部署和监控方案
选项2:架构风格
单体架构:
- •适合小型项目
- •前后端分离
- •单一数据库
微服务架构:
- •适合大型项目
- •服务拆分
- •分布式数据库
常见问题
Q1: TDD生成需要多长时间?
A: 通常1-3分钟,取决于PRD复杂度和所选技术栈。
Q2: 生成的TDD可以直接使用吗?
A: 不能。TDD草稿需要人工审核和完善,特别是架构设计、性能方案等核心部分。
Q3: 如果PRD有修改怎么办?
A: 使用"refine-requirement-docs"技能更新TDD,或重新生成。
Q4: 可以只生成部分章节吗?
A: 可以。明确指定需要生成的章节,如"只生成接口设计部分"。
Q5: 生成的接口设计合理吗?
A: AI会基于RESTful规范和PRD需求生成,但具体接口参数需要人工确认。
检查清单
使用此技能后,确认以下内容:
- • PRD已完成且评审通过
- • TDD草稿已生成
- • 技术栈版本号已明确
- • 架构图已生成并合理
- • ER图已生成并合理
- • 接口设计完整
- • 数据库设计包含索引
- • 已执行质量检查
- • 人工审核计划已安排
相关资源
规则
技能
模板
示例场景
场景:移动端首页改版
用户输入:
code
帮我基于"202602-移动端首页改版"的PRD生成TDD
AI执行:
- •读取PRD:
docs/需求文档/202602-移动端首页改版/product/PRD.md - •分析PRD:
- •核心功能:首页布局、模块展示、数据刷新
- •数据实体:用户、模块配置、内容数据
- •性能要求:首屏加载<2秒
- •确认技术栈:Vue3 + Element Plus + Node.js + MySQL
- •生成TDD内容:
- •技术方案:前后端分离架构
- •前端设计:页面组件树、路由表
- •后端设计:模块服务、配置服务
- •数据库:users表、modules表、contents表
- •接口设计:10个RESTful接口
- •ER图:3个表的关系图
- •输出质量检查报告
- •提示人工审核要点
生成结果:
code
✅ TDD草稿已生成:docs/需求文档/202602-移动端首页改版/develop/TDD.md 📊 质量检查结果: - 完整性: 95/100 - 准确性: 90/100 - 一致性: 100/100 - 可读性: 92/100 - 可执行性: 88/100 总分: 93/100 (优秀) 💡 改进建议: 1. 补充性能优化的具体实施方案 2. 完善监控告警的指标阈值 3. 添加灰度发布策略 📋 下一步: 1. 技术负责人审核架构设计 2. 完善核心业务逻辑设计 3. 补充性能测试方案 4. 提交技术评审
技能维护者: [填写]
最后更新: 2026-02-09
版本: v1.0