speccore 8.3.333 → 8.3.341

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 (309) hide show
  1. package/.agents/skills/spec-ask/SKILL.md +4 -0
  2. package/.agents/skills/spec-unitize/SKILL.md +9 -1
  3. package/.agents/skills/speccore-router/SKILL.md +12 -11
  4. package/README.en.md +3 -11
  5. package/README.md +3 -13
  6. package/dist/cli.js +64 -206
  7. package/dist/cli.js.map +1 -1
  8. package/dist/commands/analyze.d.ts.map +1 -1
  9. package/dist/commands/analyze.js +530 -481
  10. package/dist/commands/analyze.js.map +1 -1
  11. package/dist/commands/ask.d.ts.map +1 -1
  12. package/dist/commands/ask.js +6 -0
  13. package/dist/commands/ask.js.map +1 -1
  14. package/dist/commands/completion.d.ts.map +1 -1
  15. package/dist/commands/completion.js +9 -7
  16. package/dist/commands/completion.js.map +1 -1
  17. package/dist/commands/doc2spec.d.ts +44 -1
  18. package/dist/commands/doc2spec.d.ts.map +1 -1
  19. package/dist/commands/doc2spec.js +257 -5
  20. package/dist/commands/doc2spec.js.map +1 -1
  21. package/dist/commands/doctor.js +3 -3
  22. package/dist/commands/doctor.js.map +1 -1
  23. package/dist/commands/done.js +1 -5
  24. package/dist/commands/done.js.map +1 -1
  25. package/dist/commands/execute.js +118 -66
  26. package/dist/commands/execute.js.map +1 -1
  27. package/dist/commands/help.js +6 -54
  28. package/dist/commands/help.js.map +1 -1
  29. package/dist/commands/init.d.ts.map +1 -1
  30. package/dist/commands/init.js +71 -47
  31. package/dist/commands/init.js.map +1 -1
  32. package/dist/commands/iteration/create.d.ts.map +1 -1
  33. package/dist/commands/iteration/create.js +72 -10
  34. package/dist/commands/iteration/create.js.map +1 -1
  35. package/dist/commands/iteration/taskify.d.ts.map +1 -1
  36. package/dist/commands/iteration/taskify.js +133 -35
  37. package/dist/commands/iteration/taskify.js.map +1 -1
  38. package/dist/commands/pr.d.ts.map +1 -1
  39. package/dist/commands/pr.js +24 -2
  40. package/dist/commands/pr.js.map +1 -1
  41. package/dist/commands/prompts.d.ts +6 -0
  42. package/dist/commands/prompts.d.ts.map +1 -1
  43. package/dist/commands/prompts.js +19 -10
  44. package/dist/commands/prompts.js.map +1 -1
  45. package/dist/commands/search.js +1 -1
  46. package/dist/commands/search.js.map +1 -1
  47. package/dist/commands/status-panel.d.ts.map +1 -1
  48. package/dist/commands/status-panel.js +23 -34
  49. package/dist/commands/status-panel.js.map +1 -1
  50. package/dist/commands/unitize.d.ts +3 -0
  51. package/dist/commands/unitize.d.ts.map +1 -1
  52. package/dist/commands/unitize.js +32 -9
  53. package/dist/commands/unitize.js.map +1 -1
  54. package/dist/commands/update-env-configs.d.ts.map +1 -1
  55. package/dist/commands/update-env-configs.js +2 -1
  56. package/dist/commands/update-env-configs.js.map +1 -1
  57. package/dist/commands/update.d.ts +4 -0
  58. package/dist/commands/update.d.ts.map +1 -1
  59. package/dist/commands/update.js +41 -1
  60. package/dist/commands/update.js.map +1 -1
  61. package/dist/commands/welcome.d.ts.map +1 -1
  62. package/dist/commands/welcome.js +41 -0
  63. package/dist/commands/welcome.js.map +1 -1
  64. package/dist/core/analyze-engine.js +3 -3
  65. package/dist/core/analyze-engine.js.map +1 -1
  66. package/dist/core/arbitration/l3-human-arbiter.js +1 -1
  67. package/dist/core/arbitration/l3-human-arbiter.js.map +1 -1
  68. package/dist/core/arbitration/verdict-generator.js +1 -1
  69. package/dist/core/arbitration/verdict-generator.js.map +1 -1
  70. package/dist/core/ask-context.d.ts.map +1 -1
  71. package/dist/core/ask-context.js +14 -3
  72. package/dist/core/ask-context.js.map +1 -1
  73. package/dist/core/ask-engine.d.ts.map +1 -1
  74. package/dist/core/ask-engine.js +55 -49
  75. package/dist/core/ask-engine.js.map +1 -1
  76. package/dist/core/code-graph/reporter.d.ts.map +1 -1
  77. package/dist/core/code-graph/reporter.js +3 -12
  78. package/dist/core/code-graph/reporter.js.map +1 -1
  79. package/dist/core/code-graph/requirement-linker.js +1 -1
  80. package/dist/core/code-graph/requirement-linker.js.map +1 -1
  81. package/dist/core/code-scanner.js +1 -1
  82. package/dist/core/code-scanner.js.map +1 -1
  83. package/dist/core/deploy/engine.d.ts.map +1 -1
  84. package/dist/core/deploy/engine.js +58 -44
  85. package/dist/core/deploy/engine.js.map +1 -1
  86. package/dist/core/environment-config.d.ts +13 -0
  87. package/dist/core/environment-config.d.ts.map +1 -1
  88. package/dist/core/environment-config.js +28 -1
  89. package/dist/core/environment-config.js.map +1 -1
  90. package/dist/core/error-diagnosis.js +2 -2
  91. package/dist/core/error-diagnosis.js.map +1 -1
  92. package/dist/core/git-integration.d.ts +5 -7
  93. package/dist/core/git-integration.d.ts.map +1 -1
  94. package/dist/core/git-integration.js +137 -12
  95. package/dist/core/git-integration.js.map +1 -1
  96. package/dist/core/global-knowledge.d.ts.map +1 -1
  97. package/dist/core/global-knowledge.js +25 -11
  98. package/dist/core/global-knowledge.js.map +1 -1
  99. package/dist/core/handoff-generator.d.ts.map +1 -1
  100. package/dist/core/handoff-generator.js +3 -1
  101. package/dist/core/handoff-generator.js.map +1 -1
  102. package/dist/core/index-guard.d.ts.map +1 -1
  103. package/dist/core/index-guard.js +4 -26
  104. package/dist/core/index-guard.js.map +1 -1
  105. package/dist/core/intent-recognition.d.ts +1 -1
  106. package/dist/core/intent-recognition.d.ts.map +1 -1
  107. package/dist/core/intent-recognition.js +68 -68
  108. package/dist/core/intent-recognition.js.map +1 -1
  109. package/dist/core/knowledge-graph.d.ts.map +1 -1
  110. package/dist/core/knowledge-graph.js +6 -4
  111. package/dist/core/knowledge-graph.js.map +1 -1
  112. package/dist/core/name-validator.d.ts.map +1 -1
  113. package/dist/core/name-validator.js +41 -20
  114. package/dist/core/name-validator.js.map +1 -1
  115. package/dist/core/pinyin-initials.d.ts +10 -0
  116. package/dist/core/pinyin-initials.d.ts.map +1 -0
  117. package/dist/core/pinyin-initials.js +44 -0
  118. package/dist/core/pinyin-initials.js.map +1 -0
  119. package/dist/core/prompt-builder.js +1 -1
  120. package/dist/core/prompt-builder.js.map +1 -1
  121. package/dist/core/prompt-plugins/analyze-graph-plugin.js +1 -1
  122. package/dist/core/prompt-plugins/analyze-graph-plugin.js.map +1 -1
  123. package/dist/core/reindex-engine.js +4 -4
  124. package/dist/core/reindex-engine.js.map +1 -1
  125. package/dist/core/skeleton-residue.d.ts +13 -0
  126. package/dist/core/skeleton-residue.d.ts.map +1 -1
  127. package/dist/core/skeleton-residue.js +83 -14
  128. package/dist/core/skeleton-residue.js.map +1 -1
  129. package/dist/core/spec-merger.d.ts.map +1 -1
  130. package/dist/core/spec-merger.js +3 -2
  131. package/dist/core/spec-merger.js.map +1 -1
  132. package/dist/core/state.d.ts +10 -0
  133. package/dist/core/state.d.ts.map +1 -1
  134. package/dist/core/state.js +20 -1
  135. package/dist/core/state.js.map +1 -1
  136. package/dist/core/structured-extractor.d.ts +6 -0
  137. package/dist/core/structured-extractor.d.ts.map +1 -1
  138. package/dist/core/structured-extractor.js +6 -0
  139. package/dist/core/structured-extractor.js.map +1 -1
  140. package/dist/core/task-paths.d.ts +12 -0
  141. package/dist/core/task-paths.d.ts.map +1 -1
  142. package/dist/core/task-paths.js +33 -1
  143. package/dist/core/task-paths.js.map +1 -1
  144. package/dist/core/unified-config.d.ts +7 -1
  145. package/dist/core/unified-config.d.ts.map +1 -1
  146. package/dist/core/unified-config.js +70 -21
  147. package/dist/core/unified-config.js.map +1 -1
  148. package/dist/core/unit-staffing.d.ts +21 -4
  149. package/dist/core/unit-staffing.d.ts.map +1 -1
  150. package/dist/core/unit-staffing.js +59 -12
  151. package/dist/core/unit-staffing.js.map +1 -1
  152. package/dist/core/usage-analytics.js +1 -1
  153. package/dist/core/usage-analytics.js.map +1 -1
  154. package/dist/core/validator.d.ts.map +1 -1
  155. package/dist/core/validator.js +45 -5
  156. package/dist/core/validator.js.map +1 -1
  157. package/dist/core/verify-report-aggregator.d.ts.map +1 -1
  158. package/dist/core/verify-report-aggregator.js +19 -2
  159. package/dist/core/verify-report-aggregator.js.map +1 -1
  160. package/dist/utils/task-utils.d.ts +4 -1
  161. package/dist/utils/task-utils.d.ts.map +1 -1
  162. package/dist/utils/task-utils.js +30 -4
  163. package/dist/utils/task-utils.js.map +1 -1
  164. package/package.json +4 -3
  165. package/templates/deploy-examples.yaml +33 -5
  166. package/templates/html/speccore-ask-explain.html +1 -1
  167. package/templates/html/speccore-ask-guide.html +1 -1
  168. package/templates/html/speccore-ask-match.html +1 -1
  169. package/templates/html/speccore-ask-pipeline.html +1 -1
  170. package/templates/html/speccore-ask-result.html +1 -1
  171. package/templates/html/speccore-help.html +2 -2
  172. package/templates/speccore-yml-example.yml +174 -54
  173. package/templates/verify-spec-example.yaml +66 -1
  174. package/dist/commands/audit.d.ts +0 -12
  175. package/dist/commands/audit.d.ts.map +0 -1
  176. package/dist/commands/audit.js +0 -540
  177. package/dist/commands/audit.js.map +0 -1
  178. package/dist/commands/backup.d.ts +0 -18
  179. package/dist/commands/backup.d.ts.map +0 -1
  180. package/dist/commands/backup.js +0 -102
  181. package/dist/commands/backup.js.map +0 -1
  182. package/dist/commands/baseline.d.ts +0 -13
  183. package/dist/commands/baseline.d.ts.map +0 -1
  184. package/dist/commands/baseline.js +0 -227
  185. package/dist/commands/baseline.js.map +0 -1
  186. package/dist/commands/chain.d.ts +0 -55
  187. package/dist/commands/chain.d.ts.map +0 -1
  188. package/dist/commands/chain.js +0 -501
  189. package/dist/commands/chain.js.map +0 -1
  190. package/dist/commands/clarify.d.ts +0 -17
  191. package/dist/commands/clarify.d.ts.map +0 -1
  192. package/dist/commands/clarify.js +0 -351
  193. package/dist/commands/clarify.js.map +0 -1
  194. package/dist/commands/code-index.d.ts +0 -21
  195. package/dist/commands/code-index.d.ts.map +0 -1
  196. package/dist/commands/code-index.js +0 -193
  197. package/dist/commands/code-index.js.map +0 -1
  198. package/dist/commands/context.d.ts +0 -10
  199. package/dist/commands/context.d.ts.map +0 -1
  200. package/dist/commands/context.js +0 -213
  201. package/dist/commands/context.js.map +0 -1
  202. package/dist/commands/current.d.ts +0 -10
  203. package/dist/commands/current.d.ts.map +0 -1
  204. package/dist/commands/current.js +0 -53
  205. package/dist/commands/current.js.map +0 -1
  206. package/dist/commands/dev.d.ts +0 -18
  207. package/dist/commands/dev.d.ts.map +0 -1
  208. package/dist/commands/dev.js +0 -854
  209. package/dist/commands/dev.js.map +0 -1
  210. package/dist/commands/diff.d.ts +0 -10
  211. package/dist/commands/diff.d.ts.map +0 -1
  212. package/dist/commands/diff.js +0 -160
  213. package/dist/commands/diff.js.map +0 -1
  214. package/dist/commands/global-status.d.ts +0 -9
  215. package/dist/commands/global-status.d.ts.map +0 -1
  216. package/dist/commands/global-status.js +0 -135
  217. package/dist/commands/global-status.js.map +0 -1
  218. package/dist/commands/graph.d.ts +0 -25
  219. package/dist/commands/graph.d.ts.map +0 -1
  220. package/dist/commands/graph.js +0 -523
  221. package/dist/commands/graph.js.map +0 -1
  222. package/dist/commands/handover.d.ts +0 -11
  223. package/dist/commands/handover.d.ts.map +0 -1
  224. package/dist/commands/handover.js +0 -170
  225. package/dist/commands/handover.js.map +0 -1
  226. package/dist/commands/health.d.ts +0 -7
  227. package/dist/commands/health.d.ts.map +0 -1
  228. package/dist/commands/health.js +0 -80
  229. package/dist/commands/health.js.map +0 -1
  230. package/dist/commands/history.d.ts +0 -9
  231. package/dist/commands/history.d.ts.map +0 -1
  232. package/dist/commands/history.js +0 -117
  233. package/dist/commands/history.js.map +0 -1
  234. package/dist/commands/impact.d.ts +0 -12
  235. package/dist/commands/impact.d.ts.map +0 -1
  236. package/dist/commands/impact.js +0 -238
  237. package/dist/commands/impact.js.map +0 -1
  238. package/dist/commands/import.d.ts +0 -19
  239. package/dist/commands/import.d.ts.map +0 -1
  240. package/dist/commands/import.js +0 -673
  241. package/dist/commands/import.js.map +0 -1
  242. package/dist/commands/knowledge.d.ts +0 -6
  243. package/dist/commands/knowledge.d.ts.map +0 -1
  244. package/dist/commands/knowledge.js +0 -94
  245. package/dist/commands/knowledge.js.map +0 -1
  246. package/dist/commands/lifecycle.d.ts +0 -9
  247. package/dist/commands/lifecycle.d.ts.map +0 -1
  248. package/dist/commands/lifecycle.js +0 -288
  249. package/dist/commands/lifecycle.js.map +0 -1
  250. package/dist/commands/merge-check.d.ts +0 -10
  251. package/dist/commands/merge-check.d.ts.map +0 -1
  252. package/dist/commands/merge-check.js +0 -183
  253. package/dist/commands/merge-check.js.map +0 -1
  254. package/dist/commands/notify.d.ts +0 -13
  255. package/dist/commands/notify.d.ts.map +0 -1
  256. package/dist/commands/notify.js +0 -63
  257. package/dist/commands/notify.js.map +0 -1
  258. package/dist/commands/rag-index.d.ts +0 -19
  259. package/dist/commands/rag-index.d.ts.map +0 -1
  260. package/dist/commands/rag-index.js +0 -286
  261. package/dist/commands/rag-index.js.map +0 -1
  262. package/dist/commands/recommend.d.ts +0 -13
  263. package/dist/commands/recommend.d.ts.map +0 -1
  264. package/dist/commands/recommend.js +0 -37
  265. package/dist/commands/recommend.js.map +0 -1
  266. package/dist/commands/refresh.d.ts +0 -21
  267. package/dist/commands/refresh.d.ts.map +0 -1
  268. package/dist/commands/refresh.js +0 -211
  269. package/dist/commands/refresh.js.map +0 -1
  270. package/dist/commands/rollback.d.ts +0 -8
  271. package/dist/commands/rollback.d.ts.map +0 -1
  272. package/dist/commands/rollback.js +0 -113
  273. package/dist/commands/rollback.js.map +0 -1
  274. package/dist/commands/status.d.ts +0 -7
  275. package/dist/commands/status.d.ts.map +0 -1
  276. package/dist/commands/status.js +0 -262
  277. package/dist/commands/status.js.map +0 -1
  278. package/dist/commands/trace.d.ts +0 -12
  279. package/dist/commands/trace.d.ts.map +0 -1
  280. package/dist/commands/trace.js +0 -163
  281. package/dist/commands/trace.js.map +0 -1
  282. package/dist/commands/tracker.d.ts +0 -2
  283. package/dist/commands/tracker.d.ts.map +0 -1
  284. package/dist/commands/tracker.js +0 -28
  285. package/dist/commands/tracker.js.map +0 -1
  286. package/dist/commands/verdict.d.ts +0 -16
  287. package/dist/commands/verdict.d.ts.map +0 -1
  288. package/dist/commands/verdict.js +0 -189
  289. package/dist/commands/verdict.js.map +0 -1
  290. package/dist/commands/workspace.d.ts +0 -20
  291. package/dist/commands/workspace.d.ts.map +0 -1
  292. package/dist/commands/workspace.js +0 -142
  293. package/dist/commands/workspace.js.map +0 -1
  294. package/dist/core/constraint-set.d.ts +0 -67
  295. package/dist/core/constraint-set.d.ts.map +0 -1
  296. package/dist/core/constraint-set.js +0 -151
  297. package/dist/core/constraint-set.js.map +0 -1
  298. package/dist/core/smart-recommend.d.ts +0 -16
  299. package/dist/core/smart-recommend.d.ts.map +0 -1
  300. package/dist/core/smart-recommend.js +0 -149
  301. package/dist/core/smart-recommend.js.map +0 -1
  302. package/dist/core/task-type-registry.d.ts +0 -110
  303. package/dist/core/task-type-registry.d.ts.map +0 -1
  304. package/dist/core/task-type-registry.js +0 -334
  305. package/dist/core/task-type-registry.js.map +0 -1
  306. package/dist/utils/mermaid-render.d.ts +0 -39
  307. package/dist/utils/mermaid-render.d.ts.map +0 -1
  308. package/dist/utils/mermaid-render.js +0 -284
  309. package/dist/utils/mermaid-render.js.map +0 -1
