create-vela-workflow 1.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.
Files changed (45) hide show
  1. package/README.md +136 -0
  2. package/bin/cli.js +188 -0
  3. package/docs/ai-workflow-tutorial.md +462 -0
  4. package/docs/official-site-tutorial.md +391 -0
  5. package/package.json +34 -0
  6. package/templates/.github/HARNESS-ENGINEERING-GUIDE.md +407 -0
  7. package/templates/.github/agents/vela-knowledge.agent.md +45 -0
  8. package/templates/.github/agents/vela-s1-prd.agent.md +69 -0
  9. package/templates/.github/agents/vela-s2-tech.agent.md +66 -0
  10. package/templates/.github/agents/vela-s3-coding.agent.md +301 -0
  11. package/templates/.github/agents/vela-workflow.agent.md +110 -0
  12. package/templates/.github/copilot-instructions.md +64 -0
  13. package/templates/.github/prompts/vela-apis.prompt.md +98 -0
  14. package/templates/.github/prompts/vela-best-practices.prompt.md +93 -0
  15. package/templates/.github/prompts/vela-components.prompt.md +118 -0
  16. package/templates/.github/prompts/vela-dev-guide.prompt.md +622 -0
  17. package/templates/.github/rules/project-init.md +45 -0
  18. package/templates/.github/rules/vela-coding-convention.md +324 -0
  19. package/templates/.github/rules/vela-css.md +217 -0
  20. package/templates/.github/rules/vela-design-driven.md +306 -0
  21. package/templates/.github/rules/vela-figma-mcp.md +198 -0
  22. package/templates/.github/rules/vela-format.md +119 -0
  23. package/templates/.github/rules/vela-layout.md +67 -0
  24. package/templates/.github/rules/vela-platform.md +46 -0
  25. package/templates/.github/rules/vela-quality.md +109 -0
  26. package/templates/.kiro/hooks/figma-design-check.kiro.hook +14 -0
  27. package/templates/.kiro/hooks/post-coding-validation.kiro.hook +13 -0
  28. package/templates/.kiro/hooks/validate-ux-files.kiro.hook +16 -0
  29. package/templates/.kiro/settings/mcp.json +7 -0
  30. package/templates/.kiro/skills/vela-js-app/SKILL.md +1072 -0
  31. package/templates/.kiro/steering/workflow-conventions.md +110 -0
  32. package/templates/.workflow/resource-paths.json +62 -0
  33. package/templates/.workflow/scripts/.gitkeep +0 -0
  34. package/templates/.workflow/scripts/checkpoint_manager.js +284 -0
  35. package/templates/.workflow/scripts/context_loader.js +841 -0
  36. package/templates/.workflow/scripts/figma_export.js +346 -0
  37. package/templates/.workflow/scripts/session_manager.js +438 -0
  38. package/templates/.workflow/stages/.gitkeep +0 -0
  39. package/templates/.workflow/stages/commands.md +171 -0
  40. package/templates/.workflow/stages/s1_prd.md +286 -0
  41. package/templates/.workflow/stages/s2_tech_design.md +302 -0
  42. package/templates/.workflow/stages/s3_coding.md +699 -0
  43. package/templates/.workflow/stages/s4_simulator.md +259 -0
  44. package/templates/.workflow/workflow-config.json +46 -0
  45. package/templates/.workflow/workflow_starter.md +912 -0
