prd-workflow-cli 1.4.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,133 @@
1
+ ---
2
+ description: A1 代码扫描 - 自动生成功能清单
3
+ ---
4
+
5
+ # A1 代码扫描工作流
6
+
7
+ > ⚠️ **A1 是自动生成的文档,禁止手动维护!**
8
+
9
+ 本工作流指导 AI 扫描项目代码,自动生成或更新 `A1_代码功能快照.md`。
10
+
11
+ ---
12
+
13
+ ## 🎯 触发条件
14
+
15
+ 当 PM 说以下内容时,AI 应主动执行此工作流:
16
+ - "扫描一下现在的功能"
17
+ - "更新 A1"
18
+ - "看看代码里有什么功能"
19
+ - "同步一下功能清单"
20
+
21
+ ---
22
+
23
+ ## 📋 扫描步骤
24
+
25
+ ### Step 1: 识别项目类型
26
+
27
+ AI 首先判断项目类型:
28
+
29
+ | 项目类型 | 识别特征 | 扫描重点 |
30
+ |---------|---------|---------|
31
+ | **前端** | package.json 有 react/vue/next | `pages/`, `components/`, 路由配置 |
32
+ | **后端** | package.json 有 express/fastify/nest | `routes/`, `controllers/`, API 定义 |
33
+ | **全栈** | 同时有前后端特征 | 分别扫描前后端 |
34
+ | **CLI** | bin 字段 | `commands/`, 命令定义 |
35
+ | **Python** | requirements.txt / pyproject.toml | `main.py`, `app/`, FastAPI/Flask 路由 |
36
+
37
+ ### Step 2: 执行扫描
38
+
39
+ AI 应该:
40
+
41
+ 1. **读取目录结构**
42
+ ```
43
+ 使用 list_dir 或 find_by_name 获取项目结构
44
+ ```
45
+
46
+ 2. **识别入口文件**
47
+ - 前端:`src/App.js`, `pages/`, `app/`
48
+ - 后端:`index.js`, `app.js`, `routes/`
49
+ - Python:`main.py`, `app.py`
50
+
51
+ 3. **提取功能清单**
52
+ - 路由 → 功能点
53
+ - 组件 → 界面能力
54
+ - API → 服务能力
55
+
56
+ 4. **分类整理**
57
+ 按模块/领域分组
58
+
59
+ ### Step 3: 生成 A1 文档
60
+
61
+ 使用以下模板生成:
62
+
63
+ ```markdown
64
+ # A1_代码功能快照
65
+
66
+ > ⚠️ **本文件由 AI 扫描代码自动生成,请勿手动编辑!**
67
+ >
68
+ > 最后扫描时间: YYYY-MM-DD HH:mm
69
+ > 扫描范围: [项目根目录]
70
+
71
+ ---
72
+
73
+ ## 1. 项目概览
74
+
75
+ - **项目类型**: [前端/后端/全栈/CLI]
76
+ - **技术栈**: [React/Vue/Express/...]
77
+ - **入口文件**: [...]
78
+
79
+ ---
80
+
81
+ ## 2. 功能清单
82
+
83
+ ### 2.1 [模块A]
84
+
85
+ | 功能 | 路径/入口 | 说明 |
86
+ |-----|----------|------|
87
+ | 功能1 | `src/xxx` | ... |
88
+ | 功能2 | `src/yyy` | ... |
89
+
90
+ ### 2.2 [模块B]
91
+
92
+ ...
93
+
94
+ ---
95
+
96
+ ## 3. API 清单 (如有)
97
+
98
+ | 方法 | 路径 | 说明 |
99
+ |-----|------|------|
100
+ | GET | /api/xxx | ... |
101
+ | POST | /api/yyy | ... |
102
+
103
+ ---
104
+
105
+ ## 4. 扫描日志
106
+
107
+ - 扫描了 X 个文件
108
+ - 识别了 Y 个功能点
109
+ - 识别了 Z 个 API
110
+ ```
111
+
112
+ ---
113
+
114
+ ## 🔄 更新策略
115
+
116
+ - **首次扫描**: 生成完整 A1
117
+ - **增量更新**: 对比已有 A1,标注 [新增] / [变更] / [删除]
118
+ - **冲突处理**: 如果发现代码与 A0 边界冲突,必须报告给 PM
119
+
120
+ ---
121
+
122
+ ## ❌ AI 禁止
123
+
124
+ 1. ❌ 要求用户手动填写 A1
125
+ 2. ❌ 跳过扫描直接编造功能
126
+ 3. ❌ 忽略项目中的隐藏文件夹(如 .git)
127
+
128
+ ---
129
+
130
+ ## 💡 最佳实践
131
+
132
+ - 在每次 `prd plan freeze` 前建议执行一次 A1 扫描
133
+ - 将 A1 扫描结果与 A0 边界对比,识别"代码超出规划"的情况
@@ -8,7 +8,7 @@ description: A2UI 可视化指南 - 架构图与界面原型
8
8
 