@@ -15,32 +15,76 @@
15
15
  # v8.3.95+ 支持: cookie / localStorage / script / scroll / upload / iframe / waitForRequest / waitForResponse
16
16
  # v8.3.294+ 推荐: 选择器优先用 data-testid(UI_SPEC 元素标识约定 {模块}-{页面}-{元素}),
17
17
  # 冒烟装配四阶段会自动从 UI_SPEC 提取元素清单生成场景,失败时输出自愈提示。
18
+ #
19
+ # ═══════════════════════════════════════════════════════════
20
+ # 顶层字段字典
21
+ # ═══════════════════════════════════════════════════════════
22
+ # name → 测试套件名(报告展示用)
23
+ # platform → 端名(须与 CONSTITUTION.md 端列表一致)
24
+ # url → 站点根路径(相对路由前缀,navigate 时与 value 拼接)
25
+ # scenarios → 场景列表(每个场景 = 若干 action + 若干 assertion)
26
+ #
27
+ # ═══════════════════════════════════════════════════════════
28
+ # actions 类型字典(场景内按顺序执行的操作)
29
+ # ═══════════════════════════════════════════════════════════
30
+ # navigate → 页面跳转,value=路由(如 /login),selector=完整 URL
31
+ # fill → 输入文本,selector=选择器,value=输入值
32
+ # click → 点击元素,selector=选择器,waitFor=点击后等待出现的元素
33
+ # cookie → 注入登录态 Cookie(selector=键名,value=值,domain/path/secure/httpOnly 可选)
34
+ # localStorage → 注入 Token(selector=键名,value=值,免登录走受保护页面)
35
+ # wait → 等待,delay=毫秒数
36
+ # scroll → 滚动页面,selector=bottom(滚到底)或元素选择器
37
+ # upload → 上传文件,selector=文件输入框,value=文件路径
38
+ # script → 执行 JS 脚本,value=脚本内容(返回 Promise 可等待)
39
+ # iframe → 切换到 iframe 内操作(配合 selector 定位 iframe)
40
+ # waitForRequest → 等待网络请求,value=URL 片段
41
+ # waitForResponse → 等待网络响应,value=URL 片段
42
+ #
43
+ # ═══════════════════════════════════════════════════════════
44
+ # assertions 类型字典(场景结束后逐条校验的结果断言)
45
+ # ═══════════════════════════════════════════════════════════
46
+ # url → 当前 URL 校验,contains=期望包含的片段
47
+ # visible → 元素可见性,selector=选择器(存在且可见才通过)
48
+ # text → 文本内容,selector=选择器,contains=期望包含的文字
49
+ # count → 元素数量,selector=选择器,count=期望个数
50
+ # style → 样式校验,selector=选择器,style=属性名(如 background-color),value=期望值
51
+ # ═══════════════════════════════════════════════════════════
18
52
 