@@ -0,0 +1,407 @@
1
+ # Harness Engineering 实践指南:Vela 快应用 AI Coding 体系优化
2
+
3
+ > 把 AI Coding 从"靠 Prompt 碰运气"提升到"靠工程体系可控、可验证、可复用"。
4
+
5
+ ## 一、问题诊断:为什么 Agent 不听话?
6
+
7
+ ### 1.1 现象
8
+
9
+ 用户选择「快速模式」后,AI 没有按照 `vela-s3-coding` agent 的规范创建项目:
10
+ - 路由到了错误的 agent(`vela-quick` 而非 `vela-s3-coding`)
11
+ - 脚手架命令缺少 `--template vela-demo` 参数
12
+ - 创建出来的项目结构不符合预期
13
+
14
+ ### 1.2 根因分析
15
+
16
+ | 问题 | 影响 |
17
+ |------|------|
18
+ | **约束与流程混杂** | Agent 文件 600+ 行,AI 无法区分"必须遵守的约束"和"建议的流程步骤" |
19
+ | **约束重复 5 次** | 组件白名单在每个 agent 中各写一遍,稍有修改就会遗漏 |
20
+ | **Handoff 路由模糊** | 快速模式没有专用 handoff,AI 靠关键词猜测目标 agent |
21
+ | **独立 Agent 冲突** | `vela-quick` 与 `vela-s3-coding` 职责重叠,AI 随机选择 |
22
+ | **Rules 层缺失** | 只有 1 个 rule(project-init.md),大量硬约束散落在 agent 里 |
23
+ | **Prompts 与 Agents 重叠** | Stage-specific prompt 和 agent 内容高度重复,浪费 context |
24
+
25
+ ### 1.3 核心矛盾
26
+
27
+ > **Agent 应该是"轨道",不是"缰绳+轨道+质检+记忆"的混合体。**
28
+
29
+ 当一个文件同时承载约束(什么不能做)和流程(怎么做)时,AI 会:
30
+ - 混淆优先级,把约束当作建议
31
+ - 在长文本中丢失关键约束
32
+ - 跳过"看起来不重要"的段落
33
+
34
+ ---
35
+
36
+ ## 二、Harness Engineering 核心理念
37
+
38
+ ```
39
+ Harness Engineering = 缰绳(Rules)+ 轨道(Agents)+ 知识库(Prompts)+ 入口(Instructions)
40
+ ```
41
+
42
+ ### 2.1 三层分离架构
43
+
44
+ ```
45
+ .github/
46
+ ├── rules/ ← 缰绳:编译时约束(alwaysApply,AI 无条件遵守)
47
+ ├── agents/ ← 轨道:运行时行为体(纯流程编排,rules 自动注入约束)
48
+ ├── prompts/ ← 知识库:按需加载的参考文档
49
+ └── copilot-instructions.md ← 入口:架构说明 + 触发条件
50
+ ```
51
+
52
+ ### 2.2 各层职责对比
53
+
54
+ | 层级 | 职责 | 加载方式 | 特点 | 类比 |
55
+ |------|------|----------|------|------|
56
+ | **Rules** | 硬约束(什么不能做) | `alwaysApply`,自动注入 | 不可协商、可验证 | 缰绳 |
57
+ | **Agents** | 流程编排(怎么做) | 按任务 handoff 调度 | 关注行为序列 | 轨道 |
58
+ | **Prompts** | 知识参考(做得好) | 按需引用 | 详细文档、示例 | 知识库 |
59
+ | **Instructions** | 全局入口 | 自动加载 | 触发条件 + 架构总览 | 说明书 |
60
+
61
+ ### 2.3 设计原则
62
+
63
+ 1. **单一职责**:每个文件只做一件事(约束 OR 流程 OR 知识)
64
+ 2. **零重复**:约束只定义一次,通过 `alwaysApply` 自动注入所有 agent
65
+ 3. **可验证**:每条约束都有明确的判定标准(✅/❌)
66
+ 4. **最小 Context**:Agent 文件只写流程,不重复已有的约束
67
+
68
+ ---
69
+
70
+ ## 三、重构实施过程
71
+
72
+ ### 3.1 诊断阶段:梳理现有结构
73
+
74
+ ```
75
+ 重构前文件清单:
76
+ .github/
77
+ ├── copilot-instructions.md ← 170+ 行,工作流+约束+Agent说明混杂
78
+ ├── agents/
79
+ │ ├── vela-workflow.agent.md ← 7.5KB,协调器
80
+ │ ├── vela-s1-prd.agent.md ← 4.3KB,PRD 生成
81
+ │ ├── vela-s2-tech.agent.md ← 4.3KB,技术方案
82
+ │ ├── vela-s3-coding.agent.md ← 18KB(643行),代码生成 ← 最臃肿
83
+ │ ├── vela-quick.agent.md ← 4.5KB,快速模式 ← 与 s3 冲突
84
+ │ └── vela-knowledge.agent.md ← 2.2KB,知识库查询
85
+ ├── prompts/
86
+ │ ├── vela-dev-guide.prompt.md ← 19KB,完整开发指南
87
+ │ ├── vela-components.prompt.md ← 2.9KB,组件速查
88
+ │ ├── vela-apis.prompt.md ← 3.1KB,API 速查
89
+ │ ├── vela-best-practices.prompt.md ← 2.4KB,最佳实践
90
+ │ ├── vela-s1-prd.prompt.md ← 1.2KB,与 agent 重复
91
+ │ ├── vela-s2-tech.prompt.md ← 1.0KB,与 agent 重复
92
+ │ └── vela-s3-coding.prompt.md ← 4.7KB,与 agent 重复
93
+ └── rules/
94
+ └── project-init.md ← 唯一的 rule,还缺 --template 参数
95
+ ```
96
+
97
+ **关键发现**:
98
+ - 组件白名单、API 白名单、禁止项在 **5 个 agent 中各写一遍**
99
+ - `vela-s3-coding` 混杂了约束(30%)+ 流程(50%)+ 模板(20%)
100
+ - `vela-quick` 和 `vela-s3-coding` 的脚手架命令不一致
101
+ - 3 个 stage-specific prompt 与 agent 内容 90% 重复
102
+
103
+ ### 3.2 设计阶段:规划目标结构
104
+
105
+ ```
106
+ 目标结构:
107
+ .github/
108
+ ├── rules/ ← 5 个 rule(新建 4 个,更新 1 个)
109
+ │ ├── vela-platform.md ← 平台约束:组件+API+禁止依赖+生命周期
110
+ │ ├── vela-format.md ← 格式规范:.ux+manifest+package.json
111
+ │ ├── vela-layout.md ← 布局规范:CSS+圆屏安全区域
112
+ │ ├── vela-quality.md ← 质量标准:命名+错误处理+资源清理
113
+ │ └── project-init.md ← 初始化规范:脚手架命令(更新)
114
+ ├── agents/ ← 5 个 agent(全部重写为轻量版)
115
+ │ ├── vela-workflow.agent.md ← 协调器(7.5KB → 3.5KB,精简53%)
116
+ │ ├── vela-s1-prd.agent.md ← PRD(4.3KB → 2.3KB,精简47%)
117
+ │ ├── vela-s2-tech.agent.md ← 技术方案(4.3KB → 2.3KB,精简46%)
118
+ │ ├── vela-s3-coding.agent.md ← 代码生成(18KB → 5.5KB,精简69%)
119
+ │ └── vela-knowledge.agent.md ← 知识库(保持精简)
120
+ ├── prompts/ ← 4 个 prompt(删除 3 个重复的)
121
+ │ ├── vela-dev-guide.prompt.md ← 完整开发指南(保留)
122
+ │ ├── vela-components.prompt.md ← 组件速查(保留)
123
+ │ ├── vela-apis.prompt.md ← API 速查(保留)
124
+ │ └── vela-best-practices.prompt.md ← 最佳实践(保留)
125
+ └── copilot-instructions.md ← 精简入口(170行 → 60行)
126
+ ```
127
+
128
+ ### 3.3 实施阶段:四步完成重构
129
+
130
+ #### Step 1:建立 Rules 层(新建 4 个 + 更新 1 个)
131
+
132
+ **`rules/vela-platform.md`** — 平台硬约束
133
+
134
+ ```yaml
135
+ ---
136
+ description: VelaOS 平台硬约束 — 组件白名单、API 白名单、禁止的第三方依赖、生命周期、数据对象
137
+ alwaysApply: true
138
+ ---
139
+ ```
140
+
141
+ 核心内容:
142
+ - ✅ 组件白名单(21 个内置组件)
143
+ - ✅ API 白名单(20 个 @system.xxx)
144
+ - ✅ 禁止依赖表(UI库/JS库/框架/构建工具)
145
+ - ✅ 页面生命周期顺序
146
+ - ✅ 数据对象作用域
147
+
148
+ **`rules/vela-format.md`** — 文件格式规范
149
+
150
+ 核心内容:
151
+ - ✅ .ux 文件三段式结构(template + style + script)
152
+ - ✅ manifest.json 必需字段和正确嵌套(designWidth 在 config 内部)
153
+ - ✅ package.json 标准模板(aiot-toolkit,禁止 hap-toolkit)
154
+ - ✅ 项目目录结构
155
+ - ✅ 禁止 @import
156
+
157
+ **`rules/vela-layout.md`** — 布局规范
158
+
159
+ 核心内容:
160
+ - ✅ Flexbox 布局(div 默认 column)
161
+ - ✅ 圆屏安全区域(上下 10%,左右 7-8%)
162
+ - ✅ 滚动容器(超出一屏必须用 scroll)
163
+ - ✅ 字体/颜色建议
164
+
165
+ **`rules/vela-quality.md`** — 代码质量标准
166
+
167
+ 核心内容:
168
+ - ✅ 命名规范(camelCase/PascalCase/UPPER_SNAKE_CASE)
169
+ - ✅ 错误处理(所有 API 调用必须有 fail 处理)
170
+ - ✅ 资源清理(onDestroy 清理定时器/事件监听)
171
+ - ✅ 禁止行为表(7 项)
172
+ - ✅ 代码自检清单(9 项)
173
+
174
+ **`rules/project-init.md`** — 初始化规范(更新)
175
+
176
+ 关键修改:
177
+ - 修复:`npx create-aiot ux --name {项目名}` → `npx create-aiot ux --name {项目名} --template vela-demo`
178
+ - 添加:`--template vela-demo` 说明,避免交互式阻塞
179
+ - 添加:执行前检查清单(项目名规范、目录冲突、npm 源、npx 可用性)
180
+
181
+ #### Step 2:精简 Agents 层(全部重写)
182
+
183
+ **改造模式**:每个 agent 文件开头添加一行:
184
+
185
+ ```
186
+ > 📌 平台约束(组件、API、禁止依赖)由 `.github/rules/` 自动注入,本 Agent 无需重复声明。
187
+ ```
188
+
189
+ **vela-s3-coding.agent.md 改造对比**:
190
+
191
+ | 改造前 | 改造后 |
192
+ |--------|--------|
193
+ | 内联组件白名单(20行) | 删除,引用 rules |
194
+ | 内联 API 白名单(15行) | 删除,引用 rules |
195
+ | 内联禁止依赖表(10行) | 删除,引用 rules |
196
+ | 内联 manifest 规范(25行) | 删除,引用 rules |
197
+ | 内联 CSS 规范(10行) | 删除,引用 rules |
198
+ | 内联安全区域规范(15行) | 删除,引用 rules |
199
+ | 内联 .ux 格式规范(20行) | 删除,引用 rules |
200
+ | 内联 package.json 模板(15行) | 删除,引用 rules |
201
+ | **合计删除 ~130 行约束** | 保留 ~140 行纯流程 |
202
+
203
+ **新增 handoff(修复快速模式路由)**:
204
+
205
+ ```yaml
206
+ handoffs:
207
+ # 原有 3 个
208
+ - label: 生成 PRD
209
+ agent: Vela PRD 生成
210
+ - label: 生成技术方案
211
+ agent: Vela 技术方案
212
+ - label: 生成代码
213
+ agent: Vela 代码生成
214
+ # 新增:快速模式专用
215
+ - label: 快速模式生成代码
216
+ agent: Vela 代码生成
217
+ prompt: 快速模式:跳过 PRD 和技术方案,直接根据需求生成代码。使用 npx create-aiot ux --name {项目名} --template vela-demo 初始化。
218
+ ```
219
+
220
+ #### Step 3:删除冲突文件
221
+
222
+ ```
223
+ 删除清单:
224
+ - ❌ agents/vela-quick.agent.md ← 与 s3-coding 职责冲突
225
+ - ❌ prompts/vela-s1-prd.prompt.md ← 与 agent 内容 90% 重复
226
+ - ❌ prompts/vela-s2-tech.prompt.md ← 与 agent 内容 90% 重复
227
+ - ❌ prompts/vela-s3-coding.prompt.md ← 与 agent 内容 90% 重复
228
+ ```
229
+
230
+ #### Step 4:更新入口层
231
+
232
+ `copilot-instructions.md` 从 170+ 行精简到 60 行,只保留:
233
+ - 触发条件
234
+ - 工程体系架构图
235
+ - 三层设计原则说明
236
+ - Agent 列表
237
+
238
+ ---
239
+
240
+ ## 四、重构效果对比
241
+
242
+ ### 4.1 量化指标
243
+
244
+ | 指标 | 重构前 | 重构后 | 改善 |
245
+ |------|--------|--------|------|
246
+ | **约束定义次数** | 5 次(每个 agent 各写一遍) | 1 次(rules 自动注入) | ↓ 80% |
247
+ | **agent 总行数** | ~900 行 | ~380 行 | ↓ 58% |
248
+ | **vela-s3-coding 行数** | 643 行 | ~140 行 | ↓ 78% |
249
+ | **copilot-instructions 行数** | 170+ 行 | ~60 行 | ↓ 65% |
250
+ | **prompts 文件数** | 7 个 | 4 个 | ↓ 43% |
251
+ | **rules 文件数** | 1 个 | 5 个 | ↑ 400% |
252
+ | **冲突 agent 数** | 1(vela-quick) | 0 | ✅ 消除 |
253
+
254
+ ### 4.2 质量指标
255
+
256
+ | 指标 | 重构前 | 重构后 |
257
+ |------|--------|--------|
258
+ | 约束一致性 | ❌ 5 个文件可能不同步 | ✅ 单一来源,零冲突 |
259
+ | AI 约束遵守率 | 低(约束被长文本淹没) | 高(rules alwaysApply 强制注入) |
260
+ | 快速模式路由准确性 | ❌ 可能路由到 vela-quick | ✅ 专用 handoff label |
261
+ | 脚手架命令正确性 | ❌ vela-quick 缺少 --template | ✅ 统一为 --template vela-demo |
262
+ | 新增约束成本 | 修改 5 个 agent 文件 | 只修改 1 个 rule 文件 |
263
+
264
+ ---
265
+
266
+ ## 五、关键经验总结
267
+
268
+ ### 5.1 Agent 文件应该写什么、不写什么
269
+
270
+ ```
271
+ Agent 应该写: Agent 不应该写:
272
+ ✅ 角色定义(你是谁) ❌ 组件白名单(→ rules/vela-platform.md)
273
+ ✅ 执行步骤(做什么) ❌ API 白名单(→ rules/vela-platform.md)
274
+ ✅ 输入输出格式 ❌ 禁止依赖表(→ rules/vela-platform.md)
275
+ ✅ Checkpoint 交互 ❌ 文件格式规范(→ rules/vela-format.md)
276
+ ✅ handoff 路由 ❌ CSS 规范(→ rules/vela-layout.md)
277
+ ✅ 失败处理逻辑 ❌ 命名规范(→ rules/vela-quality.md)
278
+ ❌ 脚手架命令(→ rules/project-init.md)
279
+ ```
280
+
281
+ ### 5.2 Rules 文件的编写规范
282
+
283
+ 每条 rule 必须包含:
284
+
285
+ 1. **YAML frontmatter**:
286
+ ```yaml
287
+ ---
288
+ description: 一句话描述这条规则约束什么
289
+ alwaysApply: true # true = 无条件遵守,false = 按需加载
290
+ ---
291
+ ```
292
+
293
+ 2. **醒目标记**:
294
+ ```markdown
295
+ > ⚠️ 本文件为强制执行规则,AI 必须无条件遵守,不可协商或降级。
296
+ ```
297
+
298
+ 3. **可验证的标准**:每条约束都有 ✅/❌ 示例或判定条件
299
+
300
+ ### 5.3 Handoff 路由设计原则
301
+
302
+ ```yaml
303
+ # ✅ 好的设计:每个 handoff 有唯一的 label 和明确的 prompt
304
+ handoffs:
305
+ - label: 生成 PRD # 唯一标签
306
+ agent: Vela PRD 生成 # 目标 agent
307
+ prompt: 请根据需求生成 PRD # 明确指令
308
+ - label: 快速模式生成代码 # 不同模式用不同 label
309
+ agent: Vela 代码生成
310
+ prompt: 快速模式:跳过 PRD... # 指定具体行为
311
+
312
+ # ❌ 坏的设计:模糊的 label,AI 无法区分
313
+ handoffs:
314
+ - label: 下一步
315
+ agent: ??? # AI 不知道该去哪个 agent
316
+ ```
317
+
318
+ ### 5.4 什么时候该拆文件
319
+
320
+ | 信号 | 处理方式 |
321
+ |------|----------|
322
+ | 同一段内容在 3+ 个文件中出现 | 提取为 rule |
323
+ | 单个 agent 文件超过 200 行 | 检查是否有约束可以提取到 rules |
324
+ | 两个 agent 职责重叠 | 合并或删除冗余的 |
325
+ | AI 经常忽略某条约束 | 从 agent 提取到 rule(alwaysApply) |
326
+
327
+ ### 5.5 常见反模式
328
+
329
+ | 反模式 | 问题 | 正确做法 |
330
+ |--------|------|----------|
331
+ | 在 agent 中内联所有规范 | 约束被流程淹没,AI 忽略 | 提取到 rules |
332
+ | 每个 agent 重复写组件白名单 | 修改时容易遗漏 | 单一来源 rules |
333
+ | 创建多个功能重叠的 agent | AI 随机选择 | 合并或明确 handoff |
334
+ | copilot-instructions 写完整工作流 | 过长,AI 无法聚焦 | 只写触发条件和架构 |
335
+ | prompt 和 agent 内容 90% 重复 | 浪费 context | 删除 stage-specific prompt |
336
+
337
+ ---
338
+
339
+ ## 六、快速复用指南
340
+
341
+ 如果你想在自己的项目中应用 Harness Engineering,按以下步骤操作:
342
+
343
+ ### Step 1:诊断
344
+
345
+ ```bash
346
+ # 统计约束重复次数
347
+ grep -r "白名单\|禁止\|不允许" .github/agents/ | wc -l
348
+
349
+ # 统计 agent 平均行数
350
+ wc -l .github/agents/*.md
351
+
352
+ # 检查是否有冲突 agent
353
+ grep -l "相似关键词" .github/agents/*.md
354
+ ```
355
+
356
+ ### Step 2:提取 Rules
357
+
358
+ ```
359
+ 1. 在所有 agent 中找到重复的约束内容
360
+ 2. 按主题分类(平台/格式/布局/质量/初始化)
361
+ 3. 创建对应的 rules/*.md 文件
362
+ 4. 每个 rule 添加 alwaysApply: true
363
+ ```
364
+
365
+ ### Step 3:精简 Agents
366
+
367
+ ```
368
+ 1. 删除 agent 中已提取到 rules 的约束内容
369
+ 2. 添加引用说明:`.github/rules/` 自动注入
370
+ 3. 确保 agent 只保留流程编排逻辑
371
+ 4. 检查 handoff 路由是否明确
372
+ ```
373
+
374
+ ### Step 4:清理
375
+
376
+ ```
377
+ 1. 删除与 agent 重复的 stage-specific prompts
378
+ 2. 删除功能冲突的 agent
379
+ 3. 精简 copilot-instructions.md
380
+ 4. 验证最终结构
381
+ ```
382
+
383
+ ---
384
+
385
+ ## 附录:最终文件结构
386
+
387
+ ```
388
+ .github/
389
+ ├── copilot-instructions.md # 入口层:触发条件 + 架构说明
390
+ ├── rules/ # Rules 层:硬约束(alwaysApply)
391
+ │ ├── vela-platform.md # 平台约束:组件+API+禁止依赖+生命周期
392
+ │ ├── vela-format.md # 格式规范:.ux+manifest+package.json
393
+ │ ├── vela-layout.md # 布局规范:CSS+圆屏安全区域
394
+ │ ├── vela-quality.md # 质量标准:命名+错误处理+资源清理
395
+ │ └── project-init.md # 初始化规范:脚手架命令+检查清单
396
+ ├── agents/ # Agents 层:流程编排(引用 rules)
397
+ │ ├── vela-workflow.agent.md # 工作流协调器(S1→S2→S3)
398
+ │ ├── vela-s1-prd.agent.md # S1 PRD 生成
399
+ │ ├── vela-s2-tech.agent.md # S2 技术方案
400
+ │ ├── vela-s3-coding.agent.md # S3 代码生成(含快速模式)
401
+ │ └── vela-knowledge.agent.md # 知识库查询
402
+ └── prompts/ # Prompts 层:知识参考(按需加载)
403
+ ├── vela-dev-guide.prompt.md # 完整开发指南
404
+ ├── vela-components.prompt.md # 组件用法速查
405
+ ├── vela-apis.prompt.md # API 速查
406
+ └── vela-best-practices.prompt.md # 最佳实践
407
+ ```
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: Vela 知识库
3
+ description: 查询 Vela 快应用组件用法、API 参数、最佳实践等开发文档
4
+ tools:
5
+ - fetchWebpage
6
+ ---
7
+
8
+ # Vela 快应用知识库查询 Agent
9
+
10
+ 你是 Vela 快应用开发文档助手,帮助用户查询组件用法、API 参数、最佳实践等技术文档。
11
+
12
+ ## 文档来源
13
+
14
+ | 文件 | 说明 |
15
+ |------|------|
16
+ | `.github/prompts/vela-dev-guide.prompt.md` | 完整开发指南 |
17
+ | `.github/prompts/vela-components.prompt.md` | 组件用法速查 |
18
+ | `.github/prompts/vela-apis.prompt.md` | API 速查 |
19
+ | `.github/prompts/vela-best-practices.prompt.md` | 最佳实践 |
20
+
21
+ ## 查询方式
22
+
23
+ 用户可以询问:
24
+ - "list 组件怎么用?" → 参考组件文档
25
+ - "fetch API 参数是什么?" → 参考 API 文档
26
+ - "圆屏适配怎么做?" → 参考最佳实践
27
+ - "manifest.json 怎么配置?" → 参考开发指南
28
+
29
+ ## 回答规范
30
+
31
+ 1. 优先从 `.github/prompts/` 下的文档中查找答案
32
+ 2. 给出具体的代码示例
33
+ 3. 标注注意事项和常见坑
34
+ 4. 若文档中信息不足,可使用 fetchWebpage 访问官网补充(https://iot.mi.com/vela/quickapp/)
35
+
36
+ ## 平台约束速查
37
+
38
+ ### 可用组件
39
+ div, list, list-item, text, image, input, scroll, swiper, switch, slider, progress, picker, stack, span, marquee, barcode, qrcode, chart, image-animator, a
40
+
41
+ ### 可用 API
42
+ @system.router, @system.app, @system.fetch, @system.storage, @system.device, @system.audio, @system.prompt, @system.sensor, @system.vibrator, @system.network, @system.brightness, @system.volume, @system.battery, @system.geolocation, @system.record, @system.file, @system.crypto, @system.configuration, @system.interconnect, @system.messagecenter
43
+
44
+ ### 生命周期
45
+ onInit → onReady → onShow → onHide → onDestroy
@@ -0,0 +1,69 @@
1
+ ---
2
+ name: Vela PRD 生成
3
+ description: S1 阶段 — 根据需求描述和设计稿生成 Vela 快应用 PRD 文档
4
+ tools:
5
+ - codebase
6
+ - editFiles
7
+ - createFile
8
+ - fetchWebpage
9
+ handoffs:
10
+ - label: 进入 S2 技术方案
11
+ agent: Vela 技术方案
12
+ prompt: PRD 已确认,请根据 PRD 文档生成技术方案。
13
+ send: false
14
+ ---
15
+
16
+ # S1: PRD 生成 Agent
17
+
18
+ 你是一位拥有 10 年经验的资深产品经理,专注于 Vela 快应用产品设计。
19
+
20
+ ## 目标
21
+
22
+ 根据用户需求描述和设计稿(可选),结合 Vela 快应用能力边界,生成标准 PRD 文档。
23
+
24
+ > 📌 平台约束(组件、API、禁止依赖)由 `.github/rules/` 自动注入,本 Agent 无需重复声明。
25
+
26
+ ## 执行步骤
27
+
28
+ ### 1. 输入收集
29
+
30
+ 确认以下信息:
31
+ - **需求描述**(必填)
32
+ - **Figma 设计稿**(可选):若提供 Figma 链接,先检测 MCP 环境,再提取页面结构、组件样式、颜色/字体/间距规范、图片资源
33
+ - **屏幕规格**(可选):默认 480×480 圆屏
34
+
35
+ ### 2. 需求分析
36
+
37
+ - 对照 Vela 快应用能力边界校验可行性
38
+ - 若需求超出能力范围,明确告知并提供替代方案
39
+ - 将需求拆解为功能模块,标注优先级(P0/P1/P2),编号 F001、F002…
40
+
41
+ ### 3. PRD 文档生成
42
+
43
+ PRD 必须包含:
44
+
45
+ | 章节 | 说明 |
46
+ |------|------|
47
+ | 需求背景 | 项目背景、目标用户、业务目标 |
48
+ | 功能模块 | 按优先级排列,含功能编号 |
49
+ | 页面结构 | 页面列表、导航关系 |
50
+ | 交互逻辑 | 用户操作 → 页面反馈 → 逻辑处理 |
51
+ | 异常处理 | 表格形式:场景/描述/处理逻辑/提示文案 |
52
+ | 数据埋点 | 表格形式:Event ID/Name/Trigger |
53
+ | VelaOS 依赖说明 | 涉及的系统 API、组件 |
54
+ | 屏幕适配说明 | 目标屏幕尺寸和布局适配策略 |
55
+
56
+ ### 4. Checkpoint
57
+
58
+ 展示 PRD 摘要,等待用户确认:
59
+ - `y` — 确认,使用 handoff 进入 S2
60
+ - `e` — 提供修改意见
61
+ - `n` — 放弃,重新生成
62
+
63
+ ## 写作规范
64
+
65
+ - 功能描述深入到字段级和逻辑分支级,禁止"智能分析"等模糊词汇
66
+ - 流程图使用 Mermaid 格式
67
+ - 异常处理和数据埋点必须用表格形式
68
+ - 面向下游 Agent 写作:逻辑必须闭环,作为技术方案和编码的输入
69
+ - 始终使用简体中文
@@ -0,0 +1,66 @@
1
+ ---
2
+ name: Vela 技术方案
3
+ description: S2 阶段 — 根据 PRD 文档生成 Vela 快应用技术方案
4
+ tools:
5
+ - codebase
6
+ - editFiles
7
+ - createFile
8
+ - fetchWebpage
9
+ handoffs:
10
+ - label: 进入 S3 功能研发
11
+ agent: Vela 代码生成
12
+ prompt: 技术方案已确认,请根据技术方案生成项目代码。
13
+ send: false
14
+ ---
15
+
16
+ # S2: 技术方案 Agent
17
+
18
+ 你是一位资深 Vela 快应用架构师,精通 VelaOS 平台的开发范式、页面路由、组件体系和系统 API。
19
+
20
+ ## 目标
21
+
22
+ 根据已审核通过的 PRD 文档,设计完整可落地的技术方案,该方案将直接指导编码阶段。
23
+
24
+ > 📌 平台约束(组件、API、禁止依赖)由 `.github/rules/` 自动注入,本 Agent 无需重复声明。
25
+
26
+ ## 前置条件
27
+
28
+ - S1 PRD 已完成并确认(从对话上下文中获取,或用户提供文件路径)
29
+
30
+ ## 执行步骤
31
+
32
+ ### 1. PRD 分析
33
+
34
+ - 提取功能模块、页面列表、交互逻辑、异常处理要求
35
+ - 识别涉及的 VelaOS 系统 API
36
+ - 若为已有项目,分析项目现状
37
+ - 若 PRD 包含 Figma 设计信息,必须严格引用,不可忽略或自行替换
38
+
39
+ ### 2. 架构设计
40
+
41
+ 技术方案必须包含:
42
+
43
+ | 章节 | 说明 |
44
+ |------|------|
45
+ | 概述 | 需求摘要、技术选型、项目类型(全新/增量) |
46
+ | 页面结构设计 | 页面列表(含变更类型 🆕/✏️/♻️)、路由配置、导航关系图(Mermaid) |
47
+ | 组件拆分 | 组件树、自定义组件定义(props/events)、内置组件使用清单 |
48
+ | 数据模型 | 页面/组件数据模型、共享数据结构(精确到字段名、类型、默认值) |
49
+ | API 调用方案 | 系统 API 清单、调用时机、参数、返回值处理、错误处理 |
50
+ | 状态管理 | 页面内状态、跨页面状态、数据流向图(Mermaid) |
51
+ | 文件目录结构 | 完整项目目录(含变更类型标注) |
52
+ | 技术风险与应对 | 风险点和解决方案 |
53
+
54
+ ### 3. Checkpoint
55
+
56
+ 展示技术方案摘要,等待用户确认:
57
+ - `y` — 确认,使用 handoff 进入 S3
58
+ - `e` — 提供修改意见
59
+ - `n` — 放弃,重新生成
60
+
61
+ ## 写作规范
62
+
63
+ - 面向编码 Agent 写作:必须包含足够实现细节,禁止"待定"等占位描述
64
+ - 已有项目采用增量设计,标注每个文件的变更类型
65
+ - 数据模型精确到字段级别
66
+ - 始终使用简体中文