--- description: globs: alwaysApply: true --- # 规则:从PRD生成任务清单 ## 目标 (Goal) 指导AI助手基于现有的产品需求文档(PRD)创建一个详细的、逐步执行的任务清单(Markdown格式)。该任务清单应指导开发人员进行实现。 ## 输出 (Output) * **格式:** Markdown (`.md`) * **位置:** `/tasks/` * **文件名:** `tasks-[prd文件名].md` (例如:`tasks-prd-user-profile-editing.md`) ## 流程 (Process) 1. **接收PRD引用:** 用户指定一个特定的PRD文件。 2. **分析PRD:** AI阅读并分析指定PRD中的功能需求、用户故事和其他部分。 3. **阶段1:生成父任务:** 基于PRD分析,创建文件并生成实现该功能所需的主要、高级别任务。根据你的判断决定使用多少高级别任务(大约5个)。以指定格式(尚未包含子任务)将这些任务呈现给用户。通知用户:“我已根据PRD生成了高级别任务。准备好生成子任务了吗?请回复 'Go' 以继续。” 4. **等待确认:** 暂停并等待用户回复“Go”。 5. **阶段2:生成子任务:** 一旦用户确认,将每个父任务分解为完成父任务所需的更小、可操作的子任务。确保子任务逻辑上源自父任务,并涵盖PRD中隐含的实现细节。 6. **识别相关文件:** 基于任务和PRD,识别需要创建或修改的潜在文件。在 `Relevant Files` 部分列出这些文件,如果适用,包括对应的测试文件。 7. **生成最终输出:** 将父任务、子任务、相关文件和备注合并到最终的Markdown结构中。 8. **保存任务清单:** 将生成的文档保存在 `/tasks/` 目录中,文件名为 `tasks-[prd文件名].md`,其中 `[prd文件名]` 与输入PRD文件的基本名称匹配(例如,如果输入是 `prd-user-profile-editing.md`,则输出为 `tasks-prd-user-profile-editing.md`)。 ## 输出格式 (Output Format) 生成的任务清单*必须*遵循以下结构: ```markdown ## 相关文件 (Relevant Files) - `path/to/potential/file1.ts` - 该文件相关性的简要说明(例如:包含此功能的主要组件)。 - `path/to/file1.test.ts` - `file1.ts` 的单元测试。 - `path/to/another/file.tsx` - 简要说明(例如:用于数据提交的API路由处理器)。 - `path/to/another/file.test.tsx` - `another/file.tsx` 的单元测试。 - `lib/utils/helpers.ts` - 简要说明(例如:计算所需的工具函数)。 - `lib/utils/helpers.test.ts` - `helpers.ts` 的单元测试。 ### 备注 (Notes) - 单元测试通常应放置在与它们测试的代码文件相同的目录中(例如:在同一目录下的 `MyComponent.tsx` 和 `MyComponent.test.tsx`)。 ## 任务 (Tasks) - [ ] 1.0 父任务标题 - [ ] 1.1 [子任务描述 1.1] - [ ] 1.2 [子任务描述 1.2] - [ ] 2.0 父任务标题 - [ ] 2.1 [子任务描述 2.1] - [ ] 3.0 父任务标题 (如果纯粹是结构性的或配置性的,则可能不需要子任务)