53
+ # name: 测试套件名(报告展示用)
19
54
  name: 示例项目冒烟测试
55
+ # platform: 端名(须与 CONSTITUTION.md 端列表一致)
20
56
  platform: h5-mobile
57
+ # url: 站点根路径(navigate 相对路由的前缀)
21
58
  url: /
22
59
 
23
60
  scenarios:
61
+ # ══ 场景字段:name=场景名 | description=模块归属(模块:xxx 页面:/yyy,供 --module 过滤)══
24
62
  # ── 场景1: 登录流程(data-testid 选择器,推荐)──
25
63
  # 登录态也可由 environments 配置的 tests.auth 自动装配(v8.3.215+),
26
64
  # 本场景演示手工登录写法;受保护页面免登录可用 cookie/localStorage 注入(见场景2/3)。
27
65
  - name: 登录-账号密码登录
28
66
  description: 模块:auth 页面:/login
29
67
  actions:
68
+ # 跳转到登录页
30
69
  - type: navigate
31
70
  value: /login
71
+ # 填充用户名
32
72
  - type: fill
33
73
  selector: "[data-testid='login-username-input']"
34
74
  value: test_user
75
+ # 填充密码
35
76
  - type: fill
36
77
  selector: "[data-testid='login-password-input']"
37
78
  value: test_password
