@pzy560117/codex-harness 0.1.3 → 0.1.5

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 (386) hide show
  1. package/README.md +164 -27
  2. package/bin/harness.js +7 -7
  3. package/lib/commands/doctor.js +12 -12
  4. package/lib/commands/init.js +105 -105
  5. package/lib/commands/run.js +22 -22
  6. package/lib/commands/verify.js +12 -12
  7. package/lib/main.js +62 -62
  8. package/lib/powershell/find-powershell.js +20 -20
  9. package/lib/powershell/invoke-script.js +34 -34
  10. package/lib/project/assert-initialized.js +20 -20
  11. package/lib/project/detect-project-root.js +5 -5
  12. package/lib/release/cache-layout.js +34 -34
  13. package/lib/release/download-release.js +25 -25
  14. package/lib/release/package-source-layout.js +13 -13
  15. package/lib/release/release-config.js +6 -6
  16. package/lib/release/release-manifest.js +76 -76
  17. package/lib/release/resolve-package-source.js +21 -21
  18. package/lib/release/resolve-version.js +26 -26
  19. package/lib/release/unpack-zip.js +25 -25
  20. package/lib/release/verify-sha256.js +16 -16
  21. package/package-source/AGENTS.md +48 -57
  22. package/package-source/PACKAGE.md +7 -7
  23. package/package-source/README.md +85 -81
  24. package/package-source/docs/codex-harness-engineering/templates/AGENTS.md +51 -0
  25. package/package-source/docs/codex-harness-engineering/templates/README.md +21 -20
  26. package/package-source/docs/codex-harness-engineering/templates/bootstrap-codex-harness.ps1 +144 -110
  27. package/package-source/docs/codex-harness-engineering/templates/ci/AGENTS.md +15 -0
  28. package/package-source/docs/codex-harness-engineering/templates/ci/github-action-codex-review.yml +110 -110
  29. package/package-source/docs/codex-harness-engineering/templates/config/AGENTS.md +19 -0
  30. package/package-source/docs/codex-harness-engineering/templates/config/agents/architect.toml +18 -17
  31. package/package-source/docs/codex-harness-engineering/templates/config/agents/backend-worker.toml +15 -14
  32. package/package-source/docs/codex-harness-engineering/templates/config/agents/docs-researcher.toml +13 -12
  33. package/package-source/docs/codex-harness-engineering/templates/config/agents/docs-worker.toml +16 -15
  34. package/package-source/docs/codex-harness-engineering/templates/config/agents/explorer.toml +15 -14
  35. package/package-source/docs/codex-harness-engineering/templates/config/agents/failure-triage.toml +19 -18
  36. package/package-source/docs/codex-harness-engineering/templates/config/agents/frontend-worker.toml +15 -14
  37. package/package-source/docs/codex-harness-engineering/templates/config/agents/harness-writer.toml +16 -15
  38. package/package-source/docs/codex-harness-engineering/templates/config/agents/planner.toml +16 -15
  39. package/package-source/docs/codex-harness-engineering/templates/config/agents/readonly-research.toml +14 -13
  40. package/package-source/docs/codex-harness-engineering/templates/config/agents/reviewer.toml +13 -12
  41. package/package-source/docs/codex-harness-engineering/templates/config/agents/security-reviewer.toml +16 -15
  42. package/package-source/docs/codex-harness-engineering/templates/config/agents/stage1-reviewer.toml +15 -14
  43. package/package-source/docs/codex-harness-engineering/templates/config/agents/stage2-reviewer.toml +16 -15
  44. package/package-source/docs/codex-harness-engineering/templates/config/agents/test-planner.toml +18 -17
  45. package/package-source/docs/codex-harness-engineering/templates/config/agents/test-runner.toml +15 -14
  46. package/package-source/docs/codex-harness-engineering/templates/config/agents/visual-reviewer.toml +16 -15
  47. package/package-source/docs/codex-harness-engineering/templates/config/codex-agent-roles.md +24 -24
  48. package/package-source/docs/codex-harness-engineering/templates/config/codex-config.toml +12 -12
  49. package/package-source/docs/codex-harness-engineering/templates/config/codex-readme.md +6 -6
  50. package/package-source/docs/codex-harness-engineering/templates/config/env-check.ps1 +44 -40
  51. package/package-source/docs/codex-harness-engineering/templates/config/env.example +13 -12
  52. package/package-source/docs/codex-harness-engineering/templates/config/global-AGENTS.md +40 -40
  53. package/package-source/docs/codex-harness-engineering/templates/config/global-config.toml +19 -19
  54. package/package-source/docs/codex-harness-engineering/templates/config/rules/agents.md +118 -115
  55. package/package-source/docs/codex-harness-engineering/templates/config/rules/coding-style.md +57 -74
  56. package/package-source/docs/codex-harness-engineering/templates/config/rules/constitution.md +4 -4
  57. package/package-source/docs/codex-harness-engineering/templates/config/rules/git.rules +41 -41
  58. package/package-source/docs/codex-harness-engineering/templates/config/rules/harness.rules +29 -29
  59. package/package-source/docs/codex-harness-engineering/templates/config/rules/safety.rules +35 -35
  60. package/package-source/docs/codex-harness-engineering/templates/context/AGENTS.md +19 -0
  61. package/package-source/docs/codex-harness-engineering/templates/context/API_MAP.md +18 -0
  62. package/package-source/docs/codex-harness-engineering/templates/context/CHANGELOG_AI.md +11 -0
  63. package/package-source/docs/codex-harness-engineering/templates/context/CURRENT_TASK.md +114 -0
  64. package/package-source/docs/codex-harness-engineering/templates/context/DB_SCHEMA.md +14 -0
  65. package/package-source/docs/codex-harness-engineering/templates/context/DECISIONS.md +12 -0
  66. package/package-source/docs/codex-harness-engineering/templates/context/KNOWN_ISSUES.md +12 -0
  67. package/package-source/docs/codex-harness-engineering/templates/context/PROJECT_CONTEXT.md +14 -0
  68. package/package-source/docs/codex-harness-engineering/templates/context/architecture-brief.md +58 -58
  69. package/package-source/docs/codex-harness-engineering/templates/context/dev-plan.md +89 -83
  70. package/package-source/docs/codex-harness-engineering/templates/context/feature-pack.md +101 -101
  71. package/package-source/docs/codex-harness-engineering/templates/context/repo-map.md +102 -78
  72. package/package-source/docs/codex-harness-engineering/templates/context/service-dependency-matrix.yaml +25 -25
  73. package/package-source/docs/codex-harness-engineering/templates/contracts/AGENTS.md +17 -0
  74. package/package-source/docs/codex-harness-engineering/templates/contracts/README.md +24 -16
  75. package/package-source/docs/codex-harness-engineering/templates/contracts/openapi.yaml +182 -182
  76. package/package-source/docs/codex-harness-engineering/templates/contracts/orval.config.ts +20 -20
  77. package/package-source/docs/codex-harness-engineering/templates/contracts/prism-usage.md +41 -34
  78. package/package-source/docs/codex-harness-engineering/templates/design/AGENTS.md +21 -0
  79. package/package-source/docs/codex-harness-engineering/templates/design/ai-image-brief.md +122 -122
  80. package/package-source/docs/codex-harness-engineering/templates/design/component-map.md +45 -31
  81. package/package-source/docs/codex-harness-engineering/templates/design/design-brief.md +183 -178
  82. package/package-source/docs/codex-harness-engineering/templates/design/design-tokens.json +88 -88
  83. package/package-source/docs/codex-harness-engineering/templates/design/frontend-architecture.md +164 -146
  84. package/package-source/docs/codex-harness-engineering/templates/design/image-to-frontend-spec.md +64 -52
  85. package/package-source/docs/codex-harness-engineering/templates/design/screen-states.md +157 -122
  86. package/package-source/docs/codex-harness-engineering/templates/design/visual-parity-review.md +21 -21
  87. package/package-source/docs/codex-harness-engineering/templates/docs/AGENTS.md +19 -0
  88. package/package-source/docs/codex-harness-engineering/templates/docs/architecture-constraints.md +97 -83
  89. package/package-source/docs/codex-harness-engineering/templates/docs/code-semantics-and-navigation.md +54 -0
  90. package/package-source/docs/codex-harness-engineering/templates/docs/code-style-and-naming.md +116 -0
  91. package/package-source/docs/codex-harness-engineering/templates/docs/directory-structure-template.md +88 -0
  92. package/package-source/docs/codex-harness-engineering/templates/docs/env-and-deployment-template.md +60 -0
  93. package/package-source/docs/codex-harness-engineering/templates/docs/frontend-quality-rules.md +165 -138
  94. package/package-source/docs/codex-harness-engineering/templates/docs/governance-auto-repair.md +82 -80
  95. package/package-source/docs/codex-harness-engineering/templates/docs/harness-architecture.md +78 -78
  96. package/package-source/docs/codex-harness-engineering/templates/docs/install-manifest-governance.md +16 -16
  97. package/package-source/docs/codex-harness-engineering/templates/docs/knowledge-architecture.md +241 -219
  98. package/package-source/docs/codex-harness-engineering/templates/docs/knowledge-import.md +108 -108
  99. package/package-source/docs/codex-harness-engineering/templates/docs/knowledge-lint.md +98 -98
  100. package/package-source/docs/codex-harness-engineering/templates/docs/mcp-knowledge-governance.md +24 -0
  101. package/package-source/docs/codex-harness-engineering/templates/docs/new-project-checklist.md +7 -7
  102. package/package-source/docs/codex-harness-engineering/templates/docs/new-project-usage.md +107 -43
  103. package/package-source/docs/codex-harness-engineering/templates/docs/project-agents-template.md +211 -154
  104. package/package-source/docs/codex-harness-engineering/templates/docs/prompt-knowledge-integration.md +100 -89
  105. package/package-source/docs/codex-harness-engineering/templates/docs/regression-rules.md +47 -45
  106. package/package-source/docs/codex-harness-engineering/templates/docs/requirement-prep-kit/README.md +3 -3
  107. package/package-source/docs/codex-harness-engineering/templates/docs/rule-governance.md +98 -98
  108. package/package-source/docs/codex-harness-engineering/templates/docs/service-dependency-matrix.md +70 -55
  109. package/package-source/docs/codex-harness-engineering/templates/docs/task-session-strategy.md +133 -116
  110. package/package-source/docs/codex-harness-engineering/templates/docs/team-knowledge-sync.md +187 -187
  111. package/package-source/docs/codex-harness-engineering/templates/docs/trace-format.md +44 -32
  112. package/package-source/docs/codex-harness-engineering/templates/governance/AGENTS.md +18 -0
  113. package/package-source/docs/codex-harness-engineering/templates/governance/branch-protection-checklist.md +50 -50
  114. package/package-source/docs/codex-harness-engineering/templates/governance/feedback-evolution-loop.md +55 -55
  115. package/package-source/docs/codex-harness-engineering/templates/governance/retry-budget.yaml +30 -30
  116. package/package-source/docs/codex-harness-engineering/templates/governance/risk-levels.yaml +53 -53
  117. package/package-source/docs/codex-harness-engineering/templates/governance/sandbox-policy.md +13 -13
  118. package/package-source/docs/codex-harness-engineering/templates/hooks/AGENTS.md +15 -0
  119. package/package-source/docs/codex-harness-engineering/templates/hooks/hook-stop-verify.ps1 +171 -118
  120. package/package-source/docs/codex-harness-engineering/templates/hooks/hooks.json +40 -40
  121. package/package-source/docs/codex-harness-engineering/templates/knowledge/AGENTS.md +16 -0
  122. package/package-source/docs/codex-harness-engineering/templates/knowledge/catalog.md +6 -6
  123. package/package-source/docs/codex-harness-engineering/templates/knowledge/decisions/DECISION-HARNESS-001.md +39 -39
  124. package/package-source/docs/codex-harness-engineering/templates/knowledge/guidelines/GUIDELINE-RULES-001.md +30 -30
  125. package/package-source/docs/codex-harness-engineering/templates/knowledge/knowledge-catalog.md +41 -41
  126. package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/templates/plan-template.md +252 -252
  127. package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/templates/spec-template.md +145 -145
  128. package/package-source/docs/codex-harness-engineering/templates/package-assets/.specify/templates/tasks-template.md +47 -47
  129. package/package-source/docs/codex-harness-engineering/templates/package-assets/AGENTS.md +19 -0
  130. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/AGENTS.md +25 -0
  131. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/README.md +118 -42
  132. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/START-HERE.md +66 -53
  133. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/agent-ecosystem-practices.md +140 -140
  134. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/best-practices.md +9 -9
  135. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/codex-global-rules-example.md +48 -48
  136. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/AGENTS.md +14 -0
  137. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/goal-templates.md +380 -380
  138. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/AGENTS.md +14 -0
  139. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/README.md +64 -64
  140. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/contracts/openapi.yaml +25 -25
  141. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/contracts/orval.config.ts +20 -20
  142. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/design/ai-image-brief.md +44 -44
  143. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/design/component-map.md +17 -17
  144. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/design/design-brief.md +58 -58
  145. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/design/frontend-architecture.md +106 -106
  146. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/design/image-to-frontend-spec.md +72 -72
  147. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/design/screen-states.md +25 -25
  148. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/design/ui-image-review.md +38 -38
  149. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/product/difficulty-research.md +39 -39
  150. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/product/page-inventory.md +5 -5
  151. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/product/prd-lite.md +41 -41
  152. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/product/requirement-interface-matrix.md +32 -32
  153. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/docs/product/state-matrix.yaml +14 -14
  154. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/packages/api-client/generated/model/Ticket.ts +6 -6
  155. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/packages/api-client/generated/ticket-api.ts +35 -35
  156. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/packages/api-client/http-client.ts +8 -8
  157. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/packages/ui/TicketFilterBar.tsx +72 -72
  158. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/plans/features/ticket-filter.dev-plan.md +48 -48
  159. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/progress.txt +1 -1
  160. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/stories/TicketFilterBar.stories.tsx +33 -33
  161. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/task.json +54 -54
  162. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/examples/ticket-filter-demo/verify.ps1 +42 -42
  163. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/global-rules-and-bootstrap.md +157 -157
  164. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/goal-harness-integration-guide.md +364 -364
  165. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/implementation-flow.md +7 -5
  166. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/implementation-guide.md +25 -25
  167. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/knowledge-surface-map.md +186 -0
  168. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/mode-matrix.md +57 -57
  169. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/new-project-usage.md +176 -0
  170. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/project-agents-template.md +168 -154
  171. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/superpowers-codex-solo-builder-playbook.md +676 -676
  172. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/AGENTS.md +22 -0
  173. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/context/AGENTS.md +14 -0
  174. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/context/API_MAP.md +18 -0
  175. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/context/CURRENT_TASK.md +89 -0
  176. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/context/dev-plan.md +166 -0
  177. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/contracts/AGENTS.md +14 -0
  178. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/contracts/README.md +24 -0
  179. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/contracts/prism-usage.md +41 -0
  180. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/AGENTS.md +14 -0
  181. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/component-map.md +45 -31
  182. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/design-brief.md +183 -178
  183. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/design-tokens.json +88 -88
  184. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/frontend-architecture.md +164 -146
  185. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/image-to-frontend-spec.md +64 -52
  186. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/screen-states.md +157 -122
  187. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/design/visual-parity-review.md +21 -21
  188. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/docs/AGENTS.md +14 -0
  189. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/docs/env-and-deployment-template.md +60 -0
  190. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/docs/frontend-quality-rules.md +161 -138
  191. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/docs/regression-rules.md +47 -0
  192. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/docs/trace-format.md +86 -0
  193. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/product/AGENTS.md +14 -0
  194. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/product/prd-lite.md +166 -0
  195. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/product/state-matrix.yaml +116 -0
  196. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/prompts/AGENTS.md +14 -0
  197. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/prompts/implement-one-task.md +150 -0
  198. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/prompts/repair-one-finding.md +70 -0
  199. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/spec/11-security-design.md +43 -0
  200. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/spec/AGENTS.md +14 -0
  201. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/testing/AGENTS.md +14 -0
  202. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/testing/EVIDENCE_PROTOCOL.md +54 -0
  203. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/testing/NATURAL_LANGUAGE_TEST_CASES.md +690 -0
  204. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/testing/REGRESSION_PLAN.md +28 -0
  205. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/testing/TEST_STRATEGY.md +98 -0
  206. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/testing/TRACEABILITY_MATRIX.md +23 -0
  207. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/codex-harness-engineering/templates/testing/verify-matrix.md +51 -0
  208. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/README.md +10 -10
  209. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/ecc-zh-CN/commands/e2e.md +30 -30
  210. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/README.md +60 -60
  211. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/app/Mobile_App_Production_Readiness_Framework_/347/247/273/345/212/250/347/253/257/345/205/250/345/271/263/345/217/260/347/224/237/344/272/247/345/217/257/344/270/212/347/272/277/350/247/204/350/214/203.md +2457 -2457
  212. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/app/catalog.md +33 -33
  213. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/architecture.md +358 -358
  214. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/common/AI_Coding_Production_Control_Framework_AI/345/206/231/345/256/214/347/232/204/344/273/243/347/240/201/345/246/202/344/275/225/344/270/215/345/244/261/346/216/247.md +2055 -2055
  215. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/common/catalog.md +34 -34
  216. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/initial-content.md +296 -296
  217. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/external-knowledge/integration-roadmap.md +221 -221
  218. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/architecture-constraints.md +95 -83
  219. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/code-semantics-and-navigation.md +17 -0
  220. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/code-style-and-naming.md +116 -0
  221. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/frontend-quality-rules.md +138 -138
  222. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/governance-auto-repair.md +82 -80
  223. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/mcp-knowledge-governance.md +24 -0
  224. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/service-dependency-matrix.md +55 -55
  225. package/package-source/docs/codex-harness-engineering/templates/package-assets/docs/harness/speckit-requirements-gate.md +124 -124
  226. package/package-source/docs/codex-harness-engineering/templates/package-assets/root/PACKAGE.md +7 -7
  227. package/package-source/docs/codex-harness-engineering/templates/package-assets/root/README.md +52 -52
  228. package/package-source/docs/codex-harness-engineering/templates/package-assets/root/install-agent-here.ps1 +57 -57
  229. package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/agents.md +115 -115
  230. package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/coding-style.md +57 -74
  231. package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/constitution.md +4 -4
  232. package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/git.rules +41 -41
  233. package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/harness.rules +29 -29
  234. package/package-source/docs/codex-harness-engineering/templates/package-assets/rules/safety.rules +35 -35
  235. package/package-source/docs/codex-harness-engineering/templates/package-assets/scripts/ai-workflow/check-ai-sync-drift.ps1 +205 -205
  236. package/package-source/docs/codex-harness-engineering/templates/package-assets/scripts/ai-workflow/sync-ai-config-to-targets.ps1 +826 -826
  237. package/package-source/docs/codex-harness-engineering/templates/package-assets/scripts/ai-workflow/sync-targets.example.json +35 -35
  238. package/package-source/docs/codex-harness-engineering/templates/package-assets/scripts/harness/harness-governance-check.ps1 +864 -366
  239. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/HOW_TO_USE_SKILLS.md +79 -79
  240. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/academic-mermaid-diagrams/SKILL.md +172 -172
  241. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/ai-config-git-sync/SKILL.md +152 -152
  242. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/ai-config-git-sync/references/command-recipes.md +92 -92
  243. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/auto-commit/SKILL.md +324 -322
  244. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/better-icons/SKILL.md +3 -3
  245. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/claude-openrouter-clash-debug/SKILL.md +100 -100
  246. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/claude-openrouter-clash-debug/references/windows-openrouter-clash-playbook.md +94 -94
  247. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/claude-openrouter-clash-debug/scripts/diagnose-openrouter-route.ps1 +282 -282
  248. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/claude-openrouter-clash-debug/scripts/ensure-openrouter-rule.ps1 +101 -101
  249. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/fixing-metadata/SKILL.md +6 -6
  250. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/frontend-design/SKILL.md +37 -37
  251. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/git-xianyu-analyzer/SKILL.md +3 -3
  252. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/harness-surface-sync/SKILL.md +204 -188
  253. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/harness-surface-sync/references/current-repo-sync-matrix.md +150 -110
  254. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/harness-surface-sync/references/stale-patterns.md +65 -65
  255. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/init-autopilot/SKILL.md +17 -15
  256. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/log-analysis-optimization/SKILL.md +5 -5
  257. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/prd-writer-skill/SKILL.md +28 -28
  258. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/qa-e2e-planner/SKILL.md +11 -11
  259. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/qa-e2e-runner/SKILL.md +6 -6
  260. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/qa-mock-cleaner/SKILL.md +4 -4
  261. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/qoder-codex-api-config/SKILL.md +67 -67
  262. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/qoder-codex-api-config/agents/openai.yaml +7 -7
  263. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/qoder-codex-api-config/scripts/configure-qoder-codex-api.ps1 +278 -278
  264. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/requirements-design-template/SKILL.md +87 -87
  265. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/skills-index.md +12 -12
  266. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/speckit-analyze/SKILL.md +34 -34
  267. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/speckit-checklist/SKILL.md +8 -8
  268. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/speckit-clarify/SKILL.md +28 -28
  269. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/speckit-e2e-tasks/SKILL.md +12 -12
  270. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/speckit-implement/SKILL.md +37 -37
  271. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/speckit-plan/SKILL.md +140 -138
  272. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/speckit-specify/SKILL.md +100 -100
  273. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/speckit-tasks/SKILL.md +86 -86
  274. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/speckit-verify/SKILL.md +144 -142
  275. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/sync-project-root-docs/SKILL.md +145 -143
  276. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/sync-project-root-docs/references/current-repo-notes.md +42 -41
  277. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/sync-project-root-docs/references/github-samples.md +33 -33
  278. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/sync-project-root-docs/scripts/collect-root-doc-facts.ps1 +174 -145
  279. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/thesis-writing/references/ai-integrity-and-originality.md +191 -191
  280. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/thesis-writing/references/citation-templates.md +99 -99
  281. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/thesis-writing/references/final-checklist.md +60 -60
  282. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/thesis-writing/references/photographer-booking-paper.md +85 -85
  283. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/thesis-writing/references/test-result-templates.md +22 -22
  284. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/thesis-writing/references/thesis-analysis-template.md +63 -63
  285. package/package-source/docs/codex-harness-engineering/templates/package-assets/skills/update-codemaps/SKILL.md +31 -31
  286. package/package-source/docs/codex-harness-engineering/templates/package-assets/workflows/README.md +15 -15
  287. package/package-source/docs/codex-harness-engineering/templates/package-assets/workflows/speckit.analyze.md +60 -60
  288. package/package-source/docs/codex-harness-engineering/templates/package-assets/workflows/speckit.checklist.md +8 -8
  289. package/package-source/docs/codex-harness-engineering/templates/package-assets/workflows/speckit.clarify.md +28 -28
  290. package/package-source/docs/codex-harness-engineering/templates/package-assets/workflows/speckit.e2e-testing.md +10 -10
  291. package/package-source/docs/codex-harness-engineering/templates/package-assets/workflows/speckit.implement.md +56 -56
  292. package/package-source/docs/codex-harness-engineering/templates/package-assets/workflows/speckit.plan.md +137 -134
  293. package/package-source/docs/codex-harness-engineering/templates/package-assets/workflows/speckit.specify.md +100 -100
  294. package/package-source/docs/codex-harness-engineering/templates/package-assets/workflows/speckit.tasks.md +86 -86
  295. package/package-source/docs/codex-harness-engineering/templates/package-assets/workflows/speckit.verify.md +130 -130
  296. package/package-source/docs/codex-harness-engineering/templates/product/AGENTS.md +19 -0
  297. package/package-source/docs/codex-harness-engineering/templates/product/acceptance-criteria.md +47 -47
  298. package/package-source/docs/codex-harness-engineering/templates/product/difficulty-research.md +47 -47
  299. package/package-source/docs/codex-harness-engineering/templates/product/page-inventory.md +21 -21
  300. package/package-source/docs/codex-harness-engineering/templates/product/prd-lite.md +166 -158
  301. package/package-source/docs/codex-harness-engineering/templates/product/requirement-interface-matrix.md +37 -37
  302. package/package-source/docs/codex-harness-engineering/templates/product/state-matrix.yaml +116 -105
  303. package/package-source/docs/codex-harness-engineering/templates/prompts/AGENTS.md +15 -0
  304. package/package-source/docs/codex-harness-engineering/templates/prompts/controller-loop.md +88 -88
  305. package/package-source/docs/codex-harness-engineering/templates/prompts/failure-triage.md +71 -69
  306. package/package-source/docs/codex-harness-engineering/templates/prompts/harness-audit.md +54 -52
  307. package/package-source/docs/codex-harness-engineering/templates/prompts/implement-one-task.md +150 -148
  308. package/package-source/docs/codex-harness-engineering/templates/prompts/repair-one-finding.md +70 -67
  309. package/package-source/docs/codex-harness-engineering/templates/prompts/review-one-task.md +45 -43
  310. package/package-source/docs/codex-harness-engineering/templates/prompts/review-stage1-spec.md +111 -109
  311. package/package-source/docs/codex-harness-engineering/templates/prompts/review-stage2-quality.md +82 -80
  312. package/package-source/docs/codex-harness-engineering/templates/prompts/visual-evaluator.md +80 -78
  313. package/package-source/docs/codex-harness-engineering/templates/prompts/worker-role/backend-worker.md +41 -41
  314. package/package-source/docs/codex-harness-engineering/templates/prompts/worker-role/docs-worker.md +28 -28
  315. package/package-source/docs/codex-harness-engineering/templates/prompts/worker-role/frontend-worker.md +46 -46
  316. package/package-source/docs/codex-harness-engineering/templates/prompts/worker-role/harness-writer.md +40 -40
  317. package/package-source/docs/codex-harness-engineering/templates/prompts/worker-role/test-runner.md +27 -27
  318. package/package-source/docs/codex-harness-engineering/templates/runtime/AGENTS.md +66 -50
  319. package/package-source/docs/codex-harness-engineering/templates/runtime/codex-loop.ps1 +2129 -231
  320. package/package-source/docs/codex-harness-engineering/templates/runtime/doctor.ps1 +224 -224
  321. package/package-source/docs/codex-harness-engineering/templates/runtime/project-task-template.json +42 -39
  322. package/package-source/docs/codex-harness-engineering/templates/runtime/scripts/test-install-modes.ps1 +2 -2
  323. package/package-source/docs/codex-harness-engineering/templates/runtime/smoke-task.json +52 -52
  324. package/package-source/docs/codex-harness-engineering/templates/runtime/task-run-profile.json +86 -86
  325. package/package-source/docs/codex-harness-engineering/templates/runtime/task.json +11 -8
  326. package/package-source/docs/codex-harness-engineering/templates/runtime/verify.ps1 +21 -21
  327. package/package-source/docs/codex-harness-engineering/templates/scripts/AGENTS.md +15 -0
  328. package/package-source/docs/codex-harness-engineering/templates/scripts/ai-workflow/check-ai-sync-drift.ps1 +205 -205
  329. package/package-source/docs/codex-harness-engineering/templates/scripts/harness/harness-governance-check.ps1 +864 -366
  330. package/package-source/docs/codex-harness-engineering/templates/spec/10-data-model.md +23 -7
  331. package/package-source/docs/codex-harness-engineering/templates/spec/11-security-design.md +30 -13
  332. package/package-source/docs/codex-harness-engineering/templates/spec/AGENTS.md +15 -0
  333. package/package-source/docs/codex-harness-engineering/templates/testing/ACCEPTANCE_CRITERIA.md +39 -39
  334. package/package-source/docs/codex-harness-engineering/templates/testing/ACCEPTANCE_EXAMPLES.md +37 -37
  335. package/package-source/docs/codex-harness-engineering/templates/testing/AGENTS.md +19 -0
  336. package/package-source/docs/codex-harness-engineering/templates/testing/EVIDENCE_PROTOCOL.md +54 -48
  337. package/package-source/docs/codex-harness-engineering/templates/testing/NATURAL_LANGUAGE_TEST_CASES.md +5 -4
  338. package/package-source/docs/codex-harness-engineering/templates/testing/REGRESSION_PLAN.md +28 -20
  339. package/package-source/docs/codex-harness-engineering/templates/testing/RISK_BASED_TEST_PLAN.md +16 -16
  340. package/package-source/docs/codex-harness-engineering/templates/testing/TEST_STRATEGY.md +98 -97
  341. package/package-source/docs/codex-harness-engineering/templates/testing/TRACEABILITY_MATRIX.md +6 -5
  342. package/package-source/docs/codex-harness-engineering/templates/testing/coverage-policy.md +25 -25
  343. package/package-source/docs/codex-harness-engineering/templates/testing/e2e-plan.md +139 -139
  344. package/package-source/docs/codex-harness-engineering/templates/testing/failure-findings.example.json +3 -3
  345. package/package-source/docs/codex-harness-engineering/templates/testing/failure-triage.md +62 -62
  346. package/package-source/docs/codex-harness-engineering/templates/testing/test-data-plan.md +36 -36
  347. package/package-source/docs/codex-harness-engineering/templates/testing/test-report.md +85 -41
  348. package/package-source/docs/codex-harness-engineering/templates/testing/verify-matrix.md +15 -5
  349. package/package-source/docs/codex-harness-engineering/templates/tools/AGENTS.md +14 -0
  350. package/package-source/docs/codex-harness-engineering/templates/tools/harness/acceptance-lint.ps1 +37 -0
  351. package/package-source/docs/codex-harness-engineering/templates/tools/harness/architecture-lint.ps1 +150 -0
  352. package/package-source/docs/codex-harness-engineering/templates/tools/harness/backend-lint.ps1 +137 -0
  353. package/package-source/docs/codex-harness-engineering/templates/tools/harness/business-lint.ps1 +148 -0
  354. package/package-source/docs/codex-harness-engineering/templates/tools/harness/component-lint.ps1 +148 -0
  355. package/package-source/docs/codex-harness-engineering/templates/tools/harness/config-lint.ps1 +159 -0
  356. package/package-source/docs/codex-harness-engineering/templates/tools/harness/context-lint.ps1 +187 -0
  357. package/package-source/docs/codex-harness-engineering/templates/tools/harness/contract-lint.ps1 +148 -0
  358. package/package-source/docs/codex-harness-engineering/templates/tools/harness/data-lint.ps1 +37 -0
  359. package/package-source/docs/codex-harness-engineering/templates/tools/harness/directory-lint.ps1 +152 -0
  360. package/package-source/docs/codex-harness-engineering/templates/tools/harness/docs-lint.ps1 +40 -0
  361. package/package-source/docs/codex-harness-engineering/templates/tools/harness/impact-lint.ps1 +148 -0
  362. package/package-source/docs/codex-harness-engineering/templates/tools/harness/integration-lint.ps1 +37 -0
  363. package/package-source/docs/codex-harness-engineering/templates/tools/harness/mobile-lint.ps1 +37 -0
  364. package/package-source/docs/codex-harness-engineering/templates/tools/harness/observability-lint.ps1 +137 -0
  365. package/package-source/docs/codex-harness-engineering/templates/tools/harness/performance-lint.ps1 +148 -0
  366. package/package-source/docs/codex-harness-engineering/templates/tools/harness/refactor-lint.ps1 +137 -0
  367. package/package-source/docs/codex-harness-engineering/templates/tools/harness/security-lint.ps1 +159 -0
  368. package/package-source/docs/codex-harness-engineering/templates/tools/harness/session-lint.ps1 +126 -0
  369. package/package-source/docs/codex-harness-engineering/templates/tools/harness/spec-lint.ps1 +285 -0
  370. package/package-source/docs/codex-harness-engineering/templates/tools/harness/state-lint.ps1 +137 -0
  371. package/package-source/docs/codex-harness-engineering/templates/tools/harness/style-lint.ps1 +155 -0
  372. package/package-source/docs/codex-harness-engineering/templates/tools/harness/testing-lint.ps1 +192 -0
  373. package/package-source/docs/codex-harness-engineering/templates/tools/harness/ui-lint.ps1 +148 -0
  374. package/package-source/docs/codex-harness-engineering/templates/trace/AGENTS.md +16 -0
  375. package/package-source/docs/codex-harness-engineering/templates/trace/eval-case.yaml +24 -24
  376. package/package-source/docs/codex-harness-engineering/templates/trace/trace.schema.json +101 -101
  377. package/package-source/install-manifest.json +149 -79
  378. package/package-source/tools/install/ai-workflow/check-ai-sync-drift.ps1 +205 -205
  379. package/package-source/tools/install/ai-workflow/sync-ai-config-to-targets.ps1 +826 -826
  380. package/package-source/tools/install/ai-workflow/sync-targets.example.json +35 -35
  381. package/package-source/tools/install/bootstrap-codex-harness.ps1 +145 -129
  382. package/package-source/tools/install/env-check.ps1 +40 -40
  383. package/package-source/tools/install/init-project.ps1 +1 -1
  384. package/package-source/tools/install/install-agent-here.ps1 +57 -57
  385. package/package-source/tools/install/install-agent.ps1 +33 -31
  386. package/package.json +23 -23
