universal-dev-standards 5.17.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (539) hide show
  1. package/bin/uds.js +13 -135
  2. package/bundled/ai/standards/acceptance-criteria-traceability.ai.yaml +13 -4
  3. package/bundled/ai/standards/accessibility-standards.ai.yaml +1 -1
  4. package/bundled/ai/standards/ai-response-navigation.ai.yaml +15 -2
  5. package/bundled/ai/standards/api-design-standards.ai.yaml +27 -4
  6. package/bundled/ai/standards/behavior-snapshot.ai.yaml +86 -9
  7. package/bundled/ai/standards/checkin-standards.ai.yaml +2 -2
  8. package/bundled/ai/standards/code-review.ai.yaml +2 -2
  9. package/bundled/ai/standards/context-aware-loading.ai.yaml +3 -3
  10. package/bundled/ai/standards/data-migration-testing.ai.yaml +79 -3
  11. package/bundled/ai/standards/deprecation-standards.ai.yaml +10 -2
  12. package/bundled/ai/standards/developer-memory.ai.yaml +4 -3
  13. package/bundled/ai/standards/flow-based-testing.ai.yaml +2 -2
  14. package/bundled/ai/standards/forward-derivation-standards.ai.yaml +26 -2
  15. package/bundled/ai/standards/full-coverage-testing.ai.yaml +34 -2
  16. package/bundled/ai/standards/git-worktree.ai.yaml +3 -3
  17. package/bundled/ai/standards/logging.ai.yaml +97 -3
  18. package/bundled/ai/standards/mock-boundary.ai.yaml +48 -2
  19. package/bundled/ai/standards/model-provenance.ai.yaml +297 -0
  20. package/bundled/ai/standards/model-selection.ai.yaml +11 -2
  21. package/bundled/ai/standards/observability-standards.ai.yaml +10 -0
  22. package/bundled/ai/standards/performance-standards.ai.yaml +46 -1
  23. package/bundled/ai/standards/pii-classification.ai.yaml +15 -1
  24. package/bundled/ai/standards/pipeline-security-gates.ai.yaml +10 -0
  25. package/bundled/ai/standards/privacy-standards.ai.yaml +2 -2
  26. package/bundled/ai/standards/project-context-memory.ai.yaml +2 -2
  27. package/bundled/ai/standards/refactoring-standards.ai.yaml +68 -3
  28. package/bundled/ai/standards/resource-cost-boundary.ai.yaml +279 -0
  29. package/bundled/ai/standards/reverse-engineering-standards.ai.yaml +55 -2
  30. package/bundled/ai/standards/security-testing.ai.yaml +13 -2
  31. package/bundled/ai/standards/skill-standard-alignment-check.ai.yaml +37 -2
  32. package/bundled/ai/standards/user-journey-testing.ai.yaml +107 -0
  33. package/bundled/ai/standards/verification-oracle.ai.yaml +278 -0
  34. package/bundled/ai/standards/versioning.ai.yaml +32 -38
  35. package/bundled/core/acceptance-criteria-traceability.md +15 -5
  36. package/bundled/core/accessibility-standards.md +8 -4
  37. package/bundled/core/ai-friendly-architecture.md +1 -1
  38. package/bundled/core/ai-response-navigation.md +31 -3
  39. package/bundled/core/anti-sycophancy-prompting.md +1 -1
  40. package/bundled/core/api-design-standards.md +92 -7
  41. package/bundled/core/audit-trail.md +119 -0
  42. package/bundled/core/behavior-snapshot.md +94 -7
  43. package/bundled/core/browser-compatibility-standards.md +15 -2
  44. package/bundled/core/checkin-standards.md +9 -2
  45. package/bundled/core/code-review-checklist.md +10 -2
  46. package/bundled/core/container-image-standards.md +97 -0
  47. package/bundled/core/context-aware-loading.md +2 -2
  48. package/bundled/core/cost-budget-test.md +1 -1
  49. package/bundled/core/cross-flow-regression.md +3 -2
  50. package/bundled/core/data-contract.md +104 -0
  51. package/bundled/core/data-migration-testing.md +90 -0
  52. package/bundled/core/data-pipeline.md +113 -0
  53. package/bundled/core/deprecation-standards.md +16 -2
  54. package/bundled/core/developer-memory.md +13 -8
  55. package/bundled/core/documentation-writing-standards.md +1 -1
  56. package/bundled/core/error-code-standards.md +4 -3
  57. package/bundled/core/flaky-test-management.md +1 -1
  58. package/bundled/core/flow-based-testing.md +3 -3
  59. package/bundled/core/forward-derivation-standards.md +33 -5
  60. package/bundled/core/full-coverage-testing.md +72 -0
  61. package/bundled/core/git-worktree.md +4 -4
  62. package/bundled/core/guides/performance-guide.md +1 -1
  63. package/bundled/core/guides/security-guide.md +1 -1
  64. package/bundled/core/health-check-standards.md +2 -2
  65. package/bundled/core/iac-design-principles.md +97 -0
  66. package/bundled/core/incident-response.md +119 -0
  67. package/bundled/core/license-compliance.md +2 -0
  68. package/bundled/core/logging-standards.md +78 -2
  69. package/bundled/core/mock-boundary.md +54 -2
  70. package/bundled/core/model-provenance.md +181 -0
  71. package/bundled/core/model-selection.md +27 -2
  72. package/bundled/core/packaging-standards.md +1 -0
  73. package/bundled/core/performance-standards.md +96 -2
  74. package/bundled/core/pii-classification.md +148 -0
  75. package/bundled/core/pipeline-security-gates.md +22 -2
  76. package/bundled/core/postmortem-standards.md +2 -0
  77. package/bundled/core/prd-standards.md +91 -0
  78. package/bundled/core/privacy-standards.md +14 -3
  79. package/bundled/core/product-metrics-standards.md +100 -0
  80. package/bundled/core/project-context-memory.md +8 -2
  81. package/bundled/core/prompt-regression.md +1 -1
  82. package/bundled/core/refactoring-standards.md +44 -3
  83. package/bundled/core/replay-test.md +1 -1
  84. package/bundled/core/resource-cost-boundary.md +180 -0
  85. package/bundled/core/reverse-engineering-standards.md +66 -2
  86. package/bundled/core/runbook.md +113 -0
  87. package/bundled/core/schema-evolution.md +105 -0
  88. package/bundled/core/secret-management-standards.md +110 -0
  89. package/bundled/core/security-testing.md +26 -2
  90. package/bundled/core/self-review-protocol.md +2 -2
  91. package/bundled/core/skill-standard-alignment-check.md +53 -0
  92. package/bundled/core/slo-sli.md +109 -0
  93. package/bundled/core/smoke-test.md +1 -1
  94. package/bundled/core/tech-debt-standards.md +1 -1
  95. package/bundled/core/test-data-standards.md +2 -2
  96. package/bundled/core/user-journey-testing.md +102 -0
  97. package/bundled/core/user-story-mapping.md +96 -0
  98. package/bundled/core/verification-oracle.md +167 -0
  99. package/bundled/core/versioning.md +133 -109
  100. package/bundled/locales/COVERAGE.md +84 -73
  101. package/bundled/locales/zh-CN/CHANGELOG.md +71 -6
  102. package/bundled/locales/zh-CN/CLAUDE.md +1 -1
  103. package/bundled/locales/zh-CN/README.md +22 -9
  104. package/bundled/locales/zh-CN/SECURITY.md +1 -1
  105. package/bundled/locales/zh-CN/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
  106. package/bundled/locales/zh-CN/core/acceptance-criteria-traceability.md +4 -6
  107. package/bundled/locales/zh-CN/core/accessibility-standards.md +1 -1
  108. package/bundled/locales/zh-CN/core/adversarial-test.md +226 -0
  109. package/bundled/locales/zh-CN/core/agent-behavior-discipline.md +187 -0
  110. package/bundled/locales/zh-CN/core/ai-response-navigation.md +32 -6
  111. package/bundled/locales/zh-CN/core/anti-sycophancy-prompting.md +1 -1
  112. package/bundled/locales/zh-CN/core/api-design-standards.md +1 -1
  113. package/bundled/locales/zh-CN/core/behavior-snapshot.md +335 -0
  114. package/bundled/locales/zh-CN/core/browser-compatibility-standards.md +229 -0
  115. package/bundled/locales/zh-CN/core/cd-deployment-strategies.md +135 -0
  116. package/bundled/locales/zh-CN/core/chaos-injection-tests.md +130 -0
  117. package/bundled/locales/zh-CN/core/checkin-standards.md +1 -1
  118. package/bundled/locales/zh-CN/core/code-review-checklist.md +1 -1
  119. package/bundled/locales/zh-CN/core/container-security.md +535 -0
  120. package/bundled/locales/zh-CN/core/context-aware-loading.md +1 -1
  121. package/bundled/locales/zh-CN/core/contract-testing-standards.md +191 -0
  122. package/bundled/locales/zh-CN/core/cost-budget-test.md +86 -0
  123. package/bundled/locales/zh-CN/core/cross-flow-regression.md +199 -0
  124. package/bundled/locales/zh-CN/core/data-migration-testing.md +217 -0
  125. package/bundled/locales/zh-CN/core/deployment-standards.md +328 -9
  126. package/bundled/locales/zh-CN/core/deprecation-standards.md +1 -1
  127. package/bundled/locales/zh-CN/core/developer-memory.md +2 -2
  128. package/bundled/locales/zh-CN/core/disaster-recovery-drill.md +87 -0
  129. package/bundled/locales/zh-CN/core/documentation-structure.md +1 -1
  130. package/bundled/locales/zh-CN/core/documentation-writing-standards.md +1 -1
  131. package/bundled/locales/zh-CN/core/error-code-standards.md +2 -2
  132. package/bundled/locales/zh-CN/core/feature-manifest-standard.md +222 -0
  133. package/bundled/locales/zh-CN/core/flaky-test-management.md +87 -0
  134. package/bundled/locales/zh-CN/core/flow-based-testing.md +284 -0
  135. package/bundled/locales/zh-CN/core/forward-derivation-standards.md +3 -4
  136. package/bundled/locales/zh-CN/core/full-coverage-testing.md +197 -0
  137. package/bundled/locales/zh-CN/core/git-worktree.md +1 -1
  138. package/bundled/locales/zh-CN/core/governance-layer.md +160 -0
  139. package/bundled/locales/zh-CN/core/guides/performance-guide.md +515 -0
  140. package/bundled/locales/zh-CN/core/guides/security-guide.md +494 -0
  141. package/bundled/locales/zh-CN/core/knowledge-graph-memory.md +128 -0
  142. package/bundled/locales/zh-CN/core/license-compliance.md +129 -0
  143. package/bundled/locales/zh-CN/core/llm-output-validation.md +192 -0
  144. package/bundled/locales/zh-CN/core/logging-standards.md +130 -8
  145. package/bundled/locales/zh-CN/core/mock-boundary.md +109 -0
  146. package/bundled/locales/zh-CN/core/model-selection.md +28 -5
  147. package/bundled/locales/zh-CN/core/mutation-testing.md +106 -0
  148. package/bundled/locales/zh-CN/core/no-cicd-deployment.md +219 -0
  149. package/bundled/locales/zh-CN/core/packaging-standards.md +76 -5
  150. package/bundled/locales/zh-CN/core/pipeline-security-gates.md +126 -0
  151. package/bundled/locales/zh-CN/core/policy-as-code-testing.md +203 -0
  152. package/bundled/locales/zh-CN/core/privacy-standards.md +1 -1
  153. package/bundled/locales/zh-CN/core/project-context-memory.md +1 -1
  154. package/bundled/locales/zh-CN/core/prompt-regression.md +88 -0
  155. package/bundled/locales/zh-CN/core/property-based-testing.md +87 -0
  156. package/bundled/locales/zh-CN/core/release-quality-manifest.md +207 -0
  157. package/bundled/locales/zh-CN/core/release-readiness-gate.md +193 -0
  158. package/bundled/locales/zh-CN/core/replay-test.md +102 -0
  159. package/bundled/locales/zh-CN/core/reverse-engineering-standards.md +46 -1
  160. package/bundled/locales/zh-CN/core/rollback-standards.md +120 -0
  161. package/bundled/locales/zh-CN/core/sast-advanced.md +309 -0
  162. package/bundled/locales/zh-CN/core/secure-op.md +328 -0
  163. package/bundled/locales/zh-CN/core/security-testing.md +96 -0
  164. package/bundled/locales/zh-CN/core/self-review-protocol.md +167 -0
  165. package/bundled/locales/zh-CN/core/server-ops-security.md +507 -0
  166. package/bundled/locales/zh-CN/core/smoke-test.md +79 -0
  167. package/bundled/locales/zh-CN/core/spec-driven-development.md +39 -3
  168. package/bundled/locales/zh-CN/core/supply-chain-attestation.md +131 -0
  169. package/bundled/locales/zh-CN/core/versioning.md +1 -1
  170. package/bundled/locales/zh-CN/docs/CHEATSHEET.md +31 -6
  171. package/bundled/locales/zh-CN/docs/FEATURE-REFERENCE.md +61 -34
  172. package/bundled/locales/zh-CN/docs/MIGRATION-v6.md +88 -0
  173. package/bundled/locales/zh-CN/docs/USAGE-MODES-COMPARISON.md +2 -2
  174. package/bundled/locales/zh-CN/docs/USER-MANUAL.md +14 -14
  175. package/bundled/locales/zh-CN/docs/specs/system/memory-adoption-strategy.md +105 -0
  176. package/bundled/locales/zh-CN/docs/user/FAQ.md +132 -0
  177. package/bundled/locales/zh-CN/docs/user/GETTING-STARTED.md +144 -0
  178. package/bundled/locales/zh-CN/docs/user/GLOSSARY.md +178 -0
  179. package/bundled/locales/zh-CN/docs/user/README.md +70 -0
  180. package/bundled/locales/zh-CN/docs/user/TROUBLESHOOTING.md +190 -0
  181. package/bundled/locales/zh-CN/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +1 -1
  182. package/bundled/locales/zh-CN/integrations/github-copilot/README.md +1 -1
  183. package/bundled/locales/zh-CN/integrations/github-copilot/skills-mapping.md +3 -3
  184. package/bundled/locales/zh-CN/integrations/opencode/skills-mapping.md +3 -3
  185. package/bundled/locales/zh-CN/methodologies/guides/sdd-guide.md +836 -0
  186. package/bundled/locales/zh-CN/options/changelog/auto-generated.md +166 -0
  187. package/bundled/locales/zh-CN/options/changelog/keep-a-changelog.md +140 -0
  188. package/bundled/locales/zh-CN/options/code-review/automated-review.md +214 -0
  189. package/bundled/locales/zh-CN/options/code-review/pair-programming.md +166 -0
  190. package/bundled/locales/zh-CN/options/code-review/pr-review.md +167 -0
  191. package/bundled/locales/zh-CN/options/documentation/api-docs.md +191 -0
  192. package/bundled/locales/zh-CN/options/documentation/markdown-docs.md +150 -0
  193. package/bundled/locales/zh-CN/options/documentation/wiki-style.md +131 -0
  194. package/bundled/locales/zh-CN/options/project-structure/kotlin.md +144 -0
  195. package/bundled/locales/zh-CN/options/project-structure/php.md +168 -0
  196. package/bundled/locales/zh-CN/options/project-structure/ruby.md +156 -0
  197. package/bundled/locales/zh-CN/options/project-structure/rust.md +136 -0
  198. package/bundled/locales/zh-CN/options/project-structure/swift.md +165 -0
  199. package/bundled/locales/zh-CN/options/testing/contract-testing.md +237 -0
  200. package/bundled/locales/zh-CN/options/testing/industry-pyramid.md +200 -0
  201. package/bundled/locales/zh-CN/options/testing/istqb-framework.md +144 -0
  202. package/bundled/locales/zh-CN/options/testing/performance-testing.md +251 -0
  203. package/bundled/locales/zh-CN/options/testing/security-testing.md +192 -0
  204. package/bundled/locales/zh-CN/skills/README.md +89 -126
  205. package/bundled/locales/zh-CN/skills/ac-coverage/SKILL.md +5 -7
  206. package/bundled/locales/zh-CN/skills/adr-assistant/SKILL.md +1 -1
  207. package/bundled/locales/zh-CN/skills/agents/code-architect.md +263 -0
  208. package/bundled/locales/zh-CN/skills/agents/doc-writer.md +410 -0
  209. package/bundled/locales/zh-CN/skills/agents/reviewer.md +357 -0
  210. package/bundled/locales/zh-CN/skills/agents/spec-analyst.md +410 -0
  211. package/bundled/locales/zh-CN/skills/agents/test-specialist.md +368 -0
  212. package/bundled/locales/zh-CN/skills/ai-collaboration-standards/SKILL.md +2 -2
  213. package/bundled/locales/zh-CN/skills/ai-friendly-architecture/SKILL.md +2 -2
  214. package/bundled/locales/zh-CN/skills/ai-instruction-standards/SKILL.md +1 -1
  215. package/bundled/locales/zh-CN/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
  216. package/bundled/locales/zh-CN/skills/atdd-assistant/atdd-workflow.md +3 -4
  217. package/bundled/locales/zh-CN/skills/audit-assistant/SKILL.md +2 -2
  218. package/bundled/locales/zh-CN/skills/bdd-assistant/guide.md +1 -2
  219. package/bundled/locales/zh-CN/skills/brainstorm-assistant/SKILL.md +109 -13
  220. package/bundled/locales/zh-CN/skills/brainstorm-assistant/guide.md +30 -8
  221. package/bundled/locales/zh-CN/skills/checkin-assistant/SKILL.md +1 -1
  222. package/bundled/locales/zh-CN/skills/ci-cd-assistant/SKILL.md +50 -0
  223. package/bundled/locales/zh-CN/skills/code-review-assistant/SKILL.md +5 -5
  224. package/bundled/locales/zh-CN/skills/commands/ac-coverage.md +1 -1
  225. package/bundled/locales/zh-CN/skills/commands/atdd.md +3 -3
  226. package/bundled/locales/zh-CN/skills/commands/bdd.md +2 -2
  227. package/bundled/locales/zh-CN/skills/commands/brainstorm.md +26 -17
  228. package/bundled/locales/zh-CN/skills/commands/{review.md → code-review.md} +4 -4
  229. package/bundled/locales/zh-CN/skills/commands/derive-all.md +1 -1
  230. package/bundled/locales/zh-CN/skills/commands/derive-atdd.md +1 -1
  231. package/bundled/locales/zh-CN/skills/commands/derive-bdd.md +2 -3
  232. package/bundled/locales/zh-CN/skills/commands/derive-tdd.md +1 -1
  233. package/bundled/locales/zh-CN/skills/commands/derive.md +1 -1
  234. package/bundled/locales/zh-CN/skills/commands/dev-workflow.md +2 -2
  235. package/bundled/locales/zh-CN/skills/commands/methodology.md +4 -4
  236. package/bundled/locales/zh-CN/skills/commands/pr.md +1 -1
  237. package/bundled/locales/zh-CN/skills/commands/tdd.md +1 -1
  238. package/bundled/locales/zh-CN/skills/commit-standards/SKILL.md +1 -1
  239. package/bundled/locales/zh-CN/skills/contract-test-assistant/SKILL.md +1 -1
  240. package/bundled/locales/zh-CN/skills/dev-methodology/SKILL.md +1 -1
  241. package/bundled/locales/zh-CN/skills/dev-methodology/create-methodology.md +456 -0
  242. package/bundled/locales/zh-CN/skills/dev-methodology/guide.md +6 -6
  243. package/bundled/locales/zh-CN/skills/dev-methodology/runtime.md +296 -0
  244. package/bundled/locales/zh-CN/skills/dev-workflow-guide/SKILL.md +5 -5
  245. package/bundled/locales/zh-CN/skills/docs-generator/SKILL.md +1 -1
  246. package/bundled/locales/zh-CN/skills/e2e-assistant/SKILL.md +1 -1
  247. package/bundled/locales/zh-CN/skills/incident-response-assistant/SKILL.md +2 -2
  248. package/bundled/locales/zh-CN/skills/journey-test-assistant/SKILL.md +1 -1
  249. package/bundled/locales/zh-CN/skills/logging-guide/SKILL.md +146 -142
  250. package/bundled/locales/zh-CN/skills/migration-assistant/SKILL.md +1 -1
  251. package/bundled/locales/zh-CN/skills/observability-assistant/guide.md +1 -1
  252. package/bundled/locales/zh-CN/skills/pr-automation-assistant/SKILL.md +1 -1
  253. package/bundled/locales/zh-CN/skills/project-discovery/guide.md +2 -2
  254. package/bundled/locales/zh-CN/skills/reverse-engineer/SKILL.md +1 -1
  255. package/bundled/locales/zh-CN/skills/runbook-assistant/guide.md +1 -1
  256. package/bundled/locales/zh-CN/skills/security-assistant/SKILL.md +1 -1
  257. package/bundled/locales/zh-CN/skills/skill-builder/SKILL.md +3 -3
  258. package/bundled/locales/zh-CN/skills/slo-assistant/guide.md +1 -1
  259. package/bundled/locales/zh-CN/skills/spec-derivation/SKILL.md +1 -1
  260. package/bundled/locales/zh-CN/skills/spec-derivation/guide.md +8 -9
  261. package/bundled/locales/zh-CN/skills/spec-driven-dev/SKILL.md +2 -2
  262. package/bundled/locales/zh-CN/skills/sweep/SKILL.md +1 -1
  263. package/bundled/locales/zh-CN/skills/tdd-assistant/SKILL.md +1 -1
  264. package/bundled/locales/zh-CN/skills/testing-guide/SKILL.md +2 -2
  265. package/bundled/locales/zh-CN/skills/testing-guide/testing-theory.md +2298 -0
  266. package/bundled/locales/zh-CN/skills/workflows/README.md +451 -0
  267. package/bundled/locales/zh-TW/CHANGELOG.md +71 -6
  268. package/bundled/locales/zh-TW/CLAUDE.md +1 -1
  269. package/bundled/locales/zh-TW/MAINTENANCE.md +25 -2
  270. package/bundled/locales/zh-TW/README.md +22 -9
  271. package/bundled/locales/zh-TW/SECURITY.md +1 -1
  272. package/bundled/locales/zh-TW/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
  273. package/bundled/locales/zh-TW/ai/standards/versioning.ai.yaml +8 -48
  274. package/bundled/locales/zh-TW/core/acceptance-criteria-traceability.md +4 -6
  275. package/bundled/locales/zh-TW/core/accessibility-standards.md +1 -1
  276. package/bundled/locales/zh-TW/core/adversarial-test.md +226 -0
  277. package/bundled/locales/zh-TW/core/agent-behavior-discipline.md +187 -0
  278. package/bundled/locales/zh-TW/core/ai-response-navigation.md +32 -6
  279. package/bundled/locales/zh-TW/core/anti-sycophancy-prompting.md +1 -1
  280. package/bundled/locales/zh-TW/core/api-design-standards.md +91 -9
  281. package/bundled/locales/zh-TW/core/audit-trail.md +110 -0
  282. package/bundled/locales/zh-TW/core/behavior-snapshot.md +335 -0
  283. package/bundled/locales/zh-TW/core/browser-compatibility-standards.md +1 -0
  284. package/bundled/locales/zh-TW/core/cd-deployment-strategies.md +135 -0
  285. package/bundled/locales/zh-TW/core/chaos-injection-tests.md +130 -0
  286. package/bundled/locales/zh-TW/core/checkin-standards.md +1 -1
  287. package/bundled/locales/zh-TW/core/code-review-checklist.md +1 -1
  288. package/bundled/locales/zh-TW/core/container-image-standards.md +93 -0
  289. package/bundled/locales/zh-TW/core/container-security.md +535 -0
  290. package/bundled/locales/zh-TW/core/cost-budget-test.md +86 -0
  291. package/bundled/locales/zh-TW/core/cross-flow-regression.md +1 -0
  292. package/bundled/locales/zh-TW/core/data-contract.md +101 -0
  293. package/bundled/locales/zh-TW/core/data-migration-testing.md +217 -0
  294. package/bundled/locales/zh-TW/core/data-pipeline.md +105 -0
  295. package/bundled/locales/zh-TW/core/deployment-standards.md +363 -25
  296. package/bundled/locales/zh-TW/core/deprecation-standards.md +17 -4
  297. package/bundled/locales/zh-TW/core/developer-memory.md +2 -2
  298. package/bundled/locales/zh-TW/core/disaster-recovery-drill.md +87 -0
  299. package/bundled/locales/zh-TW/core/documentation-writing-standards.md +1 -1
  300. package/bundled/locales/zh-TW/core/error-code-standards.md +2 -2
  301. package/bundled/locales/zh-TW/core/feature-manifest-standard.md +222 -0
  302. package/bundled/locales/zh-TW/core/flaky-test-management.md +87 -0
  303. package/bundled/locales/zh-TW/core/flow-based-testing.md +284 -0
  304. package/bundled/locales/zh-TW/core/forward-derivation-standards.md +3 -4
  305. package/bundled/locales/zh-TW/core/full-coverage-testing.md +250 -0
  306. package/bundled/locales/zh-TW/core/git-worktree.md +1 -1
  307. package/bundled/locales/zh-TW/core/guides/performance-guide.md +515 -0
  308. package/bundled/locales/zh-TW/core/guides/security-guide.md +494 -0
  309. package/bundled/locales/zh-TW/core/iac-design-principles.md +90 -0
  310. package/bundled/locales/zh-TW/core/incident-response.md +111 -0
  311. package/bundled/locales/zh-TW/core/license-compliance.md +129 -0
  312. package/bundled/locales/zh-TW/core/llm-output-validation.md +192 -0
  313. package/bundled/locales/zh-TW/core/logging-standards.md +208 -4
  314. package/bundled/locales/zh-TW/core/mock-boundary.md +161 -0
  315. package/bundled/locales/zh-TW/core/model-provenance.md +173 -0
  316. package/bundled/locales/zh-TW/core/model-selection.md +28 -5
  317. package/bundled/locales/zh-TW/core/mutation-testing.md +106 -0
  318. package/bundled/locales/zh-TW/core/no-cicd-deployment.md +219 -0
  319. package/bundled/locales/zh-TW/core/packaging-standards.md +76 -5
  320. package/bundled/locales/zh-TW/core/performance-standards.md +84 -5
  321. package/bundled/locales/zh-TW/core/pii-classification.md +102 -0
  322. package/bundled/locales/zh-TW/core/pipeline-security-gates.md +126 -0
  323. package/bundled/locales/zh-TW/core/policy-as-code-testing.md +203 -0
  324. package/bundled/locales/zh-TW/core/prd-standards.md +88 -0
  325. package/bundled/locales/zh-TW/core/privacy-standards.md +1 -1
  326. package/bundled/locales/zh-TW/core/product-metrics-standards.md +96 -0
  327. package/bundled/locales/zh-TW/core/project-context-memory.md +1 -1
  328. package/bundled/locales/zh-TW/core/prompt-regression.md +88 -0
  329. package/bundled/locales/zh-TW/core/property-based-testing.md +87 -0
  330. package/bundled/locales/zh-TW/core/refactoring-standards.md +43 -6
  331. package/bundled/locales/zh-TW/core/release-quality-manifest.md +207 -0
  332. package/bundled/locales/zh-TW/core/replay-test.md +102 -0
  333. package/bundled/locales/zh-TW/core/resource-cost-boundary.md +175 -0
  334. package/bundled/locales/zh-TW/core/reverse-engineering-standards.md +64 -5
  335. package/bundled/locales/zh-TW/core/rollback-standards.md +120 -0
  336. package/bundled/locales/zh-TW/core/runbook.md +110 -0
  337. package/bundled/locales/zh-TW/core/sast-advanced.md +309 -0
  338. package/bundled/locales/zh-TW/core/schema-evolution.md +98 -0
  339. package/bundled/locales/zh-TW/core/secret-management-standards.md +101 -0
  340. package/bundled/locales/zh-TW/core/secure-op.md +328 -0
  341. package/bundled/locales/zh-TW/core/security-testing.md +96 -0
  342. package/bundled/locales/zh-TW/core/self-review-protocol.md +2 -2
  343. package/bundled/locales/zh-TW/core/server-ops-security.md +507 -0
  344. package/bundled/locales/zh-TW/core/slo-sli.md +108 -0
  345. package/bundled/locales/zh-TW/core/smoke-test.md +79 -0
  346. package/bundled/locales/zh-TW/core/spec-driven-development.md +19 -11
  347. package/bundled/locales/zh-TW/core/supply-chain-attestation.md +131 -0
  348. package/bundled/locales/zh-TW/core/user-journey-testing.md +111 -0
  349. package/bundled/locales/zh-TW/core/user-story-mapping.md +94 -0
  350. package/bundled/locales/zh-TW/core/verification-oracle.md +159 -0
  351. package/bundled/locales/zh-TW/core/versioning.md +112 -112
  352. package/bundled/locales/zh-TW/docs/CHEATSHEET.md +31 -6
  353. package/bundled/locales/zh-TW/docs/DEV-WORKFLOW-MAPPING.md +6 -6
  354. package/bundled/locales/zh-TW/docs/FEATURE-REFERENCE.md +61 -34
  355. package/bundled/locales/zh-TW/docs/MIGRATION-v6.md +88 -0
  356. package/bundled/locales/zh-TW/docs/USAGE-MODES-COMPARISON.md +2 -2
  357. package/bundled/locales/zh-TW/docs/USER-MANUAL.md +14 -14
  358. package/bundled/locales/zh-TW/docs/specs/system/memory-adoption-strategy.md +105 -0
  359. package/bundled/locales/zh-TW/docs/user/FAQ.md +132 -0
  360. package/bundled/locales/zh-TW/docs/user/GETTING-STARTED.md +144 -0
  361. package/bundled/locales/zh-TW/docs/user/GLOSSARY.md +178 -0
  362. package/bundled/locales/zh-TW/docs/user/README.md +70 -0
  363. package/bundled/locales/zh-TW/docs/user/TROUBLESHOOTING.md +190 -0
  364. package/bundled/locales/zh-TW/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +1 -1
  365. package/bundled/locales/zh-TW/integrations/github-copilot/README.md +1 -1
  366. package/bundled/locales/zh-TW/integrations/github-copilot/skills-mapping.md +3 -3
  367. package/bundled/locales/zh-TW/integrations/opencode/skills-mapping.md +3 -3
  368. package/bundled/locales/zh-TW/methodologies/guides/sdd-guide.md +523 -26
  369. package/bundled/locales/zh-TW/options/changelog/auto-generated.md +166 -0
  370. package/bundled/locales/zh-TW/options/changelog/keep-a-changelog.md +140 -0
  371. package/bundled/locales/zh-TW/options/code-review/automated-review.md +214 -0
  372. package/bundled/locales/zh-TW/options/code-review/pair-programming.md +166 -0
  373. package/bundled/locales/zh-TW/options/code-review/pr-review.md +167 -0
  374. package/bundled/locales/zh-TW/options/documentation/api-docs.md +191 -0
  375. package/bundled/locales/zh-TW/options/documentation/markdown-docs.md +150 -0
  376. package/bundled/locales/zh-TW/options/documentation/wiki-style.md +131 -0
  377. package/bundled/locales/zh-TW/options/project-structure/kotlin.md +144 -0
  378. package/bundled/locales/zh-TW/options/project-structure/php.md +168 -0
  379. package/bundled/locales/zh-TW/options/project-structure/ruby.md +156 -0
  380. package/bundled/locales/zh-TW/options/project-structure/rust.md +136 -0
  381. package/bundled/locales/zh-TW/options/project-structure/swift.md +165 -0
  382. package/bundled/locales/zh-TW/options/testing/contract-testing.md +237 -0
  383. package/bundled/locales/zh-TW/options/testing/industry-pyramid.md +200 -0
  384. package/bundled/locales/zh-TW/options/testing/istqb-framework.md +144 -0
  385. package/bundled/locales/zh-TW/options/testing/performance-testing.md +251 -0
  386. package/bundled/locales/zh-TW/options/testing/security-testing.md +192 -0
  387. package/bundled/locales/zh-TW/skills/README.md +91 -128
  388. package/bundled/locales/zh-TW/skills/ac-coverage/SKILL.md +4 -6
  389. package/bundled/locales/zh-TW/skills/adr-assistant/SKILL.md +1 -1
  390. package/bundled/locales/zh-TW/skills/agents/code-architect.md +263 -0
  391. package/bundled/locales/zh-TW/skills/agents/doc-writer.md +410 -0
  392. package/bundled/locales/zh-TW/skills/agents/reviewer.md +357 -0
  393. package/bundled/locales/zh-TW/skills/agents/spec-analyst.md +410 -0
  394. package/bundled/locales/zh-TW/skills/agents/test-specialist.md +368 -0
  395. package/bundled/locales/zh-TW/skills/ai-collaboration-standards/SKILL.md +2 -2
  396. package/bundled/locales/zh-TW/skills/ai-friendly-architecture/SKILL.md +2 -2
  397. package/bundled/locales/zh-TW/skills/ai-instruction-standards/SKILL.md +1 -1
  398. package/bundled/locales/zh-TW/skills/atdd-assistant/SKILL.md +2 -0
  399. package/bundled/locales/zh-TW/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
  400. package/bundled/locales/zh-TW/skills/atdd-assistant/atdd-workflow.md +3 -4
  401. package/bundled/locales/zh-TW/skills/audit-assistant/SKILL.md +2 -2
  402. package/bundled/locales/zh-TW/skills/bdd-assistant/SKILL.md +2 -0
  403. package/bundled/locales/zh-TW/skills/bdd-assistant/guide.md +1 -2
  404. package/bundled/locales/zh-TW/skills/brainstorm-assistant/SKILL.md +110 -14
  405. package/bundled/locales/zh-TW/skills/brainstorm-assistant/guide.md +31 -7
  406. package/bundled/locales/zh-TW/skills/checkin-assistant/SKILL.md +3 -1
  407. package/bundled/locales/zh-TW/skills/ci-cd-assistant/SKILL.md +50 -0
  408. package/bundled/locales/zh-TW/skills/code-review-assistant/SKILL.md +7 -5
  409. package/bundled/locales/zh-TW/skills/commands/ac-coverage.md +1 -1
  410. package/bundled/locales/zh-TW/skills/commands/atdd.md +3 -3
  411. package/bundled/locales/zh-TW/skills/commands/bdd.md +2 -2
  412. package/bundled/locales/zh-TW/skills/commands/brainstorm.md +26 -17
  413. package/bundled/locales/zh-TW/skills/commands/{review.md → code-review.md} +5 -5
  414. package/bundled/locales/zh-TW/skills/commands/derive-all.md +1 -1
  415. package/bundled/locales/zh-TW/skills/commands/derive-atdd.md +1 -1
  416. package/bundled/locales/zh-TW/skills/commands/derive-bdd.md +2 -3
  417. package/bundled/locales/zh-TW/skills/commands/derive-tdd.md +1 -1
  418. package/bundled/locales/zh-TW/skills/commands/derive.md +1 -1
  419. package/bundled/locales/zh-TW/skills/commands/dev-workflow.md +2 -2
  420. package/bundled/locales/zh-TW/skills/commands/methodology.md +4 -4
  421. package/bundled/locales/zh-TW/skills/commands/pr.md +1 -1
  422. package/bundled/locales/zh-TW/skills/commands/tdd.md +1 -1
  423. package/bundled/locales/zh-TW/skills/commit-standards/SKILL.md +1 -1
  424. package/bundled/locales/zh-TW/skills/contract-test-assistant/SKILL.md +1 -1
  425. package/bundled/locales/zh-TW/skills/dev-methodology/create-methodology.md +456 -0
  426. package/bundled/locales/zh-TW/skills/dev-methodology/guide.md +5 -5
  427. package/bundled/locales/zh-TW/skills/dev-methodology/runtime.md +296 -0
  428. package/bundled/locales/zh-TW/skills/dev-workflow-guide/SKILL.md +5 -5
  429. package/bundled/locales/zh-TW/skills/docs-generator/SKILL.md +1 -1
  430. package/bundled/locales/zh-TW/skills/e2e-assistant/SKILL.md +1 -1
  431. package/bundled/locales/zh-TW/skills/incident-response-assistant/SKILL.md +2 -2
  432. package/bundled/locales/zh-TW/skills/logging-guide/SKILL.md +29 -27
  433. package/bundled/locales/zh-TW/skills/migration-assistant/SKILL.md +1 -1
  434. package/bundled/locales/zh-TW/skills/pr-automation-assistant/SKILL.md +3 -1
  435. package/bundled/locales/zh-TW/skills/project-discovery/guide.md +2 -2
  436. package/bundled/locales/zh-TW/skills/reverse-engineer/SKILL.md +1 -1
  437. package/bundled/locales/zh-TW/skills/security-assistant/SKILL.md +1 -1
  438. package/bundled/locales/zh-TW/skills/spec-derivation/guide.md +7 -8
  439. package/bundled/locales/zh-TW/skills/spec-driven-dev/SKILL.md +2 -2
  440. package/bundled/locales/zh-TW/skills/sweep/SKILL.md +1 -1
  441. package/bundled/locales/zh-TW/skills/tdd-assistant/SKILL.md +3 -1
  442. package/bundled/locales/zh-TW/skills/testing-guide/SKILL.md +2 -2
  443. package/bundled/locales/zh-TW/skills/testing-guide/testing-theory.md +2298 -0
  444. package/bundled/locales/zh-TW/skills/workflows/README.md +451 -0
  445. package/bundled/skills/README.md +1 -1
  446. package/bundled/skills/ac-coverage/SKILL.md +17 -7
  447. package/bundled/skills/adr-assistant/SKILL.md +1 -1
  448. package/bundled/skills/agents/code-architect.md +1 -1
  449. package/bundled/skills/agents/doc-writer.md +1 -1
  450. package/bundled/skills/agents/reviewer.md +2 -2
  451. package/bundled/skills/agents/spec-analyst.md +1 -1
  452. package/bundled/skills/agents/test-specialist.md +1 -1
  453. package/bundled/skills/ai-collaboration-standards/SKILL.md +2 -2
  454. package/bundled/skills/ai-friendly-architecture/SKILL.md +2 -2
  455. package/bundled/skills/ai-instruction-standards/SKILL.md +1 -1
  456. package/bundled/skills/atdd-assistant/SKILL.md +7 -0
  457. package/bundled/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
  458. package/bundled/skills/atdd-assistant/atdd-workflow.md +6 -8
  459. package/bundled/skills/audit-assistant/SKILL.md +2 -2
  460. package/bundled/skills/bdd-assistant/SKILL.md +7 -0
  461. package/bundled/skills/bdd-assistant/guide.md +1 -2
  462. package/bundled/skills/brainstorm-assistant/SKILL.md +133 -11
  463. package/bundled/skills/brainstorm-assistant/guide.md +33 -5
  464. package/bundled/skills/checkin-assistant/SKILL.md +8 -1
  465. package/bundled/skills/ci-cd-assistant/SKILL.md +57 -0
  466. package/bundled/skills/code-review-assistant/SKILL.md +15 -8
  467. package/bundled/skills/commands/COMMAND-FAMILY-OVERVIEW.md +2 -2
  468. package/bundled/skills/commands/COMMAND-INDEX.json +3 -3
  469. package/bundled/skills/commands/README.md +2 -2
  470. package/bundled/skills/commands/ac-coverage.md +1 -1
  471. package/bundled/skills/commands/atdd.md +2 -2
  472. package/bundled/skills/commands/bdd.md +2 -2
  473. package/bundled/skills/commands/brainstorm.md +25 -14
  474. package/bundled/skills/commands/{review.md → code-review.md} +6 -6
  475. package/bundled/skills/commands/derive-all.md +1 -1
  476. package/bundled/skills/commands/derive-atdd.md +1 -1
  477. package/bundled/skills/commands/derive-bdd.md +2 -3
  478. package/bundled/skills/commands/derive-tdd.md +1 -1
  479. package/bundled/skills/commands/derive.md +1 -1
  480. package/bundled/skills/commands/dev-workflow.md +1 -1
  481. package/bundled/skills/commands/journey-test.md +45 -0
  482. package/bundled/skills/commands/methodology.md +4 -4
  483. package/bundled/skills/commands/pr.md +1 -1
  484. package/bundled/skills/commands/skill-builder.md +42 -0
  485. package/bundled/skills/commands/tdd.md +1 -1
  486. package/bundled/skills/dev-methodology/create-methodology.md +1 -1
  487. package/bundled/skills/dev-methodology/guide.md +1 -1
  488. package/bundled/skills/dev-methodology/runtime.md +1 -1
  489. package/bundled/skills/dev-workflow-guide/SKILL.md +3 -3
  490. package/bundled/skills/dev-workflow-guide/workflow-phases.md +3 -3
  491. package/bundled/skills/docs-generator/SKILL.md +3 -3
  492. package/bundled/skills/incident-response-assistant/SKILL.md +2 -2
  493. package/bundled/skills/logging-guide/SKILL.md +38 -2
  494. package/bundled/skills/migration-assistant/SKILL.md +226 -0
  495. package/bundled/skills/observability-assistant/SKILL.md +74 -0
  496. package/bundled/skills/pr-automation-assistant/SKILL.md +5 -1
  497. package/bundled/skills/project-discovery/guide.md +2 -2
  498. package/bundled/skills/push/SKILL.md +1 -1
  499. package/bundled/skills/release-standards/SKILL.md +19 -5
  500. package/bundled/skills/security-assistant/SKILL.md +1 -1
  501. package/bundled/skills/skill-builder/SKILL.md +1 -1
  502. package/bundled/skills/spec-derivation/guide.md +3 -4
  503. package/bundled/skills/spec-driven-dev/SKILL.md +2 -2
  504. package/bundled/skills/sweep/SKILL.md +1 -1
  505. package/bundled/skills/tdd-assistant/SKILL.md +8 -1
  506. package/bundled/skills/testing-guide/SKILL.md +1 -1
  507. package/bundled/skills/testing-guide/testing-theory.md +1 -1
  508. package/bundled/skills/workflows/README.md +2 -2
  509. package/package.json +3 -3
  510. package/src/commands/audit.js +30 -9
  511. package/src/commands/config.js +33 -2
  512. package/src/commands/hitl.js +14 -1
  513. package/src/commands/init.js +110 -58
  514. package/src/commands/quickstart.js +1 -2
  515. package/src/commands/release.js +51 -6
  516. package/src/commands/run-intent.js +9 -0
  517. package/src/commands/spec-split.js +27 -2
  518. package/src/commands/update.js +22 -6
  519. package/src/config/ai-agent-paths.js +3 -1
  520. package/src/i18n/messages.js +3 -102
  521. package/src/missions/MissionManager.js +44 -12
  522. package/src/utils/build-manifest.js +35 -3
  523. package/src/utils/friction-detector.js +71 -22
  524. package/src/utils/health-checker.js +29 -2
  525. package/src/utils/transaction.js +111 -0
  526. package/src/utils/version-promote.js +16 -0
  527. package/standards-registry.json +58 -146
  528. package/bundled/ai/standards/agent-communication-protocol.ai.yaml +0 -42
  529. package/bundled/ai/standards/agent-dispatch.ai.yaml +0 -42
  530. package/bundled/ai/standards/branch-completion.ai.yaml +0 -44
  531. package/bundled/ai/standards/change-batching-standards.ai.yaml +0 -44
  532. package/bundled/ai/standards/execution-history.ai.yaml +0 -42
  533. package/bundled/ai/standards/pipeline-integration-standards.ai.yaml +0 -42
  534. package/bundled/ai/standards/workflow-enforcement.ai.yaml +0 -44
  535. package/bundled/ai/standards/workflow-state-protocol.ai.yaml +0 -43
  536. package/src/commands/flow.js +0 -260
  537. package/src/commands/start.js +0 -372
  538. package/src/commands/sweep.js +0 -151
  539. package/src/commands/workflow.js +0 -681
