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/.agent/workflows/prd-b1-planning-draft.md +501 -0
- package/.agent/workflows/prd-b2-planning-breakdown.md +731 -0
- package/.agent/workflows/prd-c1-requirement-list.md +907 -0
- package/.agent/workflows/prd-c2-change-tracking.md +320 -0
- package/.agent/workflows/prd-dialog-archive.md +215 -0
- package/.agent/workflows/prd-p0-project-info.md +379 -0
- package/.agent/workflows/prd-r0-baseline-review.md +925 -0
- package/.agent/workflows/prd-r1-review.md +458 -0
- package/.agent/workflows/prd-r2-review.md +483 -0
- package/.antigravity/rules.md +238 -0
- package/.cursorrules +284 -0
- package/GUIDE.md +341 -0
- package/README.md +416 -0
- package/bin/prd-cli.js +134 -0
- package/commands/baseline.js +470 -0
- package/commands/change.js +151 -0
- package/commands/confirm.js +364 -0
- package/commands/dialog.js +227 -0
- package/commands/index.js +365 -0
- package/commands/init.js +357 -0
- package/commands/iteration.js +192 -0
- package/commands/planning.js +710 -0
- package/commands/review.js +444 -0
- package/commands/status.js +142 -0
- package/commands/upgrade.js +228 -0
- package/commands/version.js +794 -0
- package/package.json +74 -0
- package/scripts/postinstall.js +241 -0
- package/templates/README-FOR-NEW-USER.md +105 -0
- package/templates/dialog-template.md +109 -0
package/README.md
ADDED
|
@@ -0,0 +1,416 @@
|
|
|
1
|
+
# PRD Workflow CLI
|
|
2
|
+
|
|
3
|
+
> 产品需求管理规范命令行工具
|
|
4
|
+
> 基于 A→R→B→C 流程的严格需求管理系统
|
|
5
|
+
|
|
6
|
+

