prd-workflow-cli 1.4.0 → 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.
package/GUIDE.md CHANGED
@@ -1,341 +1,248 @@
1
- # PRD Workflow CLI - 使用指南
1
+ # PRD Workflow CLI - 快速使用指南
2
+
3
+ > 本指南帮助你快速上手 PRD-CLI 工具
4
+
5
+ ---
2
6
 
3
7
  ## 目录
4
- - [快速上手](#快速上手)
5
- - [完整工作流示例](#完整工作流示例)
8
+
9
+ - [核心概念](#核心概念)
10
+ - [完整工作流](#完整工作流)
6
11
  - [与 AI 协作](#与-ai-协作)
7
12
  - [常见问题](#常见问题)
8
13
 
9
- ## 快速上手
14
+ ---
10
15
 
11
- ### 第一次使用
16
+ ## 核心概念
12
17
 
13
- ```bash
14
- # 1. 安装
15
- npm install -g prd-workflow-cli
18
+ ### 术语表
16
19
 
17
- # 2. 初始化项目
18
- prd init my-product
19
- cd my-product
20
+ | 术语 | 全称 | 说明 |
21
+ |------|------|------|
22
+ | **IT** | INVEST User Story | 符合 INVEST 原则的用户故事 |
23
+ | **BIZ** | Business Specification | 业务需求规格(给业务方看) |
24
+ | **DEV** | Development Specification | 技术规格说明(给开发看) |
25
+ | **R1** | Review 1 | 规划审视(B 阶段结束时) |
26
+ | **R2** | Review 2 | 版本审视(IT 完成后) |
27
+ | **PM** | Product Manager | 产品经理 |
20
28
 
21
- # 3. 查看项目结构
22
- tree -L 2
23
- ```
29
+ ### 什么是 INVEST?
30
+
31
+ IT 代表 INVEST 用户故事,必须满足:
32
+
33
+ - **I**ndependent(独立的)- 每个 IT 可独立交付
34
+ - **N**egotiable(可协商的)- 细节可讨论
35
+ - **V**aluable(有价值的)- 对用户有明确价值
36
+ - **E**stimable(可估算的)- 开发可评估工作量
37
+ - **S**mall(小的)- 可在一个迭代内完成
38
+ - **T**estable(可测试的)- 有明确验收标准
39
+
40
+ ### 流程总览
24
41
 
25
- 你会看到:
26
42
  ```
27
- my-product/
28
- ├── 00_项目总览/
29
- └── P0_项目基本信息.md
30
- ├── 01_产品基线/
31
- ├── 02_迭代记录/
32
- ├── 99_归档区/
33
- ├── .agent/workflows/
34
- └── README.md
43
+ A 阶段(基线)→ B 阶段(规划)→ IT 阶段(用户故事)→ C 阶段(版本冻结)
44
+ ↑ ↑ ↑ ↑
45
+ AI 生成 PM+AI 对话 PM+AI 对话 AI 自动生成
35
46
  ```
36
47
 
37
- ## 完整工作流示例
48
+ ---
49
+
50
+ ## 完整工作流
38
51
 
39
- ### 阶段一: 建立基线(首次必做)
52
+ ### 阶段一:建立基线(首次必做)
40
53
 
41
54
  ```bash
42
- # 1. 创建 A0 - 产品基础与范围说明
43
- prd baseline create A0
55
+ # 1. 初始化项目
56
+ prd init my-product
57
+ cd my-product
44
58
  ```
45
59
 
46
- 打开 `01_产品基线/A0_产品基础与范围说明.md`,填写:
60
+ #### A0 - 产品定义(PM 手动填写)
61
+
62
+ 打开 `01_产品基线/A0_产品基础与范围说明.md`,填写:
63
+
47
64
  - 产品是什么
48
65
  - 目标用户
49
66
  - 核心场景
50
67
  - **重点**: 当前不支持什么
51
68
 
52
- ```bash
53
- # 2. 创建 A1 - 已上线功能清单
54
- prd baseline create A1
55
- ```
56
-
57
- 列出所有**已存在**的功能和用户路径,不要写"期望有的"。
69
+ #### A1 - 代码功能快照(AI 自动生成)
58
70
 
59
- ```bash
60
- # 3. 创建 A2 - 存量反馈汇总
61
- prd baseline create A2
62
71
  ```
63
-
64
- 整理用户反馈、数据异常、已知问题。
65
-
66
- ```bash
67
- # 4. 创建 R0 - 基线审视
68
- prd baseline create R0
72
+ 💡 使用 /prd-a1-scan 让 AI 自动扫描代码生成
69
73
  ```
70
74
 
71
- 从头到尾走一遍系统,确认基线稳定。
75
+ > ⚠️ A1 禁止手动维护!由 AI 根据代码自动生成。
72
76
 
73
- ✅ **基线完成后,可以开始第一轮迭代**
77
+ ---
74
78
 
75
- ### 阶段二: 启动迭代(每轮必做)
79
+ ### 阶段二:需求规划(B 阶段)
76
80
 
77
81
  ```bash
78
- # 开始新迭代
82
+ # 1. 开始新迭代
79
83
  prd iteration new
80
- ```
81
84
 
82
- 这会在 `02_迭代记录/第01轮迭代/` 下创建 `R1_规划启动条件检查.md`。
83
-
84
- **重要**: 填写并确认三个条件:
85
-
86
- 1. ✅ 问题真实存在
87
- - 在 A1 中能找到对应的功能或路径断点
88
- - 或在 A2 中有用户反馈/数据支撑
89
-
90
- 2. ✅ 值得单独规划
91
- - 不是"顺手改一下"
92
- - 会显著影响核心路径
85
+ # 2. 创建规划文档
86
+ prd plan create B
87
+ ```
93
88
 
94
- 3. 问题已理解清楚
95
- - 知道是哪个用户
96
- - 知道在哪个场景
97
- - 边界清晰
89
+ #### B 规划文档结构
98
90
 
99
- ⚠️ **如果任何一条不满足,不要继续!**
91
+ `B_规划文档.md` 包含以下部分(由 PM 与 AI 对话完成):
100
92
 
101
- ### 阶段三: 需求规划(B 阶段)
93
+ | 章节 | 内容 | 填写方式 |
94
+ |------|------|---------|
95
+ | 1. 启动检查 | 问题真实?值得做?边界清? | PM 确认 ✅ |
96
+ | 2. 核心问题 | 要解决什么、期望结果、不做什么 | PM 回答 AI 提问 |
97
+ | 3. 需求拆解 | 需求列表、优先级、首版范围 | PM 决策 |
98
+ | 4. PM 确认 | 签名确认 | PM 签字 |
102
99
 
103
100
  ```bash
104
- # 1. 创建 B1 - 规划草案
105
- prd plan create B1
101
+ # 3. 冻结规划(自动执行 R1 审视)
102
+ prd plan freeze
106
103
  ```
107
104
 
108
- `B1_需求规划草案.md` 中描述:
109
- - 规划目标(一句话)
110
- - 使用场景(基于 A 类现状)
111
- - 核心需求
112
- - **重点**: 明确不做什么
105
+ `freeze` 命令会自动:
106
+ 1. 检查文档完整性
107
+ 2. 执行 R1 审视
108
+ 3. 通过后生成 `B3_规划冻结归档.md`
113
109
 
114
- ```bash
115
- # 2. 创建 B2 - 规划拆解
116
- prd plan create B2
117
- ```
110
+ ---
111
+
112
+ ### 阶段三:IT 用户故事
118
113
 
119
- `B2_规划拆解与范围界定.md` 中:
120
- - 拆解需求项
121
- - 排优先级
122
- - 划边界
114
+ v1.5.0 引入 INVEST 原则的 **IT 用户故事**,严格区分 BIZ 与 DEV。
123
115
 
124
116
  ```bash
125
- # 3. 执行 R1 规划审视
126
- prd review r1
117
+ # 1. 创建 IT(自动生成 BIZ + DEV 两个文件)
118
+ prd it create "批量导出功能"
127
119
  ```
128
120
 
129
- 这会:
130
- 1. 显示 AI 审视指令
131
- 2. 生成 `R1_规划审视报告.md` 模板
132
-
133
- **与 AI 协作**:
121
+ 生成:
134
122
  ```
135
- 请按照刚才显示的 R1 审视指令,
136
- 审查 B1、B2 文档是否有资格冻结为 B3。
137
-
138
- 请在 R1_规划审视报告.md 中填写审视结果。
123
+ IT/IT-001-批量导出功能/
124
+ ├── IT-001-BIZ.md # 业务需求
125
+ └── IT-001-DEV.md # 技术规格
139
126
  ```
140
127
 
141
- AI 会检查 5 个维度并给出结论:
142
- - [ ] 通过
143
- - [ ] 有条件通过
144
- - [ ] 不通过
128
+ #### IT-BIZ(业务需求)
129
+
130
+ | 只写 | ❌ 不写 |
131
+ |---------|---------|
132
+ | 用户是谁 | API 接口 |
133
+ | 做什么 | 数据库设计 |
134
+ | 价值 | 按钮位置 |
135
+ | 验收标准 (AC) | 技术实现细节 |
145
136
 
146
- ```bash
147
- # 4. 如果通过,冻结规划
148
- prd plan freeze
137
+ ```
138
+ 💡 使用 /prd-it-biz 工作流让 AI 引导你填写
149
139
  ```
150
140
 
151
- 生成 `B3_规划冻结归档.md`,**此后规划不可随意修改**。
141
+ #### IT-DEV(技术规格)
152
142
 
153
- ### 阶段四: 版本需求(C 阶段)
143
+ | AI 会做 | ❌ AI 不会做 |
144
+ |------------|-------------|
145
+ | 生成模板 | 编造 API |
146
+ | 分析影响范围 | 编造 SQL |
147
+ | 记录技术问答 | 编造算法细节 |
154
148
 
155
- ```bash
156
- # 1. 创建 C0 - 版本范围
157
- prd version create C0
158
149
  ```
159
-
160
- 在 `C0_版本范围声明.md` 中:
161
- - 版本目标(基于 B3)
162
- - 本版包含什么
163
- - 本版不包含什么
164
-
165
- ```bash
166
- # 2. 创建 C1 - 版本需求清单
167
- prd version create C1
150
+ 💡 技术细节需要通过对话询问技术负责人,AI 只记录答案
168
151
  ```
169
152
 
170
- 在 `C1_版本需求清单.md` 中:
171
- - 逐条列出需求
172
- - 每条说明目的
173
- - 关键规则
174
-
175
- ```bash
176
- # 3. 执行 R2 版本审视
177
- prd review r2
178
- ```
153
+ ---
179
154
 
180
- AI 会检查:
181
- - C0/C1 是否忠于 B3
182
- - 有没有"顺手加戏"
183
- - 需求粒度是否成熟
155
+ ### 阶段四:版本冻结(C 阶段)
184
156
 
185
157
  ```bash
186
- # 4. 如果通过,冻结版本
158
+ # 冻结版本(自动执行 R2 审视)
187
159
  prd version freeze
188
160
  ```
189
161
 
190
- 生成 `C3_版本冻结归档.md`,**标志产品需求阶段完成**。
162
+ `freeze` 命令会自动:
163
+ 1. 执行 R2 审视(检查 IT 是否忠实于 B3)
164
+ 2. 汇总所有 IT 文档
165
+ 3. 生成 `C3_版本冻结归档.md`
166
+ 4. PM 只需签名确认
167
+
168
+ ---
191
169
 
192
170
  ## 与 AI 协作
193
171
 
194
- ### 场景一: R1 审视
172
+ ### 场景一:IT-BIZ 编写
195
173
 
196
174
  ```
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 审视
175
+ 用户: 我想写"批量导出"的业务需求
216
176
 
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
- ```
177
+ AI: 好的,请告诉我:
178
+ 1. 谁使用这个功能?
179
+ 2. 在什么场景下使用?
180
+ 3. 期望达到什么效果?
231
181
 
232
- ### 场景三: 规划协作
182
+ 用户: 运营人员...
233
183
 
184
+ AI: (根据回答生成 IT-xxx-BIZ.md)
234
185
  ```
235
- 我想为产品添加一个新功能。
236
186
 
237
- 先帮我检查 R1 启动条件:
238
- 1. 这个问题是否在 A1/A2 中有依据?
239
- 2. 是否值得单独规划?
240
- 3. 问题边界是否清楚?
187
+ ### 场景二:IT-DEV 填充
241
188
 
242
- 然后我们一起完成 B1 规划草案。
243
189
  ```
190
+ 用户: 现在写 DEV 文档
244
191
 
245
- ## 常见问题
192
+ AI: 好的,已生成模板。请技术负责人确认:
193
+ 1. 涉及哪些 API 变更?
194
+ 2. 需要修改哪些数据表?
195
+ 3. 异常情况如何处理?
246
196
 
247
- ### Q1: 必须严格按顺序吗?
197
+ 用户: 需要新增一个 /api/export 接口...
248
198
 
249
- **A**: 是的。这是强制流程:
199
+ AI: (记录回答,不编造细节)
250
200
  ```
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
201
 
272
- 3. **通过**: 执行 `prd plan freeze`
202
+ ### 场景三:A2UI 可视化
273
203
 
274
- ### Q3: 基线文档一定要做吗?
275
-
276
- **A**: 第一轮迭代前必须做,后续迭代可以:
277
- - 直接使用(如果产品稳定)
278
- - 更新(如果有重大变化)
204
+ ```
205
+ 用户: 这个页面顶部有个搜索栏,下面是列表
279
206
 
280
- **不做基线的风险**:
281
- - AI 会假设不存在的能力
282
- - 规划会"从零重建"
283
- - 失去现状约束
207
+ AI: 收到,我为您生成界面原型图...
208
+ (自动生成并提示刷新预览)
209
+ ```
284
210
 
285
- ### Q4: 可以同时进行多个迭代吗?
211
+ ---
286
212
 
287
- **A**: 每个项目同时只能有一个活跃迭代。
213
+ ## 常见问题
288
214
 
289
- 原因:
290
- - 每个迭代都需要审视
291
- - 并行会导致冲突和混乱
215
+ ### Q1: 为什么废弃了 B1/B2?
292
216
 
293
- 如果有多个需求:
294
- - 在 B2 中全部列出
295
- - 排优先级
296
- - 分批进入版本
217
+ **A**: 为了简化流程。v1.5.0 将规划、拆解、审视整合到一个 `B_规划文档` 中,减少文件切换。
297
218
 
298
- ### Q5: B3 冻结后还能改吗?
219
+ ### Q2: 为什么一定要分 BIZ 和 DEV?
299
220
 
300
- **A**: 不建议,除非:
301
- - 外部约束变化(如合规要求)
302
- - 发现重大风险
221
+ **A**:
222
+ - **BIZ** 是给老板、业务方看的,承诺"做什么"
223
+ - **DEV** 是给开发看的,指导"怎么做"
224
+ - 混合在一起会导致逻辑混乱,且容易让 AI 产生幻觉
303
225
 
304
- 修改流程:
305
- 1. 说明变更原因
306
- 2. 更新 B3
307
- 3. 重新执行 R1 审视
308
- 4. 如果已进入 C 阶段,需要同步更新
226
+ ### Q3: AI 为什么不帮我写 SQL 了?
309
227
 
310
- ### Q6: 与传统 PRD 的区别?
228
+ **A**: v1.5.0 增加了严格的防幻觉限制。AI 不了解你的私有数据库结构,编造 SQL 只会误导开发。AI 的角色转变为"引导者"和"记录员"。
311
229
 
312
- **A**:
230
+ ### Q4: 必须每个 IT 都写吗?
313
231
 
314
- | 传统 PRD | 本工具 |
315
- |----------|--------|
316
- | 一次写完 | 分阶段,有闸门 |
317
- | 想到哪写到哪 | 强制基于现状(A 类) |
318
- | 需求容易膨胀 | R1/R2 审视控制 |
319
- | 规划和版本混在一起 | B/C 严格分离 |
320
- | 人工审查 | AI 可执行审视 |
232
+ **A**: 是的。每个独立的功能点(User Story)都应该由 BIZ + DEV 组成。微小改动可以合并,但必须保持结构。
321
233
 
322
- ### Q7: 适合什么规模的项目?
234
+ ### Q5: C0 和 C1 去哪了?
323
235
 
324
- **A**:
236
+ **A**: 已废弃。C0/C1 的功能被 IT 用户故事替代。C3 由 `prd version freeze` 自动生成。
325
237
 
326
- - ✅ **适合**: 需要多轮迭代的产品
327
- - ✅ **适合**: 团队需要规范约束
328
- - ✅ **适合**: 与 AI 协作开发
329
- - ⚠️ **可选**: 一次性项目
330
- - ⚠️ **可选**: 原型验证阶段
238
+ ---
331
239
 
332
240
  ## 下一步
333
241
 
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)
242
+ 1. 📖 阅读 [README.md](./README.md) 了解完整功能
243
+ 2. 🤖 体验 `/prd-a1-scan`、`/prd-it-biz`、`/prd-it-dev` 工作流
244
+ 3. 📝 查看 [CHANGELOG.md](./CHANGELOG.md) 了解版本历史
338
245
 
339
246
  ---
340
247
 
341
- **记住**: 这个工具的核心价值不是"写更多文档",而是"防止写错误的文档"。
248
+ **记住**: 这个工具的核心价值不是"写更多文档",而是"防止写错误的文档"。