79
+ # 点击登录按钮,waitFor=点击后等待仪表盘出现(元素未出现则超时失败)
38
80
  - type: click
39
81
  selector: "[data-testid='login-submit-btn']"
40
82
  waitFor: "[data-testid='dashboard-page']"
41
83
  assertions:
84
+ # URL 断言:登录成功后跳转到 /dashboard
42
85
  - type: url
43
86
  contains: /dashboard
87
+ # 可见性断言:仪表盘元素存在且可见
44
88
  - type: visible
45
89
  selector: "[data-testid='dashboard-page']"
46
90
 
@@ -49,7 +93,7 @@ scenarios:
49
93
  - name: 预订列表-免登录(cookie注入)
50
94
  description: 模块:booking 页面:/booking/list
51
95
  actions:
52
- # 注入登录 Cookie(跳过登录页)
96
+ # 注入登录 Cookie(跳过登录页;secure/httpOnly 按真实 Cookie 属性填)
53
97
  - type: cookie
54
98
  selector: session_token
55
99
  value: eyJhbGciOiJIUzI1NiIs...
@@ -57,13 +101,17 @@ scenarios:
57
101
  path: /
58
102
  secure: true
59
103
  httpOnly: true
104
+ # 进入受保护页面(免登录)
60
105
  - type: navigate
