visual-spec 0.1.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 (73) hide show
  1. package/.trae/skills/starter-skill/SKILL.md +326 -0
  2. package/.trae/skills/starter-skill/prompts/vspec_accept/accept.md +52 -0
  3. package/.trae/skills/starter-skill/prompts/vspec_change/change.md +40 -0
  4. package/.trae/skills/starter-skill/prompts/vspec_detail/code_rules.md +32 -0
  5. package/.trae/skills/starter-skill/prompts/vspec_detail/cron_job.md +24 -0
  6. package/.trae/skills/starter-skill/prompts/vspec_detail/data_permission.md +30 -0
  7. package/.trae/skills/starter-skill/prompts/vspec_detail/decision_matrix.md +38 -0
  8. package/.trae/skills/starter-skill/prompts/vspec_detail/expression_tree.md +44 -0
  9. package/.trae/skills/starter-skill/prompts/vspec_detail/file_export.md +25 -0
  10. package/.trae/skills/starter-skill/prompts/vspec_detail/file_import.md +27 -0
  11. package/.trae/skills/starter-skill/prompts/vspec_detail/formula.md +27 -0
  12. package/.trae/skills/starter-skill/prompts/vspec_detail/interaction.md +30 -0
  13. package/.trae/skills/starter-skill/prompts/vspec_detail/judgemental_matrix.md +47 -0
  14. package/.trae/skills/starter-skill/prompts/vspec_detail/logging_matrix.md +25 -0
  15. package/.trae/skills/starter-skill/prompts/vspec_detail/mq.md +43 -0
  16. package/.trae/skills/starter-skill/prompts/vspec_detail/nfp.md +31 -0
  17. package/.trae/skills/starter-skill/prompts/vspec_detail/notification_matrix.md +25 -0
  18. package/.trae/skills/starter-skill/prompts/vspec_detail/page_load.md +54 -0
  19. package/.trae/skills/starter-skill/prompts/vspec_detail/post_submit_check.md +30 -0
  20. package/.trae/skills/starter-skill/prompts/vspec_detail/post_submit_navigation.md +21 -0
  21. package/.trae/skills/starter-skill/prompts/vspec_detail/post_submit_processing.md +39 -0
  22. package/.trae/skills/starter-skill/prompts/vspec_detail/rbac.md +30 -0
  23. package/.trae/skills/starter-skill/prompts/vspec_detail/state_machine.md +25 -0
  24. package/.trae/skills/starter-skill/prompts/vspec_detail/timeline.md +123 -0
  25. package/.trae/skills/starter-skill/prompts/vspec_detail/validation_matrix.md +31 -0
  26. package/.trae/skills/starter-skill/prompts/vspec_impl/implement.md +87 -0
  27. package/.trae/skills/starter-skill/prompts/vspec_new/background.md +76 -0
  28. package/.trae/skills/starter-skill/prompts/vspec_new/dependencies.md +41 -0
  29. package/.trae/skills/starter-skill/prompts/vspec_new/details.md +14 -0
  30. package/.trae/skills/starter-skill/prompts/vspec_new/details_boundaries.md +42 -0
  31. package/.trae/skills/starter-skill/prompts/vspec_new/details_constraints.md +70 -0
  32. package/.trae/skills/starter-skill/prompts/vspec_new/details_pre_post.md +45 -0
  33. package/.trae/skills/starter-skill/prompts/vspec_new/details_symmetry.md +47 -0
  34. package/.trae/skills/starter-skill/prompts/vspec_new/details_variations.md +52 -0
  35. package/.trae/skills/starter-skill/prompts/vspec_new/flows.md +38 -0
  36. package/.trae/skills/starter-skill/prompts/vspec_new/functions.md +82 -0
  37. package/.trae/skills/starter-skill/prompts/vspec_new/questions.md +38 -0
  38. package/.trae/skills/starter-skill/prompts/vspec_new/roles.md +35 -0
  39. package/.trae/skills/starter-skill/prompts/vspec_new/scenarios.md +100 -0
  40. package/.trae/skills/starter-skill/prompts/vspec_new/stakeholders.md +62 -0
  41. package/.trae/skills/starter-skill/prompts/vspec_new/terms.md +38 -0
  42. package/.trae/skills/starter-skill/prompts/vspec_plan/estimate.md +32 -0
  43. package/.trae/skills/starter-skill/prompts/vspec_plan/schedule.md +43 -0
  44. package/.trae/skills/starter-skill/prompts/vspec_qc/22./351/234/200/346/261/202/345/210/206/346/236/220/351/224/231/351/242/230/346/234/254.xlsx +0 -0
  45. package/.trae/skills/starter-skill/prompts/vspec_qc/qc.md +38 -0
  46. package/.trae/skills/starter-skill/prompts/vspec_qc/quality_standard.md +35 -0
  47. package/.trae/skills/starter-skill/prompts/vspec_refine/refine.md +78 -0
  48. package/.trae/skills/starter-skill/prompts/vspec_refine/refine_q.md +39 -0
  49. package/.trae/skills/starter-skill/prompts/vspec_test/test.md +33 -0
  50. package/.trae/skills/starter-skill/prompts/vspec_upgrade/upgrade.md +50 -0
  51. package/.trae/skills/starter-skill/prompts/vspec_verify/model.md +67 -0
  52. package/.trae/skills/starter-skill/prompts/vspec_verify/prototype.md +744 -0
  53. package/.trae/skills/starter-skill/prompts/vspec_verify/prototype_apply.md +72 -0
  54. package/.trae/skills/starter-skill/prompts/vspec_verify/prototype_approve.md +61 -0
  55. package/.trae/skills/starter-skill/prompts/vspec_verify/prototype_calendar.md +29 -0
  56. package/.trae/skills/starter-skill/prompts/vspec_verify/prototype_crud.md +59 -0
  57. package/.trae/skills/starter-skill/prompts/vspec_verify/prototype_dashboard.md +37 -0
  58. package/.trae/skills/starter-skill/prompts/vspec_verify/prototype_execute.md +62 -0
  59. package/.trae/skills/starter-skill/prompts/vspec_verify/prototype_landing.md +36 -0
  60. package/.trae/skills/starter-skill/prompts/vspec_verify/prototype_mobile_list.md +34 -0
  61. package/.trae/skills/starter-skill/prompts/vspec_verify/prototype_tool_pages.md +74 -0
  62. package/.trae/skills/starter-skill/prompts/vspec_verify/prototype_toolbox.md +26 -0
  63. package/.trae/skills/starter-skill/prompts/vspec_verify/validation.md +48 -0
  64. package/LICENSE +21 -0
  65. package/README.md +31 -0
  66. package/bin/vreq-skill.cjs +18 -0
  67. package/docs/commands.md +84 -0
  68. package/docs/concepts.md +36 -0
  69. package/docs/installation.md +32 -0
  70. package/docs/structure.md +69 -0
  71. package/docs/workflows.md +69 -0
  72. package/package.json +25 -0
  73. package/scripts/postinstall.cjs +116 -0