9
9
  - **P0 阶段**:使用架构图组件生成项目架构图
10
10
  - **B1/B2 阶段**:使用架构图组件生成模块架构图、需求结构图
11
- - **C1 阶段**:使用界面原型组件生成交互界面
11
+ - **IT 阶段**:使用界面原型组件生成交互界面
12
12
 
13
13
  ---
14
14
 
@@ -158,11 +158,11 @@ description: A2UI 可视化指南 - 架构图与界面原型
158
158
 
159
159
  ### 保存规则
160
160
 
161
- **保存位置**:`02_迭代记录/第XX轮迭代/C1_UI原型/`
161
+ **保存位置**:`02_迭代记录/第XX轮迭代/IT/IT-XXX-名称/UI原型/`
162
162
 
163
163
  **保存文件**:
164
- - `REQ-001-界面名称.json` - 数据结构
165
- - `REQ-001-界面名称.html` - 独立预览文件(内嵌渲染器)
164
+ - `IT-001-界面名称.json` - 数据结构
165
+ - `IT-001-界面名称.html` - 独立预览文件(内嵌渲染器)
166
166
  - `index.md` - 索引目录
167
167
 
168
168
  ### AI 保存流程
@@ -170,13 +170,13 @@ description: A2UI 可视化指南 - 架构图与界面原型
170
170
  ```
171
171
  1. PM 确认:"这个界面可以了"
172
172
 
173
- 2. AI 询问:请告诉我需求编号(如 REQ-001)
173
+ 2. AI 询问:请确认对应的 IT 编号(如 IT-001)
174
174
 
175
175
  3. AI 生成 3 个文件:.json + .html + 更新 index.md
176
176
 
177
177
  4. AI 确认:
178
178
  "✅ 界面原型已保存!
179
- 📁 位置:02_迭代记录/第01轮迭代/C1_UI原型/"
179
+ 📁 位置:02_迭代记录/第01轮迭代/IT/IT-001-用户反馈/UI原型/"
180
180
  ```
181
181
 
182
182
  ### 🚀 生成独立预览文件 (HTML)
