--- name: dev-design description: 开发流程 - 设计阶段,技术选型与细节设计,产出设计文档 --- # 设计 > 开发流程第二阶段:基于需求文档进行技术选型和细节设计。 ## 调用方式 `/dev-design`,也可说"开始设计"。 ## 产出目录 `docs/design/` ## 执行流程 ### Checklist - [ ] 前置检查:读取需求文档 - [ ] 探索现有代码库 - [ ] 技术选型 - [ ] 前端风格设计(如涉及) - [ ] 细节设计循环 - [ ] 用户确认并保存 ### 1. 前置检查 - 读取 `docs/requirements/` 目录下的需求文档 - 如果不存在,提示用户先运行 `/dev-requirement` 完成需求分析 - 用户可选择跳过(直接进入设计) - 展示需求文档摘要,确认设计范围 ### 2. 探索现有代码库 - 查看项目文件结构 - 识别现有技术栈(package.json、pyproject.toml 等) - 了解现有架构模式 - 识别可复用的模块和接口 ### 3. 技术选型 识别需要做出的技术决策,逐个讨论: **规则:** - 每个决策点提出 2-3 个方案 - 说明每个方案的优缺点 - 给出推荐方案和理由 - 使用多选方式让用户选择 **常见决策点:** - 框架选择 - 数据库/存储方案 - 状态管理方案 - API 风格(REST/GraphQL/RPC) - 认证方案 ### 4. 前端风格设计(如涉及) 如果项目涉及 UI: - 询问视觉风格偏好 - 确定配色方案、字体、间距规范 - 确定组件库(如有) - 确定布局模式 如果项目不涉及 UI,跳过此步骤。 ### 5. 细节设计循环 按以下维度逐个展开设计,每个维度分段展示给用户确认: **模块划分:** - 将系统拆分为职责单一的模块 - 每个模块有清晰的边界和接口 **数据模型:** - 核心数据结构定义 - 数据关系 - 存储方案 **接口设计:** - 模块间接口 / API 端点 - 输入输出规范 - 错误码定义 **错误处理:** - 异常场景识别 - 错误处理策略 - 边界情况处理 ### 6. 保存设计文档 按以下模板保存: ```markdown # 设计文档:<项目名称> > 创建日期:YYYY-MM-DD > 对应需求:docs/requirements/YYYY-MM-DD-xxx.md > 状态:已确认 ## 1. 技术选型 | 决策点 | 选择 | 理由 | 备选方案 | |-------|------|------|---------| ## 2. 架构设计 ### 整体架构 ### 模块划分 | 模块 | 职责 | 依赖 | |------|------|------| ## 3. 数据模型 ## 4. 接口设计 ## 5. 前端设计(如适用) ## 6. 错误处理与边界情况 ``` 保存为 `docs/design/YYYY-MM-DD-<项目名>.md`,提示下一步可调用 `/dev-tdd` 生成测试用例(测试先行)。 ## 关键行为 - 技术选型基于项目实际约束,不盲目追求新技术 - 设计文档中的每个需求都能追溯到需求文档 - 前端风格仅在涉及 UI 时展开 - 模块划分遵循单一职责原则