prd-workflow-cli 1.1.33 → 1.3.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,242 @@
1
+ ---
2
+ description: A2UI 可视化指南 - 架构图与界面原型
3
+ ---
4
+
5
+ # A2UI 可视化指南
6
+
7
+ **本文档是所有阶段共享的 A2UI 组件库和规范。**
8
+
9
+ - **P0 阶段**:使用架构图组件生成项目架构图
10
+ - **B1/B2 阶段**:使用架构图组件生成模块架构图、需求结构图
11
+ - **C1 阶段**:使用界面原型组件生成交互界面
12
+
13
+ ---
14
+
15
+ ## 🚀 A2UI 工作流核心机制
16
+
17
+ 1. **AI 生成数据**:根据 PM 描述生成标准 JSON 数据
18
+ 2. **自动写入**:AI 将数据写入 `.a2ui/current.json` 文件
19
+ 3. **实时预览**:PM 运行 `prd ui` 在浏览器中查看
20
+ 4. **迭代修改**:PM 提出反馈,AI 修改 JSON,PM 刷新浏览器
21
+ 5. **正式保存**:PM 确认后,AI 保存到正式目录
22
+
23
+ ---
24
+
25
+ ## 🏗️ 第一部分:架构图组件(P0/B1/B2 阶段)
26
+
27
+ ### 适用场景
28
+
29
+ | 阶段 | 使用场景 |
30
+ |------|---------|
31
+ | **P0** | 项目整体架构、技术架构、干系人关系 |
32
+ | **B1** | 系统模块架构、功能结构 |
33
+ | **B2** | 需求结构图、依赖关系图、优先级矩阵 |
34
+
35
+ ### 组件列表
36
+
37
+ | 组件 | 说明 | 属性 |
38
+ |------|------|------|
39
+ | **Diagram** | 架构图容器(紫色渐变背景) | `title`, `children` |
40
+ | **Layer** | 层级分区(水平排列子元素) | `title`, `children` |
41
+ | **DiagramGroup** | 虚线分组框 | `title`, `children` |
42
+ | **Box** | 模块方框 | `title`, `desc`, `color` |
43
+ | **Arrow** | 连接箭头 | `direction`, `label` |
44
+
45
+ ### 基础 JSON 结构
46
+
47
+ ```json
48
+ {
49
+ "type": "Page",
50
+ "title": "系统架构图",
51
+ "children": [
52
+ {
53
+ "type": "Diagram",
54
+ "title": "产品管理系统架构",
55
+ "children": [
56
+ {
57
+ "type": "Layer",
58
+ "title": "用户层",
59
+ "children": [
60
+ { "type": "Box", "title": "产品经理", "desc": "需求规划", "color": "#3b82f6" },
61
+ { "type": "Box", "title": "开发团队", "desc": "技术实现", "color": "#10b981" }
62
+ ]
63
+ },
64
+ { "type": "Arrow", "direction": "down", "label": "需求流转" },
65
+ {
66
+ "type": "DiagramGroup",
67
+ "title": "核心模块",
68
+ "children": [
69
+ { "type": "Box", "title": "需求管理", "color": "#8b5cf6" },
70
+ { "type": "Box", "title": "版本规划", "color": "#8b5cf6" }
71
+ ]
72
+ }
73
+ ]
74
+ }
75
+ ]
76
+ }
77
+ ```
78
+
79
+ ### 保存规则
80
+
81
+ | 阶段 | 保存位置 |
82
+ |------|---------|
83
+ | **P0** | `00_项目总览/P0_架构图/` |
84
+ | **B1** | `02_迭代记录/第XX轮迭代/B1_架构图/` |
85
+ | **B2** | `02_迭代记录/第XX轮迭代/B2_架构图/` |
86
+
87
+ **保存文件**:`.json` + `.html`
88
+
89
+ ---
90
+
91
+ ## 🎨 第二部分:界面原型组件(C1 阶段)
92
+
93
+ ### 适用场景
94
+
95
+ | 使用场景 |
96
+ |---------|
97
+ | 表单页面、列表页面、详情页面 |
98
+ | 按钮、输入框、文本展示 |
99
+ | 布局结构(水平/垂直) |
100
+
101
+ ### 组件列表
102
+
103
+ #### 布局组件
104
+
105
+ | 组件 | 说明 | 属性 |
106
+ |------|------|------|
107
+ | **Page** | 根节点/页面 | `title`, `children` |
108
+ | **Panel** | 带边框面板 | `title`, `children` |
109
+ | **Row** | 水平布局 | `children` |
110
+ | **Col** | 垂直/列布局 | `children` |
111
+ | **Divider** | 分隔线 | - |
112
+
113
+ #### 表单组件
114
+
115
+ | 组件 | 说明 | 属性 |
116
+ |------|------|------|
117
+ | **Input** | 输入框 | `label`, `placeholder`, `type`, `required` |
118
+ | **Textarea** | 多行输入 | `label`, `placeholder`, `rows` |
119
+ | **Select** | 下拉选择 | `label`, `options` (数组) |
120
+ | **Button** | 按钮 | `text`, `variant` (primary/secondary/success/danger) |
121
+
122
+ #### 展示组件
123
+
124
+ | 组件 | 说明 | 属性 |
125
+ |------|------|------|
126
+ | **Text** | 纯文本 | `content` |
127
+ | **Badge** | 徽章标签 | `text`, `variant` (primary/success/warning/danger) |
128
+ | **Alert** | 提示信息框 | `content`, `variant` (info/success/warning/danger) |
129
+
130
+ #### 数据组件
131
+
132
+ | 组件 | 说明 | 属性 |
133
+ |------|------|------|
134
+ | **Table** | 表格 | `columns`, `data` |
135
+ | **Card** | 卡片列表项 | `title`, `desc`, `actions` |
136
+ | **Tabs** | 标签页导航 | `items` (字符串数组) |
137
+ | **Upload** | 文件上传区 | `text` |
138
+
139
+ ### 基础 JSON 结构
140
+
141
+ ```json
142
+ {
143
+ "type": "Page",
144
+ "title": "用户登录",
145
+ "children": [
146
+ {
147
+ "type": "Panel",
148
+ "title": "填写账户信息",
149
+ "children": [
150
+ { "type": "Input", "label": "用户名", "placeholder": "请输入用户名" },
151
+ { "type": "Input", "label": "密码", "placeholder": "请输入密码" },
152
+ { "type": "Button", "text": "登录" }
153
+ ]
154
+ }
155
+ ]
156
+ }
157
+ ```
158
+
159
+ ### 保存规则
160
+
161
+ **保存位置**:`02_迭代记录/第XX轮迭代/C1_UI原型/`
162
+
163
+ **保存文件**:
164
+ - `REQ-001-界面名称.json` - 数据结构
165
+ - `REQ-001-界面名称.html` - 独立预览文件(内嵌渲染器)
166
+ - `index.md` - 索引目录
167
+
168
+ ### AI 保存流程
169
+
170
+ ```
171
+ 1. PM 确认:"这个界面可以了"
172
+
173
+ 2. AI 询问:请告诉我需求编号(如 REQ-001)
174
+
175
+ 3. AI 生成 3 个文件:.json + .html + 更新 index.md
176
+
177
+ 4. AI 确认:
178
+ "✅ 界面原型已保存!
179
+ 📁 位置:02_迭代记录/第01轮迭代/C1_UI原型/"
180
+ ```
181
+
182
+ ### HTML 预览文件要求
183
+
184
+ 1. 包含完整的 CSS 样式
185
+ 2. 包含完整的渲染引擎 JS 代码
186
+ 3. 内嵌 JSON 数据(不依赖外部文件)
187
+ 4. 顶部显示需求编号、界面名称、确认时间
188
+ 5. 可以脱离服务器,双击直接打开
189
+
190
+ ---
191
+
192
+ ## 📝 第三部分:通用规范
193
+
194
+ ### AI 触发流程
195
+
196
+ ```
197
+ 1. PM 描述结构/界面
198
+
199
+ 2. AI 识别关键词("系统模块"、"页面"、"表单"等)
200
+
201
+ 3. AI 主动提议:"让我生成一个可视化的图..."
202
+
203
+ 4. AI 生成 JSON 并写入 `.a2ui/current.json`
204
+
205
+ 5. AI 提示:👉 请刷新浏览器 (http://localhost:3333) 查看
206
+
207
+ 6. PM 反馈 → AI 迭代修改 → PM 确认 → AI 正式保存
208
+ ```
209
+
210
+ ### 在 Markdown 中嵌入预览
211
+
212
+ ```markdown
213
+ ## 系统架构图
214
+
215
+ > 查看 [系统架构图](./B1_架构图/架构图-系统架构.html)
216
+
217
+ <!-- 或使用 iframe(部分编辑器支持)-->
218
+ <iframe src="./B1_架构图/架构图-系统架构.html" width="100%" height="400"></iframe>
219
+ ```
220
+
221
+ ### index.md 索引文件格式
222
+
223
+ ```markdown
224
+ # UI 原型索引
225
+
226
+ | 编号 | 名称 | 👁️ 预览 | 📄 数据 | 确认时间 |
227
+ |------|------|--------|--------|---------|
228
+ | REQ-001 | 登录页 | [.html](./REQ-001-登录页.html) | [.json](./REQ-001-登录页.json) | 2025-12-28 |
229
+ ```
230
+
231
+ ---
232
+
233
+ ## 🚫 AI 避坑指南
234
+
235
+ 1. **不要编造组件**:只能使用本文档定义的组件
236
+ 2. **不要忘记写入**:必须调用 `write_to_file` 写入 `.a2ui/current.json`
237
+ 3. **不要跳过保存**:PM 确认后必须正式保存
238
+ 4. **不要混淆阶段**:架构图用于 P0/B1/B2,界面原型用于 C1
239
+
240
+ ---
241
+
242
+ **本文档是所有阶段的 A2UI 统一规范,AI 在任何阶段使用 A2UI 时都应参考此文档。**
@@ -78,6 +78,74 @@ AI: "⚠️ 我注意到 B1 文档中已经有内容了。
78
78
 
