@gong-ym/ai-spec-auto 0.2.14 → 0.2.15

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 (631) hide show
  1. package/.agents/commands/README.md +33 -33
  2. package/.agents/commands/claude/spec-start-review.md +88 -88
  3. package/.agents/commands/codex/spec-continue.md +74 -74
  4. package/.agents/commands/codex/spec-orchestrate.md +35 -35
  5. package/.agents/commands/codex/spec-start-review.md +88 -88
  6. package/.agents/commands/codex/spec-start.md +67 -67
  7. package/.agents/commands/codex/spec-status.md +22 -22
  8. package/.agents/commands/codex/spec-stop.md +29 -29
  9. package/.agents/commands/codex/spec-update.md +40 -40
  10. package/.agents/commands/common/branch-review.md +117 -117
  11. package/.agents/commands/common/project-init.md +25 -25
  12. package/.agents/commands/common/spec-continue.md +74 -74
  13. package/.agents/commands/common/spec-orchestrate.md +35 -35
  14. package/.agents/commands/common/spec-start-review.md +82 -82
  15. package/.agents/commands/common/spec-start.md +67 -67
  16. package/.agents/commands/common/spec-status.md +22 -22
  17. package/.agents/commands/common/spec-stop.md +29 -29
  18. package/.agents/commands/common/spec-update.md +60 -40
  19. package/.agents/commands/cursor/opsx-apply.md +55 -55
  20. package/.agents/commands/cursor/opsx-archive.md +48 -48
  21. package/.agents/commands/cursor/opsx-explore.md +45 -45
  22. package/.agents/commands/cursor/opsx-propose.md +59 -59
  23. package/.agents/commands/cursor/spec-continue.md +63 -63
  24. package/.agents/commands/cursor/spec-orchestrate.md +53 -53
  25. package/.agents/commands/cursor/spec-start-review.md +78 -78
  26. package/.agents/commands/cursor/spec-start.md +59 -59
  27. package/.agents/commands/cursor/spec-status.md +30 -30
  28. package/.agents/commands/cursor/spec-stop.md +29 -29
  29. package/.agents/commands/cursor/spec-update.md +41 -41
  30. package/.agents/flows/FRONTMATTER.md +263 -263
  31. package/.agents/flows/RUN_OUTPUT.md +263 -263
  32. package/.agents/flows/common/README.md +29 -29
  33. package/.agents/flows/common/bugfix-to-verification.md +95 -95
  34. package/.agents/flows/common/change-to-architecture-review.md +89 -89
  35. package/.agents/flows/common/change-to-release.md +94 -94
  36. package/.agents/flows/common/prd-to-delivery.md +184 -184
  37. package/.agents/flows/common/requirement-to-observability.md +97 -97
  38. package/.agents/orchestration/README.md +22 -22
  39. package/.agents/orchestration/expert-dispatch-spec.md +155 -155
  40. package/.agents/orchestration/expert-executor-spec.md +84 -84
  41. package/.agents/orchestration/expert-runtime-action-spec.md +73 -73
  42. package/.agents/orchestration/runtime-state-handoff-spec.md +264 -264
  43. package/.agents/orchestration/task-anchor-spec.md +212 -212
  44. package/.agents/orchestration/task-orchestrator-adapter-payload.md +153 -153
  45. package/.agents/orchestration/task-orchestrator-bootstrap-payload.md +145 -145
  46. package/.agents/orchestration/task-orchestrator-output-extractor-spec.md +93 -93
  47. package/.agents/orchestration/task-orchestrator-run-plan-template.md +312 -312
  48. package/.agents/orchestration/task-orchestrator-runtime-hooks.md +214 -214
  49. package/.agents/registry/README.md +63 -63
  50. package/.agents/registry/flows.json +125 -125
  51. package/.agents/registry/profiles.json +101 -101
  52. package/.agents/registry/roles.json +1265 -1265
  53. package/.agents/registry/rules.json +148 -148
  54. package/.agents/registry/scenario-packages.json +123 -123
  55. package/.agents/registry/skills.json +130 -130
  56. package/.agents/roles/INDEX.md +346 -346
  57. package/.agents/roles/common/README.md +76 -76
  58. package/.agents/roles/common/archive-change.md +80 -80
  59. package/.agents/roles/common/backend-implementer.md +92 -92
  60. package/.agents/roles/common/code-guardian.md +151 -151
  61. package/.agents/roles/common/frontend-implementer.md +146 -146
  62. package/.agents/roles/common/requirement-analyst.md +138 -138
  63. package/.agents/roles/common/task-orchestrator-routing.md +301 -301
  64. package/.agents/roles/common/task-orchestrator.md +224 -224
  65. package/.agents/roles/common/tooling-implementer.md +92 -92
  66. package/.agents/roles/domains/README.md +35 -35
  67. package/.agents/roles/domains/delivery/README.md +11 -11
  68. package/.agents/roles/domains/delivery/container-specialist.md +50 -50
  69. package/.agents/roles/domains/delivery/deployment-specialist.md +50 -50
  70. package/.agents/roles/domains/delivery/pipeline-specialist.md +50 -50
  71. package/.agents/roles/domains/demand-design/README.md +16 -16
  72. package/.agents/roles/domains/demand-design/api-contract-specialist.md +52 -52
  73. package/.agents/roles/domains/demand-design/design-collaborator.md +58 -58
  74. package/.agents/roles/domains/documentation/README.md +11 -11
  75. package/.agents/roles/domains/documentation/api-doc-specialist.md +50 -50
  76. package/.agents/roles/domains/documentation/component-doc-specialist.md +49 -49
  77. package/.agents/roles/domains/documentation/technical-writing-specialist.md +48 -48
  78. package/.agents/roles/domains/engineering/README.md +17 -17
  79. package/.agents/roles/domains/engineering/architecture-advisor.md +53 -53
  80. package/.agents/roles/domains/engineering/build-specialist.md +51 -51
  81. package/.agents/roles/domains/engineering/dependency-governor.md +52 -52
  82. package/.agents/roles/domains/governance/README.md +17 -17
  83. package/.agents/roles/domains/governance/api-governance-specialist.md +51 -51
  84. package/.agents/roles/domains/governance/lint-policy-specialist.md +49 -49
  85. package/.agents/roles/domains/governance/route-governance-specialist.md +52 -52
  86. package/.agents/roles/domains/observability/README.md +11 -11
  87. package/.agents/roles/domains/observability/error-tracker.md +50 -50
  88. package/.agents/roles/domains/observability/event-instrumentation-specialist.md +51 -51
  89. package/.agents/roles/domains/observability/rum-analyst.md +50 -50
  90. package/.agents/roles/domains/performance/README.md +11 -11
  91. package/.agents/roles/domains/performance/asset-optimizer.md +50 -50
  92. package/.agents/roles/domains/performance/performance-auditor.md +56 -56
  93. package/.agents/roles/domains/performance/vitals-analyst.md +50 -50
  94. package/.agents/roles/domains/security-a11y/README.md +11 -11
  95. package/.agents/roles/domains/security-a11y/a11y-auditor.md +50 -50
  96. package/.agents/roles/domains/security-a11y/aria-specialist.md +51 -51
  97. package/.agents/roles/domains/security-a11y/security-reviewer.md +49 -49
  98. package/.agents/roles/domains/testing/README.md +12 -12
  99. package/.agents/roles/domains/testing/coverage-analyst.md +50 -50
  100. package/.agents/roles/domains/testing/e2e-test-specialist.md +51 -51
  101. package/.agents/roles/domains/testing/unit-test-specialist.md +56 -56
  102. package/.agents/roles/domains/testing/verification-reviewer.md +67 -67
  103. package/.agents/rules/README.md +87 -87
  104. package/.agents/rules/common/02-/347/274/226/347/240/201/350/247/204/350/214/203.md +45 -45
  105. package/.agents/rules/common/08-/351/200/232/347/224/250/347/272/246/346/235/237.md +63 -63
  106. package/.agents/rules/common/10-/346/226/207/346/241/243/350/247/204/350/214/203.md +101 -101
  107. package/.agents/rules/common/12-Superpowers/346/211/247/350/241/214/350/247/204/350/214/203.md +46 -46
  108. package/.agents/rules/common/14-/345/256/241/350/256/241/346/261/207/346/212/245/350/247/204/350/214/203.md +107 -107
  109. package/.agents/rules/common/15-visual-gate-wait.md +90 -90
  110. package/.agents/rules/profiles/nestjs/01-/351/241/271/347/233/256/346/246/202/350/277/260.md +27 -27
  111. package/.agents/rules/profiles/nestjs/03-/351/241/271/347/233/256/347/273/223/346/236/204.md +20 -20
  112. package/.agents/rules/profiles/nestjs/04-/346/250/241/345/235/227/347/273/223/346/236/204/350/247/204/350/214/203.md +24 -24
  113. package/.agents/rules/profiles/nestjs/05-/346/216/245/345/217/243/344/270/216/345/245/221/347/272/246/350/247/204/350/214/203.md +24 -24
  114. package/.agents/rules/profiles/nestjs/06-/346/225/260/346/215/256/350/256/277/351/227/256/350/247/204/350/214/203.md +24 -24
  115. package/.agents/rules/profiles/nestjs/07-/351/205/215/347/275/256/344/270/216/350/277/220/350/241/214/346/227/266/350/247/204/350/214/203.md +20 -20
  116. package/.agents/rules/profiles/nestjs/09-/345/274/202/345/270/270/344/270/216/346/227/245/345/277/227/350/247/204/350/214/203.md +20 -20
  117. package/.agents/rules/profiles/nestjs/11-/346/265/213/350/257/225/350/247/204/350/214/203.md +24 -24
  118. package/.agents/rules/profiles/nestjs/13-/344/273/243/347/240/201/346/240/274/345/274/217/345/214/226/344/270/216/346/243/200/346/237/245.md +20 -20
  119. package/.agents/rules/profiles/node-tooling/01-/351/241/271/347/233/256/346/246/202/350/277/260.md +30 -30
  120. package/.agents/rules/profiles/node-tooling/03-/351/241/271/347/233/256/347/273/223/346/236/204.md +37 -37
  121. package/.agents/rules/profiles/node-tooling/04-CLI/344/270/216/346/250/241/345/235/227/350/247/204/350/214/203.md +42 -42
  122. package/.agents/rules/profiles/node-tooling/05-Contract/344/270/216Schema/350/247/204/350/214/203.md +42 -42
  123. package/.agents/rules/profiles/node-tooling/06-/350/277/220/350/241/214/346/227/266/346/226/207/344/273/266/350/247/204/350/214/203.md +30 -30
  124. package/.agents/rules/profiles/node-tooling/07-/346/227/245/345/277/227/344/270/216/351/224/231/350/257/257/345/244/204/347/220/206/350/247/204/350/214/203.md +60 -60
  125. package/.agents/rules/profiles/node-tooling/09-/350/204/232/346/234/254/344/270/216/345/205/245/345/217/243/350/247/204/350/214/203.md +45 -45
  126. package/.agents/rules/profiles/node-tooling/11-/346/265/213/350/257/225/350/247/204/350/214/203.md +41 -41
  127. package/.agents/rules/profiles/node-tooling/13-/344/273/243/347/240/201/346/240/274/345/274/217/345/214/226/344/270/216/346/243/200/346/237/245.md +55 -55
  128. package/.agents/rules/profiles/react/01-/351/241/271/347/233/256/346/246/202/350/277/260.md +29 -29
  129. package/.agents/rules/profiles/react/03-/351/241/271/347/233/256/347/273/223/346/236/204.md +104 -104
  130. package/.agents/rules/profiles/react/04-/347/273/204/344/273/266/350/247/204/350/214/203.md +46 -46
  131. package/.agents/rules/profiles/react/05-API/350/247/204/350/214/203.md +67 -67
  132. package/.agents/rules/profiles/react/06-/350/267/257/347/224/261/350/247/204/350/214/203.md +54 -54
  133. package/.agents/rules/profiles/react/07-/347/212/266/346/200/201/347/256/241/347/220/206.md +226 -226
  134. package/.agents/rules/profiles/react/09-/346/240/267/345/274/217/350/247/204/350/214/203.md +71 -71
  135. package/.agents/rules/profiles/react/11-/346/265/213/350/257/225/350/247/204/350/214/203.md +80 -80
  136. package/.agents/rules/profiles/react/13-/344/273/243/347/240/201/346/240/274/345/274/217/345/214/226/344/270/216/346/243/200/346/237/245.md +159 -159
  137. package/.agents/rules/profiles/springboot/01-/351/241/271/347/233/256/346/246/202/350/277/260.md +31 -31
  138. package/.agents/rules/profiles/springboot/03-/351/241/271/347/233/256/347/273/223/346/236/204.md +37 -37
  139. package/.agents/rules/profiles/springboot/04-/345/210/206/345/261/202/350/247/204/350/214/203.md +33 -33
  140. package/.agents/rules/profiles/springboot/05-/346/216/245/345/217/243/344/270/216/345/245/221/347/272/246/350/247/204/350/214/203.md +51 -51
  141. package/.agents/rules/profiles/springboot/06-/346/225/260/346/215/256/350/256/277/351/227/256/350/247/204/350/214/203.md +34 -34
  142. package/.agents/rules/profiles/springboot/07-/351/205/215/347/275/256/344/270/216/350/277/220/350/241/214/346/227/266/350/247/204/350/214/203.md +38 -38
  143. package/.agents/rules/profiles/springboot/09-/345/274/202/345/270/270/344/270/216/346/227/245/345/277/227/350/247/204/350/214/203.md +48 -48
  144. package/.agents/rules/profiles/springboot/11-/346/265/213/350/257/225/350/247/204/350/214/203.md +43 -43
  145. package/.agents/rules/profiles/springboot/13-/344/273/243/347/240/201/346/240/274/345/274/217/345/214/226/344/270/216/346/243/200/346/237/245.md +48 -48
  146. package/.agents/rules/profiles/vue/01-/351/241/271/347/233/256/346/246/202/350/277/260.md +47 -47
  147. package/.agents/rules/profiles/vue/03-/351/241/271/347/233/256/347/273/223/346/236/204.md +106 -106
  148. package/.agents/rules/profiles/vue/04-/347/273/204/344/273/266/350/247/204/350/214/203.md +61 -61
  149. package/.agents/rules/profiles/vue/05-API/350/247/204/350/214/203.md +67 -67
  150. package/.agents/rules/profiles/vue/06-/350/267/257/347/224/261/350/247/204/350/214/203.md +69 -69
  151. package/.agents/rules/profiles/vue/07-/347/212/266/346/200/201/347/256/241/347/220/206.md +93 -93
  152. package/.agents/rules/profiles/vue/09-/346/240/267/345/274/217/350/247/204/350/214/203.md +67 -67
  153. package/.agents/rules/profiles/vue/11-/346/265/213/350/257/225/350/247/204/350/214/203.md +80 -80
  154. package/.agents/rules/profiles/vue/13-/344/273/243/347/240/201/346/240/274/345/274/217/345/214/226/344/270/216/346/243/200/346/237/245.md +159 -159
  155. package/.agents/skills/README.md +171 -171
  156. package/.agents/skills/common/archive-change/SKILL.md +180 -180
  157. package/.agents/skills/common/branch-code-reviewer/SKILL.md +533 -533
  158. package/.agents/skills/common/branch-code-reviewer/references/business-risk-guide.md +293 -293
  159. package/.agents/skills/common/branch-code-reviewer/references/html-template-guide.md +121 -121
  160. package/.agents/skills/common/config-and-secret-scan/SKILL.md +99 -99
  161. package/.agents/skills/common/create-proposal/SKILL.md +192 -192
  162. package/.agents/skills/common/create-proposal/evals/evals.json +16 -16
  163. package/.agents/skills/common/create-proposal/evals/train_queries.json +18 -18
  164. package/.agents/skills/common/create-proposal/evals/validation_queries.json +18 -18
  165. package/.agents/skills/common/create-proposal/references/interaction-spec-template.md +42 -42
  166. package/.agents/skills/common/create-test/SKILL.md +292 -292
  167. package/.agents/skills/common/dependency-impact-graph/SKILL.md +80 -80
  168. package/.agents/skills/common/execute-task/SKILL.md +206 -206
  169. package/.agents/skills/common/execute-task/evals/evals.json +16 -16
  170. package/.agents/skills/common/execute-task/evals/train_queries.json +18 -18
  171. package/.agents/skills/common/execute-task/evals/validation_queries.json +18 -18
  172. package/.agents/skills/common/find-skills/SKILL.md +144 -144
  173. package/.agents/skills/common/install-ai-spec-auto/SKILL.md +260 -260
  174. package/.agents/skills/common/install-ai-spec-auto/evals/evals.json +17 -17
  175. package/.agents/skills/common/install-ai-spec-auto/evals/train_queries.json +18 -18
  176. package/.agents/skills/common/install-ai-spec-auto/evals/validation_queries.json +18 -18
  177. package/.agents/skills/common/project-init/SKILL.md +178 -178
  178. package/.agents/skills/common/project-init/evals/evals.json +16 -16
  179. package/.agents/skills/common/project-init/evals/train_queries.json +18 -18
  180. package/.agents/skills/common/project-init/evals/validation_queries.json +18 -18
  181. package/.agents/skills/common/project-init/references/custom-rule-generation.md +89 -89
  182. package/.agents/skills/common/project-init/references/deep-scan-rules.md +67 -67
  183. package/.agents/skills/common/project-init/references/output-contracts.md +71 -71
  184. package/.agents/skills/common/project-init/references/repo-fact-gathering.md +83 -83
  185. package/.agents/skills/common/project-init/references/scope-resolution.md +76 -76
  186. package/.agents/skills/common/project-init/scripts/inspect-project.js +112 -112
  187. package/.agents/skills/common/skill-creator/LICENSE.txt +201 -201
  188. package/.agents/skills/common/skill-creator/SKILL.md +370 -370
  189. package/.agents/skills/common/skill-creator/evals/evals.json +16 -16
  190. package/.agents/skills/common/skill-creator/evals/train_queries.json +18 -18
  191. package/.agents/skills/common/skill-creator/evals/validation_queries.json +18 -18
  192. package/.agents/skills/common/skill-creator/references/output-patterns.md +82 -82
  193. package/.agents/skills/common/skill-creator/references/workflows.md +27 -27
  194. package/.agents/skills/common/skill-creator/scripts/init_skill.py +209 -209
  195. package/.agents/skills/common/skill-creator/scripts/package_skill.py +110 -110
  196. package/.agents/skills/common/skill-creator/scripts/quick_validate.py +51 -51
  197. package/.agents/skills/common/skill-optimizer/SKILL.md +102 -102
  198. package/.agents/skills/common/skill-optimizer/evals/evals.json +16 -16
  199. package/.agents/skills/common/skill-optimizer/evals/train_queries.json +18 -18
  200. package/.agents/skills/common/skill-optimizer/evals/validation_queries.json +18 -18
  201. package/.agents/skills/common/skill-optimizer/references/design-patterns.md +26 -26
  202. package/.agents/skills/common/skill-optimizer/references/review-checklist.md +22 -22
  203. package/.agents/skills/common/using-superpowers/SKILL.md +151 -151
  204. package/.agents/skills/common/wait-for-gate-signal/SKILL.md +85 -85
  205. package/.agents/skills/domains/README.md +19 -19
  206. package/.agents/skills/domains/ui-ux-pro-max/SKILL.md +58 -58
  207. package/.agents/skills/domains/web/design-analysis/SKILL.md +89 -89
  208. package/.agents/skills/domains/web/design-analysis/rules/analysis-order.md +61 -61
  209. package/.agents/skills/domains/web/design-analysis/rules/analysis-priorities.md +136 -136
  210. package/.agents/skills/domains/web/design-analysis/rules/checklist-common-misses.md +107 -107
  211. package/.agents/skills/domains/web/design-analysis/rules/implementation-common-errors.md +204 -204
  212. package/.agents/skills/domains/web/design-analysis/rules/implementation-guidelines.md +211 -211
  213. package/.agents/skills/domains/web/design-analysis/rules/output-analysis-checklist.md +247 -247
  214. package/.agents/skills/domains/web/design-analysis/rules/tools-design-guidelines.md +108 -108
  215. package/.agents/skills/domains/web/design-analysis/rules/workflow-element-extraction.md +162 -162
  216. package/.agents/skills/domains/web/design-analysis/rules/workflow-layout-map.md +131 -131
  217. package/.agents/skills/domains/web/design-analysis/rules/workflow-output-checklist.md +70 -70
  218. package/.agents/skills/domains/web/design-analysis/rules/workflow-style-summary.md +91 -91
  219. package/.agents/skills/domains/web/route-permission-map/SKILL.md +103 -103
  220. package/.agents/skills/domains/web/ui-verification/SKILL.md +114 -114
  221. package/.agents/skills/domains/web/ui-verification/evals/evals.json +16 -16
  222. package/.agents/skills/domains/web/ui-verification/evals/train_queries.json +18 -18
  223. package/.agents/skills/domains/web/ui-verification/evals/validation_queries.json +18 -18
  224. package/.agents/skills/domains/web/ui-verification/rules/comparison-content-image.md +34 -34
  225. package/.agents/skills/domains/web/ui-verification/rules/comparison-content-text.md +30 -30
  226. package/.agents/skills/domains/web/ui-verification/rules/comparison-hierarchy.md +33 -33
  227. package/.agents/skills/domains/web/ui-verification/rules/comparison-layout.md +35 -35
  228. package/.agents/skills/domains/web/ui-verification/rules/errors-alignment.md +42 -42
  229. package/.agents/skills/domains/web/ui-verification/rules/errors-button-dimensions.md +28 -28
  230. package/.agents/skills/domains/web/ui-verification/rules/errors-button-position.md +25 -25
  231. package/.agents/skills/domains/web/ui-verification/rules/errors-css-priority.md +50 -50
  232. package/.agents/skills/domains/web/ui-verification/rules/errors-flex-column-width.md +46 -46
  233. package/.agents/skills/domains/web/ui-verification/rules/errors-flex-layout.md +46 -46
  234. package/.agents/skills/domains/web/ui-verification/rules/errors-grid-container-width.md +44 -44
  235. package/.agents/skills/domains/web/ui-verification/rules/errors-page-container-width.md +39 -39
  236. package/.agents/skills/domains/web/ui-verification/rules/tools-browser-navigation.md +53 -53
  237. package/.agents/skills/domains/web/ui-verification/rules/tools-design-guidelines.md +53 -53
  238. package/.agents/skills/domains/web/ui-verification/rules/workflow-checklist.md +27 -27
  239. package/.agents/skills/domains/web/ui-verification/rules/workflow-problem-list.md +56 -56
  240. package/.agents/skills/domains/web/ui-verification/rules/workflow-reflection.md +44 -44
  241. package/.agents/skills/domains/web/ui-verification/rules/writing-alignment.md +44 -44
  242. package/.agents/skills/domains/web/ui-verification/rules/writing-element-completeness.md +63 -63
  243. package/.agents/skills/domains/web/ui-verification/rules/writing-list-layout.md +75 -75
  244. package/.agents/skills/domains/web/ui-verification/rules/writing-page-container-width.md +37 -37
  245. package/.agents/skills/domains/web/web-design-guidelines/SKILL.md +40 -40
  246. package/.agents/skills/profiles/nestjs/README.md +4 -4
  247. package/.agents/skills/profiles/node-tooling/README.md +9 -9
  248. package/.agents/skills/profiles/react/create-api/SKILL.md +145 -145
  249. package/.agents/skills/profiles/react/create-component/SKILL.md +160 -160
  250. package/.agents/skills/profiles/react/create-route/SKILL.md +168 -168
  251. package/.agents/skills/profiles/react/create-store/SKILL.md +262 -262
  252. package/.agents/skills/profiles/react/theme-variables/SKILL.md +82 -82
  253. package/.agents/skills/profiles/react/vercel-composition-patterns/AGENTS.md +899 -899
  254. package/.agents/skills/profiles/react/vercel-composition-patterns/SKILL.md +81 -81
  255. package/.agents/skills/profiles/react/vercel-composition-patterns/rules/architecture-avoid-boolean-props.md +100 -100
  256. package/.agents/skills/profiles/react/vercel-composition-patterns/rules/architecture-compound-components.md +112 -112
  257. package/.agents/skills/profiles/react/vercel-composition-patterns/rules/patterns-children-over-render-props.md +87 -87
  258. package/.agents/skills/profiles/react/vercel-composition-patterns/rules/patterns-explicit-variants.md +100 -100
  259. package/.agents/skills/profiles/react/vercel-composition-patterns/rules/state-context-interface.md +191 -191
  260. package/.agents/skills/profiles/react/vercel-composition-patterns/rules/state-decouple-implementation.md +113 -113
  261. package/.agents/skills/profiles/react/vercel-composition-patterns/rules/state-lift-state.md +125 -125
  262. package/.agents/skills/profiles/react/vercel-react-best-practices/AGENTS.md +2934 -2934
  263. package/.agents/skills/profiles/react/vercel-react-best-practices/SKILL.md +136 -136
  264. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -55
  265. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/advanced-init-once.md +42 -42
  266. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/advanced-use-latest.md +39 -39
  267. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/async-api-routes.md +38 -38
  268. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/async-defer-await.md +80 -80
  269. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/async-dependencies.md +51 -51
  270. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/async-parallel.md +28 -28
  271. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -99
  272. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -59
  273. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/bundle-conditional.md +31 -31
  274. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -49
  275. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -35
  276. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/bundle-preload.md +50 -50
  277. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/client-event-listeners.md +74 -74
  278. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -71
  279. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -48
  280. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/client-swr-dedup.md +56 -56
  281. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -107
  282. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-cache-function-results.md +80 -80
  283. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-cache-property-access.md +28 -28
  284. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-cache-storage.md +70 -70
  285. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-combine-iterations.md +32 -32
  286. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-early-exit.md +50 -50
  287. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -45
  288. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-index-maps.md +37 -37
  289. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-length-check-first.md +49 -49
  290. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-min-max-loop.md +82 -82
  291. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -24
  292. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -57
  293. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-activity.md +26 -26
  294. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -47
  295. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -40
  296. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -38
  297. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -46
  298. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -82
  299. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -30
  300. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -28
  301. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -75
  302. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -39
  303. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-dependencies.md +45 -45
  304. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -40
  305. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-derived-state.md +29 -29
  306. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -74
  307. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -58
  308. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -38
  309. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-memo.md +44 -44
  310. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -45
  311. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -35
  312. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-transitions.md +40 -40
  313. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -73
  314. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -73
  315. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-auth-actions.md +96 -96
  316. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-cache-lru.md +41 -41
  317. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-cache-react.md +76 -76
  318. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-dedup-props.md +65 -65
  319. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -83
  320. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-serialization.md +38 -38
  321. package/.agents/skills/profiles/springboot/README.md +10 -10
  322. package/.agents/skills/profiles/vue/create-api/SKILL.md +105 -105
  323. package/.agents/skills/profiles/vue/create-component/SKILL.md +76 -76
  324. package/.agents/skills/profiles/vue/create-route/SKILL.md +141 -141
  325. package/.agents/skills/profiles/vue/create-store/SKILL.md +97 -97
  326. package/.agents/skills/profiles/vue/create-view/SKILL.md +81 -81
  327. package/.agents/skills/profiles/vue/theme-variables/SKILL.md +73 -73
  328. package/.agents/skills/profiles/vue/vue-best-practices/SKILL.md +166 -166
  329. package/.agents/skills/profiles/vue/vue-best-practices/references/animation-class-based-technique.md +254 -254
  330. package/.agents/skills/profiles/vue/vue-best-practices/references/animation-state-driven-technique.md +291 -291
  331. package/.agents/skills/profiles/vue/vue-best-practices/references/component-async.md +97 -97
  332. package/.agents/skills/profiles/vue/vue-best-practices/references/component-data-flow.md +307 -307
  333. package/.agents/skills/profiles/vue/vue-best-practices/references/component-fallthrough-attrs.md +174 -174
  334. package/.agents/skills/profiles/vue/vue-best-practices/references/component-keep-alive.md +137 -137
  335. package/.agents/skills/profiles/vue/vue-best-practices/references/component-slots.md +216 -216
  336. package/.agents/skills/profiles/vue/vue-best-practices/references/component-suspense.md +228 -228
  337. package/.agents/skills/profiles/vue/vue-best-practices/references/component-teleport.md +108 -108
  338. package/.agents/skills/profiles/vue/vue-best-practices/references/component-transition-group.md +128 -128
  339. package/.agents/skills/profiles/vue/vue-best-practices/references/component-transition.md +125 -125
  340. package/.agents/skills/profiles/vue/vue-best-practices/references/composables.md +290 -290
  341. package/.agents/skills/profiles/vue/vue-best-practices/references/directives.md +162 -162
  342. package/.agents/skills/profiles/vue/vue-best-practices/references/perf-avoid-component-abstraction-in-lists.md +159 -159
  343. package/.agents/skills/profiles/vue/vue-best-practices/references/perf-v-once-v-memo-directives.md +182 -182
  344. package/.agents/skills/profiles/vue/vue-best-practices/references/perf-virtualize-large-lists.md +187 -187
  345. package/.agents/skills/profiles/vue/vue-best-practices/references/plugins.md +166 -166
  346. package/.agents/skills/profiles/vue/vue-best-practices/references/reactivity.md +344 -344
  347. package/.agents/skills/profiles/vue/vue-best-practices/references/render-functions.md +201 -201
  348. package/.agents/skills/profiles/vue/vue-best-practices/references/sfc.md +310 -310
  349. package/.agents/skills/profiles/vue/vue-best-practices/references/state-management.md +135 -135
  350. package/.agents/skills/profiles/vue/vue-best-practices/references/updated-hook-performance.md +187 -187
  351. package/.agents/templates/common/README.md +23 -23
  352. package/.agents/templates/common/bugfix.md +22 -22
  353. package/.agents/templates/common/create-expert-package.md +458 -458
  354. package/.agents/templates/common/mock-page.md +28 -28
  355. package/.agents/templates/common/new-component.md +25 -25
  356. package/.agents/templates/common/new-page.md +31 -31
  357. package/.cursor/mcp.json +35 -35
  358. package/.qoder/mcp.json +26 -26
  359. package/bin/archive-change.js +560 -474
  360. package/bin/check-command.js +62 -62
  361. package/bin/cli.js +0 -0
  362. package/bin/command-template-renderer.js +40 -40
  363. package/bin/context-command.js +102 -102
  364. package/bin/demo-runtime-smoke.js +760 -760
  365. package/bin/execution-semantics.js +821 -821
  366. package/bin/executor-command.js +93 -93
  367. package/bin/expert-dispatch.js +334 -334
  368. package/bin/expert-executor.js +1148 -1148
  369. package/bin/guard-command.js +52 -52
  370. package/bin/hub-command.js +876 -876
  371. package/bin/ide-command.js +242 -242
  372. package/bin/init-command.js +193 -193
  373. package/bin/install-workflow.js +35 -3
  374. package/bin/manifest-export.js +34 -34
  375. package/bin/profile-registry.js +90 -90
  376. package/bin/protocol-workflow.js +452 -446
  377. package/bin/repair-command.js +161 -161
  378. package/bin/repo-map.js +177 -177
  379. package/bin/report-command.js +236 -236
  380. package/bin/runtime-bootstrap.js +428 -428
  381. package/bin/runtime-embedded.js +101 -101
  382. package/bin/runtime-fallback.js +106 -106
  383. package/bin/runtime-launcher.js +116 -116
  384. package/bin/runtime-paths.js +177 -177
  385. package/bin/runtime-registry.js +289 -289
  386. package/bin/runtime-state.js +2541 -2541
  387. package/bin/scan.js +96 -96
  388. package/bin/self-upgrade.js +206 -206
  389. package/bin/skill-spec-validator.js +457 -457
  390. package/bin/spec-command.js +366 -366
  391. package/bin/superpowers.js +384 -384
  392. package/bin/sync-command.js +59 -59
  393. package/bin/sync.js +1904 -1904
  394. package/bin/task-orchestrator-adapter.js +341 -341
  395. package/bin/task-orchestrator-extractor.js +274 -274
  396. package/bin/task-orchestrator-runner.js +1208 -1208
  397. package/bin/telemetry/README.md +66 -66
  398. package/bin/telemetry/aspect.js +153 -153
  399. package/bin/telemetry/collect.js +67 -67
  400. package/bin/telemetry/config.js +114 -114
  401. package/bin/telemetry/defaults.json +5 -5
  402. package/bin/telemetry/healthcheck.js +195 -195
  403. package/bin/telemetry/identity.js +53 -53
  404. package/bin/telemetry/index.js +25 -25
  405. package/bin/telemetry/reporter.js +83 -83
  406. package/bin/telemetry/safe.js +39 -39
  407. package/bin/validate-registry.js +740 -740
  408. package/bin/visual-bridge-config.js +117 -117
  409. package/bin/visual-bridge.js +287 -287
  410. package/bin/visual-command.js +432 -432
  411. package/bin/worktree-command.js +194 -194
  412. package/configs/common/.editorconfig +15 -15
  413. package/configs/common/.husky/commit-msg +4 -4
  414. package/configs/common/.husky/pre-commit +4 -4
  415. package/configs/common/.lintstagedrc +11 -11
  416. package/configs/common/.prettierignore +11 -11
  417. package/configs/common/.prettierrc.json +11 -11
  418. package/configs/common/.stylelintignore +14 -14
  419. package/configs/common/.stylelintrc.json +21 -21
  420. package/configs/common/commitlint.config.js +3 -3
  421. package/configs/profiles/nestjs/.gitkeep +1 -1
  422. package/configs/profiles/node-tooling/.gitkeep +1 -1
  423. package/configs/profiles/react/.eslintignore +6 -6
  424. package/configs/profiles/react/.eslintrc.js +16 -16
  425. package/configs/profiles/react/.stylelintrc.json +18 -18
  426. package/configs/profiles/springboot/.gitkeep +1 -1
  427. package/configs/profiles/vue/.eslintignore +6 -6
  428. package/configs/profiles/vue/.eslintrc.cjs +17 -17
  429. package/contracts/README.md +28 -28
  430. package/contracts/fixtures/asset-package.fixture.json +26 -26
  431. package/contracts/fixtures/asset-usage-feedback.fixture.json +14 -14
  432. package/contracts/fixtures/evidence-report.fixture.json +28 -28
  433. package/contracts/fixtures/manifest.fixture.json +20 -20
  434. package/contracts/fixtures/run-event.fixture.json +15 -15
  435. package/contracts/schemas/asset-package.schema.json +76 -76
  436. package/contracts/schemas/asset-usage-feedback.schema.json +57 -57
  437. package/contracts/schemas/evidence-report.schema.json +60 -60
  438. package/contracts/schemas/manifest.schema.json +63 -63
  439. package/contracts/schemas/run-event.schema.json +72 -72
  440. package/install.ps1 +35 -35
  441. package/install.sh +17 -17
  442. package/internal/ai-protocol-workflow.js +5824 -5600
  443. package/internal/hub-client.js +98 -98
  444. package/internal/hub-sync-selection.js +69 -69
  445. package/internal/visual-hooks/README.md +481 -481
  446. package/internal/visual-hooks/config-loader.js +218 -218
  447. package/internal/visual-hooks/control-puller.js +206 -206
  448. package/internal/visual-hooks/gate-signal.js +150 -150
  449. package/internal/visual-hooks/inbox-consumer.js +469 -469
  450. package/internal/visual-hooks/index.js +197 -197
  451. package/internal/visual-hooks/push-client.js +189 -189
  452. package/internal/visual-hooks/receipt-pusher.js +176 -176
  453. package/internal/visual-hooks/runtime-state-pusher.js +128 -128
  454. package/openspec/config.yaml.template +52 -52
  455. package/openspec/schemas/expert-delivery/schema.yaml +68 -68
  456. package/openspec/schemas/expert-delivery/templates/checklist.md +39 -39
  457. package/openspec/schemas/expert-delivery/templates/design.md +61 -61
  458. package/openspec/schemas/expert-delivery/templates/iterations.md +25 -25
  459. package/openspec/schemas/expert-delivery/templates/proposal.md +45 -45
  460. package/openspec/schemas/expert-delivery/templates/spec.md +29 -29
  461. package/openspec/schemas/expert-delivery/templates/tasks.md +24 -24
  462. package/package.json +1 -1
  463. package/scripts/acceptance-zero-intrusion.sh +168 -168
  464. package/scripts/hub-sync-assets.config.example.json +296 -296
  465. package/scripts/hub-sync-assets.js +2038 -2038
  466. package/scripts/local-verify.sh +280 -280
  467. package/scripts/post-publish-auto-fix-check.js +404 -404
  468. package/scripts/post-publish-verify.sh +175 -175
  469. package/scripts/setup-cursor-manual-test.sh +107 -107
  470. package/scripts/setup-cursor-spec-archive-test.sh +111 -111
  471. package/scripts/setup-visual-integration.sh +225 -225
  472. package/scripts/test-integration.sh +176 -176
  473. package/scripts/update-test-project.sh +93 -93
  474. package/scripts/upload-four-web.sh +57 -57
  475. package/scripts/verify-install-ps1-bom.js +26 -26
  476. package/src/agent/agent-context.js +259 -259
  477. package/src/agent/agent-profile.js +185 -185
  478. package/src/agent/agent-templates.js +161 -161
  479. package/src/agent/agent-types.js +108 -108
  480. package/src/agent/collaboration-protocol.js +333 -333
  481. package/src/agent/conflict-handler.js +364 -364
  482. package/src/agent/file-permission.js +121 -121
  483. package/src/agent/index.js +38 -38
  484. package/src/agent/permission-audit.js +151 -151
  485. package/src/agent/review-repair-loop.js +270 -270
  486. package/src/agent/tool-permission.js +101 -101
  487. package/src/asset/asset-dependency.js +322 -322
  488. package/src/asset/asset-feedback.js +350 -350
  489. package/src/asset/asset-fork.js +300 -300
  490. package/src/asset/asset-install.js +278 -278
  491. package/src/asset/asset-installer.js +497 -497
  492. package/src/asset/asset-lifecycle.js +324 -324
  493. package/src/asset/asset-manager.js +245 -245
  494. package/src/asset/asset-package-manager.js +349 -349
  495. package/src/asset/asset-package.js +186 -186
  496. package/src/asset/asset-quality.js +262 -262
  497. package/src/asset/asset-registry.js +387 -387
  498. package/src/asset/asset-version.js +293 -293
  499. package/src/asset/index.js +86 -86
  500. package/src/cache/agent-profile-cache.js +59 -59
  501. package/src/cache/asset-cache.js +63 -63
  502. package/src/cache/global-cache.js +61 -61
  503. package/src/cache/manifest-cache.js +30 -30
  504. package/src/check/check-service.js +32 -32
  505. package/src/config/config-layer.js +343 -343
  506. package/src/config/config-loader.js +60 -60
  507. package/src/config/defaults.js +49 -49
  508. package/src/connectors/hub/asset-package.js +72 -72
  509. package/src/connectors/hub/asset-usage-feedback.js +46 -46
  510. package/src/connectors/hub/hub-connector.js +44 -44
  511. package/src/connectors/hub/index.js +21 -21
  512. package/src/connectors/visual/evidence-report.js +49 -49
  513. package/src/connectors/visual/index.js +15 -15
  514. package/src/connectors/visual/queue.js +41 -41
  515. package/src/connectors/visual/run-event.js +81 -81
  516. package/src/connectors/visual/visual-connector.js +77 -77
  517. package/src/context/context-budget.js +59 -59
  518. package/src/context/context-builder.js +285 -285
  519. package/src/context/context-loader.js +116 -116
  520. package/src/context/context-planner.js +158 -158
  521. package/src/context/types.js +96 -96
  522. package/src/contracts/index.js +63 -63
  523. package/src/executor/executor-registry.js +78 -78
  524. package/src/executor/executor-result-parser.js +44 -44
  525. package/src/executor/executor-runner.js +141 -141
  526. package/src/executor/executor-selector.js +139 -139
  527. package/src/executor/executor-timeout.js +36 -36
  528. package/src/executor/providers/base-provider-utils.js +189 -189
  529. package/src/executor/providers/claude-code-executor-provider.js +128 -128
  530. package/src/executor/providers/codex-executor-provider.js +126 -126
  531. package/src/executor/providers/cursor-executor-provider.js +99 -99
  532. package/src/executor/types.js +137 -137
  533. package/src/git/branch-manager.js +71 -71
  534. package/src/git/dirty-checker.js +43 -43
  535. package/src/git/dirty-strategy-handler.js +29 -29
  536. package/src/git/git-command.js +37 -37
  537. package/src/git/git-repository-detector.js +45 -45
  538. package/src/git/multi-repo-worktree-planner.js +88 -88
  539. package/src/git/policy.js +19 -19
  540. package/src/git/strategies/block-dirty-strategy.js +34 -34
  541. package/src/git/strategies/ignore-dirty-strategy.js +33 -33
  542. package/src/git/strategies/patch-snapshot-strategy.js +53 -53
  543. package/src/git/strategies/wip-commit-strategy.js +38 -38
  544. package/src/git/types.js +71 -71
  545. package/src/git/worktree-manager.js +85 -85
  546. package/src/governance/asset-review.js +351 -351
  547. package/src/governance/audit-log.js +368 -368
  548. package/src/governance/gray-release.js +312 -312
  549. package/src/governance/index.js +31 -31
  550. package/src/governance/policy-types.js +56 -56
  551. package/src/governance/rbac-types.js +171 -171
  552. package/src/governance/rbac.js +382 -382
  553. package/src/governance/rollback.js +360 -360
  554. package/src/governance/security-policy.js +354 -354
  555. package/src/hook/hook-config-writer.js +125 -125
  556. package/src/hub/hub-client.js +186 -186
  557. package/src/hub/hub-config.js +39 -39
  558. package/src/hub/project-facts.js +31 -31
  559. package/src/hub/runtime-feedback-reporter.js +55 -55
  560. package/src/ide/adapters/adapter-protocol.js +385 -385
  561. package/src/ide/adapters/claude-adapter.js +419 -419
  562. package/src/ide/adapters/codex-adapter.js +60 -60
  563. package/src/ide/adapters/cursor-adapter.js +484 -484
  564. package/src/ide/adapters/index.js +24 -24
  565. package/src/ide/anchors/markdown-anchor-writer.js +152 -152
  566. package/src/ide/ide-service.js +270 -270
  567. package/src/ide/ide-types.js +94 -94
  568. package/src/ide/links/link-mode-resolver.js +160 -160
  569. package/src/ide/registry/ide-registry-builder.js +165 -165
  570. package/src/incident/incident-writer.js +47 -47
  571. package/src/incident/types.js +22 -22
  572. package/src/init/ide-linker.js +126 -126
  573. package/src/init/ide-pointer-injector.js +75 -75
  574. package/src/init/init-applier.js +197 -197
  575. package/src/init/init-plan.js +294 -294
  576. package/src/init/init-service.js +65 -65
  577. package/src/init/manifest-installer.js +302 -302
  578. package/src/init/types.js +26 -26
  579. package/src/project/config-writer.js +83 -83
  580. package/src/project/context-index-writer.js +82 -82
  581. package/src/project/json-utils.js +72 -72
  582. package/src/project/local-state-writer.js +50 -50
  583. package/src/project/lock-file-writer.js +98 -98
  584. package/src/project/manifest-writer.js +126 -126
  585. package/src/project/policy-config-writer.js +91 -91
  586. package/src/project/project-config-writer.js +74 -74
  587. package/src/project/project-files.js +39 -39
  588. package/src/project/registry-index-writer.js +43 -43
  589. package/src/project/workspace-config-writer.js +63 -63
  590. package/src/run/index.js +11 -11
  591. package/src/run/run-id.js +32 -32
  592. package/src/run/run-service.js +269 -269
  593. package/src/run/run-store.js +80 -80
  594. package/src/scanner/aggregator/detection-aggregator.js +23 -23
  595. package/src/scanner/boundary/boundary-resolver.js +229 -229
  596. package/src/scanner/detectors/detector-registry.js +44 -44
  597. package/src/scanner/detectors/fastapi-detector.js +46 -46
  598. package/src/scanner/detectors/go-detector.js +46 -46
  599. package/src/scanner/detectors/nestjs-detector.js +57 -57
  600. package/src/scanner/detectors/nextjs-detector.js +52 -52
  601. package/src/scanner/detectors/react-vite-detector.js +52 -52
  602. package/src/scanner/detectors/react-webpack-detector.js +57 -57
  603. package/src/scanner/detectors/springboot-detector.js +46 -46
  604. package/src/scanner/detectors/springcloud-detector.js +46 -46
  605. package/src/scanner/detectors/springmvc-detector.js +46 -46
  606. package/src/scanner/detectors/vue-vite-detector.js +52 -52
  607. package/src/scanner/engine.js +72 -72
  608. package/src/scanner/facts/fact-extractor.js +211 -211
  609. package/src/scanner/types.js +30 -30
  610. package/src/security/asset-tamper-checker.js +188 -188
  611. package/src/security/checksum.js +40 -40
  612. package/src/spec/spec-writer.js +302 -302
  613. package/src/state-machine/circuit-breaker.js +112 -112
  614. package/src/state-machine/escape-hatch.js +49 -49
  615. package/src/state-machine/stage-runner.js +281 -281
  616. package/src/state-machine/state-machine.js +24 -24
  617. package/src/state-machine/transition-guard.js +36 -36
  618. package/src/state-machine/types.js +37 -37
  619. package/src/sync/sync-service.js +192 -192
  620. package/src/visual/agent-visual.js +142 -142
  621. package/src/visual/event-gateway.js +357 -357
  622. package/src/visual/event-mapper.js +128 -128
  623. package/src/visual/hook-dashboard.js +216 -216
  624. package/src/visual/index.js +27 -27
  625. package/src/visual/metrics.js +287 -287
  626. package/src/visual/privacy-filter.js +100 -100
  627. package/src/visual/risk-board.js +252 -252
  628. package/src/visual/timeline.js +245 -245
  629. package/src/visual/visual-client.js +94 -94
  630. package/src/visual/visual-config.js +40 -40
  631. package/src/visual/visual-reporter.js +88 -88
