Files
2026-04-27 17:45:20 +08:00

128 lines
2.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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 时展开
- 模块划分遵循单一职责原则