feat(req): 集成 Stitch 原型设计到需求工作流
新建 req-prototype 技能,支持基于 PRD 自动生成 Stitch UI 原型。 同步 req-review、req-workflow 技能到仓库,并更新 req、req-prd 中的 原型相关引用。 REQ-20260320-0005 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -86,6 +86,7 @@ Gate 4: 完整性检查 ── 三段式完整 + 验收标准 ≥ 2 条 + PRD
|
||||
1. /req new → 创建需求 (draft)
|
||||
2. 需求讨论 → 输出结论摘要,用户确认
|
||||
3. req-prd 技能 → 编写 PRD(创建【评审】PRD 任务)
|
||||
3.5 /req prototype → 生成 Stitch 原型(可选,有 UI 时推荐)
|
||||
4. /req submit → 提交评审 (pending),含 4 道门禁
|
||||
5. /req review pass → 评审通过 (approved, delivery_stage=analysis)
|
||||
6. /req next → 推进到 design/dev 阶段
|
||||
@@ -94,7 +95,7 @@ Gate 4: 完整性检查 ── 三段式完整 + 验收标准 ≥ 2 条 + PRD
|
||||
9. /req cr → 代码评审(创建【代码评审】任务)
|
||||
10. /req next → 推进到 testing 阶段
|
||||
11. /req test → 测试验收(5-Gate 流程)
|
||||
12. /req deploy → 批量部署(DG1-DG6 Deploy Gates)
|
||||
12. /req deploy → 批量部署(build-and-push.sh → Jenkins ai-proj)
|
||||
13. /req done → 归档 (archived) + git commit + push
|
||||
```
|
||||
|
||||
@@ -231,6 +232,18 @@ Gate 4: 完整性检查 ── 三段式完整 + 验收标准 ≥ 2 条 + PRD
|
||||
|
||||
**`/req split [REQ-ID]`** — 拆分为开发任务(后端/前端/测试)并关联
|
||||
|
||||
### 原型设计
|
||||
|
||||
**`/req prototype [REQ-ID]`** — 基于 PRD 生成 Stitch 原型:
|
||||
1. 读取 PRD 文档,提取 UI 相关描述
|
||||
2. 创建 Stitch 项目 + 生成页面(调用 req-prototype 子技能)
|
||||
3. 截图回填 PRD「4.2 界面原型」章节
|
||||
- 参数:`--device [desktop|mobile|tablet]`,`--model [pro|flash]`
|
||||
|
||||
**`/req prototype edit [REQ-ID] --prompt "..."`** — 修改已有原型
|
||||
|
||||
**`/req prototype variant [REQ-ID]`** — 生成设计变体供选择
|
||||
|
||||
### 提交评审
|
||||
|
||||
**`/req submit [REQ-ID]`** ⭐ — 从 draft 到 pending 的唯一合法路径:
|
||||
@@ -281,13 +294,15 @@ Gate 4: 完整性检查 ── 三段式完整 + 验收标准 ≥ 2 条 + PRD
|
||||
|
||||
**`/req test [REQ-ID]`** — 测试(前置:代码评审通过),遵循 dev-test 技能的 5-Gate 流程
|
||||
|
||||
**`/req deploy [--project <name>] [--env <env>]`** — 项目级批量部署:
|
||||
**`/req deploy [--project <name>] [--env production]`** — 项目级批量部署(Staging 已自动化,push develop 即触发):
|
||||
1. 收集待部署需求(delivery_stage=testing + 全 test 任务 completed)
|
||||
2. AskUserQuestion 确认范围
|
||||
3. `ai-proj task create` 创建部署批次任务
|
||||
4. Deploy Gates DG1-DG6:staging 部署 → 冒烟测试 → 回归 → 生产部署
|
||||
5. `ai-proj task append-doc` 记录部署文档
|
||||
6. `ai-proj req advance --id <id> --to released` 批量推进
|
||||
4. 部署前检查(变更检测、数据库迁移)
|
||||
5. 执行 `./scripts/build-and-push.sh prod --detect --deploy --wait --verify`
|
||||
6. 部署后验证(截图 + 定向验证)
|
||||
7. `ai-proj task append-doc` 记录部署文档 + 写入需求历史
|
||||
8. `ai-proj req advance --id <id> --to released` 批量推进
|
||||
|
||||
**`/req done [REQ-ID]`** — 类型化归档门禁 + git commit + push + `ai-proj req archive --id <id>`:
|
||||
- **推断类型**:有 implementation → code;无 implementation 有 prd/test → skill;仅 deploy → ops
|
||||
@@ -376,185 +391,10 @@ ai-proj req tasks --id <id> # 查看关联任务
|
||||
|
||||
**linkRole**: `prd`, `design`, `implementation`, `code_review`, `test`, `deploy`, `regression`, `documentation`
|
||||
|
||||
## 详细阶段管理命令
|
||||
|
||||
### `/req phase [REQ-ID]`
|
||||
查看需求当前开发阶段和任务状态。
|
||||
|
||||
**执行逻辑**:
|
||||
1. `get_requirement(id)` → 获取 `delivery_stage`
|
||||
2. `get_requirement_tasks(id)` → 获取所有关联任务
|
||||
3. 按 linkRole 分组展示,标注当前阶段任务完成度
|
||||
|
||||
**输出示例**:
|
||||
```
|
||||
REQ-20260218-0013 | 阶段: dev (开发)
|
||||
────────────────────────────────────
|
||||
✅ analysis (评审)
|
||||
✅ #6035 【评审】PRD: 需求全生命周期阶段化管理
|
||||
▶ dev (开发) ← 当前阶段
|
||||
🔄 #6042 【开发-后端】实现阶段管理 API [in_progress]
|
||||
⬜ #6043 【开发-前端】阶段可视化组件 [todo]
|
||||
⬜ review (代码评审)
|
||||
⬜ testing (测试)
|
||||
```
|
||||
|
||||
### `/req resume [REQ-ID]`
|
||||
从上次中断的位置恢复工作。**会话被截断后的首选命令**。
|
||||
|
||||
**执行逻辑**:
|
||||
1. 若无 REQ-ID → `list_requirements(status=approved)` 找最近活跃需求
|
||||
2. `get_requirement(id)` → 获取 delivery_stage
|
||||
3. `get_requirement_tasks(id)` → 获取所有关联任务及状态
|
||||
4. 汇总展示恢复上下文
|
||||
|
||||
**输出格式**:
|
||||
```
|
||||
📋 恢复工作上下文
|
||||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
需求: REQ-20260218-0016 | 需求标题
|
||||
状态: approved | 阶段: dev (开发)
|
||||
|
||||
📊 任务进度: 2/4 完成
|
||||
✅ #6051 【开发-后端】实现 API
|
||||
🔄 #6053 【开发-Skill】xxx [in_progress]
|
||||
⬜ #6054 【开发-Skill】xxx [todo]
|
||||
|
||||
▶ 建议操作:
|
||||
1. 继续任务 #6053(当前 in_progress)
|
||||
2. 执行 /req next 推进阶段
|
||||
```
|
||||
|
||||
### `/req regression [--module <name>] [--mode <mode>]`
|
||||
**运行回归测试**。系统级持续质量活动。
|
||||
|
||||
- `--module` 指定模块,不指定则按影响域推断
|
||||
- `--mode`:`impact`(影响域,默认)| `critical`(关键路径)| `full`(全量)
|
||||
|
||||
**执行逻辑**:
|
||||
1. 确定范围:指定 module → 直接运行;未指定 → `git diff` + `module-deps.json` 推断
|
||||
2. 运行 `regression-suite/suites/` 下对应脚本
|
||||
3. 对比上次运行结果,标记回归(上次 PASS + 本次 FAIL)
|
||||
4. 有回归 → AskUserQuestion「是否创建 bug 需求?」
|
||||
|
||||
## 辅助命令
|
||||
|
||||
**`/req link [REQ-ID] --task-id [TASK-ID]`** — 关联任务到需求
|
||||
|
||||
**`/req decompose [REQ-ID]`** — 分解需求为任务,自动加阶段前缀
|
||||
|
||||
**`/req generate-tasks [REQ-ID]`** — 根据 PRD 自动生成开发任务,带【开发】前缀
|
||||
|
||||
**`/req priority [REQ-ID] [low|medium|high]`** — 设置需求优先级
|
||||
|
||||
**`/req stats [REQ-ID|--all]`** — 查看需求统计信息
|
||||
|
||||
## 阶段任务 Checklist 模板
|
||||
|
||||
`/req next` 推进到新阶段时,通过 `create_stage_task` 自动创建建议任务:
|
||||
|
||||
### analysis(评审)
|
||||
```
|
||||
☐ 【评审】PRD: {需求标题} (linkRole: prd)
|
||||
☐ 【评审】技术设计: {需求标题} (linkRole: design) [可选]
|
||||
```
|
||||
|
||||
### design(设计)
|
||||
```
|
||||
☐ 【设计】技术方案: {需求标题} (linkRole: design)
|
||||
```
|
||||
|
||||
### dev(开发)
|
||||
```
|
||||
☐ 【开发-后端】{需求标题} (linkRole: implementation)
|
||||
☐ 【开发-前端】{需求标题} (linkRole: implementation) [可选]
|
||||
```
|
||||
|
||||
### review(代码评审)
|
||||
```
|
||||
☐ 【代码评审】{需求标题} (linkRole: code_review)
|
||||
```
|
||||
|
||||
### testing(测试)
|
||||
```
|
||||
☐ 【测试】单元测试: {需求标题} (linkRole: test)
|
||||
☐ 【测试】集成测试: {需求标题} (linkRole: test) [可选]
|
||||
```
|
||||
|
||||
### 部署(由 `/req deploy` 批量触发)
|
||||
```
|
||||
testing 完成 → 进入「待部署池」→ /req deploy 创建批次任务
|
||||
```
|
||||
|
||||
**按需求类型的最低测试标准**:
|
||||
|
||||
| 需求类型 | 最低测试要求 |
|
||||
|----------|-------------|
|
||||
| **code** | `go test` 或前端测试通过 + API 验证 + 截图验证 |
|
||||
| **skill** | 关键词一致性 + 规则无歧义 + 边界情况(至少 3 项) |
|
||||
| **ops** | 部署命令可执行 + 健康检查通过 |
|
||||
|
||||
## MCP 工具映射
|
||||
|
||||
| 命令 | MCP 工具 |
|
||||
|------|----------|
|
||||
| `/req` | `list_requirements` |
|
||||
| `/req new` | `create_requirement` |
|
||||
| `/req phase` | `get_requirement` + `get_requirement_tasks` |
|
||||
| `/req next` | `advance_delivery_stage` + `create_stage_task` |
|
||||
| `/req resume` | `get_requirement` + `get_requirement_tasks` |
|
||||
| `/req dev` | `get_requirement` + `get_requirement_tasks` + `start_task_with_timer` |
|
||||
| `/req cr` | `get_requirement_tasks` + Git diff |
|
||||
| `/req test` | `req-test-gate` 5-Gate 流程 |
|
||||
| `/req deploy` | Deploy Gates DG1-DG6 |
|
||||
| `/req regression` | `git diff` + 回归套件 |
|
||||
| `/req done` | 类型推断 + 检查清单 + `archive_requirement` |
|
||||
| `/req review` | `submit_requirement` |
|
||||
| `/req review pass` | `approve_requirement` |
|
||||
| `/req link` | `link_tasks_to_requirement` |
|
||||
|
||||
## 环境选择
|
||||
|
||||
> **重要**:正式需求应直接在**生产环境** (`mcp__ai-proj-prod__*`) 创建。
|
||||
> 仅在功能测试、流程验证时使用开发环境 (`mcp__ai-proj-dev__*`)。
|
||||
> 开发环境同步到生产时,`due_date`、`reviewer_id`、`allow_self_approve` 等字段会丢失,需手动补充。
|
||||
|
||||
## Hook 自动同步
|
||||
|
||||
需求操作自动触发同步,无需手动执行:
|
||||
|
||||
| 事件 | 触发操作 |
|
||||
|------|----------|
|
||||
| `requirement.created` | 同步到远程 |
|
||||
| `requirement.approved` | 同步需求和任务 |
|
||||
| `task.completed` | 同步任务状态 |
|
||||
| `requirement.archived` | 最终同步 + 思源笔记 |
|
||||
|
||||
**手动同步**:
|
||||
```typescript
|
||||
mcp__ai-proj__sync_requirement_to_remote(requirementId)
|
||||
mcp__ai-proj__batch_sync_tasks_to_remote(taskIds)
|
||||
```
|
||||
|
||||
**同步已知限制**:
|
||||
| 字段 | 同步支持 | 说明 |
|
||||
|------|----------|------|
|
||||
| title, description, status, priority | ✅ | 正常同步 |
|
||||
| **due_date** | ❌ | 不会同步,需手动补充 |
|
||||
| reviewer_id | ❌ | 不会同步 |
|
||||
| allow_self_approve | ❌ | 不会同步 |
|
||||
|
||||
## 思源笔记集成
|
||||
|
||||
归档时自动同步 5 阶段文档到思源笔记:
|
||||
- 路径:`需求管理/REQ-XXXX/`
|
||||
- 文档:01-PRD.md ~ 05-生命周期总结.md
|
||||
- 手动同步:`/req sync-siyuan [REQ-ID]`
|
||||
|
||||
## 相关技能
|
||||
|
||||
| 技能 | 用途 |
|
||||
|------|------|
|
||||
| `req-prd` | PRD 文档编写 + 评审方法论 |
|
||||
| `req-test-gate` | 测试 5-Gate + Deploy Gates |
|
||||
| `req-dev` | PRD 到代码转换、开发计划 |
|
||||
| `req-prototype` | Stitch 原型生成 + 迭代 |
|
||||
| `dev-test` | 测试 + 质量门禁 |
|
||||
|
||||
Reference in New Issue
Block a user