79
79
  ---
80
80
 
81
+ ## 🎨 A2UI 架构图触发规则(B1 阶段)
82
+
83
+ **当 PM 在 B1 讨论中描述系统/模块/功能结构时,AI 必须主动生成架构图。**
84
+
85
+ ### 触发信号词
86
+
87
+ | PM 提到的内容 | AI 触发行为 |
88
+ |-------------|-----------|
89
+ | "系统包含几个模块..." | ✅ 主动生成架构图 |
90
+ | "用户流程是这样的..." | ✅ 主动生成流程图 |
91
+ | "主要功能有三块..." | ✅ 主动生成功能结构图 |
92
+ | "分为前端和后端..." | ✅ 主动生成架构图 |
93
+
94
+ ### AI 执行流程
95
+
96
+ ```
97
+ 1. PM 描述系统/模块结构
98
+
99
+ 2. AI 识别到架构描述
100
+
101
+ 3. AI 主动提议:
102
+ "我注意到您在描述系统结构。
103
+ 让我生成一个可视化的架构图帮助理解。
104
+
105
+ 稍等,正在生成..."
106
+
107
+ 4. AI 生成 Diagram JSON 并写入 `.a2ui/current.json`
108
+
109
+ 5. AI 提示:
110
+ "✅ 已生成架构图!
111
+
112
+ 👉 请刷新浏览器 (http://localhost:3333) 查看。
113
+
114
+ 这个结构是否准确?需要调整吗?"
115
+ ```
116
+
117
+ ### 架构图组件
118
+
119
+ 使用 `Diagram`, `Layer`, `DiagramGroup`, `Box`, `Arrow` 组件。
120
+ 详见:`prd-a2ui-guide.md`
121
+
122
+ ### 架构图保存规则
123
+
124
+ **当 PM 确认架构图后,AI 必须正式保存:**
125
+
126
+ ```
127
+ 1. PM 确认:"这个架构图可以了"
128
+
129
+ 2. AI 正式保存(生成 2 个文件):
130
+ a) 架构图-系统架构.json - JSON 数据
131
+ b) 架构图-系统架构.html - 独立 HTML 预览
132
+ 保存位置:02_迭代记录/第XX轮迭代/B1_架构图/
133
+
134
+ 3. AI 在 B1 文档中嵌入链接或 iframe:
135
+ ```markdown
136
+ ## 系统架构图
137
+
138
+ > 查看 [系统架构图](./B1_架构图/架构图-系统架构.html)
139
+ ```
140
+
141
+ 4. AI 确认:
142
+ "✅ 架构图已正式保存!
143
+ 📁 位置:02_迭代记录/第XX轮迭代/B1_架构图/架构图-系统架构.html
144
+ 已在 B1 文档中嵌入链接。"
145
+ ```
146
+
147
+ ---
148
+
81
149
  ## 正确的 B1 填写启动方式