61
106
  value: /booking/list
107
+ # 等待页面渲染(delay=毫秒)
62
108
  - type: wait
63
109
  delay: 1000
64
110
  assertions:
111
+ # 列表容器可见
65
112
  - type: visible
66
113
  selector: '.booking-list'
114
+ # 数量断言:列表项恰好 5 个
67
115
  - type: count
68
116
  selector: '.booking-item'
69
117
  count: 5
@@ -73,16 +121,20 @@ scenarios:
73
121
  - name: 个人中心-Token注入
74
122
  description: 模块:user 页面:/profile
75
123
  actions:
124
+ # localStorage 注入 JWT Token(适用于 Token 存 localStorage 的前端)
76
125
  - type: localStorage
77
126
  selector: accessToken
78
127
  value: Bearer eyJhbGciOiJIUzI1NiIs...
128
+ # 进入个人中心页(免登录)
79
129
  - type: navigate
80
130
  value: /profile
81
131
  - type: wait
82
132
  delay: 500
83
133
  assertions:
134
+ # 页面容器可见
84
135
  - type: visible
85
136
  selector: '.profile-header'
137
+ # 文本断言:用户名渲染为 test_user
86
138
  - type: text
87
139
  selector: '.username'
88
140
  contains: test_user
@@ -92,25 +144,33 @@ scenarios:
92
144
  - name: 预订表单-提交预订