@@ -0,0 +1,135 @@
1
+ ---
2
+ description: B 规划文档填写工作流(简化版)
3
+ ---
4
+
5
+ # B 规划文档工作流
6
+
7
+ > ⚠️ B 阶段只有 **2 个文档**:`B_规划文档.md` + `B3_规划冻结.md`
8
+
9
+ ---
10
+
11
+ ## 🚨 核心规则
12
+
13
+ | ID | 规则 | 严重程度 |
14
+ |----|------|----------|
15
+ | G002 | 禁止未经对话就填充文档 | 🔴 严重 |
16
+ | G003 | 禁止替 PM 做决策 | 🔴 严重 |
17
+ | I001 | 确认一个需求,立即写入 | 🔴 严重 |
18
+
19
+ ---
20
+
21
+ ## 📋 B_规划文档 结构
22
+
23
+ ```markdown
24
+ # B_规划文档
25
+
26
+ ## 1. 启动检查
27
+
28
+ 在开始规划前,必须确认以下三点:
29
+
30
+ - [ ] **问题真实存在** - 在 A1/A2 中有证据
31
+ - [ ] **值得单独规划** - 不是小修小补
32
+ - [ ] **问题已理解清楚** - 不是用规划来想问题
33
+
34
+ ## 2. 核心问题
35
+
36
+ **要解决的问题**:
37
+ <!-- 用一句话说明 -->
38
+
39
+ **期望达成的结果**:
40
+ <!-- 可衡量的目标 -->
41
+
42
+ **不做什么**:
43
+ <!-- 明确排除的范围 -->
44
+
45
+ ## 3. 需求拆解
46
+
47
+ | ID | 需求 | 优先级 | 首版 |
48
+ |----|------|-------|-----|
49
+ | REQ-001 | xxx | P0 | ✅ |
50
+ | REQ-002 | yyy | P1 | ❌ |
51
+
52
+ ## 4. PM 确认
53
+
54
+ - [ ] 核心问题已明确
55
+ - [ ] 需求拆解完整
56
+ - [ ] 首版范围已确认
57
+
58
+ **PM 签字**: ___________
59
+ **日期**: ___________
60
+ ```
61
+
62
+ ---
63
+
64
+ ## 🔄 AI 执行流程
65
+
66
+ ### Step 1: 启动检查(对话中完成)
67
+
68
+ ```
69
+ AI: "在开始规划前,我需要确认几个问题:
70
+
71
+ 1. 这个问题在 A1/A2 中有记录吗?
72
+ 2. 这是一个独立的改进,还是小修补?
73
+ 3. 问题本身是否已经理解清楚?
74
+
75
+ 请逐一回答。"
76
+ ```
77
+
78
+ ### Step 2: 明确核心问题
79
+
80
+ ```
81
+ AI: "好的。请用一句话告诉我:
82
+ 这次规划要解决的核心问题是什么?"
83
+ ```
84
+
85
+ ### Step 3: 需求拆解
86
+
87
+ ```
88
+ AI: "基于这个问题,我们需要拆解具体需求。
89
+ 请告诉我需要做哪些事情来解决这个问题?"
90
+ ```
91
+
92
+ ### Step 4: 优先级排序
93
+
94
+ ```
95
+ AI: "现在我们有 [N] 个需求项。
96
+ 哪些是 P0(必须做)?
97
+ 哪些是 P1(重要但可延后)?"
98
+ ```
99
+
100
+ ### Step 5: 确认首版范围
101
+
102
+ ```
103
+ AI: "最后确认首版范围:
104
+ [列出 P0 需求]
105
+
106
+ 这些是首版必须交付的,对吗?"
107
+ ```
108
+
109
+ ### Step 6: 写入文档
110
+
111
+ ```
112
+ AI: "已将规划写入 B_规划文档.md
113
+
114
+ 下一步:执行 prd plan freeze 冻结规划"
115
+ ```
116
+
117
+ ---
118
+
119
+ ## ❌ 禁止行为
120
+
121
+ 1. ❌ 跳过启动检查
122
+ 2. ❌ 替 PM 决定优先级
123
+ 3. ❌ 替 PM 决定首版范围
124
+ 4. ❌ 一次性填充整个文档
125
+
126
+ ---
127
+
128
+ ## 📁 废弃文档
129
+
130
+ 以下文档已废弃,不再使用:
131
+
132
+ - ~~R1_规划启动条件检查.md~~ → 合并到 B_规划文档
133
+ - ~~B1_需求规划草案.md~~ → 合并到 B_规划文档
134
+ - ~~B2_规划拆解与范围界定.md~~ → 合并到 B_规划文档
135
+ - ~~R1_规划审视报告.md~~ → 内化为 freeze 命令的自动检查
@@ -0,0 +1,56 @@
1
+ ---
2
+ description: 协助编写 IT-BIZ 业务需求文档
3
+ ---
4
+
5
+ # IT-BIZ 编写工作流
6
+
7
+ 本工作流旨在协助用户(主要是 PM 或业务代表)编写高质量的 **IT-BIZ 业务需求文档**。
8
+ 该文档的核心目标是:**业务确认**。
9
+ 它必须清晰、无歧义,且**不包含**任何技术实现细节。
10
+
11
+ ## 1. 启动与上下文确认
12
+
13
+ 1. **确认文件**: 确认当前正在编辑的文件是 `IT-xxx-BIZ.md`。
14
+ 2. **确认输入**:
15
+ * 读取 `B3_规划冻结归档.md` (理解背景和规划目标)。
16
+ * 读取 `A2_存量反馈与数据汇总.md` (如有,用于关联真实反馈)。
17
+ 3. **询问用户**: 询问用户这个 IT 用户故事的核心目标是什么,以及主要解决哪个场景的问题。
18
+
19
+ ## 2. 编写引导 (Socratic Method)
20
+
21
+ 不要直接生成内容,通过提问引导用户明确需求:
22
+
23
+ ### 2.1 用户故事
24
+ * **角色**: "谁是这个功能的主要使用者?"
25
+ * **目的**: "他们为什么需要这个功能?"
26
+ * **价值**: "这能给他们带来什么具体的价值?"
27
+
28
+ ### 2.2 应用场景
29
+ * **触发**: "用户在什么情况下会想到用这个功能?"
30
+ * **流程**: "请描述一下用户完成这个任务的理想步骤(不要涉及具体的按钮点击,只要业务流程)。"
31
+ * **异常**: "如果过程中出现问题(比如拒绝、撤回),业务上希望怎么处理?"
32
+
33
+ ### 2.3 验收标准 (最重要的部分)
34
+ * **业务成功**: "您如何判断这个功能已经做好了?"
35
+ * **体验要求**: "有什么必须要满足的体验标准吗(比如响应速度、易用性)?"
36
+
37
+ ## 3. 内容生成规则
38
+
39
+ 在生成或修改 Markdown 内容时,遵守以下 **禁止事项**:
40
+
41
+ * ❌ **禁止使用技术术语**: 不要出现 API、数据库、JSON、前端组件、后端服务等词汇。
42
+ * ❌ **禁止定义 UI细节**: 不要描述"蓝色按钮"、"弹窗"、"下拉框",而是描述"用户提交"、"系统提示"、"选择"。
43
+ * ❌ **禁止替代技术决策**: 比如不要写"数据每5分钟同步一次",而是写"用户能看到最新的数据"。
44
+
45
+ ## 4. 完整性检查
46
+
47
+ 在用户认为完成后,检查以下几点:
48
+
49
+ 1. **场景闭环**: 是否考虑了开始到结束的完整闭环?
50
+ 2. **异常处理**: 是否定义了业务异常(如库存不足、审核不通过)的处理方式?
51
+ 3. **价值明确**: 用户故事是否符合 INVEST 原则中的 Valuable?
52
+
53
+ ## 5. 结束
54
+
55
+ 提醒用户:
56
+ > "IT-BIZ 文档是您与开发团队的契约。请确认内容准确无误。确认后,开发团队将基于此编写详细的技术规格 (IT-DEV)。"
@@ -0,0 +1,163 @@
1
+ ---
2
+ description: 协助编写 IT-DEV 功能规格文档
3
+ ---
4
+
5
+ # IT-DEV 编写工作流
6
+
7
+ 本工作流旨在协助将业务需求(BIZ)转化为可执行的开发规格(DEV)。
8
+
9
+ > ⚠️ **核心原则:从 BIZ 提取,不重复不编造**
10
+
11
+ ---
12
+
13
+ ## 🚨 DEV 文档定位
14
+
15
+ | BIZ 文档 | DEV 文档 |
16
+ |---------|---------|
17
+ | What(做什么)| How(怎么实现)|
18
+ | 用户故事、验收标准 | RT 拆解、技术约束 |
19
+ | 业务规则 | 影响范围、涉及模块 |
20
+
21
+ **DEV 的核心价值是 RT 拆解,不是重复 BIZ 内容!**
22
+
23
+ ---
24
+
25
+ ## 1. 从 BIZ 提取已知信息
26
+
27
+ DEV 文档应该**引用**而不是**重复**BIZ 中已有的内容:
28
+
29
+ ```markdown
30
+ ## 1. 需求概述(引用 BIZ)
31
+
32
+ > 📋 详细验收标准见 [IT-xxx-BIZ.md](./IT-xxx-BIZ.md)
33
+
34
+ **需求描述**: [从 BIZ 用户故事提取,一句话总结]
35
+ **验收标准数**: X 个
36
+ **涉及业务规则**: X 个
37
+ ```
38
+
39
+ **不要把 BIZ 中已有的状态流转、通知渠道等内容再列一遍!**
40
+
41
+ ---
42
+
43
+ ## 2. DEV 核心内容
44
+
45
+ ### 2.1 必填项(从 BIZ 提取 + 技术判断)
46
+
47
+ | 字段 | 说明 | 谁填 |
48
+ |-----|------|-----|
49
+ | 需求描述 | 一句话总结(从 BIZ 提取)| AI 可填 |
50
+ | 需求类型 | Feature / Bug / Enhancement | AI 可填 |
51
+ | 预估影响范围 | 哪些功能/页面受影响 | AI 可推断 |
52
+ | 涉及模块 | 前端/后端/哪些服务 | AI 可推断 |
53
+ | 是否涉及 UI | 是否有界面改动 | AI 可判断 |
54
+
55
+ ### 2.2 待确认项(需技术负责人确认)
56
+
57
+ | 字段 | 说明 |
58
+ |-----|------|
59
+ | 技术约束 | 必须使用某技术/不能改某代码 |
60
+ | 关联需求 | 与其他 RT 的依赖关系 |
61
+ | 风险评估 | 低 / 中 / 高 |
62
+
63
+ ### 2.3 开发要点(供技术负责人参考)
64
+
65
+ DEV 文档只需列出**开发要点提示**,具体 RT 拆解由技术负责人决定:
66
+
67
+ ```markdown
68
+ ## 3. 开发要点
69
+
70
+ > ⚠️ 以下仅为开发要点提示,具体 RT 拆解由技术负责人决定
71
+
72
+ ### 涉及的验收标准
73
+ - AC-001: xxx
74
+ - AC-002: xxx
75
+ - ...
76
+
77
+ ### 可能的开发方向
78
+ - 前端: xxx页面、xxx组件
79
+ - 后端: xxx服务
80
+ - 其他: xxx
81
+ ```
82
+
83
+ **AI 不应该输出具体的 RT 编号和工时评估!**
84
+
85
+ ---
86
+
87
+ ## 3. AI 禁止事项
88
+
89
+ | 禁止 | 原因 |
90
+ |------|------|
91
+ | ❌ 重复 BIZ 中已有的业务规则 | BIZ 是唯一真理来源 |
92
+ | ❌ 编造 API 设计 | 接口由技术负责人设计 |
93
+ | ❌ 编造数据库设计 | 表结构由开发团队设计 |
94
+ | ❌ 大量留空表格 | DEV 不是问卷调查 |
95
+
96
+ ---
97
+
98
+ ## 4. DEV 文档模板(正确版)
99
+
100
+ ```markdown
101
+ # IT-xxx-DEV: [名称]
102
+
103
+ **关联BIZ**: [IT-xxx-BIZ.md](./IT-xxx-BIZ.md)
104
+ **状态**: 待确认
105
+
106
+ ---
107
+
108
+ ## 1. 需求概述
109
+
110
+ > 📋 详细验收标准见 BIZ 文档
111
+
112
+ **需求描述**: [从 BIZ 一句话提取]
113
+ **需求类型**: Feature
114
+ **验收标准数**: X 个
115
+
116
+ ---
117
+
118
+ ## 2. 影响范围
119
+
120
+ | 项目 | 内容 |
121
+ |-----|------|
122
+ | 涉及模块 | 前端: xxx / 后端: xxx |
123
+ | 是否涉及 UI | 是 / 否 |
124
+ | 影响页面 | xxx |
125
+ | 外部依赖 | xxx |
126
+
127
+ ---
128
+
129
+ ## 3. 开发要点
130
+
131
+ > ⚠️ 以下仅为开发要点提示,具体 RT 拆解由技术负责人决定
132
+
133
+ ### 涉及的验收标准
134
+ - AC-001: xxx
135
+ - AC-002: xxx
136
+
137
+ ### 可能的开发方向
138
+ - 前端: xxx
139
+ - 后端: xxx
140
+
141
+ ---
142
+
143
+ ## 4. 待确认问题
144
+
145
+ 1. [具体的技术决策问题]
146
+ 2. [具体的依赖问题]
147
+
148
+ ---
149
+
150
+ ## 技术负责人确认
151
+
152
+ - [ ] 影响范围确认
153
+ - [ ] 开发要点已评审
154
+ - [ ] RT 已拆解(记录在任务系统中)
155
+ - [ ] 可以开始开发
156
+ ```
157
+
158
+ ---
159
+
160
+ ## 5. 结束
161
+
162
+ 提醒用户:
163
+ > "DEV 文档提供开发要点,具体 RT 拆解由技术负责人在任务系统中完成。"