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,391 @@
1
+ # AI 自动化生成 Vela 快应用
2
+
3
+ > 一行命令安装 AI 开发工作流,从需求描述到可运行代码,全程自动化。
4
+
5
+ ---
6
+
7
+ ## 概述
8
+
9
+ Vela 快应用 AI 工作流是一套 AI 辅助开发工具包,内置了 Vela 平台的完整知识体系(组件、API、布局规范、最佳实践),让 AI 像一位资深 Vela 开发工程师一样帮你写代码。
10
+
11
+ **你只需要提供**:
12
+ - 一段需求描述(文字、飞书文档、Markdown 均可)
13
+ - 一个设计稿(Figma 链接或截图,可选)
14
+
15
+ **AI 自动完成**:
16
+ - 生成产品需求文档(PRD)
17
+ - 生成技术方案
18
+ - 生成完整可运行的项目代码
19
+ - 自动校验代码质量
20
+
21
+ ---
22
+
23
+ ## 快速安装
24
+
25
+ 确保已安装 [Node.js](https://nodejs.org/) >= 16,然后执行:
26
+
27
+ ```bash
28
+ npx create-vela-workflow my-app
29
+ ```
30
+
31
+ 安装完成后,根据你使用的 IDE 选择对应方式开始开发。
32
+
33
+ ---
34
+
35
+ ## 两种使用方式
36
+
37
+ | 维度 | 方式一:Copilot Agent | 方式二:Kiro Workflow |
38
+ |------|----------------------|---------------------|
39
+ | **IDE** | AIoT IDE / VS Code | Kiro |
40
+ | **AI 引擎** | GitHub Copilot(GPT-4o 等) | Kiro AI(Claude) |
41
+ | **安装命令** | `npx create-vela-workflow . --mode copilot` | `npx create-vela-workflow . --mode kiro` |
42
+ | **启动方式** | Copilot Chat 选择 Agent | 对话框引用 workflow_starter.md |
43
+ | **断点恢复** | — | ✅ Session 机制 |
44
+ | **自动校验** | Agent 内置检查 | Hooks 事件驱动 |
45
+ | **适合** | 已有 Copilot 订阅的团队 | 追求深度自动化的团队 |
46
+
47
+ ---
48
+
49
+ ## 方式一:AIoT IDE / VS Code + GitHub Copilot
50
+
51
+ ### 前置要求
52
+
53
+ - [AIoT IDE](https://iot.mi.com/vela/quickapp/zh/tools/aiot-ide.html) 或 [VS Code](https://code.visualstudio.com/)
54
+ - [GitHub Copilot](https://github.com/features/copilot) 扩展(需订阅)
55
+ - Node.js >= 16
56
+
57
+ ### 安装
58
+
59
+ ```bash
60
+ # 新建项目并安装
61
+ npx create-vela-workflow my-app --mode copilot
62
+
63
+ # 或在已有项目中安装
64
+ cd your-project
65
+ npx create-vela-workflow . --mode copilot
66
+ ```
67
+
68
+ 安装后项目中会多出 `.github/` 目录:
69
+
70
+ ```
71
+ .github/
72
+ ├── agents/ # 自定义 Agent(Copilot Chat 中可选)
73
+ │ ├── vela-workflow.agent.md # 🎯 工作流入口
74
+ │ ├── vela-s1-prd.agent.md # S1: PRD 生成
75
+ │ ├── vela-s2-tech.agent.md # S2: 技术方案
76
+ │ ├── vela-s3-coding.agent.md # S3: 代码生成
77
+ │ └── vela-knowledge.agent.md # 知识库查询
78
+ ├── rules/ # 编码规则(自动注入,AI 强制遵守)
79
+ │ ├── vela-platform.md # 组件 + API 白名单
80
+ │ ├── vela-layout.md # Flexbox + 圆屏适配
81
+ │ └── ...
82
+ └── prompts/ # 知识参考(按需加载)
83
+ ├── vela-components.prompt.md
84
+ ├── vela-apis.prompt.md
85
+ └── ...
86
+ ```
87
+
88
+ ### 使用
89
+
90
+ 1. 在 IDE 中打开项目
91
+ 2. 打开 **Copilot Chat** 面板
92
+ 3. 在 Agent 下拉菜单中选择 **「Vela 快应用工作流」**
93
+ 4. 输入需求:
94
+
95
+ ```
96
+ 创建一个天气应用,显示当前温度和未来3天天气预报,目标设备 Xiaomi Watch S5
97
+ ```
98
+
99
+ 5. AI 会引导你选择模式:
100
+ - **完整流程**:S1 PRD → S2 技术方案 → S3 代码(推荐,产出更规范)
101
+ - **快速模式**:跳过文档,直接生成代码(更快速)
102
+
103
+ 6. 每个阶段完成后,输入 `y` 确认、`e` 修改、`n` 重做
104
+
105
+ ### Figma 设计稿集成(可选)
106
+
107
+ 如果有 Figma 设计稿,需要额外配置 Figma MCP:
108
+
109
+ 在 VS Code 的 `~/Library/Application Support/Code/User/mcp.json` 中添加:
110
+
111
+ ```json
112
+ {
113
+ "servers": {
114
+ "figma": {
115
+ "command": "uvx",
116
+ "args": ["mcp-figma"],
117
+ "env": {
118
+ "FIGMA_ACCESS_TOKEN": "你的Token"
119
+ }
120
+ }
121
+ }
122
+ }
123
+ ```
124
+
125
+ > Token 获取:Figma → 头像 → Settings → Personal access tokens → Generate
126
+
127
+ 配置完成后,在对话中直接粘贴 Figma 链接,AI 会自动解析设计稿并导出图片资源。
128
+
129
+ ---
130
+
131
+ ## 方式二:Kiro + Workflow
132
+
133
+ ### 前置要求
134
+
135
+ - [Kiro IDE](https://kiro.dev/)
136
+ - Node.js >= 16
137
+
138
+ ### 安装
139
+
140
+ ```bash
141
+ # 新建项目并安装
142
+ npx create-vela-workflow my-app --mode kiro
143
+
144
+ # 或在已有项目中安装
145
+ cd your-project
146
+ npx create-vela-workflow . --mode kiro
147
+ ```
148
+
149
+ 安装后项目中会多出 `.kiro/` 和 `.workflow/` 目录:
150
+
151
+ ```
152
+ .kiro/
153
+ ├── skills/vela-js-app/SKILL.md # 完整 Vela 知识库
154
+ ├── steering/ # 工作流规范(自动加载到每次对话)
155
+ ├── hooks/ # 自动化钩子
156
+ │ ├── validate-ux-files # 编辑 .ux 时自动语法检查
157
+ │ ├── figma-design-check # 写入代码后自动对比设计稿
158
+ │ └── post-coding-validation # 任务完成后自动质量校验
159
+ └── settings/mcp.json # Figma MCP 配置
160
+
161
+ .workflow/
162
+ ├── workflow_starter.md # 🎯 工作流入口
163
+ ├── stages/ # 三阶段编排
164
+ │ ├── s1_prd.md
165
+ │ ├── s2_tech_design.md
166
+ │ └── s3_coding.md
167
+ └── scripts/ # 引擎脚本(Session、上下文、检查点)
168
+ ```
169
+
170
+ ### 使用
171
+
172
+ 1. 在 Kiro 中打开项目
173
+ 2. 在对话框中输入:
174
+
175
+ ```
176
+ @.workflow/workflow_starter.md
177
+ ```
178
+
179
+ 3. 按提示输入需求内容(支持多种来源):
180
+ - 直接文字描述
181
+ - 本地 Markdown 文件路径
182
+ - 飞书文档链接
183
+ - 网页链接
184
+
185
+ 4. 提供设计稿(可选):
186
+ - Figma 链接
187
+ - 拖入设计图片
188
+ - 输入"跳过"
189
+
190
+ 5. 选择工作流模式后,AI 自动执行
191
+
192
+ ### Kiro 独有特性
193
+
194
+ **Session 断点恢复**:开发中途可以输入 `q` 保存进度,下次打开自动检测并提示恢复。
195
+
196
+ **自动化 Hooks**:
197
+ - 每次保存 `.ux` 文件 → 自动检查语法错误
198
+ - 代码生成完成 → 自动校验路由一致性、API 声明
199
+ - 有 Figma 设计稿 → 自动对比设计还原度
200
+
201
+ **Steering 全局规范**:Vela 平台约束(禁止第三方库、强制 Flexbox、圆屏安全区域等)自动注入每次对话,无需手动引用。
202
+
203
+ ### Figma 设计稿集成(可选)
204
+
205
+ Kiro 使用 Figma Desktop MCP,需要 Figma 桌面客户端运行。安装后 `.kiro/settings/mcp.json` 已预配置:
206
+
207
+ ```json
208
+ {
209
+ "mcpServers": {
210
+ "Figma Desktop": {
211
+ "url": "http://127.0.0.1:3845/mcp"
212
+ }
213
+ }
214
+ }
215
+ ```
216
+
217
+ 确保 Figma 桌面客户端已打开并登录即可。
218
+
219
+ ---
220
+
221
+ ## 工作流演示
222
+
223
+ ### 完整流程示例
224
+
225
+ ```
226
+ 用户: 开发一个记账应用,支持添加收支记录和查看月度统计
227
+
228
+ AI: 📝 需求已收到
229
+ 📐 屏幕规格: 480×480 圆屏(默认)
230
+
231
+ ❓ 请选择工作流模式:
232
+ [1] 完整流程 [2] 直接生成代码
233
+
234
+ 用户: 1
235
+
236
+ AI: 🚀 S1 - PRD 生成...
237
+ ━━━━━━━━━━━━━━━━━━━━
238
+ 📄 功能清单:
239
+ • 首页: 收支概览 + 快捷记账按钮
240
+ • 记账页: 金额输入 + 分类选择
241
+ • 统计页: 月度收支图表
242
+ ❓ [y] 确认 [e] 修改 [n] 重做
243
+
244
+ 用户: y
245
+
246
+ AI: 🚀 S2 - 技术方案...
247
+ ━━━━━━━━━━━━━━━━━━━━
248
+ 📄 页面路由: 3 个页面
249
+ 📄 数据存储: @system.storage
250
+ 📄 图表: 内置 chart 组件
251
+ ❓ [y] 确认 [e] 修改 [n] 重做
252
+
253
+ 用户: y
254
+
255
+ AI: 🚀 S3 - 代码生成...
256
+ ━━━━━━━━━━━━━━━━━━━━
257
+ 📂 npx create-aiot ux --name accounting-app
258
+ 📄 生成 3 个页面 + manifest 配置
259
+ ✅ 质量校验通过
260
+
261
+ 🎉 项目已创建完成!
262
+ ```
263
+
264
+ ### 快速模式示例(带设计稿)
265
+
266
+ ```
267
+ 用户: 帮我做一个音乐播放器
268
+ 设计稿: https://www.figma.com/design/xxxxx
269
+
270
+ AI: 🎨 解析设计稿...
271
+ ✅ 检测到 2 个页面、8 个图标
272
+ 🖼️ 导出 PNG 资源到 src/common/images/
273
+
274
+ 📂 npx create-aiot ux --name music-player
275
+ 📄 生成播放器主页 + 歌单列表页
276
+ 🎨 样式严格还原设计稿(颜色、字号、间距)
277
+ ✅ 代码生成完成!
278
+ ```
279
+
280
+ ---
281
+
282
+ ## 生成代码规范
283
+
284
+ AI 生成的代码自动遵循以下规范(无需手动配置):
285
+
286
+ | 规范 | 说明 |
287
+ |------|------|
288
+ | 组件白名单 | 仅使用 Vela 内置组件(div, text, image, list 等) |
289
+ | API 白名单 | 仅使用 @system.xxx 系统 API |
290
+ | 禁止第三方库 | 不引入 axios、lodash、echarts 等 |
291
+ | Flexbox 布局 | 默认 flex-direction: column |
292
+ | 圆屏适配 | 自动添加安全区域 padding(上下 50px,左右 36px) |
293
+ | 资源格式 | 图片仅 PNG,禁止 SVG |
294
+ | 路由一致性 | manifest.json 路由与实际页面文件自动对齐 |
295
+ | API 声明 | import 的 API 自动在 features 中声明 |
296
+ | 内存优化 | onDestroy 清理定时器,static 标记静态节点 |
297
+
298
+ ---
299
+
300
+ ## 支持的设备
301
+
302
+ | 设备 | 像素尺寸 | 屏幕形状 | designWidth |
303
+ |------|----------|----------|-------------|
304
+ | Xiaomi Watch S5 | 480×480 | 圆屏 | 480 |
305
+ | Xiaomi Watch S3/S4/H1 | 466×466 | 圆屏 | 466 |
306
+ | REDMI Watch 5 | 432×514 | 方屏 | 432 |
307
+ | 小米手环 9 | 192×490 | 跑道屏 | 192 |
308
+
309
+ 工作流启动时可指定目标设备屏幕规格,AI 会自动适配布局和安全区域。
310
+
311
+ ---
312
+
313
+ ## 更新工作流
314
+
315
+ 当工具包发布新版本时,一行命令即可更新:
316
+
317
+ ```bash
318
+ npx create-vela-workflow@latest . --mode all
319
+ ```
320
+
321
+ ---
322
+
323
+ ## 常见问题
324
+
325
+ ### 安装相关
326
+
327
+ **Q: `npx create-vela-workflow` 执行失败?**
328
+
329
+ ```bash
330
+ # 检查 Node.js 版本(需要 >= 16)
331
+ node --version
332
+
333
+ # 如果 npm 源有问题,切换为官方源
334
+ npm config set registry https://registry.npmjs.org/
335
+ ```
336
+
337
+ **Q: 两种方式可以同时安装吗?**
338
+
339
+ 可以。`.github/` 和 `.kiro/` + `.workflow/` 互不冲突,团队成员可以根据自己的 IDE 选择对应方式。
340
+
341
+ ### 使用相关
342
+
343
+ **Q: 生成的代码能直接运行吗?**
344
+
345
+ 可以。生成的项目包含完整的 `package.json` 和构建配置:
346
+
347
+ ```bash
348
+ cd my-app
349
+ npm install
350
+ npm run build # 构建 rpk 包
351
+ npm start # 启动开发模式
352
+ ```
353
+
354
+ 也可以使用 [AIoT IDE](https://iot.mi.com/vela/quickapp/zh/tools/aiot-ide.html) 打开项目,直接点击调试按钮启动模拟器。
355
+
356
+ **Q: 生成的代码需要调试怎么办?**
357
+
358
+ 推荐安装 [velajs-mcp](https://www.npmjs.com/package/velajs-mcp),让 AI 对比 Figma 设计稿自动调试:
359
+
360
+ ```bash
361
+ npm install -g velajs-mcp
362
+ # 然后在对话中说"帮我调试"
363
+ ```
364
+
365
+ **Q: 可以自定义 AI 的编码规则吗?**
366
+
367
+ 可以。直接编辑安装后的配置文件:
368
+ - 方式一:修改 `.github/rules/` 下的 Markdown 文件
369
+ - 方式二:修改 `.kiro/steering/` 下的 Markdown 文件
370
+
371
+ **Q: 支持哪些需求输入方式?**
372
+
373
+ | 输入方式 | 方式一 | 方式二 |
374
+ |---------|--------|--------|
375
+ | 文字描述 | ✅ | ✅ |
376
+ | Markdown 文件 | ✅ | ✅ |
377
+ | 飞书文档链接 | — | ✅(需飞书 MCP) |
378
+ | 网页链接 | ✅ | ✅ |
379
+ | Figma 设计稿 | ✅(需 Figma MCP) | ✅(需 Figma Desktop) |
380
+ | 设计截图 | ✅ | ✅ |
381
+
382
+ ---
383
+
384
+ ## 相关资源
385
+
386
+ - [Vela 快应用开发文档](https://iot.mi.com/vela/quickapp/)
387
+ - [AIoT IDE 下载](https://iot.mi.com/vela/quickapp/zh/tools/aiot-ide.html)
388
+ - [Kiro IDE 下载](https://kiro.dev/)
389
+ - [GitHub Copilot](https://github.com/features/copilot)
390
+ - [velajs-mcp 调试工具](https://www.npmjs.com/package/velajs-mcp)
391
+ - npm 包:`npx create-vela-workflow --help`
package/package.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "create-vela-workflow",
3
+ "version": "1.0.0",
4
+ "description": "Vela 快应用 AI 自动化开发工作流脚手架 — 一键初始化 AI 辅助开发环境",
5
+ "keywords": [
6
+ "vela",
7
+ "quickapp",
8
+ "xiaomi",
9
+ "watch",
10
+ "ai-workflow",
11
+ "copilot",
12
+ "kiro",
13
+ "scaffold"
14
+ ],
15
+ "author": "Xiaomi Vela Team",
16
+ "license": "MIT",
17
+ "bin": {
18
+ "create-vela-workflow": "bin/cli.js"
19
+ },
20
+ "files": [
21
+ "bin/",
22
+ "templates/",
23
+ "docs/",
24
+ "README.md"
25
+ ],
26
+ "engines": {
27
+ "node": ">=16"
28
+ },
29
+ "repository": {
30
+ "type": "git",
31
+ "url": ""
32
+ },
33
+ "homepage": "https://iot.mi.com/vela/quickapp/"
34
+ }