82
150
 
83
151
  ### ❌ 错误示例(直接填充)
@@ -63,6 +63,50 @@ AI: "✅ B2_规划拆解与范围界定.md 已创建。
63
63
 
64
64
  ---
65
65
 
66
+ ## 🎨 A2UI 架构图触发规则(B2 阶段)
67
+
68
+ **当 PM 在 B2 拆解过程中描述需求结构、模块依赖时,AI 必须主动生成可视化图。**
69
+
70
+ ### 触发信号词
71
+
72
+ | PM 提到的内容 | AI 触发行为 |
73
+ |-------------|-----------|
74
+ | "这个需求分为三部分..." | ✅ 主动生成需求结构图 |
75
+ | "A 依赖 B,B 依赖 C..." | ✅ 主动生成依赖关系图 |
76
+ | "首版做这几个,二版做那几个..." | ✅ 主动生成版本范围图 |
77
+ | "P0 有这些,P1 有那些..." | ✅ 主动生成优先级矩阵图 |
78
+
79
+ ### AI 执行流程
80
+
81
+ ```
82
+ 1. PM 描述需求结构/依赖关系
83
+
84
+ 2. AI 识别到结构描述
85
+
86
+ 3. AI 主动提议:
87
+ "我注意到您在描述需求结构/依赖关系。
88
+ 让我生成一个可视化的图帮助理解。"
89
+
90
+ 4. AI 生成 Diagram JSON 并写入 `.a2ui/current.json`
91
+
92
+ 5. AI 提示刷新浏览器查看
93
+ ```
94
+
95
+ ### 架构图组件
96
+
97
+ 使用 `Diagram`, `Layer`, `DiagramGroup`, `Box`, `Arrow` 组件。
98
+ 详见:`prd-a2ui-guide.md`
99
+
100
+ ### 架构图保存规则
101
+
102
+ **当 PM 确认架构图后,AI 必须正式保存:**
103
+
104
+ - **保存位置**:`02_迭代记录/第XX轮迭代/B2_架构图/`
105
+ - **生成文件**:`.json` + `.html`
106
+ - **嵌入文档**:在 B2 文档中添加链接
107
+
108
+ ---
109
+
66
110
  ## B2 的本质:用 MECE 原则完整拆解需求
67
111
 
68
112
  B2 不是"想做什么就写什么",而是**基于 B1 目标,用结构化方法完整拆解需求**。