93
145
  description: 模块:booking 页面:/booking/create
94
146
  actions:
147
+ # 打开预订创建页
95
148
  - type: navigate
96
149
  value: /booking/create
150
+ # 填写入住日期
97
151
  - type: fill
98
152
  selector: 'input[name="checkIn"]'
99
153
  value: '2026-10-01'
154
+ # 填写退房日期
100
155
  - type: fill
101
156
  selector: 'input[name="checkOut"]'
102
157
  value: '2026-10-05'
158
+ # 点击搜索,等待房型列表出现
103
159
  - type: click
104
160
  selector: '.search-btn'
105
161
  waitFor: '.room-list'
162
+ # 选择第一个房型
106
163
  - type: click
107
164
  selector: '.room-item:first-child .select-btn'
165
+ # 提交预订,等待成功提示出现
108
166
  - type: click
109
167
  selector: '.submit-booking-btn'
110
168
  waitFor: '.booking-success'
111
169
  assertions:
170
+ # 成功提示可见
112
171
  - type: visible
113
172
  selector: '.booking-success'
173
+ # 文本断言:提示文案包含「预订成功」
114
174
  - type: text
115
175
  selector: '.booking-success'
116
176
  contains: 预订成功
@@ -119,13 +179,16 @@ scenarios:
119
179
  - name: 首页-滚动加载
