来源: https://github.com/jasonkneen/kiro
ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;display: table;padding: 0px 1em;color: rgb(63, 63, 63);">任务阶段文档ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);">📍 您在这里:主指南→流程指南→ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);">任务阶段ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;display: table;padding: 0px 0.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);">快速导航任务阶段是规范驱动开发流程的最后阶段,将批准的设计转化为一个由离散、可操作的编码任务组成的结构化实施计划。该阶段是规划与执行之间的桥梁,将复杂的系统设计分解为可由开发团队或 AI 编码代理增量执行的可管理步骤。
作为“需求 → 设计 → 任务”工作流的第三个阶段,任务阶段确保所有精心的规划和设计工作都能转化为系统化、可跟踪的实施进度。
任务阶段旨在:
目标:将设计分解为可实施的组件
流程:
任务识别指南:
任务组织原则:
任务层次结构模式:
-[ ] 1. [史诗/主要组件]
-[ ] 1.1 [具体的实施任务]
-[任务详情和需求参考]
-[ ] 1.2 [下一个具体任务]
-[任务详情和需求参考]
-[ ] 2. [下一个史诗/主要组件]
-[ ] 2.1 [具体的实施任务]
-[任务详情和需求参考]任务规范要素:
任务描述模板:
-[ ] X.Y [任务标题]
-[具体的实施目标]
-[要创建/修改的文件或组件]
-[要实施的关键功能]
-_需求:[需求参考]_依赖注意事项:
排序策略:
任务质量标准:
验证问题:
目的:建立核心结构和接口
示例:
模式:
-[ ] 1. 设置项目基础
-[ ] 1.1 创建项目结构和核心接口
-为模型、服务和实用工具设置目录结构
-为核心数据类型定义 TypeScript 接口
-创建基本配置文件
-_需求:1.1, 2.1_目的:实施数据模型和持久化
示例:
模式:
-[ ] 2. 实施数据层
-[ ] 2.1 创建带验证的核心数据模型
-实施用户、文档和设置模型类
-添加用于数据完整性的验证方法
-为模型验证编写单元测试
-_需求:2.1, 3.3_目的:实施核心功能
示例:
模式:
-[ ] 3. 实施业务逻辑
-[ ] 3.1 创建身份验证服务
-实施用户注册和登录逻辑
-添加密码哈希和验证
-创建会话管理功能
-为身份验证流程编写测试
-_需求:1.2, 4.1_目的:创建外部接口和端点
示例:
模式:
-[ ] 4. 实施 API 层
-[ ] 4.1 创建用户管理端点
-实施用于注册的 POST /users
-实施用于身份验证的 POST /auth/login
-添加请求验证和错误响应
-编写 API 端点测试
-_需求:1.2, 2.3_目的:连接组件和外部系统
示例:
模式:
-[ ] 5. 集成和连接
-[ ] 5.1 将身份验证连接到用户管理
-将身份验证服务连接到用户端点
-为受保护的路由实施中间件
-为完整的身份验证流程添加集成测试
-_需求:1.2, 4.1_最适用于:新项目、具有许多相互依赖关系的复杂系统
顺序:
1.项目设置和核心接口
2.数据模型和验证
3.数据访问层
4.业务逻辑服务
5.API 端点
6.集成和连接优点:
缺点:
最适用于:MVP 开发、面向用户的应用程序、敏捷开发
顺序:
1.核心用户注册(端到端)
2.用户身份验证(端到端)
3.用户个人资料管理(端到端)
4.高级功能和优化优点:
缺点:
最适用于:具有高技术不确定性的项目、概念验证
顺序:
1.最不确定/最复杂的组件
2.外部集成和依赖项
3.核心业务逻辑
4.用户界面和体验
5.完善和优化优点:
缺点:
最适用于:大多数实际项目
顺序:
1.最小化基础(核心接口、基本设置)
2.高风险/高价值的功能切片
3.根据需要扩展基础
4.其他功能切片
5.集成和完善优点:
定义:必须在其他代码组件构建之前存在的代码组件
示例:
管理策略:
-[ ] 1. 核心基础设施设置
-[ ] 1.1 创建数据库连接和配置
-[ ] 1.2 设置身份验证中间件框架
-[ ] 1.3 创建基本错误处理实用工具
-[ ] 2. 基础模型(依赖于 1.1)
-[ ] 2.1 创建与数据库集成的用户模型
-[ ] 2.2 创建与数据库集成的会话模型
-[ ] 3. 身份验证服务(依赖于 1.2, 2.1, 2.2)
-[ ] 3.1 使用用户和会话模型实施登录服务定义:在概念上建立在其他功能之上的功能
示例:
管理策略:
-[ ] 1. 基本用户管理
-[ ] 1.1 用户注册功能
-[ ] 1.2 用户登录功能
-[ ] 2. 扩展用户功能(依赖于 1.1, 1.2)
-[ ] 2.1 用户个人资料编辑(需要现有用户)
-[ ] 2.2 密码重置(需要身份验证系统)定义:需要特定数据或状态存在的任务
示例:
管理策略:
-[ ] 1. 数据基础
-[ ] 1.1 创建用户注册和示例数据
-[ ] 1.2 创建交易记录系统
-[ ] 2. 数据依赖功能(依赖于 1.1, 1.2)
-[ ] 2.1 用户仪表板(需要来自 1.1 的用户数据)
-[ ] 2.2 交易报告(需要来自 1.2 的交易数据)任务A→任务B→任务C→任务D
任务 A → 任务 C
任务 B → 任务 C任务 A → 任务 C → 任务 E
任务 B → 任务 D → 任务 E
任务 A → 任务 D问题:当任务似乎相互依赖时
用户服务需要身份验证服务
身份验证服务需要用户服务解决方案:
-[ ] 1.1 创建 IUserService 和 IAuthService 接口
-[ ] 1.2 使用 IAuthService 接口实施 UserService
-[ ] 1.3 使用 IUserService 接口实施 AuthService
-[ ] 1.4 连接依赖注入-[ ] 1.1 创建用户数据模型和基本 CRUD
-[ ] 1.2 使用用户 CRUD 创建身份验证服务
-[ ] 1.3 通过身份验证集成增强用户服务-[ ] 1.1 为用户/身份验证通信创建事件系统
-[ ] 1.2 实施带事件发布的用户服务
-[ ] 1.3 实施带事件监听的身份验证服务# 实施计划
-[ ] 1. 设置身份验证基础
-[ ] 1.1 创建项目结构和核心接口
-为身份验证、模型和 API 组件设置目录结构
-为用户、会话和 AuthRequest 类型定义 TypeScript 接口
-为环境变量创建基本配置
-_需求:1.1_
-[ ] 1.2 设置测试框架和数据库
-为单元和集成测试配置 Jest
-使用 Docker 配置设置测试数据库
-为用户表创建数据库迁移脚本
-_需求:1.1, 2.1_
-[ ] 2. 实施核心数据模型
-[ ] 2.1 创建带验证的用户模型
-实施包含电子邮件、密码和个人资料字段的用户类
-添加用于电子邮件格式和密码强度的验证方法
-为用户模型验证编写单元测试
-_需求:1.2, 2.1_
-[ ] 2.2 实施会话模型和管理
-创建用于跟踪用户会话的会话类
-实施会话创建、验证和过期逻辑
-为会话管理编写单元测试
-_需求:1.2, 4.1_
-[ ] 3. 创建身份验证服务
-[ ] 3.1 实施用户注册服务
-创建带注册方法的 UserService
-使用 bcrypt 添加密码哈希
-实施重复电子邮件检查
-为注册逻辑编写单元测试
-_需求:1.2_
-[ ] 3.2 实施登录和会话服务
-添加带密码验证的登录方法
-实施 JWT 令牌生成和验证
-使用刷新令牌创建会话管理
-为登录和会话逻辑编写单元测试
-_需求:1.2, 4.1_
-[ ] 4. 创建 API 端点
-[ ] 4.1 实施注册端点
-创建 POST /auth/register 端点
-添加请求验证和错误处理
-实施正确的 HTTP 状态码和响应
-为注册 API 编写集成测试
-_需求:1.2, 2.3_
-[ ] 4.2 实施登录端点
-创建 POST /auth/login 端点
-为受保护的路由添加身份验证中间件
-实施注销功能
-为登录/注销 API 编写集成测试
-_需求:1.2, 4.1_
-[ ] 5. 集成和安全加固
-[ ] 5.1 添加安全中间件和速率限制
-为身份验证端点实施速率限制
-添加 CORS 配置和安全标头
-为 JWT 令牌验证创建中间件
-编写以安全为重点的集成测试
-_需求:4.1, 2.3_
-[ ] 5.2 端到端集成测试
-创建完整的用户注册和登录流程测试
-测试错误场景和边缘情况
-验证安全措施和令牌处理
-_需求:1.2, 4.1_# 实施计划
-[ ] 1. 设置数据处理基础
-[ ] 1.1 创建核心数据处理接口
-为 DataProcessor、Validator 和 Transformer 定义接口
-为数据源和目标设置配置
-创建错误处理和日志记录实用工具
-_需求:1.1, 3.1_
-[ ] 2. 实施数据验证层
-[ ] 2.1 创建数据验证引擎
-实施可配置的验证规则引擎
-添加对必填字段、数据类型和自定义规则的支持
-创建包含详细错误消息的验证结果报告
-为验证引擎编写单元测试
-_需求:2.1, 3.2_
-[ ] 3. 构建数据转换管道
-[ ] 3.1 实施数据转换服务
-创建具有可配置步骤的转换管道
-添加对数据映射、筛选和丰富的支持
-实施错误处理和部分故障恢复
-为转换逻辑编写单元测试
-_需求:2.2, 3.1_
-[ ] 4. 创建数据处理协调器
-[ ] 4.1 实施处理工作流引擎
-创建协调验证和转换的协调器
-添加对批处理和流处理模式的支持
-实施进度跟踪和状态报告
-为完整的处理工作流编写集成测试
-_需求:1.1, 2.1, 2.2_此示例演示了复杂的依赖管理和多种排序策略:
# 实施计划
-[ ] 1. 基础和核心基础设施
-[ ] 1.1 设置项目结构和核心接口
-为模型、服务、存储库和 API 层创建目录结构
-为产品、类别、库存和订单类型定义 TypeScript 接口
-为数据库、缓存和外部服务设置配置管理
-配置具有单元、集成和 e2e 测试支持的测试框架
-_需求:1.1, 1.2_
-[ ] 1.2 创建数据库架构和迁移
-设计和实施产品、类别和库存的数据库架构
-为初始表创建创建迁移脚本
-设置数据库连接池和事务管理
-为常见操作编写数据库实用函数
-_需求:2.1, 2.2_
-[ ] 2. 核心数据模型和验证(依赖于 1.1, 1.2)
-[ ] 2.1 实施具有全面验证的产品模型
-创建具有名称、描述、价格、SKU 和元数据字段的产品类
-添加对必填字段、价格范围和 SKU 唯一性的验证
-实施产品分类和标记功能
-为所有验证场景编写全面的单元测试
-_需求:2.1, 2.3, 3.1_
-[ ] 2.2 实施具有层次结构的类别模型
-创建支持父子关系的类别类
-添加对类别层次结构深度和循环引用的验证
-实施类别路径生成和面包屑功能
-为层次结构操作和边缘情况编写单元测试
-_需求:2.1, 3.2_
-[ ] 2.3 创建具有库存跟踪的库存模型
-实施具有库存水平、预留和阈值的库存类
-添加对库存操作和负库存预防的验证
-创建库存调整日志记录和审计跟踪功能
-为库存操作和并发访问场景编写单元测试
-_需求:2.2, 4.1_
-[ ] 3. 用于数据访问的存储库层(依赖于 2.1, 2.2, 2.3)
-[ ] 3.1 实施具有高级查询的产品存储库
-创建具有 CRUD 操作和复杂查询的 ProductRepository
-添加按类别、价格范围和可用性筛选的支持
-实施产品名称和描述的全文搜索功能
-为所有存储库操作编写集成测试
-_需求:3.1, 3.3_
-[ ] 3.2 实施具有层次结构操作的类别存储库
-创建具有树遍历和操作方法的 CategoryRepository
-添加查找所有后代、祖先和兄弟姐妹的支持
-实施类别重新排序和层次结构重组
-为层次结构操作编写集成测试
-_需求:3.2_
-[ ] 3.3 创建具有并发处理的库存存储库
-实施具有原子库存操作的 InventoryRepository
-添加对批量库存更新和预留的支持
-创建库存历史跟踪和报告查询
-编写包括并发访问场景的集成测试
-_需求:4.1, 4.2_
-[ ] 4. 业务逻辑服务(依赖于 3.1, 3.2, 3.3)
-[ ] 4.1 实施产品管理服务
-创建具有产品生命周期业务逻辑的 ProductService
-添加对产品创建、更新和软删除的支持
-实施产品批准工作流和状态管理
-为所有业务逻辑场景编写单元测试
-_需求:2.1, 2.3, 5.1_
-[ ] 4.2 实施库存管理服务
-实施具有库存分配和预留逻辑的 InventoryService
-添加对自动重新订购点通知的支持
-创建具有批准流程的库存调整工作流
-为库存业务规则编写单元测试
-_需求:4.1, 4.2, 5.2_
-[ ] 4.3 实施类别管理服务
-创建具有类别层次结构管理的 CategoryService
-添加对类别合并、拆分和重组的支持
-实施基于类别的产品分配和批量操作
-为类别管理工作流编写单元测试
-_需求:3.2, 5.1_
-[ ] 5. API 层和外部接口(依赖于 4.1, 4.2, 4.3)
-[ ] 5.1 创建产品 API 端点
-实施用于产品 CRUD 操作的 REST 端点
-添加对产品搜索、筛选和分页的支持
-创建产品图片上传和管理端点
-编写 API 集成测试和文档
-_需求:6.1, 6.2_
-[ ] 5.2 实施库存 API 端点
-创建用于库存查询和更新的 REST 端点
-添加对库存预留和释放操作的支持
-实施库存报告和分析端点
-编写具有正确错误处理的 API 集成测试
-_需求:6.1, 4.2_
-[ ] 5.3 创建类别 API 端点
-实施用于类别管理的 REST 端点
-添加对类别树检索和操作的支持
-创建基于类别的产品列表端点
-为层次结构操作编写 API 集成测试
-_需求:6.1, 3.2_
-[ ] 6. 高级功能和集成(依赖于 5.1, 5.2, 5.3)
-[ ] 6.1 实施产品搜索和推荐引擎
-创建与 Elasticsearch 集成的搜索服务
-添加对分面搜索、自动完成和拼写错误容忍的支持
-基于类别和受欢迎程度实施基本推荐算法
-为搜索功能编写集成测试
-_需求:3.3, 7.1_
-[ ] 6.2 创建与外部系统的库存同步
-实施用于与仓库管理系统同步库存的服务
-添加通过 webhooks 进行实时库存更新的支持
-为库存差异创建冲突解决
-使用模拟外部系统编写集成测试
-_需求:4.3, 7.2_
-[ ] 6.3 实施用于性能优化的缓存层
-为频繁访问的产品和类别数据添加 Redis 缓存
-为数据一致性实施缓存失效策略
-为热门产品创建缓存预热流程
-编写性能测试以验证缓存有效性
-_需求:8.1, 8.2_
-[ ] 7. 端到端集成和测试(依赖于 6.1, 6.2, 6.3)
-[ ] 7.1 创建全面的端到端测试场景
-为完整的产品生命周期工作流编写 e2e 测试
-测试包括边缘情况的库存管理场景
-验证类别管理和产品分配流程
-为高负载场景创建性能测试
-_需求:5.1, 5.2, 6.1, 6.2_
-[ ] 7.2 实施监控和可观察性
-添加应用程序指标和健康检查端点
-为所有业务操作实施结构化日志记录
-为关键库存和系统事件创建警报
-为监控和警报功能编写测试
-_需求:8.3, 8.4_此示例的主要特点:
好的任务示例:
-[ ] 2.1 创建带验证的用户模型
-实施具有电子邮件、密码、姓名和 createdAt 字段的用户类
-添加用于电子邮件格式 (RFC 5322) 和密码强度(8+ 个字符、混合大小写、数字)的验证方法
-创建涵盖有效/无效电子邮件格式和密码要求的单元测试
-_需求:1.2, 2.1_差的任务示例:
-[ ] 2.1 构建用户的东西
-让用户的东西工作
-添加一些验证
-_需求:1.2_适当的任务范围:
太大:
-[]1.1实施完整的用户管理系统
太小:
-[]1.1在第42行添加分号
正好:
-[]1.1创建具有验证方法的用户模型
始终包括:
示例:
-[ ] 3.2 实施密码重置功能
-创建密码重置请求端点
-为重置令牌添加电子邮件发送
-实施安全令牌验证
-_需求:1.3, 4.2_问题:“实施用户管理”
解决方案:“创建具有电子邮件验证和密码哈希的用户模型”
问题:由于未构建先决条件而无法完成的任务
解决方案:对任务进行排序,使每个任务都建立在已完成工作的基础上
问题:“部署到生产环境”、“获取用户反馈”
解决方案:只关注编码、测试和实施活动
问题:试图一次性实施整个功能的任务
解决方案:分解为更小的增量步骤
问题:只有实施任务而没有相应的测试
解决方案:将测试创建作为每个实施任务的一部分
在最终确定任务列表之前,请验证:
完整性:
清晰度:
排序:
可行性:
症状:开发人员无法根据任务描述开始编码
解决方案:添加更具体的实施细节和文件/组件名称
症状:由于缺少先决条件而无法完成任务
解决方案:审查任务顺序并添加缺失的基础任务
症状:难以将任务追溯到用户价值
解决方案:添加需求参考并验证覆盖范围
症状:任务太多,优先级不明确
解决方案:将相关任务分组并首先关注核心功能
在开始执行任务之前,请确保您已具备:
上下文准备:
任务选择策略:
在开始任何任务之前:
在任务执行期间:
在将任务标记为完成之前:
有效的任务执行提示:
我需要实施规范中的任务 [X.Y]。以下是上下文:
需求:[引用具体需求]
设计上下文:[影响此任务的关键设计决策]
任务详情:[复制任务描述和详情]
依赖关系:[此任务建立在哪些先前任务的基础上]
请按照指定的方法实施此任务,并包括适当的测试。迭代开发方法:
依赖验证清单:
处理被阻止的任务:
单元测试:
集成测试:
验证测试:
在实施期间:
在任务完成之前:
症状:无法确定要实施的具体内容
解决方案:
症状:由于缺少先决条件而无法完成任务
解决方案:
症状:在实施过程中新的或现有的测试中断
解决方案:
症状:实施变得比预期大得多
解决方案:
状态定义:
状态更新指南:
实施说明:
知识转移:
小型项目:
大型项目:
团队项目:
当任务花费的时间比预期长时:
当实施期间需求发生变化时:
当出现技术障碍时:
从需求阶段:
从设计阶段:
当实施揭示问题时:
持续改进:
任务完成并批准后:
任务阶段为系统化实施提供了路线图,将复杂的设计分解为可管理、可操作的步骤,从而成功交付功能。通过适当的执行指导,团队可以在整个实施过程中保持质量和势头。
| 欢迎光临 链载Ai (https://www.lianzai.com/) | Powered by Discuz! X3.5 |