|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
## 📖 简介
|
|
10
|
+
|
|
11
|
+
这是一个基于严格产品需求管理规范的 CLI 工具,帮助产品团队和 AI 编程助手按照规范化流程完成需求管理工作。
|
|
12
|
+
|
|
13
|
+
### 核心特点
|
|
14
|
+
|
|
15
|
+
✅ **强制审视机制** - R1/R2 作为"闸门",必须通过才能进入下一阶段
|
|
16
|
+
✅ **文档模板化** - 每个阶段都有明确的文档结构和填写指引
|
|
17
|
+
✅ **AI 可执行** - 配合 Cursor、Codeium 等 AI IDE 使用
|
|
18
|
+
✅ **阶段清晰** - A(基线) → R(审视) → B(规划) → C(版本) 流程明确
|
|
19
|
+
✅ **防止失控** - 通过强制约束防止规划膨胀和需求蔓延
|
|
20
|
+
|
|
21
|
+
## 🎯 核心理念
|
|
22
|
+
|
|
23
|
+
### 工作流程
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
A 类(现状基线)
|
|
27
|
+
↓
|
|
28
|
+
R1 启动条件检查 → 不通过则停止
|
|
29
|
+
↓ 通过
|
|
30
|
+
B1/B2(需求规划)
|
|
31
|
+
↓
|
|
32
|
+
R1 规划审视 → 不通过则返回修改
|
|
33
|
+
↓ 通过
|
|
34
|
+
B3(规划冻结)
|
|
35
|
+
↓
|
|
36
|
+
C0/C1(版本需求)
|
|
37
|
+
↓
|
|
38
|
+
R2 版本审视 → 不通过则返回修改
|
|
39
|
+
↓ 通过
|
|
40
|
+
C3(版本冻结)
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### 关键原则
|
|
44
|
+
|
|
45
|
+
1. **R1 是启动闸门**: 必须满足三个条件才能开始规划
|
|
46
|
+
- 问题真实存在(基于 A 类现状)
|
|
47
|
+
- 值得单独规划(不是小修小补)
|
|
48
|
+
- 问题已理解清楚(不用规划来想问题)
|
|
49
|
+
|
|
50
|
+
2. **B3 是决策冻结**: 规划一旦冻结不可随意更改
|
|
51
|
+
|
|
52
|
+
3. **C 类不讨论方向**: 只执行已冻结的规划,不再讨论"该不该做"
|
|
53
|
+
|
|
54
|
+
4. **审视是强制的**: R1/R2 必须通过才能进入下一阶段
|
|
55
|
+
|
|
56
|
+
## 🚀 安装
|
|
57
|
+
|
|
58
|
+
### 方式1:从 GitHub 安装(推荐)
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
# 全局安装
|
|
62
|
+
npm install -g github:houtonghoutong/PRD-CLI#main
|
|
63
|
+
|
|
64
|
+
# 或使用 yarn
|
|
65
|
+
yarn global add github:houtonghoutong/PRD-CLI#main
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### 方式2:从源码安装
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
# 1. 克隆仓库
|
|
72
|
+
git clone https://github.com/houtonghoutong/PRD-CLI.git
|
|
73
|
+
cd PRD-CLI/prd-cli
|
|
74
|
+
|
|
75
|
+
# 2. 安装依赖
|
|
76
|
+
npm install
|
|
77
|
+
|
|
78
|
+
# 3. 全局链接
|
|
79
|
+
npm link
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### 方式3:npm 安装(即将上线)
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
# 稍后可用
|
|
86
|
+
npm install -g prd-workflow-cli
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
## 📝 快速开始
|
|
91
|
+
|
|
92
|
+
### 1. 初始化项目
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
prd init my-product
|
|
96
|
+
cd my-product
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
这将创建标准的目录结构:
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
my-product/
|
|
103
|
+
├── 00_项目总览/
|
|
104
|
+
│ └── P0_项目基本信息.md
|
|
105
|
+
├── 01_产品基线/
|
|
106
|
+
├── 02_迭代记录/
|
|
107
|
+
├── 99_归档区/
|
|
108
|
+
└── .agent/workflows/
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### 2. 建立产品基线(A 类文档)
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
# 创建基础文档
|
|
115
|
+
prd baseline create A0 # 产品基础与范围说明
|
|
116
|
+
prd baseline create A1 # 已上线功能与流程清单
|
|
117
|
+
prd baseline create A2 # 存量反馈与数据汇总
|
|
118
|
+
prd baseline create R0 # 基线审视报告
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### 3. 开始第一轮迭代
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
# 创建新迭代
|
|
125
|
+
prd iteration new
|
|
126
|
+
|
|
127
|
+
# 这会创建 R1_规划启动条件检查.md
|
|
128
|
+
# 填写并确认三个启动条件全部满足后,才能继续
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### 4. 需求规划(B 类文档)
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
# 创建规划文档
|
|
135
|
+
prd plan create B1 # 需求规划草案
|
|
136
|
+
prd plan create B2 # 规划拆解与范围界定
|
|
137
|
+
|
|
138
|
+
# 执行 R1 审视
|
|
139
|
+
prd review r1
|
|
140
|
+
|
|
141
|
+
# 如果通过,冻结规划
|
|
142
|
+
prd plan freeze # 生成 B3 规划冻结归档
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### 5. 版本需求(C 类文档)
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
# 创建版本文档
|
|
149
|
+
prd version create C0 # 版本范围声明
|
|
150
|
+
prd version create C1 # 版本需求清单
|
|
151
|
+
|
|
152
|
+
# 执行 R2 审视
|
|
153
|
+
prd review r2
|
|
154
|
+
|
|
155
|
+
# 如果通过,冻结版本
|
|
156
|
+
prd version freeze # 生成 C3 版本冻结归档
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### 6. 查看项目状态
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
prd status # 查看当前项目状态
|
|
163
|
+
prd iteration list # 查看所有迭代
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## 📚 命令参考
|
|
167
|
+
|
|
168
|
+
### 项目管理
|
|
169
|
+
|
|
170
|
+
| 命令 | 说明 |
|
|
171
|
+
|------|------|
|
|
172
|
+
| `prd init <name>` | 初始化新项目 |
|
|
173
|
+
| `prd status` | 查看项目状态 |
|
|
174
|
+
|
|
175
|
+
### 基线管理(A 类)
|
|
176
|
+
|
|
177
|
+
| 命令 | 说明 |
|
|
178
|
+
|------|------|
|
|
179
|
+
| `prd baseline create A0` | 创建产品基础与范围说明 |
|
|
180
|
+
| `prd baseline create A1` | 创建已上线功能与流程清单 |
|
|
181
|
+
| `prd baseline create A2` | 创建存量反馈与数据汇总 |
|
|
182
|
+
| `prd baseline create R0` | 创建基线审视报告 |
|
|
183
|
+
|
|
184
|
+
### 迭代管理
|
|
185
|
+
|
|
186
|
+
| 命令 | 说明 |
|
|
187
|
+
|------|------|
|
|
188
|
+
| `prd iteration new` | 开始新迭代 |
|
|
189
|
+
| `prd iteration list` | 列出所有迭代 |
|
|
190
|
+
| `prd iteration current` | 查看当前迭代 |
|
|
191
|
+
|
|
192
|
+
### 规划管理(B 类)
|
|
193
|
+
|
|
194
|
+
| 命令 | 说明 |
|
|
195
|
+
|------|------|
|
|
196
|
+
| `prd plan create B1` | 创建需求规划草案 |
|
|
197
|
+
| `prd plan create B2` | 创建规划拆解与范围界定 |
|
|
198
|
+
| `prd plan freeze` | 冻结规划(生成 B3) |
|
|
199
|
+
|
|
200
|
+
### 版本管理(C 类)
|
|
201
|
+
|
|
202
|
+
| 命令 | 说明 |
|
|
203
|
+
|------|------|
|
|
204
|
+
| `prd version create C0` | 创建版本范围声明 |
|
|
205
|
+
| `prd version create C1` | 创建版本需求清单 |
|
|
206
|
+
| `prd version freeze` | 冻结版本(生成 C3) |
|
|
207
|
+
|
|
208
|
+
### 审视管理(R 类)
|
|
209
|
+
|
|
210
|
+
| 命令 | 说明 |
|
|
211
|
+
|------|------|
|
|
212
|
+
| `prd review r1` | 执行 R1 规划审视 |
|
|
213
|
+
| `prd review r2` | 执行 R2 版本审视 |
|
|
214
|
+
|
|
215
|
+
## 🤖 与 AI IDE 集成
|
|
216
|
+
|
|
217
|
+
本工具专门设计用于与 AI 编程助手配合使用。
|
|
218
|
+
|
|
219
|
+
### Cursor / Windsurf / Codeium
|
|
220
|
+
|
|
221
|
+
工具会自动在项目中创建 `.agent/workflows/` 目录,包含可被 AI 调用的工作流文件。
|
|
222
|
+
|
|
223
|
+
在 AI 对话中使用:
|
|
224
|
+
|
|
225
|
+
```
|
|
226
|
+
// 执行 R1 审视
|
|
227
|
+
/prd-r1-review
|
|
228
|
+
|
|
229
|
+
// 执行 R2 审视
|
|
230
|
+
/prd-r2-review
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### AI 指令示例
|
|
234
|
+
|
|
235
|
+
**R1 规划审视**:
|
|
236
|
+
```
|
|
237
|
+
请按照 .agent/workflows/prd-r1-review.md 中的指令,
|
|
238
|
+
对当前的 B1、B2 文档执行 R1 规划审视。
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
**R2 版本审视**:
|
|
242
|
+
```
|
|
243
|
+
请按照 .agent/workflows/prd-r2-review.md 中的指令,
|
|
244
|
+
检查 C0、C1 是否忠实执行了 B3 的规划。
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
### 使用 ChatGPT / Claude / Kimi 等在线 AI
|
|
248
|
+
|
|
249
|
+
如果你使用的不是 IDE 内置的 AI,可以复制以下提示词到对话开始处:
|
|
250
|
+
|
|
251
|
+
<details>
|
|
252
|
+
<summary>📋 点击展开完整提示词</summary>
|
|
253
|
+
|
|
254
|
+
```
|
|
255
|
+
你是一个产品需求管理助手,帮助产品经理(PM)按照规范化流程完成需求文档。
|
|
256
|
+
|
|
257
|
+
# 你的角色
|
|
258
|
+
你是战略思维导师,不是自动化工具或速记员。
|
|
259
|
+
|
|
260
|
+
# 核心原则
|
|
261
|
+
PM 决策,AI 执行。你的职责是引导、提问、建议,不是替 PM 做决策。
|
|
262
|
+
|
|
263
|
+
# 工作流程
|
|
264
|
+
产品需求遵循 A → R → B → C 流程:
|
|
265
|
+
- A 类文档:产品基线(A0 产品基础、A1 功能清单、A2 用户反馈)
|
|
266
|
+
- R0:基线审视
|
|
267
|
+
- B 类文档:规划(B1 规划草案、B2 需求拆解、B3 规划冻结)
|
|
268
|
+
- R1:规划审视
|
|
269
|
+
- C 类文档:版本(C0 版本范围、C1 需求清单、C3 版本冻结)
|
|
270
|
+
- R2:版本审视
|
|
271
|
+
|
|
272
|
+
# 绝对禁止的行为
|
|
273
|
+
|
|
274
|
+
1. ❌ 禁止"快速完成模式"
|
|
275
|
+
如果 PM 说"帮我快速完成",你必须拒绝跳过流程。
|
|
276
|
+
|
|
277
|
+
2. ❌ 禁止未经对话就填充文档
|
|
278
|
+
创建 B1/B2/C1 后,必须通过对话逐项引导 PM 填写。
|
|
279
|
+
|
|
280
|
+
3. ❌ 禁止替 PM 做决策
|
|
281
|
+
优先级(P0/P1/P2)、首版范围、目标定义都由 PM 决定。
|
|
282
|
+
|
|
283
|
+
4. ❌ 禁止允许跳过必填内容
|
|
284
|
+
C1 的前 5 个维度(背景/描述/规则/验收/边界)是必填的。
|
|
285
|
+
|
|
286
|
+
5. ❌ 禁止在 C1 阶段加入新需求
|
|
287
|
+
C1 阶段发现新需求时,只能暂存到 A2,因为 B3 已冻结。
|
|
288
|
+
|
|
289
|
+
现在,请告诉我你想从哪个阶段开始,我会引导你完成。
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
</details>
|
|
293
|
+
|
|
294
|
+
**简化版提示词**(适合快速开始):
|
|
295
|
+
|
|
296
|
+
```
|
|
297
|
+
你是产品需求管理助手,帮助 PM 按照 A→R→B→C 流程完成需求文档。
|
|
298
|
+
核心规则:PM 决策,AI 执行,不替 PM 做决策,每个阶段都要充分对话。
|
|
299
|
+
请告诉我你想从哪个阶段开始。
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
## 📂 文档结构说明
|
|
303
|
+
|
|
304
|
+
### A 类 - 现状基线文档
|
|
305
|
+
|
|
306
|
+
用于建立产品现状的共识,不写规划和愿景。
|
|
307
|
+
|
|
308
|
+
- **A0**: 产品基础与范围说明
|
|
309
|
+
- **A1**: 已上线功能与流程清单
|
|
310
|
+
- **A2**: 存量反馈与数据汇总
|
|
311
|
+
- **R0**: 基线审视报告
|
|
312
|
+
|
|
313
|
+
### B 类 - 需求规划文档
|
|
314
|
+
|
|
315
|
+
定义"要不要做、做什么、做到什么程度"。
|
|
316
|
+
|
|
317
|
+
- **R1**: 规划启动条件检查
|
|
318
|
+
- **B1**: 需求规划草案
|
|
319
|
+
- **B2**: 规划拆解与范围界定
|
|
320
|
+
- **R1**: 规划审视报告(冻结前)
|
|
321
|
+
- **B3**: 规划冻结归档
|
|
322
|
+
|
|
323
|
+
### C 类 - 版本需求文档
|
|
324
|
+
|
|
325
|
+
将规划转化为可执行的版本需求。
|
|
326
|
+
|
|
327
|
+
- **C0**: 版本范围声明
|
|
328
|
+
- **C1**: 版本需求清单
|
|
329
|
+
- **R2**: 版本审视报告(冻结前)
|
|
330
|
+
- **C3**: 版本冻结归档
|
|
331
|
+
|
|
332
|
+
## 🔍 典型使用场景
|
|
333
|
+
|
|
334
|
+
### 场景一: 启动新产品
|
|
335
|
+
|
|
336
|
+
```bash
|
|
337
|
+
prd init new-product
|
|
338
|
+
cd new-product
|
|
339
|
+
prd baseline create A0
|
|
340
|
+
# 填写产品基础信息...
|
|
341
|
+
prd baseline create A1
|
|
342
|
+
# 梳理现有功能...
|
|
343
|
+
prd iteration new
|
|
344
|
+
# 开始第一轮规划...
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
### 场景二: 现有产品新增功能
|
|
348
|
+
|
|
349
|
+
```bash
|
|
350
|
+
cd existing-product
|
|
351
|
+
prd iteration new
|
|
352
|
+
# 填写 R1 启动条件检查
|
|
353
|
+
# 确认满足三个条件后...
|
|
354
|
+
prd plan create B1
|
|
355
|
+
# 与 AI 讨论规划草案...
|
|
356
|
+
prd review r1
|
|
357
|
+
# AI 执行审视并通过后...
|
|
358
|
+
prd plan freeze
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
### 场景三: 多轮迭代
|
|
362
|
+
|
|
363
|
+
```bash
|
|
364
|
+
prd iteration list # 查看历史迭代
|
|
365
|
+
prd iteration current # 确认当前迭代
|
|
366
|
+
prd iteration new # 开始新一轮
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
## ⚠️ 重要约束
|
|
370
|
+
|
|
371
|
+
### R1 启动条件(三个必须同时满足)
|
|
372
|
+
|
|
373
|
+
1. ✅ 问题真实存在(可在 A 类文档中找到依据)
|
|
374
|
+
2. ✅ 值得单独规划(不是小修小补)
|
|
375
|
+
3. ✅ 问题已理解清楚(边界明确)
|
|
376
|
+
|
|
377
|
+
### R1 规划审视(五个维度)
|
|
378
|
+
|
|
379
|
+
1. 目标清晰性
|
|
380
|
+
2. 场景真实性
|
|
381
|
+
3. 现状一致性
|
|
382
|
+
4. 范围收敛性
|
|
383
|
+
5. 版本化准备度
|
|
384
|
+
|
|
385
|
+
### R2 版本审视(五个维度)
|
|
386
|
+
|
|
387
|
+
1. 版本目标一致性
|
|
388
|
+
2. 版本范围偏移检查
|
|
389
|
+
3. 规划覆盖完整性
|
|
390
|
+
4. 需求粒度成熟度
|
|
391
|
+
5. 进入执行准备度
|
|
392
|
+
|
|
393
|
+
## 🛠️ 开发
|
|
394
|
+
|
|
395
|
+
```bash
|
|
396
|
+
git clone <repository>
|
|
397
|
+
cd prd-cli
|
|
398
|
+
npm install
|
|
399
|
+
npm link # 本地测试
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
## 📄 License
|
|
403
|
+
|
|
404
|
+
MIT
|
|
405
|
+
|
|
406
|
+
## 🤝 贡献
|
|
407
|
+
|
|
408
|
+
欢迎提交 Issue 和 Pull Request!
|
|
409
|
+
|
|
410
|
+
## 📮 反馈
|
|
411
|
+
|
|
412
|
+
如有问题或建议,请提交 Issue。
|
|
413
|
+
|
|
414
|
+
---
|
|
415
|
+
|
|
416
|
+
**核心价值**: 让 AI 从"陪你写需求"变成"帮你挡住不该写的需求"
|
package/bin/prd-cli.js
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const { Command } = require('commander');
|
|
4
|
+
const chalk = require('chalk');
|
|
5
|
+
const package = require('../package.json');
|
|
6
|
+
|
|
7
|
+
const program = new Command();
|
|
8
|
+
|
|
9
|
+
program
|
|
10
|
+
.name('prd')
|
|
11
|
+
.description('产品需求管理规范 CLI 工具 - 基于 A→R→B→C 流程')
|
|
12
|
+
.version(package.version);
|
|
13
|
+
|
|
14
|
+
// 初始化命令
|
|
15
|
+
program
|
|
16
|
+
.command('init <project-name>')
|
|
17
|
+
.description('初始化一个新的产品需求管理项目')
|
|
18
|
+
.action((projectName) => {
|
|
19
|
+
require('../commands/init')(projectName);
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
// 基线文档命令
|
|
23
|
+
program
|
|
24
|
+
.command('baseline <action> [type]')
|
|
25
|
+
.description('管理 A 类基线文档 (create A0|A1|A2|R0)')
|
|
26
|
+
.option('--pm-confirmed', 'PM 已在对话中确认,跳过交互式确认(仅用于 R0)')
|
|
27
|
+
.action((action, type, options) => {
|
|
28
|
+
require('../commands/baseline')(action, type, options);
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
// 迭代管理命令
|
|
32
|
+
program
|
|
33
|
+
.command('iteration <action>')
|
|
34
|
+
.description('管理迭代 (new|list|current)')
|
|
35
|
+
.action((action) => {
|
|
36
|
+
require('../commands/iteration')(action);
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
// 规划文档命令
|
|
40
|
+
program
|
|
41
|
+
.command('plan <action> [type]')
|
|
42
|
+
.description('管理 B 类规划文档 (create B1|B2, freeze)')
|
|
43
|
+
.option('--pm-confirmed', 'PM 已在对话中确认,跳过交互式确认')
|
|
44
|
+
.option('--pm-signature <name>', 'PM 签名(用于冻结操作)')
|
|
45
|
+
.action((action, type, options) => {
|
|
46
|
+
require('../commands/planning')(action, type, options);
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
// 审视命令
|
|
50
|
+
program
|
|
51
|
+
.command('review <type>')
|
|
52
|
+
.description('执行审视 (r1|r2)')
|
|
53
|
+
.option('--pm-confirmed', 'PM 已在对话中确认,跳过交互式确认')
|
|
54
|
+
.action((type, options) => {
|
|
55
|
+
require('../commands/review')(type, options);
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
// 版本文档命令
|
|
59
|
+
program
|
|
60
|
+
.command('version <action> [type]')
|
|
61
|
+
.description('管理 C 类版本文档 (create C0|C1, freeze)')
|
|
62
|
+
.option('--pm-confirmed', 'PM 已在对话中确认,跳过交互式确认')
|
|
63
|
+
.option('--pm-signature <name>', 'PM 签名(用于冻结操作)')
|
|
64
|
+
.action((action, type, options) => {
|
|
65
|
+
require('../commands/version')(action, type, options);
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
// 需求变更命令
|
|
69
|
+
program
|
|
70
|
+
.command('change')
|
|
71
|
+
.description('记录需求变更(自动判断当前状态)')
|
|
72
|
+
.action(() => {
|
|
73
|
+
require('../commands/change')();
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
// 状态查看命令
|
|
77
|
+
program
|
|
78
|
+
.command('status')
|
|
79
|
+
.description('查看当前项目状态和进度')
|
|
80
|
+
.action(() => {
|
|
81
|
+
require('../commands/status')();
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
// 迭代索引命令
|
|
85
|
+
program
|
|
86
|
+
.command('index')
|
|
87
|
+
.description('生成/更新 P1 迭代索引')
|
|
88
|
+
.action(() => {
|
|
89
|
+
require('../commands/index')();
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
// 升级命令
|
|
93
|
+
program
|
|
94
|
+
.command('upgrade')
|
|
95
|
+
.description('更新项目中的 workflows 和 AI 规则文件到最新版本')
|
|
96
|
+
.option('--force', '强制更新所有文件,即使内容相同')
|
|
97
|
+
.option('--dry-run', '预览模式,不实际更新文件')
|
|
98
|
+
.option('-v, --verbose', '显示详细信息,包括跳过的文件')
|
|
99
|
+
.action((options) => {
|
|
100
|
+
require('../commands/upgrade')(options);
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
// 帮助信息增强
|
|
104
|
+
program.on('--help', () => {
|
|
105
|
+
console.log('');
|
|
106
|
+
console.log(chalk.bold('典型工作流:'));
|
|
107
|
+
console.log(' 1. ' + chalk.cyan('prd init <项目名>') + ' # 初始化项目');
|
|
108
|
+
console.log(' 2. ' + chalk.cyan('prd baseline create A0') + ' # 创建产品基础文档');
|
|
109
|
+
console.log(' 3. ' + chalk.cyan('prd iteration new') + ' # 开始新迭代');
|
|
110
|
+
console.log(' 4. ' + chalk.cyan('prd plan create B1') + ' # 创建规划草案');
|
|
111
|
+
console.log(' 5. ' + chalk.cyan('prd review r1') + ' # R1 审视');
|
|
112
|
+
console.log(' 6. ' + chalk.cyan('prd plan freeze') + ' # 冻结规划(B3)');
|
|
113
|
+
console.log(' 7. ' + chalk.cyan('prd version create C0') + ' # 创建版本范围');
|
|
114
|
+
console.log(' 8. ' + chalk.cyan('prd review r2') + ' # R2 审视');
|
|
115
|
+
console.log(' 9. ' + chalk.cyan('prd version freeze') + ' # 冻结版本(C3)');
|
|
116
|
+
console.log('');
|
|
117
|
+
console.log(chalk.bold('文档说明:'));
|
|
118
|
+
console.log(' A 类 - 现状基线文档 (A0, A1, A2, R0)');
|
|
119
|
+
console.log(' B 类 - 需求规划文档 (B1, B2, B3)');
|
|
120
|
+
console.log(' C 类 - 版本需求文档 (C0, C1, C3)');
|
|
121
|
+
console.log(' R 类 - 审视报告 (R1, R2)');
|
|
122
|
+
console.log('');
|
|
123
|
+
console.log(chalk.bold('维护命令:'));
|
|
124
|
+
console.log(' ' + chalk.cyan('prd upgrade') + ' # 更新 workflows 和 AI 规则到最新版本');
|
|
125
|
+
console.log(' ' + chalk.cyan('prd upgrade --dry-run') + ' # 预览将要更新的文件');
|
|
126
|
+
console.log('');
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
program.parse(process.argv);
|
|
130
|
+
|
|
131
|
+
// 如果没有参数,显示帮助
|
|
132
|
+
if (!process.argv.slice(2).length) {
|
|
133
|
+
program.outputHelp();
|
|
134
|
+
}
|