120
180
  description: 模块:home 页面:/
121
181
  actions:
182
+ # 打开首页
122
183
  - type: navigate
123
184
  value: /
185
+ # 滚动到底部(触发无限加载)
124
186
  - type: scroll
125
187
  selector: bottom
126
188
  - type: wait
127
189
  delay: 1000
128
190
  assertions:
191
+ # 页脚可见(滚动加载完成)
129
192
  - type: visible
130
193
  selector: '.footer'
131
194
 
@@ -133,9 +196,11 @@ scenarios:
133
196
  - name: 按钮-样式检查
134
197
  description: 模块:ui 页面:/
135
198
  actions:
199
+ # 打开首页
136
200
  - type: navigate
137
201
  value: /
138
202
  assertions:
203
+ # 样式断言:主按钮背景色为指定蓝色
139
204
  - type: style
140
205
  selector: '.primary-btn'
141
206
  style: background-color
@@ -1,12 +0,0 @@
1
- /**
2
- * audit - AI 智能审计命令
3
- * 扫描全量层发现重复需求、歧义描述、潜在冲突、孤立需求
4
- */
5
- export interface AuditOptions {
6
- fix?: boolean;
7
- detail?: boolean;
8
- specs?: boolean;
9
- iteration?: string;
10
- }
11
- export declare function auditCommand(options: AuditOptions): Promise<void>;
12
- //# sourceMappingURL=audit.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAWD,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAgEvE"}