@@ -0,0 +1,836 @@
1
+ ---
2
+ source: ../../../../methodologies/guides/sdd-guide.md
3
+ source_version: 2.1.0
4
+ translation_version: 2.1.0
5
+ last_synced: 2026-06-10
6
+ source_hash: 972eba45ce66
7
+ status: current
8
+ ---
9
+
10
+ # 规格驱动开发 (SDD) 标准
11
+
12
+ **版本**: 2.1.0
13
+ **最后更新**: 2026-01-26
14
+ **适用范围**: 所有采用规格驱动开发的项目
15
+ **范围**: universal
16
+
17
+ > **语言**: [English](../../../../methodologies/guides/sdd-guide.md) | [简体中文](../../methodologies/guides/sdd-guide.md)
18
+
19
+ ---
20
+
21
+ ## 目的
22
+
23
+ 本标准定义规格驱动开发 (SDD) 的原则与工作流程,确保变更在实现前已经过规划、记录并通过规格审批。
24
+
25
+ **主要效益**:
26
+ - 减少利益相关方与开发者之间的沟通误解
27
+ - 为所有变更提供清晰的审计轨迹
28
+ - 新成员更容易上手
29
+
30
+ ---
31
+
32
+ ## SDD 作为独立方法论
33
+
34
+ SDD(规格驱动开发,2025)是 AI 时代的方法论,有别于传统的 TDD/BDD/ATDD 家族。它源于 AI 辅助开发工具的广泛采用,以及现代软件工程对"规格优先"方法的需求。
35
+
36
+ ### 历史背景
37
+
38
+ | 方法论家族 | 时代 | 核心文献 | 关系 |
39
+ |-----------|------|----------|------|
40
+ | **TDD/BDD/ATDD** | 1999-2011 | GOOS(Freeman & Pryce)、Dan North、Gojko Adzic | 传统测试驱动开发家族 |
41
+ | **SDD (2025)** | 2025+ | Thoughtworks、GitHub spec-kit、Martin Fowler | AI 时代新兴概念,与传统家族独立 |
42
+
43
+ ### 与测试方法论的关系
44
+
45
+ SDD **不属于** "ATDD → BDD → TDD" 序列。它通过正向推导生成测试产出物,但仍是独立方法论。
46
+
47
+ | 方法论 | 起源 | 焦点 | SDD 整合方式 |
48
+ |--------|------|------|-------------|
49
+ | **TDD** | 1999,Kent Beck | 代码层级测试 | 可用于 SDD 实现阶段 |
50
+ | **BDD** | 2006,Dan North | 行为场景 | 正向推导生成 .feature 文件 |
51
+ | **ATDD** | 2003-2006,GOOS | 协作验收 | 可选的 AC 定义输入方式 |
52
+
53
+ ### 关键区别
54
+
55
+ ```
56
+ ┌─────────────────────────────────────────────────────────────────────────────┐
57
+ │ 两套独立方法论系统 │
58
+ ├─────────────────────────────────────────────────────────────────────────────┤
59
+ │ │
60
+ │ ┌─────────────────────────────────────┐ │
61
+ │ │ SDD(AI 时代方法论) │ │
62
+ │ │ │ │
63
+ │ │ 需求 → SPEC.md → 正向推导 → 测试 │ │
64
+ │ │ │ │
65
+ │ │ • 规格是权威来源 │ │
66
+ │ │ • AI 辅助代码生成 │ │
67
+ │ │ • 正向推导生成测试结构 │ │
68
+ │ └─────────────────────────────────────┘ │
69
+ │ │
70
+ │ ┌─────────────────────────────────────┐ │
71
+ │ │ 双循环 TDD(传统) │ │
72
+ │ │ │ │
73
+ │ │ BDD(外循环)→ TDD(内循环) │ │
74
+ │ │ │ │
75
+ │ │ • 测试驱动设计 │ │
76
+ │ │ • 手动开发 │ │
77
+ │ │ • ATDD 是可选的协作输入, │ │
78
+ │ │ 而非顺序步骤 │ │
79
+ │ └─────────────────────────────────────┘ │
80
+ │ │
81
+ └─────────────────────────────────────────────────────────────────────────────┘
82
+ ```
83
+
84
+ ---
85
+
86
+ ## SDD 成熟度等级
87
+
88
+ 根据 Martin Fowler 对 SDD 工具的分析(2025),团队可在不同成熟度等级运作:
89
+
90
+ | 等级 | 名称 | 说明 | 人类角色 |
91
+ |------|------|------|---------|
92
+ | 1 | **规格优先** | 先写规格,完成后丢弃 | 编辑规格与代码 |
93
+ | 2 | **规格锚定** | 在整个演进过程维护规格 | 编辑规格,AI 辅助代码 |
94
+ | 3 | **规格即来源** | 规格是唯一来源,代码自动生成 | 只编辑规格,绝不碰代码 |
95
+
96
+ ### 等级特性
97
+
98
+ **等级 1:规格优先**
99
+ - 在实现前撰写规格
100
+ - 功能完成后可丢弃规格
101
+ - 代码仍是权威来源
102
+ - 2025 年最常见
103
+
104
+ **等级 2:规格锚定**
105
+ - 在整个生命周期维护规格
106
+ - 规格用于演进与维护
107
+ - AI 根据规格更新辅助代码变更
108
+ - 在企业环境中逐步采用
109
+
110
+ **等级 3:规格即来源**
111
+ - 规格是唯一的真实来源
112
+ - 代码标注 "GENERATED - DO NOT EDIT"
113
+ - 任何变更都需先修改规格
114
+ - 2025 年仍在实验阶段
115
+
116
+ ### 参考资料
117
+
118
+ - [Thoughtworks: Spec-Driven Development](https://www.thoughtworks.com/en-us/insights/blog/agile-engineering-practices/spec-driven-development-unpacking-2025-new-engineering-practices)
119
+ - [Martin Fowler: SDD Tools (Kiro, spec-kit, Tessl)](https://martinfowler.com/articles/exploring-gen-ai/sdd-3-tools.html)
120
+ - [GitHub spec-kit](https://github.com/github/spec-kit/blob/main/spec-driven.md)
121
+
122
+ ---
123
+
124
+ ## 常见陷阱
125
+
126
+ 采用 SDD 时应避免以下常见陷阱:
127
+
128
+ | 陷阱 | 问题 | 缓解措施 |
129
+ |------|------|---------|
130
+ | **过度形式化** | 像瀑布开发一样拖慢反馈速度 | 保持迭代,使用短周期 |
131
+ | **规格漂移** | 规格与代码不同步 | 持续验证,在 CI/CD 中做漂移检测 |
132
+ | **AI 幻觉** | AI 生成的代码与规格不符 | 健壮的验证、契约测试 |
133
+ | **尺寸不符** | 对小 bug 使用重量级流程 | 根据复杂度选择合适流程 |
134
+ | **过早优化** | 跳跃至规格即来源(等级 3) | 从规格优先开始,逐步演进 |
135
+
136
+ ### 何时不使用完整 SDD
137
+
138
+ | 情境 | 建议 |
139
+ |------|------|
140
+ | 关键热修复 | 先修复,后补文档 |
141
+ | 错字与格式 | 直接 commit,不需规格 |
142
+ | 探索性原型 | 跳过正式规格,快速迭代 |
143
+ | 琐碎 bug 修复(错字级别、无共用代码) | 仅轻量跟踪 |
144
+ | 易回归 bug 修复(共用代码 / 迁移 / 曾破坏路径) | 使用下方的 Bugfix 规格模板 |
145
+
146
+ ---
147
+
148
+ ## 变更评估(SDD 前置评估)
149
+
150
+ 开始 SDD 工作流程前,先评估变更的性质与范围。这能防止过度工程化,确保变更被正确路由。
151
+
152
+ ### 评估决策树
153
+
154
+ ```
155
+ 新需求/变更
156
+
157
+
158
+ ┌─────────────────────────────────────────────────────────┐
159
+ │ Q1: 这个变更的适用范围是什么? │
160
+ │ What is the scope of this change? │
161
+ ├─────────────────────────────────────────────────────────┤
162
+ │ A) 仅限项目内部使用 │
163
+ │ → 加入 CLAUDE.md 或项目配置 │
164
+ │ → 不需要核心标准 │
165
+ │ │
166
+ │ B) 可被其他项目复用的规则 │
167
+ │ → 创建核心标准 │
168
+ │ → 评估是否需要 Skill/Command │
169
+ └─────────────────────────────────────────────────────────┘
170
+
171
+
172
+ ┌─────────────────────────────────────────────────────────┐
173
+ │ Q2: 这个功能需要 AI 交互吗? │
174
+ │ Does this feature require AI interaction? │
175
+ ├─────────────────────────────────────────────────────────┤
176
+ │ A) 需要交互式工作流程 │
177
+ │ → 创建 Skill │
178
+ │ → 评估是否需要 Slash Command │
179
+ │ │
180
+ │ B) 静态规则 / 背景知识 │
181
+ │ → 仅建核心标准 │
182
+ │ → 在 CLAUDE.md 中引用 │
183
+ └─────────────────────────────────────────────────────────┘
184
+
185
+
186
+ ┌─────────────────────────────────────────────────────────┐
187
+ │ Q3: 用户需要直接触发吗? │
188
+ │ Does the user need to trigger this directly? │
189
+ ├─────────────────────────────────────────────────────────┤
190
+ │ A) 需要 /command 触发 │
191
+ │ → 创建 Slash Command │
192
+ │ │
193
+ │ B) AI 自动应用 │
194
+ │ → 仅建 Skill,不需要 Command │
195
+ └─────────────────────────────────────────────────────────┘
196
+ ```
197
+
198
+ ### 评估结果
199
+
200
+ | 评估结果 | 需创建的产出物 |
201
+ |---------|-------------|
202
+ | 仅限项目 | 仅更新 CLAUDE.md |
203
+ | 通用静态规则 | 核心标准 + CLAUDE.md 引用 |
204
+ | 通用交互式 | 核心标准 + Skill |
205
+ | 用户触发工作流程 | 核心标准 + Skill + Command |
206
+
207
+ ### 范围分类标签
208
+
209
+ 在规格文档中使用以下标签标示范围:
210
+
211
+ | 标签 | 含义 | 示例 |
212
+ |------|------|------|
213
+ | `[Scope: Project]` | 项目专用,不对外发布 | CI/CD 配置、团队惯例 |
214
+ | `[Scope: Universal]` | 可被其他项目复用 | 编码标准、测试模式 |
215
+ | `[Scope: Utility]` | 工具/生成器,不需核心标准 | docs-generator、code-formatter |
216
+
217
+ ---
218
+
219
+ ## Bugfix 规格模板(易回归修复)
220
+
221
+ > XSPEC-264。不是每个 bug 都需要规格——**琐碎** bug 保持轻量即可。但**易回归**的修复
222
+ >(触及共用代码、迁移或曾被修复又破坏的路径)值得一份轻量的
223
+ > `<BUG-ID>.bugfix.md`——比功能规格便宜得多,比盲目修补安全得多。
224
+
225
+ ```markdown
226
+ # <BUG-ID>: <简短标题>
227
+
228
+ ## Current behavior(当前行为)
229
+ 现在发生的事(缺陷) + 重现步骤。
230
+
231
+ ## Expected behavior(预期行为)
232
+ 应该发生的事。
233
+
234
+ ## Unchanged behavior(不变行为)
235
+ 明确列出**不应改变**的内容——回归防护范围。
236
+
237
+ ## Root cause(根本原因)
238
+ 链接系统性调试分析(5 个为什么 / 二分法)。
239
+
240
+ ## Regression test(回归测试)
241
+ 修复前失败、修复后通过的测试——并且断言"不变行为"仍然成立。
242
+ 将此测试视为 AC(acceptance-criteria-traceability: `@AC <BUG-ID>`)。
243
+ ```
244
+
245
+ **使用时机**(参见上方变更评估表):琐碎 → 轻量;易回归 → 使用此模板。`Unchanged behavior`(不变行为)+ `Regression test`(回归测试)两节,正是 UDS 自身的迁移/重构回归(XSPEC-199/200/201)屡屡缺少的。设计上保持轻量;不要把琐碎 bug 升级。
246
+
247
+ ---
248
+
249
+ ## SDD 工作流程
250
+
251
+ ```
252
+ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
253
+ │ 讨论 │───▶│ 提案 │───▶│ 审查 │───▶│ 实现 │
254
+ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘
255
+
256
+
257
+ ┌──────────────┐ ┌──────────────┐
258
+ │ 归档 │◀───│ 验证 │
259
+ └──────────────┘ └──────────────┘
260
+ ```
261
+
262
+ ### 工作流程阶段
263
+
264
+ | 阶段 | 说明 | 产出物 |
265
+ |------|------|--------|
266
+ | **讨论** | 厘清灰色地带、锁定范围、建立 read_first 清单 | 范围定义、规范参考 |
267
+ | **提案** | 定义变更内容与原因 | `proposal.md` |
268
+ | **审查** | 利益相关方审批 | 审查意见、审批记录 |
269
+ | **实现** | 执行已审批的规格 | 代码、测试、文档 |
270
+ | **验证** | 确认实现符合规格(最多 3 次迭代) | 测试结果、追溯矩阵 |
271
+ | **归档** | 关闭并归档规格 | 已归档规格及 commits/PRs 链接 |
272
+
273
+ ---
274
+
275
+ ## 双向同步评估
276
+
277
+ 处理规格及其实现时,始终评估哪些内容需要同步。变更可能来自任何产出物,并应传播至相关产出物。
278
+
279
+ ### 同步矩阵
280
+
281
+ | 变更来源 | 需评估同步至 |
282
+ |---------|------------|
283
+ | 核心标准 | → Skills、Commands、AI YAML、翻译 |
284
+ | Skill | → 核心标准(如适用)、Commands、翻译 |
285
+ | Command | → Skill、核心标准(如适用)、翻译 |
286
+
287
+ ### 同步检查清单模板
288
+
289
+ 在规格文档中加入此检查清单:
290
+
291
+ ```markdown
292
+ ## Sync Checklist(同步检查清单)
293
+
294
+ ### 从核心标准出发
295
+ - [ ] 创建/更新对应的 Skill?(若需交互)
296
+ - [ ] 创建/更新 Slash Command?(若需用户触发)
297
+ - [ ] 更新翻译?(zh-TW、zh-CN 等)
298
+ - [ ] 更新 AI YAML 版本?(如适用)
299
+
300
+ ### 从 Skill 出发
301
+ - [ ] 此 Skill 应有核心标准吗?
302
+ - [ ] 若为工具 Skill(如 docs-generator),标记为 "[Scope: Utility]"?
303
+ - [ ] 创建 Slash Command?
304
+ - [ ] 更新翻译?
305
+
306
+ ### 从 Command 出发
307
+ - [ ] 此 Command 属于哪个 Skill?
308
+ - [ ] 更新 Skill 文档?
309
+ - [ ] 更新翻译?
310
+ ```
311
+
312
+ ### 同步标记
313
+
314
+ 在文档中使用以下标记表示同步状态:
315
+
316
+ | 标记 | 含义 |
317
+ |------|------|
318
+ | `[Synced: ✓]` | 所有相关产出物已同步 |
319
+ | `[Synced: Pending]` | 需要同步但尚未完成 |
320
+ | `[Synced: N/A]` | 没有需要同步的相关产出物(如独立工具) |
321
+
322
+ ---
323
+
324
+ ## 核心原则
325
+
326
+ ### 1. SDD 工具命令优先
327
+
328
+ **规则**: 当项目集成了 SDD 工具(如 OpenSpec、Spec Kit 等)且该工具提供特定命令(例如 `/openspec` 或 `/spec` 等斜线命令)时,AI 助手**必须优先使用这些命令**,而非直接手动编辑文件。
329
+
330
+ **理由**:
331
+ - **一致性**: 工具确保规格结构遵循严格的模式。
332
+ - **可追溯性**: 命令通常会自动处理日志、ID 和链接。
333
+ - **安全性**: 工具可能有内置验证以防止无效状态。
334
+
335
+ **示例**:
336
+ - ✅ 使用 `/openspec proposal "新增登录"` 替代手动创建 `changes/add-login/proposal.md`。
337
+
338
+ ---
339
+
340
+ ### 2. 方法论优于工具
341
+
342
+ **规则**: SDD 是一种方法论,不绑定于单一工具。虽然 OpenSpec 是常见的实现,但本标准适用于任何 SDD 工具(例如 Spec Kit)。
343
+
344
+ **指引**:
345
+ - **通用流程**: 讨论 → 提案 → 审查 → 实现 → 验证 → 归档。
346
+ - **工具适应**: 适应工作区中启用之 SDD 工具的特定命令与模式。
347
+
348
+ ---
349
+
350
+ ### 3. 先规格,后代码
351
+
352
+ **规则**: 在没有经审批的规格或变更提案的情况下,不得进行功能性的代码变更。
353
+
354
+ **例外情况**:
355
+ - 关键热修复(立即恢复服务,随后补文档)。
356
+ - 琐碎变更(错字、注释、格式调整)。
357
+
358
+ ---
359
+
360
+ ## 规格文档模板
361
+
362
+ ### 提案模板
363
+
364
+ ```markdown
365
+ # [SPEC-ID] 功能标题
366
+
367
+ ## 摘要
368
+ 简述提议的变更。
369
+
370
+ ## 动机
371
+ 为何需要此变更?解决什么问题?
372
+
373
+ ## 详细设计
374
+ 技术方法、受影响的组件、数据流程。
375
+
376
+ ## 验收条件
377
+ - [ ] 条件 1
378
+ - [ ] 条件 2
379
+
380
+ ## 依赖
381
+ 列出对其他规格或外部系统的依赖。
382
+
383
+ ## 风险
384
+ 潜在风险及缓解策略。
385
+ ```
386
+
387
+ ---
388
+
389
+ ## 与其他标准集成
390
+
391
+ ### 与 Commit 消息指南集成
392
+
393
+ 实现已审批的规格时,在 commit 消息中引用规格 ID:
394
+
395
+ ```
396
+ feat(auth): implement login feature
397
+
398
+ Implements SPEC-001 login functionality with OAuth2 support.
399
+
400
+ Refs: SPEC-001
401
+ ```
402
+
403
+ ### 与签入标准集成
404
+
405
+ 在为规格签入代码前:
406
+
407
+ 1. ✅ 规格已审批
408
+ 2. ✅ 实现符合规格
409
+ 3. ✅ 测试涵盖验收条件
410
+ 4. ✅ PR 中引用规格 ID
411
+
412
+ ### 与代码审查清单集成
413
+
414
+ 审查者应验证:
415
+
416
+ - [ ] 变更符合已审批的规格
417
+ - [ ] 无超出规格范围的变更
418
+ - [ ] 规格验收条件已达成
419
+
420
+ ---
421
+
422
+ ## 常见 SDD 工具
423
+
424
+ | 工具 | 说明 | 命令示例 |
425
+ |------|------|----------|
426
+ | **OpenSpec** | 规格管理 | `/openspec proposal`, `/openspec approve` |
427
+ | **Spec Kit** | 轻量级规格跟踪 | `/spec create`, `/spec close` |
428
+ | **手动** | 无工具,基于文件 | 手动创建 `specs/SPEC-XXX.md` |
429
+
430
+ ---
431
+
432
+ ## 最佳实践
433
+
434
+ ### 应该做的
435
+
436
+ - ✅ 保持规格专注且原子化(每个规格一个变更)
437
+ - ✅ 包含明确的验收条件
438
+ - ✅ 将规格链接到实现 PR
439
+ - ✅ 完成后归档规格
440
+
441
+ ### 不应该做的
442
+
443
+ - ❌ 在规格审批前开始编码
444
+ - ❌ 实现期间修改范围而不更新规格
445
+ - ❌ 让规格处于悬而未决状态(始终关闭或归档)
446
+ - ❌ 跳过验证步骤
447
+
448
+ ---
449
+
450
+ ## 与逆向工程集成
451
+
452
+ ### 概述
453
+
454
+ 对于没有规格的现有代码库,使用[逆向工程标准](../../core/reverse-engineering-standards.md)来生成与 SDD 兼容的提案草稿。
455
+
456
+ ### 逆向工程 → SDD 流水线
457
+
458
+ ```
459
+ ┌─────────────────────────────────────────────────────────────────────────┐
460
+ │ 逆向工程 → SDD 流水线 │
461
+ ├─────────────────────────────────────────────────────────────────────────┤
462
+ │ │
463
+ │ 现有代码 │
464
+ │ │ │
465
+ │ ▼ │
466
+ │ ┌────────────────────────────────────────────────────────────┐ │
467
+ │ │ /reverse-spec │ │
468
+ │ │ • 代码扫描 → 技术清单 [已确认] │ │
469
+ │ │ • 测试分析 → 验收条件 [已确认/推断] │ │
470
+ │ │ • 缺口识别 → [未知] 项目 │ │
471
+ │ └────────────────────────────────────────────────────────────┘ │
472
+ │ │ │
473
+ │ ▼ │
474
+ │ 草拟规格(逆向工程) │
475
+ │ │ │
476
+ │ ▼ │
477
+ │ ┌────────────────────────────────────────────────────────────┐ │
478
+ │ │ SDD 审查流程 │ │
479
+ │ │ • 人类填写 [未知] 区块(动机、风险) │ │
480
+ │ │ • 利益相关方验证 [推断] 项目 │ │
481
+ │ │ • 正式审批 │ │
482
+ │ └────────────────────────────────────────────────────────────┘ │
483
+ │ │ │
484
+ │ ▼ │
485
+ │ 已审批规格 → 继续正常 SDD 工作流程 │
486
+ │ │
487
+ └─────────────────────────────────────────────────────────────────────────┘
488
+ ```
489
+
490
+ ### 逆向工程规格的要求
491
+
492
+ 当规格通过逆向工程生成时:
493
+
494
+ 1. **标记状态**: 在元数据中包含 `Status: Draft (Reverse-Engineered)`
495
+ 2. **填写未知**: 所有 `[Unknown]` 区块必须由人类在审批前填写
496
+ 3. **验证推断**: 所有 `[Inferred]` 项目必须经过审查和确认
497
+ 4. **标准审查**: 在实现前遵循正常 SDD 审查流程
498
+ 5. **来源引用**: 维护 file:line 参考以确保可追溯性
499
+
500
+ ### 何时使用逆向工程
501
+
502
+ | 情境 | 做法 |
503
+ |------|------|
504
+ | 遗留系统现代化 | 从逆向工程开始 |
505
+ | 记录未文档化的代码 | 从代码生成规格 |
506
+ | 新成员入职 | 提取规格进行知识转移 |
507
+ | 重构前的文档化 | 在重大变更前建立规格 |
508
+
509
+ ### 相关命令
510
+
511
+ | 命令 | 用途 |
512
+ |------|------|
513
+ | `/reverse-spec` | 从现有代码生成 SDD 规格 |
514
+ | `/reverse-bdd` | 将验收条件转换为 Gherkin 场景 |
515
+ | `/reverse-tdd` | 分析 BDD 场景的测试覆盖 |
516
+
517
+ ---
518
+
519
+ ## 与正向推导集成
520
+
521
+ ### 概述
522
+
523
+ 规格审批后,使用[正向推导标准](../../core/forward-derivation-standards.md)从验收条件自动生成 BDD 场景、TDD 测试骨架和 ATDD 验收测试。
524
+
525
+ ### 正向推导 → SDD 流水线
526
+
527
+ ```
528
+ ┌─────────────────────────────────────────────────────────────────────────┐
529
+ │ 已审批规格 → 正向推导流水线 │
530
+ ├─────────────────────────────────────────────────────────────────────────┤
531
+ │ │
532
+ │ APPROVED SPEC-XXX.md │
533
+ │ │ │
534
+ │ ▼ │
535
+ │ ┌────────────────────────────────────────────────────────────┐ │
536
+ │ │ /derive-all specs/SPEC-XXX.md │ │
537
+ │ │ • 解析验收条件 │ │
538
+ │ │ • 转换 AC → Gherkin 场景 [已生成] │ │
539
+ │ │ • 生成 TDD 测试骨架 [已生成] │ │
540
+ │ │ • 创建 ATDD 验收表格 [已生成] │ │
541
+ │ └────────────────────────────────────────────────────────────┘ │
542
+ │ │ │
543
+ │ ▼ │
544
+ │ 输出文件 │
545
+ │ ├── features/SPEC-XXX.feature(BDD) │
546
+ │ ├── tests/SPEC-XXX.test.ts(TDD) │
547
+ │ └── acceptance/SPEC-XXX-acceptance.md(ATDD) │
548
+ │ │ │
549
+ │ ▼ │
550
+ │ 人类审查 → BDD/TDD 工作流程继续 │
551
+ │ │
552
+ └─────────────────────────────────────────────────────────────────────────┘
553
+ ```
554
+
555
+ ### 何时使用正向推导
556
+
557
+ | 情境 | 做法 |
558
+ |------|------|
559
+ | 规格已审批,开始实现 | 用 `/derive-all` 生成测试结构 |
560
+ | 快速需要 BDD 场景 | 用 `/derive-bdd` 生成 Gherkin |
561
+ | 开始 TDD 工作流程 | 用 `/derive-tdd` 生成测试骨架 |
562
+ | 手动验收测试 | 用 `/derive-atdd` 生成测试表格 |
563
+
564
+ ### 相关命令
565
+
566
+ | 命令 | 输入 | 输出 | 用途 |
567
+ |------|------|------|------|
568
+ | `/derive-bdd` | SPEC-XXX.md | .feature | AC → Gherkin 场景 |
569
+ | `/derive-tdd` | SPEC-XXX.md | .test.ts | AC → 测试骨架 |
570
+ | `/derive-atdd` | SPEC-XXX.md | acceptance.md | AC → 测试表格 |
571
+ | `/derive-all` | SPEC-XXX.md | 以上全部 | 完整推导流水线 |
572
+ | `/derive-contracts` | SPEC-XXX.md | contract.json, schema.json | AC → 契约验证 |
573
+
574
+ ---
575
+
576
+ ## 验证层
577
+
578
+ SDD 需要健壮的验证机制,确保生成的代码与规格一致。验证层在整个开发生命周期提供持续验证。
579
+
580
+ ### 理论基础
581
+
582
+ | 理论 | 来源 | 在 SDD 中的应用 |
583
+ |------|------|---------------|
584
+ | **契约式设计** | Bertrand Meyer, 1986 | AC 作为前后置条件 |
585
+ | **形式化验证** | 计算机科学 | 规格 vs 实现 |
586
+ | **规格即示例** | Gojko Adzic, 2011 | 可执行规格 |
587
+ | **契约测试** | Pact, 2013+ | 服务契约验证 |
588
+
589
+ ### 验证机制
590
+
591
+ | 机制 | 用途 | 工具 |
592
+ |------|------|------|
593
+ | **契约测试** | 验证实现是否遵守接口保证 | Pact、Spring Cloud Contract、Specmatic |
594
+ | **Schema 验证** | 拒绝违反结构要求的 payload | JSON Schema、OpenAPI 验证器 |
595
+ | **漂移检测** | 检测规格与行为的偏离 | CI/CD 集成、Specmatic |
596
+ | **向后兼容性** | 将变更分类为新增/破坏性 | OpenAPI diff 工具 |
597
+
598
+ ### SDD 验证流程
599
+
600
+ ```
601
+ ┌─────────────────────────────────────────────────────────────────────────────┐
602
+ │ SDD 验证层 │
603
+ ├─────────────────────────────────────────────────────────────────────────────┤
604
+ │ │
605
+ │ SPEC-XXX.md(已审批) │
606
+ │ │ │
607
+ │ ├──→ 正向推导 │
608
+ │ │ │ │
609
+ │ │ ├──→ 契约测试(已生成) │
610
+ │ │ ├──→ Schema 验证器(已生成) │
611
+ │ │ ├──→ BDD 场景(已生成) │
612
+ │ │ └──→ TDD 骨架(已生成) │
613
+ │ │ │
614
+ │ └──→ 实现(AI 辅助) │
615
+ │ │ │
616
+ │ ▼ │
617
+ │ ┌─────────────────────────────────────────────────────┐ │
618
+ │ │ 持续验证 │ │
619
+ │ │ ┌─────────────────────────────────────────────────┐│ │
620
+ │ │ │ 契约测试 ✓/✗ ││ │
621
+ │ │ │ Schema 验证 ✓/✗ ││ │
622
+ │ │ │ 漂移检测 ✓/✗ ││ │
623
+ │ │ │ BDD 场景 ✓/✗ ││ │
624
+ │ │ │ TDD 单元测试 ✓/✗ ││ │
625
+ │ │ └─────────────────────────────────────────────────┘│ │
626
+ │ └─────────────────────────────────────────────────────┘ │
627
+ │ │ │
628
+ │ ▼ │
629
+ │ 验证报告 → 归档或迭代 │
630
+ │ │
631
+ └─────────────────────────────────────────────────────────────────────────────┘
632
+ ```
633
+
634
+ ### 生成的验证产出物
635
+
636
+ | 产出物 | 用途 | 验证角色 |
637
+ |--------|------|---------|
638
+ | `.feature`(BDD) | 行为场景 | 验收验证 |
639
+ | `.test.ts`(TDD) | 单元测试骨架 | 实现验证 |
640
+ | `acceptance.md`(ATDD) | 验收测试表格 | 业务验证 |
641
+ | `contract.json` | 契约定义 | 接口验证 |
642
+ | `schema.json` | Schema 定义 | 结构验证 |
643
+
644
+ ### SDD 中的 V&V
645
+
646
+ - **验证(Verification)**(正确地构建):契约测试通过、schema 有效、代码符合规格
647
+ - **确认(Validation)**(构建正确的东西):AC 达成、利益相关方审批、业务价值交付
648
+
649
+ ### 参考资料
650
+
651
+ - [InfoQ: Spec-Driven Development - Validation Layer](https://www.infoq.com/articles/spec-driven-development/)
652
+ - [Microsoft: Consumer-Driven Contract Testing](https://microsoft.github.io/code-with-engineering-playbook/automated-testing/cdc-testing/)
653
+ - [Wikipedia: Formal Verification](https://en.wikipedia.org/wiki/Formal_verification)
654
+ - [Specmatic: AI-powered API Contract Testing](https://specmatic.io/)
655
+
656
+ ---
657
+
658
+ ## SDD + 测试集成模型
659
+
660
+ ### 理论基础
661
+
662
+ SDD 验证植基于成熟的测试理论:
663
+
664
+ ```
665
+ 契约式设计(1986) 规格即示例(2011)
666
+ │ │
667
+ ▼ ▼
668
+ ┌───────────────────────────────────────────────────────────────┐
669
+ │ SDD 验证模型 │
670
+ │ │
671
+ │ 规格(AC) ←──→ 契约测试 ←──→ 实现 │
672
+ │ ↑ ↑ ↓ │
673
+ │ 前后置 验证 运行时 │
674
+ │ 条件 机制 行为 │
675
+ └───────────────────────────────────────────────────────────────┘
676
+ ```
677
+
678
+ ### 集成点
679
+
680
+ | SDD 阶段 | 测试集成 | 理论 |
681
+ |---------|---------|------|
682
+ | **规格撰写** | AC = 前后置条件 | 契约式设计 |
683
+ | **正向推导** | 生成契约测试 | 可执行规格 |
684
+ | **实现** | TDD(可选) | 测试驱动开发 |
685
+ | **验证** | 契约测试 + 漂移检测 | 运行时验证 |
686
+ | **归档** | 测试结果作为证据 | 可追溯性 |
687
+
688
+ ### 实务工作流程
689
+
690
+ ```
691
+ ┌─────────────────────────────────────────────────────────────────────────────┐
692
+ │ 实务 SDD 工作流程 │
693
+ ├─────────────────────────────────────────────────────────────────────────────┤
694
+ │ │
695
+ │ 【输入来源】(以下任一) │
696
+ │ ├── 需求访谈(最常见) │
697
+ │ ├── 利益相关方邮件/文档 │
698
+ │ ├── 产品需求文档(PRD) │
699
+ │ └── ATDD 工作坊(可选协作) │
700
+ │ ↓ │
701
+ │ 【SDD 提案撰写】 │
702
+ │ SPEC-XXX.md 包含: │
703
+ │ - 摘要、动机 │
704
+ │ - 详细设计 │
705
+ │ - 验收条件(Given-When-Then) │
706
+ │ - 依赖、风险 │
707
+ │ ↓ │
708
+ │ 【审查与审批】 │
709
+ │ ↓ │
710
+ │ 【正向推导】 │
711
+ │ /derive-all → .feature, .test.ts, acceptance.md, contract.json │
712
+ │ ↓ │
713
+ │ 【实现】(TDD 可选) │
714
+ │ ↓ │
715
+ │ 【验证】→ 【归档】 │
716
+ │ │
717
+ └─────────────────────────────────────────────────────────────────────────────┘
718
+ ```
719
+
720
+ ### 与传统方法的主要调整
721
+
722
+ 1. **ATDD 工作坊是可选的**: 不是每个功能都需要正式工作坊
723
+ 2. **规格是起点**: 无论输入来源为何,均转换为 SPEC-XXX.md
724
+ 3. **Given-When-Then 已内嵌**: AC 格式借鉴 BDD,但不要求正式的 ATDD 流程
725
+ 4. **正向推导填补缺口**: 自动生成测试结构,弥补无工作坊的不足
726
+
727
+ ---
728
+
729
+ ## 与正向/逆向工程的集成
730
+
731
+ 本标准与两个互补标准共同组成完整的规格生态系统:
732
+
733
+ ```
734
+ ┌─────────────────────────────────────────────────────────────────────────┐
735
+ │ SDD 生态系统集成 │
736
+ ├─────────────────────────────────────────────────────────────────────────┤
737
+ │ │
738
+ │ 遗留代码 新功能 │
739
+ │ │ │ │
740
+ │ ▼ ▼ │
741
+ │ ┌─────────────────┐ ┌─────────────────┐ │
742
+ │ │ 逆向工程 │ │ SDD │ │
743
+ │ │ 标准 │ │ (本标准) │ │
744
+ │ └────────┬────────┘ └────────┬────────┘ │
745
+ │ │ │ │
746
+ │ │ 代码 → 规格 │ 规格优先 │
747
+ │ │ │ │
748
+ │ ▼ ▼ │
749
+ │ ┌─────────────────────────────────────┐ │
750
+ │ │ SPEC-XXX.md │ │
751
+ │ │ (已审批的规格) │ │
752
+ │ └──────────────────┬──────────────────┘ │
753
+ │ │ │
754
+ │ ▼ │
755
+ │ ┌─────────────────────────────────────────────────────┐ │
756
+ │ │ 正向推导标准 │ │
757
+ │ │ │ │
758
+ │ │ 规格 → BDD (.feature) │ │
759
+ │ │ 规格 → TDD (.test.ts) │ │
760
+ │ │ 规格 → ATDD (acceptance.md) │ │
761
+ │ └─────────────────────────────────────────────────────┘ │
762
+ │ │
763
+ └─────────────────────────────────────────────────────────────────────────┘
764
+ ```
765
+
766
+ **何时使用哪个标准**:
767
+
768
+ | 情境 | 起点 | 使用的标准 |
769
+ |------|------|-----------|
770
+ | 新功能开发 | 什么都没有 | SDD → 正向推导 |
771
+ | 记录现有代码 | 代码存在,无规格 | 逆向工程 → SDD |
772
+ | 为现有代码添加测试 | 规格存在 | 正向推导 |
773
+ | 大型重构 | 代码存在,行为不明确 | 逆向工程 → SDD → 正向推导 |
774
+
775
+ ---
776
+
777
+ ## 相关标准
778
+
779
+ - [正向推导标准](../../core/forward-derivation-standards.md) — 规格转测试转换(规格 → BDD/TDD/ATDD)
780
+ - [逆向工程标准](../../core/reverse-engineering-standards.md) — 代码转规格转换(代码 → 规格)
781
+ - [测试驱动开发](../../core/test-driven-development.md) — TDD 工作流程与 SDD 集成
782
+ - [行为驱动开发](../../core/behavior-driven-development.md) — BDD 工作流程与 Given-When-Then 场景
783
+ - [验收测试驱动开发](../../core/acceptance-test-driven-development.md) — ATDD 工作流程与业务验收
784
+ - [测试标准](../../core/testing-standards.md) — 测试框架与最佳实践(或使用 `/testing-guide` 技能)
785
+ - [测试完整性维度](../../core/test-completeness-dimensions.md) — 8 维度测试覆盖
786
+ - [Commit 消息指南](../../core/commit-message-guide.md) — Commit 消息规范
787
+ - [代码签入标准](../../core/checkin-standards.md) — 代码签入标准
788
+ - [代码审查清单](../../core/code-review-checklist.md) — 代码审查清单
789
+ - [文档结构标准](../../core/documentation-structure.md) — 文档结构标准
790
+
791
+ ---
792
+
793
+ ## 版本历史
794
+
795
+ | 版本 | 日期 | 变更内容 |
796
+ |------|------|----------|
797
+ | 2.1.0 | 2026-01-26 | 新增:变更评估(SDD 前置评估)章节含决策树、双向同步评估章节含同步矩阵与检查清单 |
798
+ | 2.0.0 | 2026-01-25 | **重大重构**:新增"SDD 作为独立方法论"章节(将 SDD 与 TDD/BDD/ATDD 家族分离)、成熟度等级(Martin Fowler 2025)、常见陷阱、含理论基础的验证层、SDD + 测试集成模型、/derive-contracts 命令 |
799
+ | 1.4.0 | 2026-01-19 | 新增:与正向推导集成章节、derive 命令 |
800
+ | 1.3.0 | 2026-01-19 | 新增:与逆向工程集成章节、相关命令 |
801
+ | 1.2.0 | 2026-01-05 | 新增:IEEE 830-1998 和 SWEBOK v4.0 第 1 章(软件需求)至参考资料 |
802
+ | 1.1.0 | 2025-12-24 | 新增:工作流程图、规格模板、集成指南、最佳实践、相关标准、授权 |
803
+ | 1.0.0 | 2025-12-23 | 初始 SDD 标准定义 |
804
+
805
+ ---
806
+
807
+ ## 参考资料
808
+
809
+ ### SDD(2025 AI 时代)
810
+
811
+ - [Thoughtworks: Spec-Driven Development](https://www.thoughtworks.com/en-us/insights/blog/agile-engineering-practices/spec-driven-development-unpacking-2025-new-engineering-practices)
812
+ - [Martin Fowler: SDD Tools (Kiro, spec-kit, Tessl)](https://martinfowler.com/articles/exploring-gen-ai/sdd-3-tools.html)
813
+ - [GitHub spec-kit](https://github.com/github/spec-kit/blob/main/spec-driven.md)
814
+ - [InfoQ: Spec-Driven Development](https://www.infoq.com/articles/spec-driven-development/)
815
+
816
+ ### 传统需求工程
817
+
818
+ - [OpenSpec Documentation](https://github.com/openspec)
819
+ - [Design Documents Best Practices](https://www.industrialempathy.com/posts/design-docs-at-google/)
820
+ - [ADR (Architecture Decision Records)](https://adr.github.io/)
821
+ - [IEEE 830-1998 — 软件需求规格](https://standards.ieee.org/ieee/830/1222/) — 需求文档标准
822
+ - [SWEBOK v4.0 — 第 1 章:软件需求](https://www.computer.org/education/bodies-of-knowledge/software-engineering) — IEEE Computer Society
823
+
824
+ ### 验证理论
825
+
826
+ - [Design by Contract — Bertrand Meyer, 1986](https://en.wikipedia.org/wiki/Design_by_contract) — 前后置条件理论
827
+ - [Wikipedia: Formal Verification](https://en.wikipedia.org/wiki/Formal_verification) — 形式化验证理论
828
+ - [Microsoft: Consumer-Driven Contract Testing](https://microsoft.github.io/code-with-engineering-playbook/automated-testing/cdc-testing/) — 契约测试框架
829
+ - [Specmatic: AI-powered API Contract Testing](https://specmatic.io/) — 现代契约测试工具
830
+ - [Gojko Adzic: Specification by Example](https://gojko.net/books/specification-by-example/) — 可执行规格(2011)
831
+
832
+ ---
833
+
834
+ ## 授权
835
+
836
+ 本标准以 [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) 授权发布。