@@ -1,33 +1,33 @@
1
- ---
2
- alwaysApply: false
3
- description: Spring Boot 项目的分层规范,包括 Controller / Service / Repository 职责边界、禁止跨层直接调用的约束。当新增或修改业务代码时读取此规则。
4
- ---
5
-
6
- # 分层规范(Spring Boot)
7
-
8
- ## 分层职责
9
-
10
- | 层次 | 职责 | 禁止事项 |
11
- |------|------|----------|
12
- | Controller | 接收 HTTP 请求、参数校验、调用 Service、返回响应 | 禁止包含业务逻辑、禁止直接调用 Repository |
13
- | Service | 业务逻辑编排、事务管理、跨模块调用 | 禁止直接处理 HTTP 请求 / 响应对象 |
14
- | Repository | 数据访问、SQL / ORM 操作 | 禁止包含业务逻辑 |
15
- | Domain / Entity | 领域模型定义 | 禁止依赖 Service 或 Repository |
16
- | DTO | 数据传输对象,用于跨层传递 | 禁止包含业务逻辑 |
17
-
18
- ## 调用规则(NON-NEGOTIABLE)
19
-
20
- - Controller 只调用 Service,不直接调用 Repository
21
- - Service 调用 Repository 或其它 Service(同层可调用)
22
- - Repository 只负责数据操作,不引用 Service
23
-
24
- ## 事务管理
25
-
26
- - 事务注解 `@Transactional` 加在 Service 层
27
- - 只读操作使用 `@Transactional(readOnly = true)` 提升性能
28
- - 跨 Service 的复杂事务需明确传播行为(`REQUIRED` / `REQUIRES_NEW`)
29
-
30
- ## 接口与实现分离
31
-
32
- - Service 层优先定义接口(`XxxService`),由 `XxxServiceImpl` 实现
33
- - 单实现场景下可酌情省略接口,但需团队统一约定
1
+ ---
2
+ alwaysApply: false
3
+ description: Spring Boot 项目的分层规范,包括 Controller / Service / Repository 职责边界、禁止跨层直接调用的约束。当新增或修改业务代码时读取此规则。
4
+ ---
5
+
6
+ # 分层规范(Spring Boot)
7
+
8
+ ## 分层职责
9
+
10
+ | 层次 | 职责 | 禁止事项 |
11
+ |------|------|----------|
12
+ | Controller | 接收 HTTP 请求、参数校验、调用 Service、返回响应 | 禁止包含业务逻辑、禁止直接调用 Repository |
13
+ | Service | 业务逻辑编排、事务管理、跨模块调用 | 禁止直接处理 HTTP 请求 / 响应对象 |
14
+ | Repository | 数据访问、SQL / ORM 操作 | 禁止包含业务逻辑 |
15
+ | Domain / Entity | 领域模型定义 | 禁止依赖 Service 或 Repository |
16
+ | DTO | 数据传输对象,用于跨层传递 | 禁止包含业务逻辑 |
17
+
18
+ ## 调用规则(NON-NEGOTIABLE)
19
+
20
+ - Controller 只调用 Service,不直接调用 Repository
21
+ - Service 调用 Repository 或其它 Service(同层可调用)
22
+ - Repository 只负责数据操作,不引用 Service
23
+
24
+ ## 事务管理
25
+
26
+ - 事务注解 `@Transactional` 加在 Service 层
27
+ - 只读操作使用 `@Transactional(readOnly = true)` 提升性能
28
+ - 跨 Service 的复杂事务需明确传播行为(`REQUIRED` / `REQUIRES_NEW`)
29
+
30
+ ## 接口与实现分离
31
+
32
+ - Service 层优先定义接口(`XxxService`),由 `XxxServiceImpl` 实现
33
+ - 单实现场景下可酌情省略接口,但需团队统一约定
@@ -1,51 +1,51 @@
1
- ---
2
- alwaysApply: false
3
- description: Spring Boot 项目的接口与契约规范,包括 RESTful 接口设计、统一响应体、版本控制与参数校验约定。当新增或修改 HTTP 接口时读取此规则。
4
- ---
5
-
6
- # 接口与契约规范(Spring Boot)
7
-
8
- ## RESTful 设计原则
9
-
10
- | 操作 | HTTP 方法 | URI 示例 |
11
- |------|-----------|----------|
12
- | 查询列表 | GET | `/api/v1/orders` |
13
- | 查询详情 | GET | `/api/v1/orders/{id}` |
14
- | 创建 | POST | `/api/v1/orders` |
15
- | 更新(全量) | PUT | `/api/v1/orders/{id}` |
16
- | 更新(部分) | PATCH | `/api/v1/orders/{id}` |
17
- | 删除 | DELETE | `/api/v1/orders/{id}` |
18
-
19
- ## 统一响应体(NON-NEGOTIABLE)
20
-
21
- 所有接口必须返回统一的响应结构:
22
-
23
- ```java
24
- public class Result<T> {
25
- private int code; // 状态码,成功为 0 或 200
26
- private String message; // 描述信息
27
- private T data; // 业务数据
28
- }
29
- ```
30
-
31
- - 不允许直接返回裸数据,必须包装成统一响应体
32
- - 异常响应同样遵循此格式
33
-
34
- ## API 版本控制
35
-
36
- - URI 路径版本:`/api/v1/`、`/api/v2/`
37
- - 新版本接口不应破坏已有版本的兼容性
38
-
39
- ## 参数校验
40
-
41
- - 使用 JSR-303/380(`@Valid`、`@Validated`)进行请求参数校验
42
- - Controller 层统一触发校验,不在 Service 层重复校验入参格式
43
- - 自定义校验注解放在 `common` 模块的 `validation` 包
44
-
45
- ## DTO 命名约定
46
-
47
- | 场景 | 命名 | 示例 |
48
- |------|------|------|
49
- | 请求参数 | `XxxRequest` / `XxxReqDTO` | `CreateOrderRequest` |
50
- | 响应数据 | `XxxResponse` / `XxxRespDTO` | `OrderDetailResponse` |
51
- | 查询条件 | `XxxQuery` | `OrderListQuery` |
1
+ ---
2
+ alwaysApply: false
3
+ description: Spring Boot 项目的接口与契约规范,包括 RESTful 接口设计、统一响应体、版本控制与参数校验约定。当新增或修改 HTTP 接口时读取此规则。
4
+ ---
5
+
6
+ # 接口与契约规范(Spring Boot)
7
+
8
+ ## RESTful 设计原则
9
+
10
+ | 操作 | HTTP 方法 | URI 示例 |
11
+ |------|-----------|----------|
12
+ | 查询列表 | GET | `/api/v1/orders` |
13
+ | 查询详情 | GET | `/api/v1/orders/{id}` |
14
+ | 创建 | POST | `/api/v1/orders` |
15
+ | 更新(全量) | PUT | `/api/v1/orders/{id}` |
16
+ | 更新(部分) | PATCH | `/api/v1/orders/{id}` |
17
+ | 删除 | DELETE | `/api/v1/orders/{id}` |
18
+
19
+ ## 统一响应体(NON-NEGOTIABLE)
20
+
21
+ 所有接口必须返回统一的响应结构:
22
+
23
+ ```java
24
+ public class Result<T> {
25
+ private int code; // 状态码,成功为 0 或 200
26
+ private String message; // 描述信息
27
+ private T data; // 业务数据
28
+ }
29
+ ```
30
+
31
+ - 不允许直接返回裸数据,必须包装成统一响应体
32
+ - 异常响应同样遵循此格式
33
+
34
+ ## API 版本控制
35
+
36
+ - URI 路径版本:`/api/v1/`、`/api/v2/`
37
+ - 新版本接口不应破坏已有版本的兼容性
38
+
39
+ ## 参数校验
40
+
41
+ - 使用 JSR-303/380(`@Valid`、`@Validated`)进行请求参数校验
42
+ - Controller 层统一触发校验,不在 Service 层重复校验入参格式
43
+ - 自定义校验注解放在 `common` 模块的 `validation` 包
44
+
45
+ ## DTO 命名约定
46
+
47
+ | 场景 | 命名 | 示例 |
48
+ |------|------|------|
49
+ | 请求参数 | `XxxRequest` / `XxxReqDTO` | `CreateOrderRequest` |
50
+ | 响应数据 | `XxxResponse` / `XxxRespDTO` | `OrderDetailResponse` |
51
+ | 查询条件 | `XxxQuery` | `OrderListQuery` |
@@ -1,34 +1,34 @@
1
- ---
2
- alwaysApply: false
3
- description: Spring Boot 项目的数据访问规范,包括 ORM 框架选型约定、Repository 命名、SQL 管理与事务边界。当编写数据访问层代码时读取此规则。
4
- ---
5
-
6
- # 数据访问规范(Spring Boot)
7
-
8
- ## ORM 框架约定
9
-
10
- - 项目统一使用团队约定的 ORM 框架(MyBatis / JPA / Spring Data),禁止混用
11
- - MyBatis 项目:SQL 写在 XML 中(`src/main/resources/mapper/`),禁止直接在注解里写复杂 SQL
12
- - JPA 项目:简单查询使用 Repository 方法命名,复杂查询使用 `@Query` 或 Specification
13
-
14
- ## Repository 命名
15
-
16
- - 接口命名:`XxxMapper`(MyBatis)或 `XxxRepository`(JPA)
17
- - 每个实体对应一个 Mapper / Repository,禁止跨实体混合操作
18
-
19
- ## 分页查询
20
-
21
- - 统一使用框架提供的分页机制(MyBatis-Plus `Page`、Spring Data `Pageable`)
22
- - 禁止手写 `LIMIT offset, size` 做内存分页
23
-
24
- ## SQL 安全
25
-
26
- - 禁止字符串拼接构造 SQL(防 SQL 注入)
27
- - 动态 SQL 使用框架提供的条件拼接(`<if>`、`Criteria`)
28
- - 批量操作使用框架批量接口,禁止循环单条操作
29
-
30
- ## 实体设计
31
-
32
- - 主键统一通过框架生成策略管理(雪花 ID、自增、UUID 按项目选一)
33
- - 审计字段(创建时间、更新时间、创建人、更新人)统一由基类或 `@EntityListeners` 自动填充
34
- - 逻辑删除字段统一命名(如 `is_deleted`),不做物理删除
1
+ ---
2
+ alwaysApply: false
3
+ description: Spring Boot 项目的数据访问规范,包括 ORM 框架选型约定、Repository 命名、SQL 管理与事务边界。当编写数据访问层代码时读取此规则。
4
+ ---
5
+
6
+ # 数据访问规范(Spring Boot)
7
+
8
+ ## ORM 框架约定
9
+
10
+ - 项目统一使用团队约定的 ORM 框架(MyBatis / JPA / Spring Data),禁止混用
11
+ - MyBatis 项目:SQL 写在 XML 中(`src/main/resources/mapper/`),禁止直接在注解里写复杂 SQL
12
+ - JPA 项目:简单查询使用 Repository 方法命名,复杂查询使用 `@Query` 或 Specification
13
+
14
+ ## Repository 命名
15
+
16
+ - 接口命名:`XxxMapper`(MyBatis)或 `XxxRepository`(JPA)
17
+ - 每个实体对应一个 Mapper / Repository,禁止跨实体混合操作
18
+
19
+ ## 分页查询
20
+
21
+ - 统一使用框架提供的分页机制(MyBatis-Plus `Page`、Spring Data `Pageable`)
22
+ - 禁止手写 `LIMIT offset, size` 做内存分页
23
+
24
+ ## SQL 安全
25
+
26
+ - 禁止字符串拼接构造 SQL(防 SQL 注入)
27
+ - 动态 SQL 使用框架提供的条件拼接(`<if>`、`Criteria`)
28
+ - 批量操作使用框架批量接口,禁止循环单条操作
29
+
30
+ ## 实体设计
31
+
32
+ - 主键统一通过框架生成策略管理(雪花 ID、自增、UUID 按项目选一)
33
+ - 审计字段(创建时间、更新时间、创建人、更新人)统一由基类或 `@EntityListeners` 自动填充
34
+ - 逻辑删除字段统一命名(如 `is_deleted`),不做物理删除
@@ -1,38 +1,38 @@
1
- ---
2
- alwaysApply: false
3
- description: Spring Boot 项目的配置与运行时规范,包括配置文件分层、环境隔离、敏感配置管理与 Bean 生命周期约定。当新增或修改配置时读取此规则。
4
- ---
5
-
6
- # 配置与运行时规范(Spring Boot)
7
-
8
- ## 配置文件分层
9
-
10
- ```text
11
- src/main/resources/
12
- ├── application.yml # 公共配置(不含敏感信息)
13
- ├── application-dev.yml # 开发环境
14
- ├── application-test.yml # 测试环境
15
- ├── application-prod.yml # 生产环境
16
- └── bootstrap.yml # 配置中心加载(如使用)
17
- ```
18
-
19
- - 通过 `spring.profiles.active` 激活环境配置
20
- - 公共配置放 `application.yml`,环境差异放对应的 profile 文件
21
-
22
- ## 敏感配置管理(NON-NEGOTIABLE)
23
-
24
- - 数据库密码、中间件密码、第三方 API 密钥禁止写入 Git
25
- - 生产敏感配置通过配置中心(Nacos / Apollo)或环境变量注入
26
- - 本地开发可使用 `.env` 文件(已加入 `.gitignore`)存储敏感值
27
-
28
- ## 配置类约定
29
-
30
- - 自定义配置使用 `@ConfigurationProperties` 而非多处 `@Value`
31
- - 配置类放在 `config/` 包,命名为 `XxxProperties` 或 `XxxConfig`
32
- - 配置校验:在 `@ConfigurationProperties` 类上使用 `@Validated` 及 JSR-303 注解
33
-
34
- ## Bean 生命周期
35
-
36
- - 使用构造函数注入(而非字段注入),便于测试与不变性保证
37
- - 避免循环依赖;若存在,优先通过重构消除,而非使用 `@Lazy`
38
- - `ApplicationRunner` / `CommandLineRunner` 仅用于应用启动后的一次性初始化
1
+ ---
2
+ alwaysApply: false
3
+ description: Spring Boot 项目的配置与运行时规范,包括配置文件分层、环境隔离、敏感配置管理与 Bean 生命周期约定。当新增或修改配置时读取此规则。
4
+ ---
5
+
6
+ # 配置与运行时规范(Spring Boot)
7
+
8
+ ## 配置文件分层
9
+
10
+ ```text
11
+ src/main/resources/
12
+ ├── application.yml # 公共配置(不含敏感信息)
13
+ ├── application-dev.yml # 开发环境
14
+ ├── application-test.yml # 测试环境
15
+ ├── application-prod.yml # 生产环境
16
+ └── bootstrap.yml # 配置中心加载(如使用)
17
+ ```
18
+
19
+ - 通过 `spring.profiles.active` 激活环境配置
20
+ - 公共配置放 `application.yml`,环境差异放对应的 profile 文件
21
+
22
+ ## 敏感配置管理(NON-NEGOTIABLE)
23
+
24
+ - 数据库密码、中间件密码、第三方 API 密钥禁止写入 Git
25
+ - 生产敏感配置通过配置中心(Nacos / Apollo)或环境变量注入
26
+ - 本地开发可使用 `.env` 文件(已加入 `.gitignore`)存储敏感值
27
+
28
+ ## 配置类约定
29
+
30
+ - 自定义配置使用 `@ConfigurationProperties` 而非多处 `@Value`
31
+ - 配置类放在 `config/` 包,命名为 `XxxProperties` 或 `XxxConfig`
32
+ - 配置校验:在 `@ConfigurationProperties` 类上使用 `@Validated` 及 JSR-303 注解
33
+
34
+ ## Bean 生命周期
35
+
36
+ - 使用构造函数注入(而非字段注入),便于测试与不变性保证
37
+ - 避免循环依赖;若存在,优先通过重构消除,而非使用 `@Lazy`
38
+ - `ApplicationRunner` / `CommandLineRunner` 仅用于应用启动后的一次性初始化
@@ -1,48 +1,48 @@
1
- ---
2
- alwaysApply: false
3
- description: Spring Boot 项目的异常与日志规范,包括全局异常处理、自定义异常体系、日志级别与结构化日志约定。当编写异常处理或日志相关代码时读取此规则。
4
- ---
5
-
6
- # 异常与日志规范(Spring Boot)
7
-
8
- ## 异常体系
9
-
10
- - 定义统一的业务异常基类(如 `BusinessException`)
11
- - 不同业务模块可扩展自己的子类(如 `OrderNotFoundException`)
12
- - 禁止直接抛出 `RuntimeException` 或 `Exception`,必须使用有语义的异常类型
13
-
14
- ## 全局异常处理(NON-NEGOTIABLE)
15
-
16
- - 使用 `@RestControllerAdvice` + `@ExceptionHandler` 统一捕获异常
17
- - 全局处理器返回统一响应体(参考接口契约规范)
18
- - 以下异常必须全局处理:
19
- - `BusinessException` 及其子类
20
- - `MethodArgumentNotValidException`(参数校验失败)
21
- - `HttpMessageNotReadableException`(请求体解析失败)
22
- - 兜底 `Exception`(避免泄露堆栈信息到响应中)
23
-
24
- ## 日志规范
25
-
26
- - 使用 `SLF4J` + `Logback` 或 `Log4j2`,禁止直接使用 `System.out.println`
27
- - 通过 `@Slf4j`(Lombok)或手动 `LoggerFactory.getLogger` 获取 Logger
28
- - 生产环境禁止 DEBUG 日志;开发/测试环境可开启
29
-
30
- ### 日志级别使用场景
31
-
32
- | 级别 | 适用场景 |
33
- |------|----------|
34
- | ERROR | 系统异常、不可预期错误、需立即处理的问题 |
35
- | WARN | 可恢复的业务异常、配置缺失但有兜底 |
36
- | INFO | 关键业务操作节点(订单创建、支付完成等) |
37
- | DEBUG | 开发调试信息,生产禁止输出 |
38
-
39
- ### 结构化日志
40
-
41
- - 关键操作日志包含:操作类型、业务 ID、操作人、耗时
42
- - 推荐使用 MDC 注入 traceId / requestId,便于链路追踪
43
-
44
- ## 禁止事项
45
-
46
- - 禁止在 catch 块中吞掉异常(即 catch 后不记录、不抛出)
47
- - 禁止将异常堆栈直接返回给客户端
48
- - 禁止在循环内大量打印日志(性能风险)
1
+ ---
2
+ alwaysApply: false
3
+ description: Spring Boot 项目的异常与日志规范,包括全局异常处理、自定义异常体系、日志级别与结构化日志约定。当编写异常处理或日志相关代码时读取此规则。
4
+ ---
5
+
6
+ # 异常与日志规范(Spring Boot)
7
+
8
+ ## 异常体系
9
+
10
+ - 定义统一的业务异常基类(如 `BusinessException`)
11
+ - 不同业务模块可扩展自己的子类(如 `OrderNotFoundException`)
12
+ - 禁止直接抛出 `RuntimeException` 或 `Exception`,必须使用有语义的异常类型
13
+
14
+ ## 全局异常处理(NON-NEGOTIABLE)
15
+
16
+ - 使用 `@RestControllerAdvice` + `@ExceptionHandler` 统一捕获异常
17
+ - 全局处理器返回统一响应体(参考接口契约规范)
18
+ - 以下异常必须全局处理:
19
+ - `BusinessException` 及其子类
20
+ - `MethodArgumentNotValidException`(参数校验失败)
21
+ - `HttpMessageNotReadableException`(请求体解析失败)
22
+ - 兜底 `Exception`(避免泄露堆栈信息到响应中)
23
+
24
+ ## 日志规范
25
+
26
+ - 使用 `SLF4J` + `Logback` 或 `Log4j2`,禁止直接使用 `System.out.println`
27
+ - 通过 `@Slf4j`(Lombok)或手动 `LoggerFactory.getLogger` 获取 Logger
28
+ - 生产环境禁止 DEBUG 日志;开发/测试环境可开启
29
+
30
+ ### 日志级别使用场景
31
+
32
+ | 级别 | 适用场景 |
33
+ |------|----------|
34
+ | ERROR | 系统异常、不可预期错误、需立即处理的问题 |
35
+ | WARN | 可恢复的业务异常、配置缺失但有兜底 |
36
+ | INFO | 关键业务操作节点(订单创建、支付完成等) |
37
+ | DEBUG | 开发调试信息,生产禁止输出 |
38
+
39
+ ### 结构化日志
40
+
41
+ - 关键操作日志包含:操作类型、业务 ID、操作人、耗时
42
+ - 推荐使用 MDC 注入 traceId / requestId,便于链路追踪
43
+
44
+ ## 禁止事项
45
+
46
+ - 禁止在 catch 块中吞掉异常(即 catch 后不记录、不抛出)
47
+ - 禁止将异常堆栈直接返回给客户端
48
+ - 禁止在循环内大量打印日志(性能风险)
@@ -1,43 +1,43 @@
1
- ---
2
- alwaysApply: false
3
- description: Spring Boot 项目的测试规范,包括测试框架(JUnit 5 + Mockito + Spring Boot Test)、测试分层策略、测试文件约定与质量门禁。当编写测试或评审测试代码时读取此规则。
4
- ---
5
-
6
- # 测试规范(Spring Boot)
7
-
8
- ## 测试框架
9
-
10
- - 统一使用 **JUnit 5**(`@ExtendWith(SpringExtension.class)` 或 `@SpringBootTest`)
11
- - Mock 框架:**Mockito**(`@MockBean`、`@Mock`、`@InjectMocks`)
12
- - 断言库:**AssertJ**(推荐)或 JUnit 5 原生 `Assertions`
13
-
14
- ## 测试分层策略
15
-
16
- | 层次 | 注解 | 范围 | 说明 |
17
- |------|------|------|------|
18
- | 单元测试 | 无 Spring 上下文 | Service / 工具类 | 使用 Mockito 模拟依赖,运行最快 |
19
- | 切片测试 | `@WebMvcTest`、`@DataJpaTest` | Controller / Repository | 只加载对应层的 Spring 上下文 |
20
- | 集成测试 | `@SpringBootTest` | 全链路 | 加载完整上下文,速度慢,按需使用 |
21
-
22
- ## 测试文件约定
23
-
24
- | 项目 | 约定 |
25
- |------|------|
26
- | 文件位置 | `src/test/java/<same-package-as-source>/` |
27
- | 文件命名 | `XxxTest.java`(单元测试)、`XxxIT.java`(集成测试) |
28
- | 测试配置 | `src/test/resources/application-test.yml` |
29
-
30
- ## 编写规范
31
-
32
- - 测试方法命名使用中文或英文描述,表达预期行为而非实现步骤
33
- - 遵循 **Arrange-Act-Assert** 模式
34
- - 每个测试方法只验证一个行为点
35
- - 测试应互相独立,不依赖执行顺序
36
- - 使用 `@TestPropertySource` 或测试配置文件覆盖生产配置
37
-
38
- ## 质量门禁(NON-NEGOTIABLE)
39
-
40
- - 所有 Service 层核心业务逻辑必须有单元测试覆盖
41
- - `@SpringBootTest` 集成测试按需使用,不要求全覆盖
42
- - 测试必须能独立运行,不依赖外部真实服务(使用 Mock 或嵌入式数据库)
43
- - 新增工具类必须附带测试用例
1
+ ---
2
+ alwaysApply: false
3
+ description: Spring Boot 项目的测试规范,包括测试框架(JUnit 5 + Mockito + Spring Boot Test)、测试分层策略、测试文件约定与质量门禁。当编写测试或评审测试代码时读取此规则。
4
+ ---
5
+
6
+ # 测试规范(Spring Boot)
7
+
8
+ ## 测试框架
9
+
10
+ - 统一使用 **JUnit 5**(`@ExtendWith(SpringExtension.class)` 或 `@SpringBootTest`)
11
+ - Mock 框架:**Mockito**(`@MockBean`、`@Mock`、`@InjectMocks`)
12
+ - 断言库:**AssertJ**(推荐)或 JUnit 5 原生 `Assertions`
13
+
14
+ ## 测试分层策略
15
+
16
+ | 层次 | 注解 | 范围 | 说明 |
17
+ |------|------|------|------|
18
+ | 单元测试 | 无 Spring 上下文 | Service / 工具类 | 使用 Mockito 模拟依赖,运行最快 |
19
+ | 切片测试 | `@WebMvcTest`、`@DataJpaTest` | Controller / Repository | 只加载对应层的 Spring 上下文 |
20
+ | 集成测试 | `@SpringBootTest` | 全链路 | 加载完整上下文,速度慢,按需使用 |
21
+
22
+ ## 测试文件约定
23
+
24
+ | 项目 | 约定 |
25
+ |------|------|
26
+ | 文件位置 | `src/test/java/<same-package-as-source>/` |
27
+ | 文件命名 | `XxxTest.java`(单元测试)、`XxxIT.java`(集成测试) |
28
+ | 测试配置 | `src/test/resources/application-test.yml` |
29
+
30
+ ## 编写规范
31
+
32
+ - 测试方法命名使用中文或英文描述,表达预期行为而非实现步骤
33
+ - 遵循 **Arrange-Act-Assert** 模式
34
+ - 每个测试方法只验证一个行为点
35
+ - 测试应互相独立,不依赖执行顺序
36
+ - 使用 `@TestPropertySource` 或测试配置文件覆盖生产配置
37
+
38
+ ## 质量门禁(NON-NEGOTIABLE)
39
+
40
+ - 所有 Service 层核心业务逻辑必须有单元测试覆盖
41
+ - `@SpringBootTest` 集成测试按需使用,不要求全覆盖
42
+ - 测试必须能独立运行,不依赖外部真实服务(使用 Mock 或嵌入式数据库)
43
+ - 新增工具类必须附带测试用例
@@ -1,48 +1,48 @@
1
- ---
2
- alwaysApply: false
3
- description: Spring Boot 项目的代码格式化与静态检查规范,包括 Checkstyle、SpotBugs、Google Java Format 等工具链职责与配置约定。当配置或调整代码检查工具时读取此规则。
4
- ---
5
-
6
- # 代码格式化与检查(Spring Boot)
7
-
8
- ## 工具链
9
-
10
- | 工具 | 职责 | 配置文件 |
11
- |------|------|----------|
12
- | **Google Java Format** / **Spotless** | Java 代码格式化(缩进、括号等) | `pom.xml` / `build.gradle` 中的插件配置 |
13
- | **Checkstyle** | 代码风格检查(命名、注释等) | `checkstyle.xml` |
14
- | **SpotBugs** | 静态分析(潜在 bug 检测) | `spotbugs-exclude.xml` |
15
-
16
- ## 格式化规则
17
-
18
- - 统一使用项目约定的 Java 格式化风格(Google Style 或 Alibaba Java Style)
19
- - 缩进:4 个空格,禁止使用 Tab
20
- - 单行最大宽度:120 字符
21
- - 所有 `import` 按字母顺序排列,禁止 wildcard import(`import java.util.*`)
22
-
23
- ## Checkstyle 核心规则
24
-
25
- - 类、方法、字段命名遵循 Java 命名约定
26
- - 公共类和公共方法必须有 Javadoc 注释
27
- - 禁止空 catch 块(必须有注释说明忽略原因)
28
-
29
- ## Maven / Gradle 集成
30
-
31
- ```xml
32
- <!-- Maven 示例:Spotless 格式化插件 -->
33
- <plugin>
34
- <groupId>com.diffplug.spotless</groupId>
35
- <artifactId>spotless-maven-plugin</artifactId>
36
- <configuration>
37
- <java>
38
- <googleJavaFormat/>
39
- </java>
40
- </configuration>
41
- </plugin>
42
- ```
43
-
44
- ## 开发流程集成
45
-
46
- - 提交前通过 Maven/Gradle 的 `verify` 阶段执行 Checkstyle 和 SpotBugs
47
- - IDE 推荐安装 Checkstyle 插件,实时提示规范问题
48
- - CI 流水线必须包含 `checkstyle:check` 步骤,失败则阻断合并
1
+ ---
2
+ alwaysApply: false
3
+ description: Spring Boot 项目的代码格式化与静态检查规范,包括 Checkstyle、SpotBugs、Google Java Format 等工具链职责与配置约定。当配置或调整代码检查工具时读取此规则。
4
+ ---
5
+
6
+ # 代码格式化与检查(Spring Boot)
7
+
8
+ ## 工具链
9
+
10
+ | 工具 | 职责 | 配置文件 |
11
+ |------|------|----------|
12
+ | **Google Java Format** / **Spotless** | Java 代码格式化(缩进、括号等) | `pom.xml` / `build.gradle` 中的插件配置 |
13
+ | **Checkstyle** | 代码风格检查(命名、注释等) | `checkstyle.xml` |
14
+ | **SpotBugs** | 静态分析(潜在 bug 检测) | `spotbugs-exclude.xml` |
15
+
16
+ ## 格式化规则
17
+
18
+ - 统一使用项目约定的 Java 格式化风格(Google Style 或 Alibaba Java Style)
19
+ - 缩进:4 个空格,禁止使用 Tab
20
+ - 单行最大宽度:120 字符
21
+ - 所有 `import` 按字母顺序排列,禁止 wildcard import(`import java.util.*`)
22
+
23
+ ## Checkstyle 核心规则
24
+
25
+ - 类、方法、字段命名遵循 Java 命名约定
26
+ - 公共类和公共方法必须有 Javadoc 注释
27
+ - 禁止空 catch 块(必须有注释说明忽略原因)
28
+
29
+ ## Maven / Gradle 集成
30
+
31
+ ```xml
32
+ <!-- Maven 示例:Spotless 格式化插件 -->
33
+ <plugin>
34
+ <groupId>com.diffplug.spotless</groupId>
35
+ <artifactId>spotless-maven-plugin</artifactId>
36
+ <configuration>
37
+ <java>
38
+ <googleJavaFormat/>
39
+ </java>
40
+ </configuration>
41
+ </plugin>
42
+ ```
43
+
44
+ ## 开发流程集成
45
+
46
+ - 提交前通过 Maven/Gradle 的 `verify` 阶段执行 Checkstyle 和 SpotBugs
47
+ - IDE 推荐安装 Checkstyle 插件,实时提示规范问题
48
+ - CI 流水线必须包含 `checkstyle:check` 步骤,失败则阻断合并