@@ -0,0 +1,72 @@
1
+ 你是一名资深前端原型工程师。你的任务是:在既有“/specs/prototypes/ 原型工程”基础上,聚焦生成/更新“申请(Apply)”链路的页面原型,使其可运行、可演示、可按角色差异操作。
2
+
3
+ 输入信息包含:
4
+ - 角色与任务(/specs/background/roles.md)
5
+ - 功能清单(/specs/functions/*,尤其是 core.md,且每行说明以 `端=...;入口=...;` 开头)
6
+ - 数据模型(/specs/models/*.md)
7
+ - 场景与流程(/specs/background/scenarios.md、/specs/flows/*.puml)
8
+
9
+ 范围(必须):
10
+ 1. 仅实现 “申请”相关模块与工作台(Dashboard)差异渲染:
11
+ - 申请列表(含筛选/分段视图)
12
+ - 新建申请(必须用 Drawer 承载)
13
+ - 申请详情(状态、字段、操作日志、变更记录占位)
14
+ - 申请侧的取消/撤回、变更/修改(必须真实生效:更新 mock + 刷新列表)
15
+ 2. 不生成“审批/执行/报表/配置”模块的页面与菜单入口(除非 functions 明确标注属于本范围且 `端=Web`)。
16
+
17
+ 工程与输出要求(必须):
18
+ 1. 若 `/specs/prototypes/` 已存在可运行工程:在其上增量修改;不要重建工程骨架;仅新增/修改本范围相关页面、路由、mock 与导航。
19
+ 2. 若不存在:创建一个最小可运行工程(Vue 3 + Vite + TS + Ant Design Vue),并保证首页可打开、路由可跳转。
20
+ 3. 页面与路由必须遵循功能清单的端分配:
21
+ - 仅实现 `端=Web` 的申请页面;路由以 `入口=/...` 为准。
22
+
23
+ 必须实现的关键体验(必须):
24
+ 1. 三段式布局:Header + 左侧 Menu + 主内容区(router-view)。
25
+ 2. Header 必须提供“当前身份/角色切换”(Select),切换后不刷新页面且立即影响:
26
+ - 菜单可见性/置灰
27
+ - 申请列表默认视图与默认筛选(基于 session)
28
+ - 详情页动作按钮可见/禁用
29
+ 3. 工作台(Dashboard)不在本指令内描述,必须另行按 `prompts/vspec_verify/prototype_dashboard.md` 执行。
30
+ 4. 必须补齐系统工具页(不进左侧菜单):
31
+ - `/tools/introduction`:产品介绍/使用指引(含主链路 Steps 概览与快速入口)
32
+ - `/tools/config`:原型配置/模拟开关(scheme 读取展示、失败注入、session 展示/重置、mock 数据重置/造数)
33
+ - `/tools/data-dict`:数据字典/字段预览
34
+ - `/tools/qr-code`:二维码工具(生成 + 扫码模拟)
35
+ - `/tools/video`:视频/演示材料页
36
+ - `/profile`:个人中心(从 Header 用户菜单进入)
37
+ - `/agreement/confirm`:协议确认(用于提交/关键动作前)
38
+
39
+ 申请模块页面规则(必须):
40
+ 1. 申请列表页:
41
+ - 必须通过 Tab/Segmented/筛选视图区分:草稿/待提交、待审批、已通过待执行(如适用)、已驳回、已取消/已终止等
42
+ - 工具栏必须包含“新建”按钮:点击后打开“新建申请 Drawer”
43
+ - 列表每行 Action 必须包含:查看详情、变更、取消(按状态/角色控制可用性)
44
+ 2. 新建申请 Drawer:
45
+ - 表单字段来自模型(可裁剪),能从 session 推断的字段不得让用户重复填写
46
+ - 若表单包含 1:N 明细(模型字段出现 `items[]/details[]/lines[]/segments[]/participants[]` 等数组,或场景出现多段/多资源/多时间段/多参与人):必须用“可动态增减”的方式输入(Add/Remove 行),可演示新增/删除/编辑,禁止用单个文本框/JSON 粘贴代替
47
+ - 提交后必须生成一条申请记录并进入“待审批”(或需求对应的下一状态),并从草稿视图移出
48
+ 3. 申请详情页:
49
+ - 必须展示:基础信息(Descriptions)、状态 Tag、操作区(按角色+状态渲染)
50
+ - 必须展示:操作日志/最近活动(Timeline 或 Table,由 mock 的日志生成)
51
+ - 若发生变更:必须展示变更记录占位(变更前后对比 mock 即可)
52
+ 4. Steps(步骤条)必须可见:
53
+ - 详情页必须有“流程进度”Steps,按状态映射高亮当前节点
54
+ - 至少 1 个抽屉表单使用步骤式表单(向导),进度由表单状态驱动
55
+
56
+ 协议确认联动(必须):
57
+ 1. “申请提交”必须要求协议已确认(至少 1 个协议,含名称/版本 mock):
58
+ - 未确认时:先跳转/打开 `/agreement/confirm` 完成确认,再允许提交
59
+ - 已确认时:允许直接提交并写入操作日志
60
+
61
+ 商品列表/详情(按需裁剪,命中则必须):
62
+ 1. 若功能清单/模型命中“商品/SKU/库存/价格”等关键词:必须补齐 `/products` 与 `/products/:id`,并在申请新建/详情中提供商品选择/关联占位入口(可选但推荐)。
63
+
64
+ 取消/变更阶段区分(必须):
65
+ 1. 必须按“是否已审批通过/是否已进入执行”区分文案与处理逻辑,不能用同一套行为糊弄:
66
+ - 申请后(未审批)取消:文案为“撤回/取消申请”,确认后直接取消(无需补充信息),状态更新为“已取消”
67
+ - 审批后(已通过)取消:文案为“终止/作废”,确认后必须打开 Drawer 填写终止原因,状态更新为“已终止”,并写入日志
68
+ - 变更:按阶段选择“修改/变更申请”文案;提交后必须进入“待审批”(生成变更记录并写入日志)
69
+
70
+ 联动与自检(必须):
71
+ 1. 所有按钮必须真实改变 mock 数据(状态/关键字段/日志),并触发列表刷新与可见的 message/notification。
72
+ 2. 若 functions 的申请相关条目缺失 `端=` 或 `入口=`:必须在首页“设置/说明”区域用可见文本提示错误,并采用最保守策略回退(默认 `端=Web` + 推断入口)。
@@ -0,0 +1,61 @@
1
+ 你是一名资深前端原型工程师。你的任务是:在既有“/specs/prototypes/ 原型工程”基础上,聚焦生成/更新“审批(Approve)”链路的页面原型,使其可运行、可演示、可按角色差异操作。
2
+
3
+ 输入信息包含:
4
+ - 角色与任务(/specs/background/roles.md)
5
+ - 功能清单(/specs/functions/*,尤其是 core.md,且每行说明以 `端=...;入口=...;` 开头)
6
+ - 数据模型(/specs/models/*.md)
7
+ - 场景与流程(/specs/background/scenarios.md、/specs/flows/*.puml)
8
+
9
+ 范围(必须):
10
+ 1. 仅实现 “审批”相关模块与工作台(Dashboard)差异渲染:
11
+ - 审批列表(待我审批/我已处理/抄送给我等按需)
12
+ - 审批处理(必须用 Drawer 承载,支持通过/驳回)
13
+ - 审批详情(可与申请详情复用,但必须展示审批信息与日志)
14
+ 2. 不生成“申请创建/执行/报表/配置”模块的页面与菜单入口(除非 functions 明确标注属于本范围且 `端=Web`)。
15
+
16
+ 工程与输出要求(必须):
17
+ 1. 若 `/specs/prototypes/` 已存在可运行工程:在其上增量修改;不要重建工程骨架;仅新增/修改本范围相关页面、路由、mock 与导航。
18
+ 2. 若不存在:创建一个最小可运行工程(Vue 3 + Vite + TS + Ant Design Vue),并保证首页可打开、路由可跳转。
19
+ 3. 页面与路由必须遵循功能清单的端分配:
20
+ - 仅实现 `端=Web` 的审批页面;路由以 `入口=/...` 为准。
21
+
22
+ 必须实现的关键体验(必须):
23
+ 1. 三段式布局:Header + 左侧 Menu + 主内容区(router-view)。
24
+ 2. Header 必须提供“当前身份/角色切换”(Select),切换后不刷新页面且立即影响:
25
+ - 菜单可见性/置灰
26
+ - 审批列表默认筛选(基于 session:待我审批/与我相关)
27
+ - 审批动作按钮可见/禁用(非审批人必须不可操作且给出可解释提示)
28
+ 3. 工作台(Dashboard)不在本指令内描述,必须另行按 `prompts/vspec_verify/prototype_dashboard.md` 执行。
29
+ 4. 必须补齐系统工具页(不进左侧菜单):
30
+ - `/tools/introduction`:产品介绍/使用指引(含主链路 Steps 概览与快速入口)
31
+ - `/tools/config`:原型配置/模拟开关(scheme 读取展示、失败注入、session 展示/重置、mock 数据重置/造数)
32
+ - `/tools/data-dict`:数据字典/字段预览
33
+ - `/tools/qr-code`:二维码工具(生成 + 扫码模拟)
34
+ - `/tools/video`:视频/演示材料页
35
+ - `/profile`:个人中心(从 Header 用户菜单进入)
36
+ - `/agreement/confirm`:协议确认(用于关键动作前)
37
+
38
+ 审批模块页面规则(必须):
39
+ 1. 审批列表页:
40
+ - 必须通过 Tab/Segmented 区分:待我审批、我已处理(通过/驳回)、全部(如权限允许)
41
+ - 列表每行 Action 必须包含:查看、审批(仅待审批可点)
42
+ 2. 审批 Drawer(点击“审批”打开):
43
+ - 不能点击一次直接改状态;必须先填写再提交
44
+ - 字段至少包含:审批结果(通过/驳回)、审批意见(必填)、可选附件/备注(按需)
45
+ - 若审批阶段需要分配资源/执行人/额度等:必须在同一抽屉中提供分配输入,并写回 mock 数据(用于后续执行展示与约束)
46
+ - 提交后必须写入审批日志,并让该条目从“待我审批”视图移出
47
+ 3. 审批后状态流转(mock 必须可演示):
48
+ - 通过:进入“已通过/待执行”(或需求对应下一状态)
49
+ - 驳回:进入“已驳回”(并保留驳回原因,可在详情页查看)
50
+ 4. Steps(步骤条)必须可见:
51
+ - 审批详情页必须有“流程进度”Steps,按状态映射高亮当前节点
52
+ - 审批抽屉必须体现分步补充信息后再决策(步骤式表单或至少用 Steps + 分区推进)
53
+
54
+ 协议确认联动(必须):
55
+ 1. 若“审批通过”属于关键动作:必须要求协议已确认:
56
+ - 未确认时:先跳转/打开 `/agreement/confirm` 完成确认,再允许通过
57
+ - 已确认时:允许直接通过并写入操作日志
58
+
59
+ 联动与自检(必须):
60
+ 1. 所有按钮必须真实改变 mock 数据(状态/关键字段/日志),并触发列表刷新与可见的 message/notification。
61
+ 2. 若 functions 的审批相关条目缺失 `端=` 或 `入口=`:必须在首页“设置/说明”区域用可见文本提示错误,并采用最保守策略回退(默认 `端=Web` + 推断入口)。
@@ -0,0 +1,29 @@
1
+ 你是一名资深前端原型工程师。你的任务是:为“原型工程(/specs/prototypes/)”补齐日历(Calendar)视图页面,并确保与申请/占用数据联动可演示。
2
+
3
+ 输入信息包含:
4
+ - 功能清单(/specs/functions/*)
5
+ - 数据模型(/specs/models/*.md)
6
+ - 场景与流程(/specs/background/scenarios.md、/specs/flows/*.puml)
7
+
8
+ 判定口径(满足任一即可视为资源申请类,命中则必须生成):
9
+ 1. 功能清单出现:资源申请/预约/预定/排班/派车/会议室/工位/设备借用/占用等关键词
10
+ 2. 数据模型出现:`resource_id`(或等价字段)且存在 `start_time`/`end_time`(或等价字段)
11
+
12
+ 路由(必须):
13
+ 1. 日历页路由为 `/calendar`(Web 端)。
14
+ 2. 日历页入口可以在左侧菜单出现(归类到资源/计划/排班等模块),也可以作为工作台快捷入口,但必须可访问。
15
+
16
+ 页面能力(必须可演示):
17
+ 1. 顶部筛选:
18
+ - 资源(Select)
19
+ - 时间范围(月/周/日切换或至少月视图)
20
+ - 状态(Select)
21
+ 2. 日历主体:
22
+ - 使用 Ant Design Vue 的 Calendar(或等价组件)渲染事件块(申请单/占用),按状态着色
23
+ 3. 交互:
24
+ - 点击事件打开详情抽屉
25
+ - 在空白日期点击可进入“新建申请”(预填日期/时间段)
26
+
27
+ 数据与串联(必须):
28
+ 1. 日历事件来自 mock 的申请单数据(与列表页同一数据源),变更状态后日历与列表同步刷新。
29
+ 2. 若存在“资源可用性/冲突检测”规则,在新建/变更时做前端模拟提示(不要求完整算法,但要体现入口与结果)。
@@ -0,0 +1,59 @@
1
+ 你是一名资深前端原型工程师。你的任务是:在既有“/specs/prototypes/ 原型工程”基础上,聚焦生成/更新“CRUD 管理页(配置/主数据)”的页面原型,使其可运行、可演示、可按角色差异操作。
2
+
3
+ 输入信息包含:
4
+ - 角色与任务(/specs/background/roles.md)
5
+ - 功能清单(/specs/functions/*,尤其是 core.md,且每行说明以 `端=...;入口=...;` 开头)
6
+ - 数据模型(/specs/models/*.md)
7
+
8
+ 范围(必须):
9
+ 1. 仅实现配置/主数据类模块的 CRUD 页面(Web 端):
10
+ - 列表(查询/筛选/分页)
11
+ - 新建/编辑(必须用 Drawer 承载)
12
+ - 详情(Descriptions)
13
+ - 启用/停用、删除(按模型与场景裁剪)
14
+ 2. 不生成申请/审批/执行主链路页面与菜单入口(除非 functions 明确标注属于本范围且 `端=Web`)。
15
+
16
+ 工程与输出要求(必须):
17
+ 1. 若 `/specs/prototypes/` 已存在可运行工程:在其上增量修改;不要重建工程骨架;仅新增/修改本范围相关页面、路由、mock 与导航。
18
+ 2. 若不存在:创建一个最小可运行工程(Vue 3 + Vite + TS + Ant Design Vue),并保证首页可打开、路由可跳转。
19
+ 3. 页面与路由必须遵循功能清单的端分配:
20
+ - 仅实现 `端=Web` 的 CRUD 页面;路由以 `入口=/...` 为准。
21
+
22
+ 必须实现的关键体验(必须):
23
+ 1. 三段式布局:Header + 左侧 Menu + 主内容区(router-view)。
24
+ 2. Header 必须提供“当前身份/角色切换”(Select),切换后不刷新页面且立即影响:
25
+ - 菜单可见性/置灰
26
+ - CRUD 按钮权限(新建/编辑/删除/启停)按角色控制,并给出不可用原因提示
27
+ 3. Landing/Dashboard/Calendar 与系统工具页/协议确认不在本指令内描述:
28
+ - Landing:按 `prompts/vspec_verify/prototype_landing.md` 执行
29
+ - Dashboard:按 `prompts/vspec_verify/prototype_dashboard.md` 执行
30
+ - Calendar:按 `prompts/vspec_verify/prototype_calendar.md` 执行
31
+ - Tool pages & Agreement:按 `prompts/vspec_verify/prototype_tool_pages.md` 执行
32
+
33
+ CRUD 页面规则(必须):
34
+ 1. 每个 CRUD 功能点至少对应:列表页 + 详情页;新建/编辑用 Drawer 完成,不单独开“新建路由”承载表单。
35
+ 2. 列表页必须包含:
36
+ - 查询表单(至少 2 个字段,按模型裁剪)
37
+ - Table 列表(状态列用 Tag;操作列含 查看/编辑/删除/启停)
38
+ - 工具栏“新建”按钮
39
+ 3. 新建/编辑 Drawer:
40
+ - 表单字段来自模型(可裁剪),并进行最小必填校验(如名称/编码等)
41
+ - 提交后必须写回 mock 数据并刷新列表
42
+ 4. 删除/启停必须二次确认(Popconfirm),并写入操作日志用于工作台“最近活动”展示。
43
+
44
+ 商品列表/详情(按需裁剪,命中则必须):
45
+ 1. 若功能清单/模型命中“商品/SKU/库存/价格/上架/下架”等关键词:必须补齐 `/products` 与 `/products/:id` 页面:
46
+ - 列表包含搜索/筛选/分页与上架状态 Tag
47
+ - 详情包含规格/库存/价格展示,并提供至少 2 个可操作按钮(上架/下架/改价/调库存,mock 生效)
48
+ 2. 商品域增强页面(命中则建议生成;若用户明确需要则必须):
49
+ - `/feed` 瀑布流/发现页:卡片瀑布流布局,支持加载更多(mock)与跳转到商品详情
50
+ - `/cart` 购物车:支持增减数量、移除、合计金额(mock 计算),提供“去结算”入口
51
+ - `/products/:id/reviews` 商品点评:点评列表(评分/内容/图片占位),支持“写点评”(Drawer)写回 mock
52
+ 3. 点菜/下单场景页面(命中点菜/菜单/桌号/下单/加菜等关键词时建议生成;若用户明确需要则必须):
53
+ - `/menu` 点菜菜单:分类/菜品列表、加入购物车、购物车汇总浮层(mock 即可)
54
+ 4. 支付/订单闭环页面(命中支付/订单/结算等关键词时建议生成;若用户明确需要则必须):
55
+ - `/payment/success` 支付成功页:展示订单号/金额/时间(mock)与“返回首页/查看订单占位”入口
56
+
57
+ 联动与自检(必须):
58
+ 1. 所有按钮必须真实改变 mock 数据(字段/状态/日志),并触发列表刷新与可见的 message/notification。
59
+ 2. 若 functions 的 CRUD 条目缺失 `端=` 或 `入口=`:必须在首页“设置/说明”区域用可见文本提示错误,并采用最保守策略回退(默认 `端=Web` + 推断入口)。
@@ -0,0 +1,37 @@
1
+ 你是一名资深前端原型工程师。你的任务是:为“原型工程(/specs/prototypes/)”补齐工作台(Dashboard)页面,并确保其按不同角色呈现不同内容,且与主流程数据与操作日志联动可演示。
2
+
3
+ 输入信息包含:
4
+ - 角色与任务(/specs/background/roles.md)
5
+ - 功能清单(/specs/functions/*)
6
+ - 数据模型(/specs/models/*.md)
7
+
8
+ 路由与入口(必须):
9
+ 1. Dashboard 路由为 `/`,作为登录后默认首页(无需真实登录)。
10
+ 2. Web 端左侧菜单不允许出现“Dashboard”独立一级菜单项;由 Logo/首页入口或默认路由进入即可。
11
+
12
+ 角色差异(必须):
13
+ 1. Dashboard 必须按角色渲染不同内容,不允许所有角色看到同一套卡片/列表/入口。
14
+ 2. 至少覆盖 3 类角色(从 roles.md 选择最核心的 3 个;若不足 3 个则尽量覆盖全部),并在 UI 上可见差异(同一位置展示不同组件或不同数据/列/筛选)。
15
+ 3. 必须提供一个可读的配置映射(mock 即可,例如 `dashboardConfigByRole`),明确每个角色:
16
+ - 统计卡片清单(指标名 + 口径)
17
+ - 待办列表的数据源与默认筛选(“与我相关”口径必须基于 session)
18
+ - 快捷入口按钮清单(不可用则置灰并提示原因)
19
+
20
+ 页面内容(必须):
21
+ 1. 顶部区域:
22
+ - 角色切换(Select)+ 当前角色说明(Tag/Tooltip)
23
+ - 全局搜索(输入关键字过滤我的单据/任务)
24
+ 2. 核心概览:
25
+ - 4~8 个统计卡片(Card + Statistic),例如:我的待办、我发起的、待审批、执行中、今日新增、异常/紧急
26
+ 3. 我的待办(必须):
27
+ - Table 展示待办任务列表(任务名/单号/发起人/当前节点/到期时间/状态/操作)
28
+ - 行内操作:进入详情、快速通过/驳回(如适用)、开始/结束(如适用)
29
+ 4. 快捷入口:
30
+ - 按模块生成入口按钮(新建申请、进入审批、进入执行、查看报表等),并按当前角色隐藏/置灰不适用入口
31
+ 5. 最近活动:
32
+ - 时间线(Timeline)展示最近 10 条操作/状态变更(由 mock 的操作日志生成)
33
+
34
+ 联动要求(必须):
35
+ 1. Dashboard 的统计卡片、待办列表、最近活动必须来自原型 mock 的同一套数据源:
36
+ - 申请/审批/执行等动作生效后,Dashboard 的数字与列表必须同步变化(刷新或返回首页可见)。
37
+ 2. 若存在移动端执行(`/m/*`):Dashboard 的“我的待办/我的任务”需根据角色展示“打开移动端链接”的入口(可复制链接/跳转)。
@@ -0,0 +1,62 @@
1
+ 你是一名资深前端原型工程师。你的任务是:在既有“/specs/prototypes/ 原型工程”基础上,聚焦生成/更新“执行(Execute)”链路的页面原型(含移动端),使其可运行、可演示、可按角色差异操作。
2
+
3
+ 输入信息包含:
4
+ - 角色与任务(/specs/background/roles.md)
5
+ - 功能清单(/specs/functions/*,尤其是 core.md,且每行说明以 `端=...;入口=...;` 开头)
6
+ - 数据模型(/specs/models/*.md)
7
+ - 场景与流程(/specs/background/scenarios.md、/specs/flows/*.puml)
8
+
9
+ 范围(必须):
10
+ 1. 仅实现 “执行”相关模块页面:
11
+ - Web 端执行列表与执行详情(用于调度/管理视角)
12
+ - Mobile 端执行任务列表与任务详情(路由前缀必须为 `/m/*`)
13
+ - 执行动作:开始、结束、异常上报/紧急叫停(按业务裁剪但至少实现 2 个动作)
14
+ 2. 不生成“申请创建/审批/报表/配置”模块的页面与菜单入口(除非 functions 明确标注属于本范围且 `端=Web` 或 `端=Mobile`)。
15
+
16
+ 工程与输出要求(必须):
17
+ 1. 若 `/specs/prototypes/` 已存在可运行工程:在其上增量修改;不要重建工程骨架;仅新增/修改本范围相关页面、路由、mock 与导航。
18
+ 2. 若不存在:创建一个最小可运行工程(Vue 3 + Vite + TS + Ant Design Vue),并保证 Web 端与 Mobile 端路由均可访问。
19
+ 3. 页面与路由必须遵循功能清单的端分配:
20
+ - `端=Web`:生成 PC 端路由与菜单入口
21
+ - `端=Mobile`:生成 `/m/*` 路由;不得生成对应 Web 菜单入口;Web 端如需入口只允许“置灰提示 + 打开手机端链接”
22
+
23
+ 必须实现的关键体验(必须):
24
+ 1. Web 端三段式布局:Header + 左侧 Menu + 主内容区(router-view)。
25
+ 2. Header 必须提供“当前身份/角色切换”(Select),切换后不刷新页面且立即影响执行模块按钮可用性与默认筛选(基于 session:我负责/我执行)。
26
+ 3. Mobile 端必须使用移动端布局:
27
+ - 简化 Header + 底部 TabBar 或关键操作按钮区
28
+ - Web 左侧菜单不展示 Mobile 专属页面入口
29
+ 4. 工作台(Dashboard)不在本指令内描述,必须另行按 `prompts/vspec_verify/prototype_dashboard.md` 执行。
30
+ 5. 必须补齐系统工具页(不进左侧菜单):
31
+ - `/tools/introduction`:产品介绍/使用指引(含主链路 Steps 概览与快速入口)
32
+ - `/tools/config`:原型配置/模拟开关(scheme 读取展示、失败注入、session 展示/重置、mock 数据重置/造数)
33
+ - `/tools/data-dict`:数据字典/字段预览
34
+ - `/tools/qr-code`:二维码工具(生成 + 扫码模拟)
35
+ - `/tools/video`:视频/演示材料页
36
+ - `/profile`:个人中心(从 Header 用户菜单进入)
37
+ - `/agreement/confirm`:协议确认(用于关键动作前)
38
+
39
+ 执行模块页面规则(必须):
40
+ 1. Web 执行列表页:
41
+ - 必须通过 Tab/Segmented 区分:待开始、进行中、已完成、异常/已终止(按业务裁剪)
42
+ - 列表每行 Action:查看详情、分派/改派(如适用)、打开手机端执行链接(如执行在 Mobile)
43
+ 2. Mobile 我的任务页(必须):
44
+ - 列表按状态切换:待开始/进行中/已完成/异常
45
+ - 行内入口进入“任务详情”
46
+ 3. Mobile 任务详情页(必须):
47
+ - 必须有可操作按钮:开始/结束/异常(至少实现其二)
48
+ - 动作表单必须用 Drawer/底部弹层承载,提交后写回 mock(状态、实际开始/结束时间、异常原因、附件占位等)
49
+ - 扫码/定位/拍照上传:可用 mock 占位,但必须产生可见结果并写入记录
50
+ 4. Steps(步骤条)必须可见:
51
+ - 执行详情页必须有“流程进度”Steps,按状态映射高亮当前节点
52
+ - Mobile 端关键动作(开始/结束/异常)至少 1 个使用分步表单或 Steps 引导填写
53
+
54
+ 协议确认联动(必须):
55
+ 1. “执行开始”必须要求协议已确认(至少 1 个协议,含名称/版本 mock):
56
+ - 未确认时:先跳转/打开 `/agreement/confirm` 完成确认,再允许开始
57
+ - 已确认时:允许直接开始并写入操作日志
58
+
59
+ 联动与自检(必须):
60
+ 1. 所有动作必须真实改变 mock 数据(状态/关键字段/日志),并触发列表刷新与可见的 message/notification。
61
+ 2. 若 roles.md 命中司机/外勤/执行等移动角色关键词,必须优先把执行动作放到 Mobile 端(`端=Mobile`),并在 Web 端动作按钮置灰提示“请在手机端操作”。
62
+ 3. 若 functions 的执行相关条目缺失 `端=` 或 `入口=`:必须在首页“设置/说明”区域用可见文本提示错误,并采用最保守策略回退(默认 `端=Web` + 推断入口)。
@@ -0,0 +1,36 @@
1
+ 你是一名资深前端原型工程师。你的任务是:为“原型工程(/specs/prototypes/)”补齐 Landing(落地页/欢迎页)页面,并确保它可以引导用户进入工作台与主链路演示。
2
+
3
+ 输入信息包含:
4
+ - 角色与任务(/specs/background/roles.md)
5
+ - 术语表(/specs/background/terms.md)
6
+ - 功能清单(/specs/functions/*)
7
+
8
+ 路由与入口(必须):
9
+ 1. Landing 路由为 `/landing`。
10
+ 2. Header 的 Logo/系统名点击必须可返回 `/landing`。
11
+ 3. Landing 不放到左侧菜单。
12
+
13
+ 页面内容(必须):
14
+ 1. 系统简介:
15
+ - 一句话定位 + 核心对象/核心能力(按 terms/functions)
16
+ 2. 快速开始:
17
+ - “进入工作台”按钮:跳转到 `/`
18
+ - “查看主流程”入口:跳转到 `/tools/introduction`(若存在)或在本页展示主链路 Steps 概览
19
+ 3. 角色入口:
20
+ - 提供 3~6 个常见角色快捷切换入口(基于 roles.md;不要求真实登录,但要能切换 session mock)
21
+ 4. 演示入口:
22
+ - 若存在资源/时间段场景:提供“打开日历视图”入口(`/calendar`)
23
+ - 若存在商品域:提供“打开商品列表”入口(`/products`)
24
+
25
+ 移动端 Landing(必须):
26
+ 1. 顶部必须提供搜索框:
27
+ - 搜索框固定在顶部(可随滚动吸顶),placeholder 基于 terms(如“搜索申请/资源/商品/文章”)
28
+ - 支持输入关键字后跳转到一个结果页(可复用现有列表页的 query 参数)或在本页展示结果列表(mock 即可)
29
+ 2. 必须提供 Banner 区:
30
+ - 顶部 1 个轮播 Banner(Carousel),至少 3 张(mock 图片/渐变块均可)
31
+ - Banner 点击可跳转到对应演示入口(例如:工作台/日历/商品列表等)
32
+ 3. 必须提供金刚区:
33
+ - 8~12 个快捷入口,使用宫格布局(4~5 列)
34
+ - 入口按 functions 与 roles 裁剪:工作台、申请、新建、审批、执行、日历、商品、报表、大屏、工具页、列表演示(/m/list)等
35
+ - 不可用入口置灰并提示原因(基于 session/角色)
36
+ 4. 同一路由 `/landing` 下做自适应即可,不要求单独的 `/m/landing`。
@@ -0,0 +1,34 @@
1
+ 你是一名资深前端原型工程师。你的任务是:为“原型工程(/specs/prototypes/)”补齐移动端通用 List 页面,并提供多种列表呈现方案(list/grid/card 等),用于演示移动端信息流与操作交互。
2
+
3
+ 路由(必须):
4
+ 1. 移动端路由前缀必须为 `/m/*`。
5
+ 2. 本页面路由为 `/m/list`(或 `/m/list-demo`,两者择一但必须稳定可访问)。
6
+
7
+ 页面结构(必须):
8
+ 1. 顶部栏:
9
+ - 返回(如为根页面可隐藏)+ 标题“列表演示”
10
+ - 搜索框(支持关键字过滤当前列表,mock 即可)
11
+ 2. 样式切换:
12
+ - 提供 3 种方案至少 2 种:List(单列)、Grid(双列/三列)、Card(信息更丰富)
13
+ - 必须可在 UI 中一键切换(Segmented/Tabs/按钮组均可)
14
+ 3. 筛选/排序(最小可用即可):
15
+ - 至少 1 个筛选(如状态/分类)+ 1 个排序(如时间/热度)
16
+
17
+ 列表交互与状态(必须可演示):
18
+ 1. 下拉刷新与加载更多(二选一可,但建议都做):
19
+ - 下拉刷新:更新列表数据与更新时间提示
20
+ - 加载更多:滚动到底加载下一页(mock 分页)
21
+ 2. 加载/空/错误状态:
22
+ - 初次加载 Skeleton 或占位 Loading
23
+ - 空数据提示 + 引导操作(如“去创建/去筛选”)
24
+ - 错误提示 + 重试按钮(可与 config 失败注入联动或本页开关)
25
+ 3. 列表项动作:
26
+ - 点击进入详情(可复用任意详情页或做一个简单 Drawer/详情路由)
27
+ - 至少 1 个快捷操作(如收藏/加入/置顶/分享占位),操作必须写回 mock 并即时反馈
28
+
29
+ 数据要求(必须):
30
+ 1. 列表数据必须来自 mock,字段至少包含:id、title、desc、status、time、cover(cover 可为空)。
31
+ 2. 切换样式时复用同一份数据源,仅改变展示方式与布局。
32
+
33
+ 与 Landing 串联(必须):
34
+ 1. 移动端 Landing 的金刚区必须提供“列表演示”入口,跳转到本页路由。
@@ -0,0 +1,74 @@
1
+ 你是一名资深前端原型工程师。你的任务是:为“原型工程(/specs/prototypes/)”补齐一组通用系统页(工具页/个人中心/协议确认),并确保它们有明确入口、可演示、可与主流程联动。
2
+
3
+ 输入信息包含:
4
+ - 角色与任务(/specs/background/roles.md)
5
+ - 功能清单(/specs/functions/*)
6
+ - 数据模型(/specs/models/*.md)
7
+ - 场景与流程(/specs/background/scenarios.md、/specs/flows/*.puml)
8
+
9
+ 路由与入口(必须):
10
+ 1. 必须生成以下路由页面(名称可按中文适配,但路由必须一致):
11
+ - `/tools/toolbox`:工具箱/工具集合(toolbox)
12
+ - `/tools/introduction`:产品介绍/使用指引
13
+ - `/tools/data-dict`:数据字典/字段预览(dictionary)
14
+ - `/tools/config`:原型配置/模拟开关(config)
15
+ - `/tools/qr-code`:二维码工具(qr_code)
16
+ - `/tools/video`:视频/演示材料页(video)
17
+ - `/profile`:个人中心(profile)
18
+ - `/agreement/confirm`:协议确认页(agreement)
19
+ 2. 入口约束:
20
+ - `/tools/toolbox` 必须作为“更多/工具”默认入口(点击优先进入工具箱)。
21
+ - 所有 `/tools/*` 页面必须从 Header 的“更多/工具”或用户菜单进入;不得出现在左侧菜单。
22
+ - `/profile` 必须从 Header 用户菜单进入;不得出现在左侧菜单。
23
+ - `/agreement/confirm` 不放左侧菜单;仅用于关键动作前的拦截与确认。
24
+
25
+ 介绍页(Introduction)生成要求(必须):
26
+ 1. 至少包含:
27
+ - 系统一句话定位 + 核心对象(按 terms/models)
28
+ - 角色与各自能做什么(按 roles.md)
29
+ - 主链路 Steps 概览(申请→审批→执行→变更/取消等,按业务裁剪)
30
+ - 快捷入口(跳转到申请/审批/执行/日历/报表/商品等)
31
+ 2. Steps 只读展示即可,但必须与原型状态节点口径一致(按状态映射)。
32
+
33
+ 数据字典(Data Dictionary)生成要求(必须):
34
+ 1. 至少包含:
35
+ - 实体/模型列表(来自 `/specs/models/*.md` 的实体名)
36
+ - 字段表(字段中文名/英文名/类型/是否必填/说明)
37
+ - 关键枚举/状态字段的取值展示(如 status)
38
+ 2. 支持关键词搜索(实体名/字段名),并可复制字段英文名。
39
+
40
+ 配置页(Config)生成要求(必须):
41
+ 1. 至少包含:
42
+ - 技术栈信息读取展示:来自 `scheme.yaml` 的实际采用 stack id(含回退提示)
43
+ - Mock/演示开关:失败注入(如通知失败/外部系统超时)、当前角色/用户 session 展示与一键重置
44
+ - 数据重置:一键重置 mock 数据到初始状态;一键生成若干示例数据(用于快速演示)
45
+ 2. 失败注入必须对至少 2 类功能生效(例如通知发送、外部系统调用、表单提交校验)。
46
+
47
+ 二维码工具(QR Code)生成要求(必须):
48
+ 1. 至少包含:
49
+ - 生成:输入文本/链接 → 生成二维码(可用占位图或简单渲染,但必须可见)
50
+ - 扫码模拟:输入“扫码结果”或点击“模拟扫码”按钮,生成一条扫描记录并写入操作日志
51
+ 2. 若业务出现“扫码/核销/签到/入场/验真”关键词:必须在对应关键页面提供“打开二维码工具/扫码入口”。
52
+
53
+ 视频页(Video)生成要求(必须):
54
+ 1. 至少包含:
55
+ - 2 个视频卡片(标题、时长、摘要、播放占位)
56
+ - 支持“播放/暂停”占位交互与“最近播放”列表(mock)
57
+
58
+ 个人中心(Profile)生成要求(必须):
59
+ 1. 至少包含:
60
+ - 当前用户 session 展示(user_id/user_name/role/org 等)
61
+ - 偏好设置占位(语言/主题/通知偏好)
62
+ - “退出/切换身份”入口(不要求真实鉴权,但要影响 session mock)
63
+
64
+ 协议确认(Agreement)生成要求(必须):
65
+ 1. `/agreement/confirm` 页面至少包含:
66
+ - 协议文本占位(可滚动)
67
+ - 勾选“我已阅读并同意”Checkbox(未勾选不得确认)
68
+ - 确认按钮:确认后写入 mock(例如 `mock.userAgreements`),并记录到操作日志
69
+ 2. 必须在“提交类关键动作”前强制协议确认(至少覆盖 2 类动作,例如申请提交、审批通过、执行开始):
70
+ - 若未确认协议:按钮置灰或点击后先跳转/打开协议确认,再允许继续
71
+ - 需提示当前将确认的协议名称/版本(mock 即可)
72
+
73
+ 工具箱(Toolbox)生成要求(必须):
74
+ 1. Toolbox 规则必须按 `prompts/vspec_verify/prototype_toolbox.md` 执行。
@@ -0,0 +1,26 @@
1
+ 你是一名资深前端原型工程师。你的任务是:为“原型工程(/specs/prototypes/)”生成 Toolbox(工具箱/工具集合)页面,用于统一承载系统工具入口、演示开关入口与常用快捷能力,并确保可检索、可跳转、可按角色置灰。
2
+
3
+ 路由与入口(必须):
4
+ 1. Toolbox 路由为 `/tools/toolbox`(Web 端)。
5
+ 2. Header 必须提供“更多/工具”入口,点击优先进入 `/tools/toolbox`;Toolbox 不出现在左侧菜单。
6
+
7
+ 页面结构(必须):
8
+ 1. 顶部搜索:
9
+ - 支持按关键字搜索工具(名称/描述/标签),实时过滤展示(mock 即可)
10
+ 2. 分类区(至少 3 类):
11
+ - 通用:介绍、数据字典、二维码、视频、个人中心
12
+ - 配置与演示:配置页(失败注入/造数/重置等)
13
+ - 运营与看板:报表、大屏、天气、通知中心(如存在)
14
+ 3. 工具卡片(Card/Grid):
15
+ - 每个工具卡片包含:名称、简介、标签、入口按钮
16
+ - 支持“收藏/置顶”交互(mock 写回),置顶后在第一屏展示
17
+
18
+ 权限与可用性(必须):
19
+ 1. 工具可用性必须可按角色/场景置灰:
20
+ - 置灰时必须展示原因(Tooltip/Tag),例如“仅管理员可见”“当前场景未启用”
21
+ 2. 置顶/收藏必须与 session 绑定(切换角色后可体现差异)。
22
+
23
+ 联动要求(必须):
24
+ 1. Toolbox 必须与现有工具页路由打通,至少包含并可跳转到:
25
+ - `/tools/introduction`、`/tools/data-dict`、`/tools/config`、`/tools/qr-code`、`/tools/video`、`/profile`、`/agreement/confirm`
26
+ 2. 若原型已实现:`/tools/notify-center`、`/weather`、`/report`、`/big-screen`,则 Toolbox 必须自动补齐对应入口卡片。
@@ -0,0 +1,48 @@
1
+ 你是一名资深前端原型工程师。你的任务是:生成一个“场景确认”用的网页,用于业务方逐条确认场景列表;必须单独生成一个 `scenario.html`,用于访问与串联其他页面。
2
+
3
+ 输入信息包含:
4
+ - 场景列表(/specs/background/scenarios.md)
5
+ - 场景细节(/specs/background/scenario_details/ 或 /specs/background/scenario_details.md(旧版))
6
+ - 角色与功能(/specs/background/roles.md、/specs/functions/*)
7
+
8
+ 实现目标:
9
+ 1. 在原型工程根目录新增:`/specs/prototypes/scenario.html`,可直接访问
10
+ 2. `scenario.html` 页面布局固定为:
11
+ - 左侧:场景列表(展示编号、名称;可搜索/筛选可选)
12
+ - 右侧:当前选中场景的详细展开,包含:
13
+ - 场景节点链条(按顺序展示 apply/approve/cancel/change/execute-start/execute-end 等节点)
14
+ - 每个节点对应的 Vue 页面“缩略图 + 名称”
15
+ 3. 左侧场景列表必须与 `/specs/background/scenarios.md` 完全一致:
16
+ - 不允许遗漏任何一条场景(即使原型未实现该场景的全部页面,也必须显示在列表中)
17
+ - 编号、场景名、节点链条的文本必须逐条对齐 scenarios.md(允许做必要的格式化,但不得改写含义)
18
+ - 若原型数据源为手工转写(方式 A),必须先逐行校验总数与编号连续性;发现不一致时必须修正后再输出
19
+ - 若原型数据源为 json(方式 B),必须确保 json 是从 scenarios.md 全量生成而来
20
+ 3. 支持对每个场景进行确认操作:
21
+ - 状态:待确认 / 已确认 / 需修改
22
+ - 备注:可填写文本
23
+ 4. 提供“导出确认结果”的能力(导出为 JSON 或下载为 markdown 均可,二选一即可)
24
+
25
+ 实现约束:
26
+ - 使用 Vue + Ant Design Vue 组件实现(Layout、Menu/List、Table、Tag、Radio/Button、Input/TextArea、Card、Modal)
27
+ - `scenario.html` 不要做成简单跳转页,必须承载上述左右布局与交互
28
+ - 场景数据来源可用两种方式之一:
29
+ - 方式 A:将 `/specs/background/scenarios.md` 的表格内容手工转成 `src/mock/scenarios.ts` 的数组
30
+ - 方式 B:在构建时预置一份 `public/scenarios.json` 并在前端加载
31
+ - 不需要实现登录与后端存储;确认结果保存在浏览器内存或 localStorage 即可
32
+
33
+ 页面节点映射规则(必须):
34
+ 1. 为每种节点类型建立默认页面映射(可用路由路径或页面组件名表达):
35
+ - apply → `/apply`
36
+ - approve → `/approve`
37
+ - execute-start / execute-end → `/execute`
38
+ - change → `/change`
39
+ - cancel → `/cancel`
40
+ 2. 若原型中按 functions 拆分出更细页面(例如 apply/list、apply/form、approve/detail),则在 `scenario.html` 的右侧为每个节点选择“最贴近该节点操作”的页面作为缩略图来源
41
+ 3. 缩略图实现方式(必须):
42
+ - 使用 `Card + 空白占位缩略图`(来自 `src/assets` 的通用占位图),并在卡片标题展示页面名称与路由路径
43
+ - 每张卡片必须提供“打开页面”按钮:点击后跳转到该路由的正常页面(全屏内容,带完整 Header + Menu),禁止跳到嵌入式/iframe 页面
44
+
45
+ 输出与写入要求:
46
+ 1. 将页面代码与工程改动写入到 `/specs/prototypes/` 目录下的原型工程中
47
+ 2. 确保 `scenario.html` 可访问,并从首页提供入口跳转到 `scenario.html`(不要要求在左侧菜单新增名为“场景”的菜单项)
48
+ 3. 若使用 Vite 多入口(multi-page)方式,必须同步更新 `vite.config.*` 以支持 `index.html` 与 `scenario.html` 同时构建与开发访问
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 visual-req
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,31 @@
1
+ 本工程是一个需求分析与交付辅助 Skill,提供一组以 `/vspec:*` 命令驱动的流程,用于把原始需求逐步产出为规格、模型、原型、细节、验收用例、测试与集成实现所需的输入。
2
+
3
+ ## 功能概览
4
+
5
+ - 需求分析:从原始描述生成背景、干系人、角色、术语、流程、场景、细节、依赖、功能清单与待确认问题
6
+ - 方案验证:生成数据模型、页面原型与场景确认页
7
+ - 细节梳理:按功能点输出权限/数据权限/交互/校验/日志/通知/MQ/导入导出/定时任务等规格
8
+ - 验收与测试:生成验收测试用例与自动化测试代码
9
+ - 集成开发:生成前后端集成代码(按仓库现有技术栈与约定)
10
+ - 变更响应:分析需求变更影响并更新产物,生成变更日志
11
+ - 排期规划:按功能清单输出估算与排期(HTML)
12
+
13
+ ## 命令
14
+
15
+ - `/vspec:new`:生成基础规格产物(输出到 `/specs/`)
16
+ - `/vspec:refine`:读取 `/docs/refine/` 的修订材料(或命令参数),修订需求并同步更新 `/specs/details/` 与 `/specs/prototypes/`(需已有 details 才执行)
17
+ - `/vspec:refine-q`:基于 `questions.md` 的已回答内容修订需求内容,并更新 `/specs/background/original.md` 中的“当前生效需求”
18
+ - `/vspec:verify`:生成数据模型与 Vue + Ant Design Vue 原型(输出到 `/specs/models/`、`/specs/prototypes/`)
19
+ - `/vspec:detail`:按功能点生成细节规格(输出到 `/specs/details/`)
20
+ - `/vspec:accept`:生成验收测试用例(输出到 `/specs/acceptance/`)
21
+ - `/vspec:test`:生成自动化测试代码(写入仓库既有测试目录或 `/tests/`)
22
+ - `/vspec:impl`:生成前后端集成代码(只允许写入 `/specs/prototypes/` 原型工程内)
23
+ - `/vspec:upgrade`:从 `/docs/`(legacy/current/templates/texts/assets)读取旧系统与新增材料,升级改造并生成/更新 `/specs/`,同步技术规格到 `/scheme.yaml`
24
+ - `/vspec:change`:读取 `/docs/change/` 的变更材料,做影响分析并更新产物,输出 `/specs/change_log.md`(更新前需 git 快照提交)
25
+ - `/vspec:qc`:对 `/specs/` 产物进行质量检查并输出不合格清单(输出到 `/specs/qc_report.md`)
26
+ - `/vspec:plan`:估算与排期(输出到 `/specs/plan_estimate.md`、`/specs/plan_schedule.html`)
27
+
28
+ ## 目录结构
29
+
30
+ - `.trae/skills/starter-skill/SKILL.md`:Skill 定义与命令流程
31
+ - `.trae/skills/starter-skill/prompts/`:各命令对应的提示词文件
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env node
2
+
3
+ const { spawnSync } = require("node:child_process");
4
+ const path = require("node:path");
5
+
6
+ function main() {
7
+ const scriptPath = path.resolve(__dirname, "..", "scripts", "postinstall.cjs");
8
+ const args = process.argv.slice(2);
9
+
10
+ const result = spawnSync(process.execPath, [scriptPath, ...args], {
11
+ stdio: "inherit",
12
+ env: process.env,
13
+ });
14
+
15
+ process.exit(result.status ?? 0);
16
+ }
17
+
18
+ main();