@@ -0,0 +1,116 @@
1
+ # 项目级命名词典与边界模板
2
+
3
+ 这份文档不是固定规则入口。固定不变的第五章规则已经放进 always-on 的 `coding-style.md`。
4
+
5
+ 这里专门承载项目特有、会随业务变化的内容:
6
+
7
+ - 业务词典
8
+ - 历史别名兼容
9
+ - 某些目录的命名例外
10
+ - 类型后缀禁用表和替代方案
11
+ - 当前项目的文件命名分层表
12
+
13
+ ## 1. 适用原则
14
+
15
+ - 先读规则文件 `coding-style.md`,这里不重复抄固定规则。
16
+ - 这里的每一项都应当是“当前项目特有事实”,不是通用工程常识。
17
+ - 如果某项约束对所有项目都成立,应上收回规则文件,而不是继续堆在本文。
18
+
19
+ ## 2. 业务词典
20
+
21
+ 先维护“一个概念一个名字”的项目词典。
22
+
23
+ | 业务概念 | 统一名称 | 禁止混用的别名 | 说明 |
24
+ | --- | --- | --- | --- |
25
+ | 用户 | `user` | `member`、`customer`、`client` | 如果确实是不同角色,拆成独立概念 |
26
+ | 商品 | `product` | `goods`、`item`、`commodity` | 只保留业务正式名词 |
27
+ | 订单 | `order` | `bill`、`trade` | 支付单可单独定义 `paymentOrder` |
28
+ | 优惠券 | `coupon` | `voucher`、`ticket` | 如果有券模板,再单独定义 `couponTemplate` |
29
+
30
+ 补齐项目自己的业务词典时,至少回答:
31
+
32
+ - 这个概念在页面、接口、数据库、测试里是否同名。
33
+ - 是否已经存在历史别名;如果有,兼容层放在哪里。
34
+ - 新增同义词时,是新概念还是旧概念的脏别名。
35
+
36
+ ## 3. 项目文件命名分层表
37
+
38
+ 先按目录层级声明规则,再允许新增文件。
39
+
40
+ | 路径 / 资产类型 | 命名规则 | 示例 | 禁止情况 |
41
+ | --- | --- | --- | --- |
42
+ | React / Vue 页面组件 | `PascalCase` | `UserProfilePage.tsx` | 与同层 `user-profile-page.tsx` 混用 |
43
+ | 通用 hooks | `camelCase` 且以 `use` 开头 | `useUserProfile.ts` | `userHook.ts`、`getUserHook.ts` |
44
+ | 纯工具函数 | `camelCase` | `formatPrice.ts` | `dealData.ts`、`tool.ts` |
45
+ | 测试文件 | 跟随被测对象 + `.test` / `.spec` | `formatPrice.test.ts` | `test1.ts` |
46
+ | 文档模板 | `kebab-case` | `code-style-and-naming.md` | `codeStyle.md`、`code_style.md` |
47
+
48
+ 新增文件前必须回答:
49
+
50
+ - 这个文件属于页面、feature、shared、contract、testing 还是 scripts。
51
+ - 同目录现有文件使用什么规则。
52
+ - 如果要破例,为什么不能沿用当前目录规则。
53
+
54
+ ## 4. 项目特有命名例外
55
+
56
+ 这里只记录项目例外,不重复写通用函数命名原则。
57
+
58
+ - 哪些历史目录仍在使用旧命名风格:
59
+ - 哪些生成代码目录允许例外:
60
+ - 哪些第三方契约文件不按项目规则命名:
61
+ - 哪些 legacy 字段名必须保留原样:
62
+
63
+ ## 5. 类型命名边界
64
+
65
+ 同一个项目里,`Entity`、`DTO`、`Response`、`FormValues`、`ViewModel` 这些后缀必须先定义边界。
66
+
67
+ | 类型后缀 | 用途 | 不该承载什么 |
68
+ | --- | --- | --- |
69
+ | `Entity` | 持久化模型 / 数据库实体 | 前端展示字段 |
70
+ | `Dto` / `DTO` | 服务边界输入输出 | ORM 细节、UI 状态 |
71
+ | `Response` | API 返回结构 | 表单临时状态 |
72
+ | `Request` | API 请求参数 | 数据库存储字段 |
73
+ | `FormValues` | 表单输入态 | 服务端完整实体 |
74
+ | `ViewModel` | 页面展示聚合模型 | 持久化约束 |
75
+
76
+ 如果项目不使用这些后缀中的某些项,要在这里明确写:
77
+
78
+ - 禁止使用哪些后缀。
79
+ - 统一替代方案是什么。
80
+ - 历史遗留命名如何兼容。
81
+
82
+ ## 6. 新增命名前必须确认
83
+
84
+ 实现前先确认这 5 件事:
85
+
86
+ 1. 这个名词是否已在业务词典中定义。
87
+ 2. 同类文件在当前目录如何命名。
88
+ 3. 这个函数名是否表达了主动作和对象。
89
+ 4. 这个类型属于哪一层边界,是否需要后缀。
90
+ 5. 是否会和历史别名、旧接口字段或数据库字段冲突。
91
+
92
+ ## 7. 自动化与人工门禁
93
+
94
+ 建议自动化命令:
95
+
96
+ ```text
97
+ lint
98
+ typecheck
99
+ format
100
+ test
101
+ git diff --check
102
+ ```
103
+
104
+ Harness 侧至少保留两层约束:
105
+
106
+ - `coding-style.md` 默认自动加载固定规则。
107
+ - `CURRENT_TASK.md` 和本文记录当前项目 / 当前任务的特有词典与边界。
108
+ - `style-lint.ps1` 同时检查规则文件和项目级模板是否完整。
109
+
110
+ ## 8. 评审检查单
111
+
112
+ - 同一业务概念是否出现多个别名。
113
+ - 同层文件是否混用了多套命名风格。
114
+ - 新函数名是否仍然依赖 `do/process/check` 这类模糊词。
115
+ - `User`、`UserInfo`、`UserData`、`UserModel` 之类类型是否有明确边界。
116
+ - 新增字段、接口、测试数据、文档是否与统一名词同步。
@@ -0,0 +1,88 @@
1
+ # Directory Structure Template
2
+
3
+ 本文用于给项目补一份明确的目录结构真相源,减少 AI 在文件放置、目录新建和业务域组织上的随意性。
4
+
5
+ ## 适用场景
6
+
7
+ - 项目目录较大,单靠 `repo-map.md` 不足以约束文件放置。
8
+ - 同一项目中同时存在页面、组件、API、hooks、types、constants、测试等多类资产。
9
+ - 团队已经反复遇到“文件放错位置”“随意新建目录”“按技术类型乱堆而不是按业务域组织”的问题。
10
+
11
+ ## 目标
12
+
13
+ - 说明已有目录各自负责什么。
14
+ - 说明新文件应该放到哪里。
15
+ - 说明哪些目录名禁止新增。
16
+ - 说明是按业务域组织,还是按技术层组织,或两者混合。
17
+
18
+ ## 目录规范模板
19
+
20
+ ```markdown
21
+ # Directory Structure
22
+
23
+ ## 1. 组织原则
24
+
25
+ - 当前项目主要按 `<业务域 / 技术层 / 混合模式>` 组织。
26
+ - 业务域优先的模块:`<features/<domain> / packages/<domain> / apps/<domain>>`
27
+ - 技术层优先的共享目录:`<components/common / services / hooks / types / constants>`
28
+ - 当业务域目录与共享目录冲突时,优先规则:`<写清优先级>`
29
+
30
+ ## 2. 顶层目录说明
31
+
32
+ | 路径 | 用途 | 应放内容 | 不应放内容 |
33
+ | --- | --- | --- | --- |
34
+ | `src/pages/` | 页面 / 路由 | 页面组合、路由入口 | 纯公共组件、HTTP 调用细节 |
35
+ | `src/components/common/` | 通用组件 | 无业务语义组件 | 业务状态、业务权限 |
36
+ | `src/features/` | 业务域模块 | 业务组件、业务 hooks、领域 model | 全局通用 primitive |
37
+ | `src/services/` | API / service | HTTP client、service 封装 | 页面 UI 逻辑 |
38
+ | `src/hooks/` | 通用 hooks | 跨页面复用 hooks | 页面专用临时逻辑 |
39
+ | `src/types/` | 类型 | 通用类型、契约类型 | 页面样式、业务逻辑 |
40
+ | `src/constants/` | 常量 | 枚举、配置常量 | 函数实现 |
41
+ | `tests/` | 测试 | 同构测试、集成测试、E2E | 生产代码 |
42
+
43
+ ## 3. 新文件放置规则
44
+
45
+ - 页面级组件:放到对应页面目录或 `features/<domain>/components`
46
+ - 可复用业务组件:放到 `features/<domain>/components`
47
+ - 全局公共组件:放到 `components/common`
48
+ - 接口请求:放到 `services/` 或 `features/<domain>/api/`
49
+ - 类型定义:放到 `types/` 或模块内 `model/` / `types/`
50
+ - 测试文件:与源码保持同构,或进入明确的测试目录
51
+
52
+ ## 4. 禁止新增的目录名
53
+
54
+ - `newFeature/`
55
+ - `featureNew/`
56
+ - `myComponents/`
57
+ - `common2/`
58
+ - `utils2/`
59
+ - `helper/`
60
+ - `temp/`
61
+ - `test-new/`
62
+
63
+ ## 5. 新增目录前必须回答
64
+
65
+ - 为什么需要新目录?
66
+ - 现有目录为什么不能放?
67
+ - 这个目录未来会放什么?
68
+ - 是否符合当前项目现有结构?
69
+ - 是否需要给该目录补 `AGENTS.md`?
70
+
71
+ ## 6. 业务域组织规则
72
+
73
+ - 若按业务域组织,推荐域列表:`<domain-a> / <domain-b> / <domain-c>`
74
+ - 新业务代码默认先进对应业务域目录。
75
+ - 只有跨业务复用已被验证后,才允许上提到共享层。
76
+
77
+ ## 7. 测试与索引同步
78
+
79
+ - 新增目录后,如影响导航,更新 `docs/ai/repo-map.md`
80
+ - 新增目录后,如目录规则明显不同,补该目录 `AGENTS.md`
81
+ - 新增目录后,补充相关测试入口或验证命令
82
+ ```
83
+
84
+ ## 使用建议
85
+
86
+ - 根 `AGENTS.md` 只索引这份文档,不复制全文。
87
+ - `repo-map.md` 负责导航;本文件负责放置规范。
88
+ - 如果项目已有强约束的前端目录规则,优先和 `templates/design/frontend-architecture.md` 对齐。
@@ -0,0 +1,60 @@
1
+ # 环境变量与部署模板
2
+
3
+ 这份模板承载第16章“配置与环境问题”的项目级真相源。它不替代 `.env.example`,而是把变量含义、构建命令、部署入口和风险写清楚。
4
+
5
+ ## 1. 环境变量清单
6
+
7
+ | 变量名 | 用途 | 必填 | 默认值 | dev/test/prod 差异 | 示例 |
8
+ | --- | --- | --- | --- | --- | --- |
9
+ | `APP_BASE_URL` | | 是/否 | | | |
10
+ | `DATABASE_URL` | | 是/否 | | | |
11
+ | `REDIS_URL` | | 是/否 | | | |
12
+
13
+ 规则:
14
+
15
+ - 不把真实密钥写入仓库。
16
+ - 每个变量都要说明“谁读取它”“在什么阶段生效”“缺失时会怎样”。
17
+ - 若变量只属于某一部署环境,必须写明该环境的注入方式。
18
+
19
+ ## 2. 构建与运行命令
20
+
21
+ | 场景 | 命令 | 预期结果 | 失败时常见原因 |
22
+ | --- | --- | --- | --- |
23
+ | 开发 | | | |
24
+ | 构建 | | | |
25
+ | Lint | | | |
26
+ | Typecheck | | | |
27
+ | Test | | | |
28
+ | Docker build | | | |
29
+
30
+ 规则:
31
+
32
+ - `dev/build/lint/test/typecheck` 至少列出存在与否和替代命令。
33
+ - 如果某个命令本地能跑但 CI 不能跑,必须记录差异来源。
34
+
35
+ ## 3. CI / CD 入口
36
+
37
+ | 入口 | 文件位置 | 用途 | 依赖变量 / Secret | 失败影响 |
38
+ | --- | --- | --- | --- | --- |
39
+ | GitHub Action / CI | | | | |
40
+ | Dockerfile | | | | |
41
+ | nginx / ingress | | | | |
42
+ | k8s / compose | | | | |
43
+
44
+ ## 4. 健康检查与发布约束
45
+
46
+ | 项目 | 约束 | 验证方式 | 失败处理 |
47
+ | --- | --- | --- | --- |
48
+ | 健康检查 | | | |
49
+ | 端口 / host | | | |
50
+ | 日志路径 | | | |
51
+ | 迁移 / seed | | | |
52
+ | 灰度 / 回滚 | | | |
53
+
54
+ ## 5. 配置变更前必须说明
55
+
56
+ - 改了哪些配置文件:`.env*` / `package.json` / `Dockerfile` / `nginx` / `k8s yaml` / `CI workflow` / `tsconfig` / `vite/next config`
57
+ - 为什么要改
58
+ - 会影响哪些环境
59
+ - 哪些命令必须重跑
60
+ - 回滚方式是什么
@@ -1,138 +1,165 @@
1
- # Frontend Quality Rules
2
-
3
- 本文件定义前端页面从“能用”到“可交付”的最低质量尺子。它服务于 `spec-to-ui-to-code-workflow.md`、`design-brief.md`、`image-to-frontend-spec.md`、`component-map.md`、`screen-states.md` 和 `visual-parity-review.md`,不替代项目自己的品牌规范或产品需求。
4
-
5
- ## 1. 质量分级
6
-
7
- | 等级 | 定义 | 必备证据 | 不能声称 |
8
- | --- | --- | --- | --- |
9
- | P0 可用 | 主路径能完成,关键控件可操作 | 主路径 story 或 E2E,基本截图 | 生产级体验 |
10
- | P1 完整 | default / loading / empty / error / permission / long content / mobile 有规格和验证 | 状态矩阵、story 覆盖、移动端截图 | 视觉精修完成 |
11
- | P2 精修 | 视觉层级、响应式、动效、可访问性和文案有明确标准并通过评审 | visual parity、a11y smoke、responsive matrix | 可无限复用 |
12
- | P3 生产级 | 架构可维护,组件边界清晰,性能预算和回归证据完整 | frontend architecture、performance budget、regression evidence | 无需后续治理 |
13
-
14
- `feature_impl` 的前端任务如果没有写明目标等级,默认按 P1 验收;用户可见核心流程默认至少 P2。
15
-
16
- ## 2. 审美反模式
17
-
18
- 以下情况出现任意一项,Stage 1 或视觉评审应要求返工,除非 Design Brief 明确说明原因:
19
-
20
- - 页面只由大块卡片堆叠组成,缺少信息层级。
21
- - 全页面灰白无重点,主要操作、危险操作和状态反馈不可区分。
22
- - 使用无意义渐变、装饰图形或营销式 hero 来包装操作型后台页面。
23
- - 所有按钮、标签、状态、表格行的视觉权重相同。
24
- - 表格密度失控:行高、列宽、数字、标签和操作区没有扫描节奏。
25
- - 移动端只做横向滚动,没有重排、折叠或卡片化策略。
26
- - loading / empty / error 只是一行临时文案,没有恢复路径。
27
- - 图标、颜色或动画只起装饰作用,不能帮助识别状态或操作。
28
-
29
- ## 3. 动效规则
30
-
31
- 动效必须解释状态变化,不承担主要信息表达。
32
-
33
- | 场景 | 推荐动效 | 时长 | 约束 |
34
- | --- | --- | --- | --- |
35
- | 弹窗 / 抽屉打开 | opacity + scale 或 translate | 120-180ms | 必须有焦点管理 |
36
- | 筛选 chip 增删 | opacity + slight translate | 100-160ms | 不得推动整页大范围跳动 |
37
- | 表格刷新 | skeleton / row fade | 120-220ms | 高频刷新时禁用行级动画 |
38
- | 空态 / 错误态切换 | opacity | 120-180ms | 文案和恢复操作优先 |
39
- | 保存成功 / dirty 清除 | button state + inline status | 120-180ms | 不得只依赖 toast |
40
-
41
- 硬约束:
42
-
43
- - 首选 `transform` 和 `opacity`,不得用会持续触发布局的动画属性。
44
- - 必须支持 `prefers-reduced-motion` 或等价 reduced motion 开关。
45
- - 动效不能隐藏错误、禁用、权限不足或保存失败。
46
- - 动效失败时页面仍必须可用。
47
-
48
- ## 4. 响应式规则
49
-
50
- 每个用户可见页面都必须写清楚 desktop / tablet / mobile 的布局策略。
51
-
52
- | 视口 | 必须说明 | 常见策略 |
53
- | --- | --- | --- |
54
- | Desktop >= 1200px | 主内容宽度、侧栏、表格列、操作区位置 | 横向筛选条 + 数据表 + 分页 |
55
- | Tablet 768-1199px | 筛选换行、列显隐、操作折叠 | 筛选条换行,次要列隐藏 |
56
- | Mobile < 768px | 筛选入口、表格替代形态、底部操作、触控尺寸 | 筛选抽屉,表格转卡片,分页简化 |
57
-
58
- 移动端禁止只依赖横向滚动完成主要流程。若表格必须横向滚动,必须说明原因、最小宽度、冻结列或摘要卡片替代方案。
59
-
60
- ## 5. 组件复用边界
61
-
62
- - `ui primitives`: 只放按钮、输入、弹窗、菜单、表格基础结构等无业务语义组件。
63
- - `data-table`: 只放排序、筛选、分页、列显隐、空态容器等表格通用行为。
64
- - `features/<domain>`: 放业务组件、业务 hooks、字段映射、权限逻辑和页面组合。
65
- - `api-client`: 放契约生成或手写 API 调用,不直接依赖 UI。
66
- - `model/schema`: 放类型、枚举、表单校验和 URL query 解析。
67
-
68
- 复用准入:
69
-
70
- - 新通用组件必须至少有两个明确使用场景,或是基础 primitive。
71
- - 业务语义不稳定时留在 feature 内,不提前抽到 `packages/ui`。
72
- - 通用组件必须有 props 契约、状态矩阵、story 和可访问性说明。
73
- - generated types 可以作为数据输入类型,不能决定 UI primitive 的命名和职责。
74
-
75
- ## 6. 交互与文案规则
76
-
77
- 每个关键操作必须定义:
78
-
79
- - 触发条件、禁用条件、加载反馈、成功反馈、失败反馈。
80
- - inline error、toast、modal confirm 的使用边界。
81
- - dirty 状态如何产生、如何保存、何时清除。
82
- - 重试、取消、关闭、返回是否保留用户输入。
83
- - 空态文案、错误文案、权限文案、按钮文案和长文本截断规则。
84
-
85
- 空态必须区分“系统没有数据”和“筛选后没有结果”。错误态必须包含用户可执行的恢复路径。
86
-
87
- 状态不是给评审看的页面说明。`loading / empty / error / disabled / permission / mobile` 等状态必须由真实状态源驱动,例如 API 请求状态、权限结果、空数据集合、表单 dirty/valid 状态、路由或 query 参数、feature flag、响应式断点、story controls 或可控 mock。页面可以有用户可见文案,但不能出现“这里是 loading 状态”“权限态展示如下”等占位说明来冒充实现。
88
-
89
- 每个 P0/P1 状态都必须能在代码和证据中追溯到:
90
-
91
- - 状态源:store、query、hook、props、fixture、mock response、viewport 或权限判断。
92
- - 渲染分支:组件条件分支、状态组件、disabled 属性、error boundaryempty renderer 或 responsive layout。
93
- - 触发路径:用户操作、API 响应、测试 seed、story control、query 参数、mock scenario 或 viewport。
94
- - 复验证据:story、interaction test、E2E 步骤、截图矩阵或 visual parity finding。
95
-
96
- ## 7. 可访问性规则
97
-
98
- 前端规格至少覆盖:
99
-
100
- - 键盘路径和焦点顺序。
101
- - 弹窗、抽屉、菜单的 focus trap 和关闭方式。
102
- - 表单错误与输入控件的关联。
103
- - 加载、保存成功、失败的屏幕阅读器提示。
104
- - 色彩不能作为唯一信息来源。
105
- - 移动端触控目标不小于 44x44px,除非平台规范另有说明。
106
-
107
- ## 8. 性能预算
108
-
109
- 前端设计阶段必须说明是否存在以下风险:
110
-
111
- - 首屏依赖过多组件、图标、图表或动画库。
112
- - 表格超过 100 行、复杂筛选、虚拟滚动或服务端分页需求。
113
- - 图片、头像、缩略图或远程媒体影响布局稳定。
114
- - 动效或重排可能影响滚动和输入响应。
115
-
116
- 如果页面包含复杂表格、图表或列表,必须在 `frontend-architecture.md` 或 DEV-PLAN 中写明 client/server 分界和性能验证方式。
117
-
118
- ## 9. 证据要求
119
-
120
- 前端任务完成声明至少包含:
121
-
122
- - story / interaction / E2E 中的对应状态覆盖。
123
- - desktop 和 mobile 的真实浏览器截图。
124
- - visual parity 结论。
125
- - 可访问性 smoke 结论或明确豁免。
126
- - 性能风险检查结论;复杂页面需附性能预算验证。
127
-
128
- ## 10. State Surface Gate
129
-
130
- 前端任务进入实现前,必须把状态暴露方式写进 plan 或当前 task 的 `state_surface`。可接受的状态表面包括:
131
-
132
- - Storybook / story 文件:适合组件、页面片段、状态矩阵和视觉回归。
133
- - 真实 route + query / fixture:适合页面级状态、权限态和深链路复现。
134
- - Mock scenario / MSW / API fixture:适合 loading、empty、error、权限和异常返回。
135
- - E2E seed / test data:适合跨页面流程、保存、删除、批量操作和副作用验证。
136
- - Viewport matrix:适合响应式、移动端重排和触控行为。
137
-
138
- 每个 P0/P1 状态至少要有一个可运行入口,并写明评审看哪里、回归跑什么、失败证据放哪里。状态只存在于设计稿、截图或聊天说明中时,Stage 1 应要求补状态表面,而不是让实现任务继续猜。
1
+ # Frontend Quality Rules
2
+
3
+ 本文件定义前端页面从“能用”到“可交付”的最低质量尺子。它服务于 `spec-to-ui-to-code-workflow.md`、`design-brief.md`、`image-to-frontend-spec.md`、`component-map.md`、`screen-states.md` 和 `visual-parity-review.md`,不替代项目自己的品牌规范或产品需求。
4
+
5
+ ## 1. 质量分级
6
+
7
+ | 等级 | 定义 | 必备证据 | 不能声称 |
8
+ | --- | --- | --- | --- |
9
+ | P0 可用 | 主路径能完成,关键控件可操作 | 主路径 story 或 E2E,基本截图 | 生产级体验 |
10
+ | P1 完整 | default / loading / empty / error / permission / long content / mobile 有规格和验证 | 状态矩阵、story 覆盖、移动端截图 | 视觉精修完成 |
11
+ | P2 精修 | 视觉层级、响应式、动效、可访问性和文案有明确标准并通过评审 | visual parity、a11y smoke、responsive matrix | 可无限复用 |
12
+ | P3 生产级 | 架构可维护,组件边界清晰,性能预算和回归证据完整 | frontend architecture、performance budget、regression evidence | 无需后续治理 |
13
+
14
+ `feature_impl` 的前端任务如果没有写明目标等级,默认按 P1 验收;用户可见核心流程默认至少 P2。
15
+
16
+ ## 2. 审美反模式
17
+
18
+ 以下情况出现任意一项,Stage 1 或视觉评审应要求返工,除非 Design Brief 明确说明原因:
19
+
20
+ - 页面只由大块卡片堆叠组成,缺少信息层级。
21
+ - 全页面灰白无重点,主要操作、危险操作和状态反馈不可区分。
22
+ - 使用无意义渐变、装饰图形或营销式 hero 来包装操作型后台页面。
23
+ - 所有按钮、标签、状态、表格行的视觉权重相同。
24
+ - 表格密度失控:行高、列宽、数字、标签和操作区没有扫描节奏。
25
+ - 移动端只做横向滚动,没有重排、折叠或卡片化策略。
26
+ - loading / empty / error 只是一行临时文案,没有恢复路径。
27
+ - 图标、颜色或动画只起装饰作用,不能帮助识别状态或操作。
28
+
29
+ ## 3. 动效规则
30
+
31
+ 动效必须解释状态变化,不承担主要信息表达。
32
+
33
+ | 场景 | 推荐动效 | 时长 | 约束 |
34
+ | --- | --- | --- | --- |
35
+ | 弹窗 / 抽屉打开 | opacity + scale 或 translate | 120-180ms | 必须有焦点管理 |
36
+ | 筛选 chip 增删 | opacity + slight translate | 100-160ms | 不得推动整页大范围跳动 |
37
+ | 表格刷新 | skeleton / row fade | 120-220ms | 高频刷新时禁用行级动画 |
38
+ | 空态 / 错误态切换 | opacity | 120-180ms | 文案和恢复操作优先 |
39
+ | 保存成功 / dirty 清除 | button state + inline status | 120-180ms | 不得只依赖 toast |
40
+
41
+ 硬约束:
42
+
43
+ - 首选 `transform` 和 `opacity`,不得用会持续触发布局的动画属性。
44
+ - 必须支持 `prefers-reduced-motion` 或等价 reduced motion 开关。
45
+ - 动效不能隐藏错误、禁用、权限不足或保存失败。
46
+ - 动效失败时页面仍必须可用。
47
+
48
+ ## 4. 响应式规则
49
+
50
+ 每个用户可见页面都必须写清楚 desktop / tablet / mobile 的布局策略。
51
+
52
+ | 视口 | 必须说明 | 常见策略 |
53
+ | --- | --- | --- |
54
+ | Desktop >= 1200px | 主内容宽度、侧栏、表格列、操作区位置 | 横向筛选条 + 数据表 + 分页 |
55
+ | Tablet 768-1199px | 筛选换行、列显隐、操作折叠 | 筛选条换行,次要列隐藏 |
56
+ | Mobile < 768px | 筛选入口、表格替代形态、底部操作、触控尺寸 | 筛选抽屉,表格转卡片,分页简化 |
57
+
58
+ 移动端禁止只依赖横向滚动完成主要流程。若表格必须横向滚动,必须说明原因、最小宽度、冻结列或摘要卡片替代方案。
59
+
60
+ 移动端和嵌入式 WebView 额外约束:
61
+
62
+ - 必须说明 iOS 刘海屏、灵动岛、底部 Home Indicator、Android 状态栏 / 导航栏的安全区策略。
63
+ - 键盘弹起后,输入框、提交按钮和错误提示不得被遮挡。
64
+ - 横竖屏切换后,主流程不能丢失状态或出现不可操作区域。
65
+ - 必须说明 iOS / Android 差异处理,例如返回行为、系统分享、文件选择、支付或推送能力差异。
66
+ - 如果存在相机、相册、定位、麦克风、通知、蓝牙、文件等权限,必须说明权限申请、拒绝回退和二次授权路径。
67
+ - 如果存在切后台、切前台、登录过期、支付中断、网络重连或推送唤起,必须说明生命周期 / 中断恢复策略。
68
+ - 发布前至少定义真机 / 系统版本矩阵,不允许只在桌面浏览器或单一模拟器上声称移动端通过。
69
+
70
+ ## 5. 组件复用边界
71
+
72
+ - `ui primitives`: 只放按钮、输入、弹窗、菜单、表格基础结构等无业务语义组件。
73
+ - `data-table`: 只放排序、筛选、分页、列显隐、空态容器等表格通用行为。
74
+ - `features/<domain>`: 放业务组件、业务 hooks、字段映射、权限逻辑和页面组合。
75
+ - `api-client`: 放契约生成或手写 API 调用,不直接依赖 UI。
76
+ - `model/schema`: 放类型、枚举、表单校验和 URL query 解析。
77
+
78
+ 复用准入:
79
+
80
+ - 新通用组件必须至少有两个明确使用场景,或是基础 primitive。
81
+ - 业务语义不稳定时留在 feature 内,不提前抽到 `packages/ui`。
82
+ - 通用组件必须有 props 契约、状态矩阵、story 和可访问性说明。
83
+ - generated types 可以作为数据输入类型,不能决定 UI primitive 的命名和职责。
84
+ - 修改 existing 公共组件时,必须列出受影响调用方、兼容策略和回归测试;不能为了一个页面直接改坏全局行为。
85
+ - 优先通过 wrapper、variant、slot、可选 props 扩展现有组件,不直接破坏旧 props 契约。
86
+
87
+ ## 6. 交互与文案规则
88
+
89
+ 每个关键操作必须定义:
90
+
91
+ - 触发条件、禁用条件、加载反馈、成功反馈、失败反馈。
92
+ - inline error、toast、modal confirm 的使用边界。
93
+ - dirty 状态如何产生、如何保存、何时清除。
94
+ - 重试、取消、关闭、返回是否保留用户输入。
95
+ - 空态文案、错误文案、权限文案、按钮文案和长文本截断规则。
96
+
97
+ 表单体验至少补充:
98
+
99
+ - 校验触发时机:blur / submit / input
100
+ - 错误字段聚焦策略
101
+ - submitting disabled 的区分
102
+ - 防重复提交策略
103
+ - 输入格式与键盘类型策略
104
+ - 成功 / 失败后的恢复或保留输入策略
105
+
106
+ 空态必须区分“系统没有数据”和“筛选后没有结果”。错误态必须包含用户可执行的恢复路径。
107
+
108
+ 状态不是给评审看的页面说明。`loading / empty / error / disabled / permission / mobile` 等状态必须由真实状态源驱动,例如 API 请求状态、权限结果、空数据集合、表单 dirty/valid 状态、路由或 query 参数、feature flag、响应式断点、story controls 或可控 mock。页面可以有用户可见文案,但不能出现“这里是 loading 状态”“权限态展示如下”等占位说明来冒充实现。
109
+
110
+ 每个 P0/P1 状态都必须能在代码和证据中追溯到:
111
+
112
+ - 状态源:store、query、hook、props、fixture、mock response、viewport 或权限判断。
113
+ - 渲染分支:组件条件分支、状态组件、disabled 属性、error boundary、empty renderer 或 responsive layout。
114
+ - 触发路径:用户操作、API 响应、测试 seed、story control、query 参数、mock scenario 或 viewport。
115
+ - 复验证据:story、interaction test、E2E 步骤、截图矩阵或 visual parity finding。
116
+
117
+ 除 `loading / empty / error / disabled / permission / mobile` 外,如场景存在,还应显式覆盖:
118
+
119
+ - `submitting`
120
+ - `retry`
121
+ - `offline`
122
+
123
+ ## 7. 可访问性规则
124
+
125
+ 前端规格至少覆盖:
126
+
127
+ - 键盘路径和焦点顺序。
128
+ - 弹窗、抽屉、菜单的 focus trap 和关闭方式。
129
+ - 表单错误与输入控件的关联。
130
+ - 加载、保存成功、失败的屏幕阅读器提示。
131
+ - 色彩不能作为唯一信息来源。
132
+ - 移动端触控目标不小于 44x44px,除非平台规范另有说明。
133
+
134
+ ## 8. 性能预算
135
+
136
+ 前端设计阶段必须说明是否存在以下风险:
137
+
138
+ - 首屏依赖过多组件、图标、图表或动画库。
139
+ - 表格超过 100 行、复杂筛选、虚拟滚动或服务端分页需求。
140
+ - 图片、头像、缩略图或远程媒体影响布局稳定。
141
+ - 动效或重排可能影响滚动和输入响应。
142
+
143
+ 如果页面包含复杂表格、图表或列表,必须在 `frontend-architecture.md` 或 DEV-PLAN 中写明 client/server 分界和性能验证方式。
144
+
145
+ ## 9. 证据要求
146
+
147
+ 前端任务完成声明至少包含:
148
+
149
+ - story / interaction / E2E 中的对应状态覆盖。
150
+ - desktop 和 mobile 的真实浏览器截图。
151
+ - visual parity 结论。
152
+ - 可访问性 smoke 结论或明确豁免。
153
+ - 性能风险检查结论;复杂页面需附性能预算验证。
154
+
155
+ ## 10. State Surface Gate
156
+
157
+ 前端任务进入实现前,必须把状态暴露方式写进 plan 或当前 task 的 `state_surface`。可接受的状态表面包括:
158
+
159
+ - Storybook / story 文件:适合组件、页面片段、状态矩阵和视觉回归。
160
+ - 真实 route + query / fixture:适合页面级状态、权限态和深链路复现。
161
+ - Mock scenario / MSW / API fixture:适合 loading、empty、error、权限和异常返回。
162
+ - E2E seed / test data:适合跨页面流程、保存、删除、批量操作和副作用验证。
163
+ - Viewport matrix:适合响应式、移动端重排和触控行为。
164
+
165
+ 每个 P0/P1 状态至少要有一个可运行入口,并写明评审看哪里、回归跑什么、失败证据放哪里。状态只存在于设计稿、截图或聊天说明中时,Stage 1 应要求补状态表面,而不是让实现任务继续猜。