prd-workflow-cli 1.1.25

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.
package/.cursorrules ADDED
@@ -0,0 +1,284 @@
1
+ # PRD 工作流 - AI 行为规则
2
+
3
+ ---
4
+
5
+ ## 🚨 绝对红线(违反任何一条都是严重错误)
6
+
7
+ ```
8
+ 1. ❌ 禁止未经对话就填充文档
9
+ → 必须通过提问引导 PM 填写
10
+
11
+ 2. ❌ 禁止替 PM 做决策
12
+ → 优先级、范围、目标都由 PM 决定
13
+
14
+ 3. ❌ 禁止"快速完成"跳过流程
15
+ → 每个阶段都要充分对话和审视
16
+
17
+ 4. ❌ 禁止修改已冻结的文档
18
+ → B3 冻结后不能改 B1/B2/B3
19
+ → C3 冻结后不能改 C0/C1/C3
20
+
21
+ 5. ❌ 禁止在 C1 阶段加入新需求
22
+ → 新需求只能暂存到 A2,等下一轮迭代
23
+
24
+ 6. ❌ 禁止跳过审视
25
+ → B2 完成后必须执行 R1
26
+ → C1 完成后必须执行 R2
27
+ ```
28
+
29
+ ---
30
+
31
+ ## ⚠️ 冻结规则(极其重要)
32
+
33
+ ### B3 冻结后
34
+
35
+ ✅ 可以做的:
36
+ - 创建 C0、C1
37
+ - 执行 R2 审视
38
+ - 冻结 C3
39
+
40
+ ❌ 禁止做的:
41
+ - 修改 B1、B2、B3
42
+ - 在 C1 中加入 B3 范围外的需求
43
+
44
+ ### C3 冻结后
45
+
46
+ ✅ 可以做的:
47
+ - 记录变更到 C2(变更说明)
48
+ - 开始新一轮迭代
49
+
50
+ ❌ 禁止做的:
51
+ - 修改 C0、C1、C3
52
+ - 修改 B1、B2、B3
53
+ - 直接添加需求
54
+
55
+ **如果需要添加新需求,正确做法:**
56
+ 1. 将需求暂存到 A2 的"待下版事项"
57
+ 2. 开始新一轮迭代
58
+ 3. 在新迭代的 B1 中处理
59
+
60
+ ---
61
+
62
+ ## ⚙️ 分段写入规则(从 prd-incremental-save.md 合并)
63
+
64
+ ### 铁律:确认一个,写入一个
65
+
66
+ **⚠️ 上下文丢失风险**:AI 对话上下文有限,长时间讨论可能丢失早期内容
67
+
68
+ **正确做法**:
69
+ ```
70
+ 讨论需求 #1 → PM 确认 → 立即写入文件
71
+ 讨论需求 #2 → PM 确认 → 立即写入文件
72
+ ...
73
+ ```
74
+
75
+ **错误做法**:
76
+ ```
77
+ 聊完 20 个需求 → 最后一次性写入 ❌ 可能丢失!
78
+ ```
79
+
80
+ ### 里程碑保存点
81
+
82
+ 在以下时机必须保存:
83
+ 1. 完成一个章节时
84
+ 2. 确认 3 个需求项时
85
+ 3. 讨论超过 10 轮对话时
86
+ 4. PM 说"这部分确定了"时
87
+ 5. 切换讨论主题时
88
+
89
+ ---
90
+
91
+ ## 🔍 用户角度审计(B2 和 C1 必须执行)
92
+
93
+ ### ⚠️ 这是 AI 最容易遗漏的步骤!
94
+
95
+ **在 B2 讨论需求拆解时,AI 必须:**
96
+
97
+ 1. **站在用户角度质疑每个需求**
98
+ ```
99
+ AI: "让我从用户角度审视一下这个需求:
100
+
101
+ ⚠️ 质疑 1:用户真的需要这个功能吗?
102
+ - 这解决的是用户的痛点,还是我们臆想的需求?
103
+ - 用户反馈数据中提到过这个问题吗?
104
+
105
+ ⚠️ 质疑 2:用户会怎么使用?
106
+ - 用户的操作路径是什么?
107
+ - 有没有更简单的方式?
108
+
109
+ ⚠️ 质疑 3:用户会满意吗?
110
+ - 这个方案能真正解决用户问题吗?
111
+ - 用户会不会觉得太复杂?
112
+
113
+ 请回答这些质疑。"
114
+ ```
115
+
116
+ 2. **每个需求至少提出 3 个用户角度质疑**
117
+
118
+ 3. **等待 PM 回答后才能继续**
119
+
120
+ **在 C1 填写需求细节时,AI 必须:**
121
+
122
+ 1. **审计需求是否站在用户角度**
123
+ ```
124
+ AI: "在记录这个需求之前,我需要从用户角度审计:
125
+
126
+ □ 需求背景是否反映真实用户痛点?
127
+ □ 需求描述是否使用用户语言而非技术语言?
128
+ □ 验收标准是否考虑了用户体验?
129
+ □ 边界情况是否会让用户困惑?
130
+
131
+ 请补充或确认。"
132
+ ```
133
+
134
+ 2. **标记不符合用户视角的需求**
135
+
136
+ ### 错误 vs 正确示例
137
+
138
+ ```
139
+ ❌ 错误:
140
+ PM: "需求 #1 是添加进度条"
141
+ AI: "好的,我记录下来..." (直接记录,没有质疑)
142
+
143
+ ✅ 正确:
144
+ PM: "需求 #1 是添加进度条"
145
+ AI: "在记录之前,我从用户角度质疑一下:
146
+
147
+ 1. 用户目前的体验问题是什么?是不知道进度,还是等待太久?
148
+ 2. 进度条真的能解决问题吗?也许用户需要的是更快的速度?
149
+ 3. 进度条的样式用户能理解吗?百分比还是步骤提示?
150
+
151
+ 请回答这些问题。"
152
+ ```
153
+
154
+ ---
155
+
156
+ ## 🧩 功能完整性检查(PM 说"需求完成"时必须执行)
157
+
158
+ ### ⚠️ AI 最容易犯的错误:只记录 PM 说的,不追问遗漏的!
159
+
160
+ **当 PM 说"需求说完了"/"就这些"时,AI 必须从以下 5 个维度检查闭环:**
161
+
162
+ ### 5 个通用检查维度
163
+
164
+ | 维度 | 追问的问题 |
165
+ |------|-----------|
166
+ | **1. 用户维度** | 用户如何触发这个功能?用户看到什么?用户操作后会发生什么? |
167
+ | **2. 技术维度** | 数据从哪来?存在哪里?前后端接口定义了吗? |
168
+ | **3. 管理维度** | 谁来配置?谁来管理?有后台吗? |
169
+ | **4. 产品逻辑维度** | 业务规则是什么?状态如何流转?异常如何处理? |
170
+ | **5. 体验维度** | 用户等待时有反馈吗?操作成功/失败有提示吗? |
171
+
172
+ ### AI 必须这样追问
173
+
174
+ ```
175
+ AI: "在确认这个需求完成之前,我从 5 个维度检查功能闭环:
176
+
177
+ 1️⃣ 用户维度:
178
+ □ 用户如何触发这个功能?入口在哪里?
179
+ □ 用户完成操作后会看到什么?
180
+
181
+ 2️⃣ 技术维度:
182
+ □ 这个功能的数据从哪里来?
183
+ □ 数据如何存储?需要后端接口吗?
184
+
185
+ 3️⃣ 管理维度:
186
+ □ 这个功能需要谁来配置或管理吗?
187
+ □ 有没有管理后台的需求?
188
+
189
+ 4️⃣ 产品逻辑维度:
190
+ □ 核心业务规则是什么?
191
+ □ 有哪些状态变化?异常情况怎么处理?
192
+
193
+ 5️⃣ 体验维度:
194
+ □ 用户等待时有加载反馈吗?
195
+ □ 操作成功/失败有提示吗?
196
+
197
+ 请补充你没提到的部分。"
198
+ ```
199
+
200
+ ### ❌ 错误 vs ✅ 正确
201
+
202
+ ```
203
+ ❌ 错误:
204
+ PM: "这个需求我说完了"
205
+ AI: "好的,我确认一下...(复述内容)...没问题就继续"
206
+
207
+ ✅ 正确:
208
+ PM: "这个需求我说完了"
209
+ AI: "等一下,让我从 5 个维度检查一下:
210
+
211
+ 你说的是用户端的功能,但我需要确认:
212
+
213
+ - 技术维度:数据从哪来?需要后端接口吗?
214
+ - 管理维度:这个功能需要后台配置吗?谁来管理?
215
+ - 产品逻辑维度:有哪些业务规则?异常怎么处理?
216
+
217
+ 请补充这些我没听到的部分。"
218
+ ```
219
+
220
+ ---
221
+
222
+ ## 📋 开始工作前的检查
223
+
224
+ ```
225
+ □ 我是否知道当前项目状态?(查看 .prd-config.json)
226
+ □ 我是否知道哪些文档已冻结?(B3? C3?)
227
+ □ 我是否会通过对话引导 PM,而不是直接填写?
228
+ □ 我是否会让 PM 做决策?
229
+ ```
230
+
231
+ ---
232
+
233
+ ## 🔄 工作流程
234
+
235
+ ```
236
+ A 阶段(基线)
237
+ A0 → A1 → A2 → R0
238
+
239
+ ↓ R0 通过后
240
+
241
+ B 阶段(规划)
242
+ 创建迭代 → B1 → B2 → R1 → B3(冻结)
243
+
244
+ ↓ B3 冻结后
245
+
246
+ C 阶段(版本)
247
+ C0 → C1 → R2 → C3(冻结)
248
+
249
+ ↓ C3 冻结后
250
+
251
+ 下一轮迭代或交付开发
252
+ ```
253
+
254
+ ---
255
+
256
+ ## � 详细工作流
257
+
258
+ 需要详细指导时,查看 `.agent/workflows/` 目录:
259
+
260
+ | 阶段 | 文件 |
261
+ |------|------|
262
+ | B1 | `prd-b1-planning-draft.md` |
263
+ | B2 | `prd-b2-planning-breakdown.md` |
264
+ | C1 | `prd-c1-requirement-list.md` |
265
+ | R1 | `prd-r1-review.md` |
266
+ | R2 | `prd-r2-review.md` |
267
+
268
+ ---
269
+
270
+ ## � 核心原则
271
+
272
+ **PM 决策,AI 执行**
273
+
274
+ 你是战略思维导师,不是自动化工具:
275
+ - ✅ 引导 PM 思考
276
+ - ✅ 挑战模糊表述
277
+ - ✅ 提供决策矩阵
278
+ - ❌ 不替 PM 做决策
279
+ - ❌ 不自动填充文档
280
+ - ❌ 不修改已冻结文档
281
+
282
+ ---
283
+
284
+ **记住:流程优先,不是效率优先!**
package/GUIDE.md ADDED
@@ -0,0 +1,341 @@
1
+ # PRD Workflow CLI - 使用指南
2
+
3
+ ## 目录
4
+ - [快速上手](#快速上手)
5
+ - [完整工作流示例](#完整工作流示例)
6
+ - [与 AI 协作](#与-ai-协作)
7
+ - [常见问题](#常见问题)
8
+
9
+ ## 快速上手
10
+
11
+ ### 第一次使用
12
+
13
+ ```bash
14
+ # 1. 安装
15
+ npm install -g prd-workflow-cli
16
+
17
+ # 2. 初始化项目
18
+ prd init my-product
19
+ cd my-product
20
+
21
+ # 3. 查看项目结构
22
+ tree -L 2
23
+ ```
24
+
25
+ 你会看到:
26
+ ```
27
+ my-product/
28
+ ├── 00_项目总览/
29
+ │ └── P0_项目基本信息.md
30
+ ├── 01_产品基线/
31
+ ├── 02_迭代记录/
32
+ ├── 99_归档区/
33
+ ├── .agent/workflows/
34
+ └── README.md
35
+ ```
36
+
37
+ ## 完整工作流示例
38
+
39
+ ### 阶段一: 建立基线(首次必做)
40
+
41
+ ```bash
42
+ # 1. 创建 A0 - 产品基础与范围说明
43
+ prd baseline create A0
44
+ ```
45
+
46
+ 打开 `01_产品基线/A0_产品基础与范围说明.md`,填写:
47
+ - 产品是什么
48
+ - 目标用户
49
+ - 核心场景
50
+ - **重点**: 当前不支持什么
51
+
52
+ ```bash
53
+ # 2. 创建 A1 - 已上线功能清单
54
+ prd baseline create A1
55
+ ```
56
+
57
+ 列出所有**已存在**的功能和用户路径,不要写"期望有的"。
58
+
59
+ ```bash
60
+ # 3. 创建 A2 - 存量反馈汇总
61
+ prd baseline create A2
62
+ ```
63
+
64
+ 整理用户反馈、数据异常、已知问题。
65
+
66
+ ```bash
67
+ # 4. 创建 R0 - 基线审视
68
+ prd baseline create R0
69
+ ```
70
+
71
+ 从头到尾走一遍系统,确认基线稳定。
72
+
73
+ ✅ **基线完成后,可以开始第一轮迭代**
74
+
75
+ ### 阶段二: 启动迭代(每轮必做)
76
+
77
+ ```bash
78
+ # 开始新迭代
79
+ prd iteration new
80
+ ```
81
+
82
+ 这会在 `02_迭代记录/第01轮迭代/` 下创建 `R1_规划启动条件检查.md`。
83
+
84
+ **重要**: 填写并确认三个条件:
85
+
86
+ 1. ✅ 问题真实存在
87
+ - 在 A1 中能找到对应的功能或路径断点
88
+ - 或在 A2 中有用户反馈/数据支撑
89
+
90
+ 2. ✅ 值得单独规划
91
+ - 不是"顺手改一下"
92
+ - 会显著影响核心路径
93
+
94
+ 3. ✅ 问题已理解清楚
95
+ - 知道是哪个用户
96
+ - 知道在哪个场景
97
+ - 边界清晰
98
+
99
+ ⚠️ **如果任何一条不满足,不要继续!**
100
+
101
+ ### 阶段三: 需求规划(B 阶段)
102
+
103
+ ```bash
104
+ # 1. 创建 B1 - 规划草案
105
+ prd plan create B1
106
+ ```
107
+
108
+ 在 `B1_需求规划草案.md` 中描述:
109
+ - 规划目标(一句话)
110
+ - 使用场景(基于 A 类现状)
111
+ - 核心需求
112
+ - **重点**: 明确不做什么
113
+
114
+ ```bash
115
+ # 2. 创建 B2 - 规划拆解
116
+ prd plan create B2
117
+ ```
118
+
119
+ 在 `B2_规划拆解与范围界定.md` 中:
120
+ - 拆解需求项
121
+ - 排优先级
122
+ - 划边界
123
+
124
+ ```bash
125
+ # 3. 执行 R1 规划审视
126
+ prd review r1
127
+ ```
128
+
129
+ 这会:
130
+ 1. 显示 AI 审视指令
131
+ 2. 生成 `R1_规划审视报告.md` 模板
132
+
133
+ **与 AI 协作**:
134
+ ```
135
+ 请按照刚才显示的 R1 审视指令,
136
+ 审查 B1、B2 文档是否有资格冻结为 B3。
137
+
138
+ 请在 R1_规划审视报告.md 中填写审视结果。
139
+ ```
140
+
141
+ AI 会检查 5 个维度并给出结论:
142
+ - [ ] 通过
143
+ - [ ] 有条件通过
144
+ - [ ] 不通过
145
+
146
+ ```bash
147
+ # 4. 如果通过,冻结规划
148
+ prd plan freeze
149
+ ```
150
+
151
+ 生成 `B3_规划冻结归档.md`,**此后规划不可随意修改**。
152
+
153
+ ### 阶段四: 版本需求(C 阶段)
154
+
155
+ ```bash
156
+ # 1. 创建 C0 - 版本范围
157
+ prd version create C0
158
+ ```
159
+
160
+ 在 `C0_版本范围声明.md` 中:
161
+ - 版本目标(基于 B3)
162
+ - 本版包含什么
163
+ - 本版不包含什么
164
+
165
+ ```bash
166
+ # 2. 创建 C1 - 版本需求清单
167
+ prd version create C1
168
+ ```
169
+
170
+ 在 `C1_版本需求清单.md` 中:
171
+ - 逐条列出需求
172
+ - 每条说明目的
173
+ - 关键规则
174
+
175
+ ```bash
176
+ # 3. 执行 R2 版本审视
177
+ prd review r2
178
+ ```
179
+
180
+ AI 会检查:
181
+ - C0/C1 是否忠于 B3
182
+ - 有没有"顺手加戏"
183
+ - 需求粒度是否成熟
184
+
185
+ ```bash
186
+ # 4. 如果通过,冻结版本
187
+ prd version freeze
188
+ ```
189
+
190
+ 生成 `C3_版本冻结归档.md`,**标志产品需求阶段完成**。
191
+
192
+ ## 与 AI 协作
193
+
194
+ ### 场景一: R1 审视
195
+
196
+ ```
197
+ 我已经完成了 B1、B2 文档。
198
+
199
+ 请你扮演【产品规划审视官】,按照以下 5 个维度审视:
200
+ 1. 目标清晰性
201
+ 2. 场景真实性
202
+ 3. 现状一致性
203
+ 4. 范围收敛性
204
+ 5. 版本化准备度
205
+
206
+ 请参考:
207
+ - 01_产品基线/ 下的 A 类文档
208
+ - 当前迭代的 B1、B2 文档
209
+ - .agent/workflows/prd-r1-review.md 中的详细指令
210
+
211
+ 请在 R1_规划审视报告.md 中填写审视结果,
212
+ 并给出明确的通过/不通过结论。
213
+ ```
214
+
215
+ ### 场景二: R2 审视
216
+
217
+ ```
218
+ 请你扮演【版本一致性审视官】,检查:
219
+ C0、C1 是否忠实执行了 B3 的规划。
220
+
221
+ 审视维度:
222
+ 1. 版本目标一致性
223
+ 2. 版本范围偏移检查
224
+ 3. 规划覆盖完整性
225
+ 4. 需求粒度成熟度
226
+ 5. 进入执行准备度
227
+
228
+ 参考 .agent/workflows/prd-r2-review.md 中的详细指令,
229
+ 在 R2_版本审视报告.md 中填写结果。
230
+ ```
231
+
232
+ ### 场景三: 规划协作
233
+
234
+ ```
235
+ 我想为产品添加一个新功能。
236
+
237
+ 先帮我检查 R1 启动条件:
238
+ 1. 这个问题是否在 A1/A2 中有依据?
239
+ 2. 是否值得单独规划?
240
+ 3. 问题边界是否清楚?
241
+
242
+ 然后我们一起完成 B1 规划草案。
243
+ ```
244
+
245
+ ## 常见问题
246
+
247
+ ### Q1: 必须严格按顺序吗?
248
+
249
+ **A**: 是的。这是强制流程:
250
+ ```
251
+ A → R1 启动检查 → B1/B2 → R1 审视 → B3 → C0/C1 → R2 审视 → C3
252
+ ```
253
+
254
+ 任何跳过都可能导致:
255
+ - 规划膨胀
256
+ - 需求蔓延
257
+ - 反复返工
258
+
259
+ ### Q2: R1 不通过怎么办?
260
+
261
+ **A**: 有三种情况:
262
+
263
+ 1. **不通过**: 说明这个问题不该开启规划
264
+ - 可能是小修小补,不需要独立迭代
265
+ - 可能问题还没想清楚
266
+ - 建议: 先解决启动条件问题
267
+
268
+ 2. **有条件通过**: 补充指定内容后可通过
269
+ - 修改 B1/B2
270
+ - 重新执行 `prd review r1`
271
+
272
+ 3. **通过**: 执行 `prd plan freeze`
273
+
274
+ ### Q3: 基线文档一定要做吗?
275
+
276
+ **A**: 第一轮迭代前必须做,后续迭代可以:
277
+ - 直接使用(如果产品稳定)
278
+ - 更新(如果有重大变化)
279
+
280
+ **不做基线的风险**:
281
+ - AI 会假设不存在的能力
282
+ - 规划会"从零重建"
283
+ - 失去现状约束
284
+
285
+ ### Q4: 可以同时进行多个迭代吗?
286
+
287
+ **A**: 每个项目同时只能有一个活跃迭代。
288
+
289
+ 原因:
290
+ - 每个迭代都需要审视
291
+ - 并行会导致冲突和混乱
292
+
293
+ 如果有多个需求:
294
+ - 在 B2 中全部列出
295
+ - 排优先级
296
+ - 分批进入版本
297
+
298
+ ### Q5: B3 冻结后还能改吗?
299
+
300
+ **A**: 不建议,除非:
301
+ - 外部约束变化(如合规要求)
302
+ - 发现重大风险
303
+
304
+ 修改流程:
305
+ 1. 说明变更原因
306
+ 2. 更新 B3
307
+ 3. 重新执行 R1 审视
308
+ 4. 如果已进入 C 阶段,需要同步更新
309
+
310
+ ### Q6: 与传统 PRD 的区别?
311
+
312
+ **A**:
313
+
314
+ | 传统 PRD | 本工具 |
315
+ |----------|--------|
316
+ | 一次写完 | 分阶段,有闸门 |
317
+ | 想到哪写到哪 | 强制基于现状(A 类) |
318
+ | 需求容易膨胀 | R1/R2 审视控制 |
319
+ | 规划和版本混在一起 | B/C 严格分离 |
320
+ | 人工审查 | AI 可执行审视 |
321
+
322
+ ### Q7: 适合什么规模的项目?
323
+
324
+ **A**:
325
+
326
+ - ✅ **适合**: 需要多轮迭代的产品
327
+ - ✅ **适合**: 团队需要规范约束
328
+ - ✅ **适合**: 与 AI 协作开发
329
+ - ⚠️ **可选**: 一次性项目
330
+ - ⚠️ **可选**: 原型验证阶段
331
+
332
+ ## 下一步
333
+
334
+ 1. 📖 阅读 [文档结构说明](/原始资料素材/2、产品输出文档结构.md)
335
+ 2. 🔍 理解 [R1 启动条件](/原始资料素材/5、R1进入B1的条件.md)
336
+ 3. 🤖 学习 [R1、R2 审视指令](/原始资料素材/7、R1、R2审视指令.md)
337
+ 4. 📊 查看 [B3 与 C 的边界](/原始资料素材/8、B3 与 C0 、 C1 的边界定义.md)
338
+
339
+ ---
340
+
341
+ **记住**: 这个工具的核心价值不是"写更多文档",而是"防止写错误的文档"。