universal-dev-standards 5.16.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 (540) 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/spec-driven-development.md +21 -3
  95. package/bundled/core/tech-debt-standards.md +1 -1
  96. package/bundled/core/test-data-standards.md +2 -2
  97. package/bundled/core/user-journey-testing.md +102 -0
  98. package/bundled/core/user-story-mapping.md +96 -0
  99. package/bundled/core/verification-oracle.md +167 -0
  100. package/bundled/core/versioning.md +133 -109
  101. package/bundled/locales/COVERAGE.md +84 -73
  102. package/bundled/locales/zh-CN/CHANGELOG.md +81 -6
  103. package/bundled/locales/zh-CN/CLAUDE.md +1 -1
  104. package/bundled/locales/zh-CN/README.md +22 -9
  105. package/bundled/locales/zh-CN/SECURITY.md +1 -1
  106. package/bundled/locales/zh-CN/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
  107. package/bundled/locales/zh-CN/core/acceptance-criteria-traceability.md +4 -6
  108. package/bundled/locales/zh-CN/core/accessibility-standards.md +1 -1
  109. package/bundled/locales/zh-CN/core/adversarial-test.md +226 -0
  110. package/bundled/locales/zh-CN/core/agent-behavior-discipline.md +187 -0
  111. package/bundled/locales/zh-CN/core/ai-response-navigation.md +32 -6
  112. package/bundled/locales/zh-CN/core/anti-sycophancy-prompting.md +1 -1
  113. package/bundled/locales/zh-CN/core/api-design-standards.md +1 -1
  114. package/bundled/locales/zh-CN/core/behavior-snapshot.md +335 -0
  115. package/bundled/locales/zh-CN/core/browser-compatibility-standards.md +229 -0
  116. package/bundled/locales/zh-CN/core/cd-deployment-strategies.md +135 -0
  117. package/bundled/locales/zh-CN/core/chaos-injection-tests.md +130 -0
  118. package/bundled/locales/zh-CN/core/checkin-standards.md +1 -1
  119. package/bundled/locales/zh-CN/core/code-review-checklist.md +1 -1
  120. package/bundled/locales/zh-CN/core/container-security.md +535 -0
  121. package/bundled/locales/zh-CN/core/context-aware-loading.md +1 -1
  122. package/bundled/locales/zh-CN/core/contract-testing-standards.md +191 -0
  123. package/bundled/locales/zh-CN/core/cost-budget-test.md +86 -0
  124. package/bundled/locales/zh-CN/core/cross-flow-regression.md +199 -0
  125. package/bundled/locales/zh-CN/core/data-migration-testing.md +217 -0
  126. package/bundled/locales/zh-CN/core/deployment-standards.md +328 -9
  127. package/bundled/locales/zh-CN/core/deprecation-standards.md +1 -1
  128. package/bundled/locales/zh-CN/core/developer-memory.md +2 -2
  129. package/bundled/locales/zh-CN/core/disaster-recovery-drill.md +87 -0
  130. package/bundled/locales/zh-CN/core/documentation-structure.md +1 -1
  131. package/bundled/locales/zh-CN/core/documentation-writing-standards.md +1 -1
  132. package/bundled/locales/zh-CN/core/error-code-standards.md +2 -2
  133. package/bundled/locales/zh-CN/core/feature-manifest-standard.md +222 -0
  134. package/bundled/locales/zh-CN/core/flaky-test-management.md +87 -0
  135. package/bundled/locales/zh-CN/core/flow-based-testing.md +284 -0
  136. package/bundled/locales/zh-CN/core/forward-derivation-standards.md +3 -4
  137. package/bundled/locales/zh-CN/core/full-coverage-testing.md +197 -0
  138. package/bundled/locales/zh-CN/core/git-worktree.md +1 -1
  139. package/bundled/locales/zh-CN/core/governance-layer.md +160 -0
  140. package/bundled/locales/zh-CN/core/guides/performance-guide.md +515 -0
  141. package/bundled/locales/zh-CN/core/guides/security-guide.md +494 -0
  142. package/bundled/locales/zh-CN/core/knowledge-graph-memory.md +128 -0
  143. package/bundled/locales/zh-CN/core/license-compliance.md +129 -0
  144. package/bundled/locales/zh-CN/core/llm-output-validation.md +192 -0
  145. package/bundled/locales/zh-CN/core/logging-standards.md +130 -8
  146. package/bundled/locales/zh-CN/core/mock-boundary.md +109 -0
  147. package/bundled/locales/zh-CN/core/model-selection.md +28 -5
  148. package/bundled/locales/zh-CN/core/mutation-testing.md +106 -0
  149. package/bundled/locales/zh-CN/core/no-cicd-deployment.md +219 -0
  150. package/bundled/locales/zh-CN/core/packaging-standards.md +76 -5
  151. package/bundled/locales/zh-CN/core/pipeline-security-gates.md +126 -0
  152. package/bundled/locales/zh-CN/core/policy-as-code-testing.md +203 -0
  153. package/bundled/locales/zh-CN/core/privacy-standards.md +1 -1
  154. package/bundled/locales/zh-CN/core/project-context-memory.md +1 -1
  155. package/bundled/locales/zh-CN/core/prompt-regression.md +88 -0
  156. package/bundled/locales/zh-CN/core/property-based-testing.md +87 -0
  157. package/bundled/locales/zh-CN/core/release-quality-manifest.md +207 -0
  158. package/bundled/locales/zh-CN/core/release-readiness-gate.md +193 -0
  159. package/bundled/locales/zh-CN/core/replay-test.md +102 -0
  160. package/bundled/locales/zh-CN/core/reverse-engineering-standards.md +46 -1
  161. package/bundled/locales/zh-CN/core/rollback-standards.md +120 -0
  162. package/bundled/locales/zh-CN/core/sast-advanced.md +309 -0
  163. package/bundled/locales/zh-CN/core/secure-op.md +328 -0
  164. package/bundled/locales/zh-CN/core/security-testing.md +96 -0
  165. package/bundled/locales/zh-CN/core/self-review-protocol.md +167 -0
  166. package/bundled/locales/zh-CN/core/server-ops-security.md +507 -0
  167. package/bundled/locales/zh-CN/core/smoke-test.md +79 -0
  168. package/bundled/locales/zh-CN/core/spec-driven-development.md +55 -5
  169. package/bundled/locales/zh-CN/core/supply-chain-attestation.md +131 -0
  170. package/bundled/locales/zh-CN/core/versioning.md +1 -1
  171. package/bundled/locales/zh-CN/docs/CHEATSHEET.md +31 -6
  172. package/bundled/locales/zh-CN/docs/FEATURE-REFERENCE.md +61 -34
  173. package/bundled/locales/zh-CN/docs/MIGRATION-v6.md +88 -0
  174. package/bundled/locales/zh-CN/docs/USAGE-MODES-COMPARISON.md +2 -2
  175. package/bundled/locales/zh-CN/docs/USER-MANUAL.md +14 -14
  176. package/bundled/locales/zh-CN/docs/specs/system/memory-adoption-strategy.md +105 -0
  177. package/bundled/locales/zh-CN/docs/user/FAQ.md +132 -0
  178. package/bundled/locales/zh-CN/docs/user/GETTING-STARTED.md +144 -0
  179. package/bundled/locales/zh-CN/docs/user/GLOSSARY.md +178 -0
  180. package/bundled/locales/zh-CN/docs/user/README.md +70 -0
  181. package/bundled/locales/zh-CN/docs/user/TROUBLESHOOTING.md +190 -0
  182. package/bundled/locales/zh-CN/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +1 -1
  183. package/bundled/locales/zh-CN/integrations/github-copilot/README.md +1 -1
  184. package/bundled/locales/zh-CN/integrations/github-copilot/skills-mapping.md +3 -3
  185. package/bundled/locales/zh-CN/integrations/opencode/skills-mapping.md +3 -3
  186. package/bundled/locales/zh-CN/methodologies/guides/sdd-guide.md +836 -0
  187. package/bundled/locales/zh-CN/options/changelog/auto-generated.md +166 -0
  188. package/bundled/locales/zh-CN/options/changelog/keep-a-changelog.md +140 -0
  189. package/bundled/locales/zh-CN/options/code-review/automated-review.md +214 -0
  190. package/bundled/locales/zh-CN/options/code-review/pair-programming.md +166 -0
  191. package/bundled/locales/zh-CN/options/code-review/pr-review.md +167 -0
  192. package/bundled/locales/zh-CN/options/documentation/api-docs.md +191 -0
  193. package/bundled/locales/zh-CN/options/documentation/markdown-docs.md +150 -0
  194. package/bundled/locales/zh-CN/options/documentation/wiki-style.md +131 -0
  195. package/bundled/locales/zh-CN/options/project-structure/kotlin.md +144 -0
  196. package/bundled/locales/zh-CN/options/project-structure/php.md +168 -0
  197. package/bundled/locales/zh-CN/options/project-structure/ruby.md +156 -0
  198. package/bundled/locales/zh-CN/options/project-structure/rust.md +136 -0
  199. package/bundled/locales/zh-CN/options/project-structure/swift.md +165 -0
  200. package/bundled/locales/zh-CN/options/testing/contract-testing.md +237 -0
  201. package/bundled/locales/zh-CN/options/testing/industry-pyramid.md +200 -0
  202. package/bundled/locales/zh-CN/options/testing/istqb-framework.md +144 -0
  203. package/bundled/locales/zh-CN/options/testing/performance-testing.md +251 -0
  204. package/bundled/locales/zh-CN/options/testing/security-testing.md +192 -0
  205. package/bundled/locales/zh-CN/skills/README.md +89 -126
  206. package/bundled/locales/zh-CN/skills/ac-coverage/SKILL.md +5 -7
  207. package/bundled/locales/zh-CN/skills/adr-assistant/SKILL.md +1 -1
  208. package/bundled/locales/zh-CN/skills/agents/code-architect.md +263 -0
  209. package/bundled/locales/zh-CN/skills/agents/doc-writer.md +410 -0
  210. package/bundled/locales/zh-CN/skills/agents/reviewer.md +357 -0
  211. package/bundled/locales/zh-CN/skills/agents/spec-analyst.md +410 -0
  212. package/bundled/locales/zh-CN/skills/agents/test-specialist.md +368 -0
  213. package/bundled/locales/zh-CN/skills/ai-collaboration-standards/SKILL.md +2 -2
  214. package/bundled/locales/zh-CN/skills/ai-friendly-architecture/SKILL.md +2 -2
  215. package/bundled/locales/zh-CN/skills/ai-instruction-standards/SKILL.md +1 -1
  216. package/bundled/locales/zh-CN/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
  217. package/bundled/locales/zh-CN/skills/atdd-assistant/atdd-workflow.md +3 -4
  218. package/bundled/locales/zh-CN/skills/audit-assistant/SKILL.md +2 -2
  219. package/bundled/locales/zh-CN/skills/bdd-assistant/guide.md +1 -2
  220. package/bundled/locales/zh-CN/skills/brainstorm-assistant/SKILL.md +109 -13
  221. package/bundled/locales/zh-CN/skills/brainstorm-assistant/guide.md +30 -8
  222. package/bundled/locales/zh-CN/skills/checkin-assistant/SKILL.md +1 -1
  223. package/bundled/locales/zh-CN/skills/ci-cd-assistant/SKILL.md +50 -0
  224. package/bundled/locales/zh-CN/skills/code-review-assistant/SKILL.md +5 -5
  225. package/bundled/locales/zh-CN/skills/commands/ac-coverage.md +1 -1
  226. package/bundled/locales/zh-CN/skills/commands/atdd.md +3 -3
  227. package/bundled/locales/zh-CN/skills/commands/bdd.md +2 -2
  228. package/bundled/locales/zh-CN/skills/commands/brainstorm.md +26 -17
  229. package/bundled/locales/zh-CN/skills/commands/{review.md → code-review.md} +4 -4
  230. package/bundled/locales/zh-CN/skills/commands/derive-all.md +1 -1
  231. package/bundled/locales/zh-CN/skills/commands/derive-atdd.md +1 -1
  232. package/bundled/locales/zh-CN/skills/commands/derive-bdd.md +2 -3
  233. package/bundled/locales/zh-CN/skills/commands/derive-tdd.md +1 -1
  234. package/bundled/locales/zh-CN/skills/commands/derive.md +1 -1
  235. package/bundled/locales/zh-CN/skills/commands/dev-workflow.md +2 -2
  236. package/bundled/locales/zh-CN/skills/commands/methodology.md +4 -4
  237. package/bundled/locales/zh-CN/skills/commands/pr.md +1 -1
  238. package/bundled/locales/zh-CN/skills/commands/tdd.md +1 -1
  239. package/bundled/locales/zh-CN/skills/commit-standards/SKILL.md +1 -1
  240. package/bundled/locales/zh-CN/skills/contract-test-assistant/SKILL.md +1 -1
  241. package/bundled/locales/zh-CN/skills/dev-methodology/SKILL.md +1 -1
  242. package/bundled/locales/zh-CN/skills/dev-methodology/create-methodology.md +456 -0
  243. package/bundled/locales/zh-CN/skills/dev-methodology/guide.md +6 -6
  244. package/bundled/locales/zh-CN/skills/dev-methodology/runtime.md +296 -0
  245. package/bundled/locales/zh-CN/skills/dev-workflow-guide/SKILL.md +5 -5
  246. package/bundled/locales/zh-CN/skills/docs-generator/SKILL.md +1 -1
  247. package/bundled/locales/zh-CN/skills/e2e-assistant/SKILL.md +1 -1
  248. package/bundled/locales/zh-CN/skills/incident-response-assistant/SKILL.md +2 -2
  249. package/bundled/locales/zh-CN/skills/journey-test-assistant/SKILL.md +1 -1
  250. package/bundled/locales/zh-CN/skills/logging-guide/SKILL.md +146 -142
  251. package/bundled/locales/zh-CN/skills/migration-assistant/SKILL.md +1 -1
  252. package/bundled/locales/zh-CN/skills/observability-assistant/guide.md +1 -1
  253. package/bundled/locales/zh-CN/skills/pr-automation-assistant/SKILL.md +1 -1
  254. package/bundled/locales/zh-CN/skills/project-discovery/guide.md +2 -2
  255. package/bundled/locales/zh-CN/skills/reverse-engineer/SKILL.md +1 -1
  256. package/bundled/locales/zh-CN/skills/runbook-assistant/guide.md +1 -1
  257. package/bundled/locales/zh-CN/skills/security-assistant/SKILL.md +1 -1
  258. package/bundled/locales/zh-CN/skills/skill-builder/SKILL.md +3 -3
  259. package/bundled/locales/zh-CN/skills/slo-assistant/guide.md +1 -1
  260. package/bundled/locales/zh-CN/skills/spec-derivation/SKILL.md +1 -1
  261. package/bundled/locales/zh-CN/skills/spec-derivation/guide.md +8 -9
  262. package/bundled/locales/zh-CN/skills/spec-driven-dev/SKILL.md +2 -2
  263. package/bundled/locales/zh-CN/skills/sweep/SKILL.md +1 -1
  264. package/bundled/locales/zh-CN/skills/tdd-assistant/SKILL.md +1 -1
  265. package/bundled/locales/zh-CN/skills/testing-guide/SKILL.md +2 -2
  266. package/bundled/locales/zh-CN/skills/testing-guide/testing-theory.md +2298 -0
  267. package/bundled/locales/zh-CN/skills/workflows/README.md +451 -0
  268. package/bundled/locales/zh-TW/CHANGELOG.md +81 -6
  269. package/bundled/locales/zh-TW/CLAUDE.md +1 -1
  270. package/bundled/locales/zh-TW/MAINTENANCE.md +25 -2
  271. package/bundled/locales/zh-TW/README.md +22 -9
  272. package/bundled/locales/zh-TW/SECURITY.md +1 -1
  273. package/bundled/locales/zh-TW/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
  274. package/bundled/locales/zh-TW/ai/standards/versioning.ai.yaml +8 -48
  275. package/bundled/locales/zh-TW/core/acceptance-criteria-traceability.md +4 -6
  276. package/bundled/locales/zh-TW/core/accessibility-standards.md +1 -1
  277. package/bundled/locales/zh-TW/core/adversarial-test.md +226 -0
  278. package/bundled/locales/zh-TW/core/agent-behavior-discipline.md +187 -0
  279. package/bundled/locales/zh-TW/core/ai-response-navigation.md +32 -6
  280. package/bundled/locales/zh-TW/core/anti-sycophancy-prompting.md +1 -1
  281. package/bundled/locales/zh-TW/core/api-design-standards.md +91 -9
  282. package/bundled/locales/zh-TW/core/audit-trail.md +110 -0
  283. package/bundled/locales/zh-TW/core/behavior-snapshot.md +335 -0
  284. package/bundled/locales/zh-TW/core/browser-compatibility-standards.md +1 -0
  285. package/bundled/locales/zh-TW/core/cd-deployment-strategies.md +135 -0
  286. package/bundled/locales/zh-TW/core/chaos-injection-tests.md +130 -0
  287. package/bundled/locales/zh-TW/core/checkin-standards.md +1 -1
  288. package/bundled/locales/zh-TW/core/code-review-checklist.md +1 -1
  289. package/bundled/locales/zh-TW/core/container-image-standards.md +93 -0
  290. package/bundled/locales/zh-TW/core/container-security.md +535 -0
  291. package/bundled/locales/zh-TW/core/cost-budget-test.md +86 -0
  292. package/bundled/locales/zh-TW/core/cross-flow-regression.md +1 -0
  293. package/bundled/locales/zh-TW/core/data-contract.md +101 -0
  294. package/bundled/locales/zh-TW/core/data-migration-testing.md +217 -0
  295. package/bundled/locales/zh-TW/core/data-pipeline.md +105 -0
  296. package/bundled/locales/zh-TW/core/deployment-standards.md +363 -25
  297. package/bundled/locales/zh-TW/core/deprecation-standards.md +17 -4
  298. package/bundled/locales/zh-TW/core/developer-memory.md +2 -2
  299. package/bundled/locales/zh-TW/core/disaster-recovery-drill.md +87 -0
  300. package/bundled/locales/zh-TW/core/documentation-writing-standards.md +1 -1
  301. package/bundled/locales/zh-TW/core/error-code-standards.md +2 -2
  302. package/bundled/locales/zh-TW/core/feature-manifest-standard.md +222 -0
  303. package/bundled/locales/zh-TW/core/flaky-test-management.md +87 -0
  304. package/bundled/locales/zh-TW/core/flow-based-testing.md +284 -0
  305. package/bundled/locales/zh-TW/core/forward-derivation-standards.md +3 -4
  306. package/bundled/locales/zh-TW/core/full-coverage-testing.md +250 -0
  307. package/bundled/locales/zh-TW/core/git-worktree.md +1 -1
  308. package/bundled/locales/zh-TW/core/guides/performance-guide.md +515 -0
  309. package/bundled/locales/zh-TW/core/guides/security-guide.md +494 -0
  310. package/bundled/locales/zh-TW/core/iac-design-principles.md +90 -0
  311. package/bundled/locales/zh-TW/core/incident-response.md +111 -0
  312. package/bundled/locales/zh-TW/core/license-compliance.md +129 -0
  313. package/bundled/locales/zh-TW/core/llm-output-validation.md +192 -0
  314. package/bundled/locales/zh-TW/core/logging-standards.md +208 -4
  315. package/bundled/locales/zh-TW/core/mock-boundary.md +161 -0
  316. package/bundled/locales/zh-TW/core/model-provenance.md +173 -0
  317. package/bundled/locales/zh-TW/core/model-selection.md +28 -5
  318. package/bundled/locales/zh-TW/core/mutation-testing.md +106 -0
  319. package/bundled/locales/zh-TW/core/no-cicd-deployment.md +219 -0
  320. package/bundled/locales/zh-TW/core/packaging-standards.md +76 -5
  321. package/bundled/locales/zh-TW/core/performance-standards.md +84 -5
  322. package/bundled/locales/zh-TW/core/pii-classification.md +102 -0
  323. package/bundled/locales/zh-TW/core/pipeline-security-gates.md +126 -0
  324. package/bundled/locales/zh-TW/core/policy-as-code-testing.md +203 -0
  325. package/bundled/locales/zh-TW/core/prd-standards.md +88 -0
  326. package/bundled/locales/zh-TW/core/privacy-standards.md +1 -1
  327. package/bundled/locales/zh-TW/core/product-metrics-standards.md +96 -0
  328. package/bundled/locales/zh-TW/core/project-context-memory.md +1 -1
  329. package/bundled/locales/zh-TW/core/prompt-regression.md +88 -0
  330. package/bundled/locales/zh-TW/core/property-based-testing.md +87 -0
  331. package/bundled/locales/zh-TW/core/refactoring-standards.md +43 -6
  332. package/bundled/locales/zh-TW/core/release-quality-manifest.md +207 -0
  333. package/bundled/locales/zh-TW/core/replay-test.md +102 -0
  334. package/bundled/locales/zh-TW/core/resource-cost-boundary.md +175 -0
  335. package/bundled/locales/zh-TW/core/reverse-engineering-standards.md +64 -5
  336. package/bundled/locales/zh-TW/core/rollback-standards.md +120 -0
  337. package/bundled/locales/zh-TW/core/runbook.md +110 -0
  338. package/bundled/locales/zh-TW/core/sast-advanced.md +309 -0
  339. package/bundled/locales/zh-TW/core/schema-evolution.md +98 -0
  340. package/bundled/locales/zh-TW/core/secret-management-standards.md +101 -0
  341. package/bundled/locales/zh-TW/core/secure-op.md +328 -0
  342. package/bundled/locales/zh-TW/core/security-testing.md +96 -0
  343. package/bundled/locales/zh-TW/core/self-review-protocol.md +2 -2
  344. package/bundled/locales/zh-TW/core/server-ops-security.md +507 -0
  345. package/bundled/locales/zh-TW/core/slo-sli.md +108 -0
  346. package/bundled/locales/zh-TW/core/smoke-test.md +79 -0
  347. package/bundled/locales/zh-TW/core/spec-driven-development.md +39 -13
  348. package/bundled/locales/zh-TW/core/supply-chain-attestation.md +131 -0
  349. package/bundled/locales/zh-TW/core/user-journey-testing.md +111 -0
  350. package/bundled/locales/zh-TW/core/user-story-mapping.md +94 -0
  351. package/bundled/locales/zh-TW/core/verification-oracle.md +159 -0
  352. package/bundled/locales/zh-TW/core/versioning.md +112 -112
  353. package/bundled/locales/zh-TW/docs/CHEATSHEET.md +31 -6
  354. package/bundled/locales/zh-TW/docs/DEV-WORKFLOW-MAPPING.md +6 -6
  355. package/bundled/locales/zh-TW/docs/FEATURE-REFERENCE.md +61 -34
  356. package/bundled/locales/zh-TW/docs/MIGRATION-v6.md +88 -0
  357. package/bundled/locales/zh-TW/docs/USAGE-MODES-COMPARISON.md +2 -2
  358. package/bundled/locales/zh-TW/docs/USER-MANUAL.md +14 -14
  359. package/bundled/locales/zh-TW/docs/specs/system/memory-adoption-strategy.md +105 -0
  360. package/bundled/locales/zh-TW/docs/user/FAQ.md +132 -0
  361. package/bundled/locales/zh-TW/docs/user/GETTING-STARTED.md +144 -0
  362. package/bundled/locales/zh-TW/docs/user/GLOSSARY.md +178 -0
  363. package/bundled/locales/zh-TW/docs/user/README.md +70 -0
  364. package/bundled/locales/zh-TW/docs/user/TROUBLESHOOTING.md +190 -0
  365. package/bundled/locales/zh-TW/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +1 -1
  366. package/bundled/locales/zh-TW/integrations/github-copilot/README.md +1 -1
  367. package/bundled/locales/zh-TW/integrations/github-copilot/skills-mapping.md +3 -3
  368. package/bundled/locales/zh-TW/integrations/opencode/skills-mapping.md +3 -3
  369. package/bundled/locales/zh-TW/methodologies/guides/sdd-guide.md +523 -26
  370. package/bundled/locales/zh-TW/options/changelog/auto-generated.md +166 -0
  371. package/bundled/locales/zh-TW/options/changelog/keep-a-changelog.md +140 -0
  372. package/bundled/locales/zh-TW/options/code-review/automated-review.md +214 -0
  373. package/bundled/locales/zh-TW/options/code-review/pair-programming.md +166 -0
  374. package/bundled/locales/zh-TW/options/code-review/pr-review.md +167 -0
  375. package/bundled/locales/zh-TW/options/documentation/api-docs.md +191 -0
  376. package/bundled/locales/zh-TW/options/documentation/markdown-docs.md +150 -0
  377. package/bundled/locales/zh-TW/options/documentation/wiki-style.md +131 -0
  378. package/bundled/locales/zh-TW/options/project-structure/kotlin.md +144 -0
  379. package/bundled/locales/zh-TW/options/project-structure/php.md +168 -0
  380. package/bundled/locales/zh-TW/options/project-structure/ruby.md +156 -0
  381. package/bundled/locales/zh-TW/options/project-structure/rust.md +136 -0
  382. package/bundled/locales/zh-TW/options/project-structure/swift.md +165 -0
  383. package/bundled/locales/zh-TW/options/testing/contract-testing.md +237 -0
  384. package/bundled/locales/zh-TW/options/testing/industry-pyramid.md +200 -0
  385. package/bundled/locales/zh-TW/options/testing/istqb-framework.md +144 -0
  386. package/bundled/locales/zh-TW/options/testing/performance-testing.md +251 -0
  387. package/bundled/locales/zh-TW/options/testing/security-testing.md +192 -0
  388. package/bundled/locales/zh-TW/skills/README.md +91 -128
  389. package/bundled/locales/zh-TW/skills/ac-coverage/SKILL.md +4 -6
  390. package/bundled/locales/zh-TW/skills/adr-assistant/SKILL.md +1 -1
  391. package/bundled/locales/zh-TW/skills/agents/code-architect.md +263 -0
  392. package/bundled/locales/zh-TW/skills/agents/doc-writer.md +410 -0
  393. package/bundled/locales/zh-TW/skills/agents/reviewer.md +357 -0
  394. package/bundled/locales/zh-TW/skills/agents/spec-analyst.md +410 -0
  395. package/bundled/locales/zh-TW/skills/agents/test-specialist.md +368 -0
  396. package/bundled/locales/zh-TW/skills/ai-collaboration-standards/SKILL.md +2 -2
  397. package/bundled/locales/zh-TW/skills/ai-friendly-architecture/SKILL.md +2 -2
  398. package/bundled/locales/zh-TW/skills/ai-instruction-standards/SKILL.md +1 -1
  399. package/bundled/locales/zh-TW/skills/atdd-assistant/SKILL.md +2 -0
  400. package/bundled/locales/zh-TW/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
  401. package/bundled/locales/zh-TW/skills/atdd-assistant/atdd-workflow.md +3 -4
  402. package/bundled/locales/zh-TW/skills/audit-assistant/SKILL.md +2 -2
  403. package/bundled/locales/zh-TW/skills/bdd-assistant/SKILL.md +2 -0
  404. package/bundled/locales/zh-TW/skills/bdd-assistant/guide.md +1 -2
  405. package/bundled/locales/zh-TW/skills/brainstorm-assistant/SKILL.md +110 -14
  406. package/bundled/locales/zh-TW/skills/brainstorm-assistant/guide.md +31 -7
  407. package/bundled/locales/zh-TW/skills/checkin-assistant/SKILL.md +3 -1
  408. package/bundled/locales/zh-TW/skills/ci-cd-assistant/SKILL.md +50 -0
  409. package/bundled/locales/zh-TW/skills/code-review-assistant/SKILL.md +7 -5
  410. package/bundled/locales/zh-TW/skills/commands/ac-coverage.md +1 -1
  411. package/bundled/locales/zh-TW/skills/commands/atdd.md +3 -3
  412. package/bundled/locales/zh-TW/skills/commands/bdd.md +2 -2
  413. package/bundled/locales/zh-TW/skills/commands/brainstorm.md +26 -17
  414. package/bundled/locales/zh-TW/skills/commands/{review.md → code-review.md} +5 -5
  415. package/bundled/locales/zh-TW/skills/commands/derive-all.md +1 -1
  416. package/bundled/locales/zh-TW/skills/commands/derive-atdd.md +1 -1
  417. package/bundled/locales/zh-TW/skills/commands/derive-bdd.md +2 -3
  418. package/bundled/locales/zh-TW/skills/commands/derive-tdd.md +1 -1
  419. package/bundled/locales/zh-TW/skills/commands/derive.md +1 -1
  420. package/bundled/locales/zh-TW/skills/commands/dev-workflow.md +2 -2
  421. package/bundled/locales/zh-TW/skills/commands/methodology.md +4 -4
  422. package/bundled/locales/zh-TW/skills/commands/pr.md +1 -1
  423. package/bundled/locales/zh-TW/skills/commands/tdd.md +1 -1
  424. package/bundled/locales/zh-TW/skills/commit-standards/SKILL.md +1 -1
  425. package/bundled/locales/zh-TW/skills/contract-test-assistant/SKILL.md +1 -1
  426. package/bundled/locales/zh-TW/skills/dev-methodology/create-methodology.md +456 -0
  427. package/bundled/locales/zh-TW/skills/dev-methodology/guide.md +5 -5
  428. package/bundled/locales/zh-TW/skills/dev-methodology/runtime.md +296 -0
  429. package/bundled/locales/zh-TW/skills/dev-workflow-guide/SKILL.md +5 -5
  430. package/bundled/locales/zh-TW/skills/docs-generator/SKILL.md +1 -1
  431. package/bundled/locales/zh-TW/skills/e2e-assistant/SKILL.md +1 -1
  432. package/bundled/locales/zh-TW/skills/incident-response-assistant/SKILL.md +2 -2
  433. package/bundled/locales/zh-TW/skills/logging-guide/SKILL.md +29 -27
  434. package/bundled/locales/zh-TW/skills/migration-assistant/SKILL.md +1 -1
  435. package/bundled/locales/zh-TW/skills/pr-automation-assistant/SKILL.md +3 -1
  436. package/bundled/locales/zh-TW/skills/project-discovery/guide.md +2 -2
  437. package/bundled/locales/zh-TW/skills/reverse-engineer/SKILL.md +1 -1
  438. package/bundled/locales/zh-TW/skills/security-assistant/SKILL.md +1 -1
  439. package/bundled/locales/zh-TW/skills/spec-derivation/guide.md +7 -8
  440. package/bundled/locales/zh-TW/skills/spec-driven-dev/SKILL.md +2 -2
  441. package/bundled/locales/zh-TW/skills/sweep/SKILL.md +1 -1
  442. package/bundled/locales/zh-TW/skills/tdd-assistant/SKILL.md +3 -1
  443. package/bundled/locales/zh-TW/skills/testing-guide/SKILL.md +2 -2
  444. package/bundled/locales/zh-TW/skills/testing-guide/testing-theory.md +2298 -0
  445. package/bundled/locales/zh-TW/skills/workflows/README.md +451 -0
  446. package/bundled/skills/README.md +1 -1
  447. package/bundled/skills/ac-coverage/SKILL.md +17 -7
  448. package/bundled/skills/adr-assistant/SKILL.md +1 -1
  449. package/bundled/skills/agents/code-architect.md +1 -1
  450. package/bundled/skills/agents/doc-writer.md +1 -1
  451. package/bundled/skills/agents/reviewer.md +2 -2
  452. package/bundled/skills/agents/spec-analyst.md +1 -1
  453. package/bundled/skills/agents/test-specialist.md +1 -1
  454. package/bundled/skills/ai-collaboration-standards/SKILL.md +2 -2
  455. package/bundled/skills/ai-friendly-architecture/SKILL.md +2 -2
  456. package/bundled/skills/ai-instruction-standards/SKILL.md +1 -1
  457. package/bundled/skills/atdd-assistant/SKILL.md +7 -0
  458. package/bundled/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
  459. package/bundled/skills/atdd-assistant/atdd-workflow.md +6 -8
  460. package/bundled/skills/audit-assistant/SKILL.md +2 -2
  461. package/bundled/skills/bdd-assistant/SKILL.md +7 -0
  462. package/bundled/skills/bdd-assistant/guide.md +1 -2
  463. package/bundled/skills/brainstorm-assistant/SKILL.md +133 -11
  464. package/bundled/skills/brainstorm-assistant/guide.md +33 -5
  465. package/bundled/skills/checkin-assistant/SKILL.md +8 -1
  466. package/bundled/skills/ci-cd-assistant/SKILL.md +57 -0
  467. package/bundled/skills/code-review-assistant/SKILL.md +15 -8
  468. package/bundled/skills/commands/COMMAND-FAMILY-OVERVIEW.md +2 -2
  469. package/bundled/skills/commands/COMMAND-INDEX.json +3 -3
  470. package/bundled/skills/commands/README.md +2 -2
  471. package/bundled/skills/commands/ac-coverage.md +1 -1
  472. package/bundled/skills/commands/atdd.md +2 -2
  473. package/bundled/skills/commands/bdd.md +2 -2
  474. package/bundled/skills/commands/brainstorm.md +25 -14
  475. package/bundled/skills/commands/{review.md → code-review.md} +6 -6
  476. package/bundled/skills/commands/derive-all.md +1 -1
  477. package/bundled/skills/commands/derive-atdd.md +1 -1
  478. package/bundled/skills/commands/derive-bdd.md +2 -3
  479. package/bundled/skills/commands/derive-tdd.md +1 -1
  480. package/bundled/skills/commands/derive.md +1 -1
  481. package/bundled/skills/commands/dev-workflow.md +1 -1
  482. package/bundled/skills/commands/journey-test.md +45 -0
  483. package/bundled/skills/commands/methodology.md +4 -4
  484. package/bundled/skills/commands/pr.md +1 -1
  485. package/bundled/skills/commands/skill-builder.md +42 -0
  486. package/bundled/skills/commands/tdd.md +1 -1
  487. package/bundled/skills/dev-methodology/create-methodology.md +1 -1
  488. package/bundled/skills/dev-methodology/guide.md +1 -1
  489. package/bundled/skills/dev-methodology/runtime.md +1 -1
  490. package/bundled/skills/dev-workflow-guide/SKILL.md +3 -3
  491. package/bundled/skills/dev-workflow-guide/workflow-phases.md +3 -3
  492. package/bundled/skills/docs-generator/SKILL.md +3 -3
  493. package/bundled/skills/incident-response-assistant/SKILL.md +2 -2
  494. package/bundled/skills/logging-guide/SKILL.md +38 -2
  495. package/bundled/skills/migration-assistant/SKILL.md +226 -0
  496. package/bundled/skills/observability-assistant/SKILL.md +74 -0
  497. package/bundled/skills/pr-automation-assistant/SKILL.md +5 -1
  498. package/bundled/skills/project-discovery/guide.md +2 -2
  499. package/bundled/skills/push/SKILL.md +1 -1
  500. package/bundled/skills/release-standards/SKILL.md +19 -5
  501. package/bundled/skills/security-assistant/SKILL.md +1 -1
  502. package/bundled/skills/skill-builder/SKILL.md +1 -1
  503. package/bundled/skills/spec-derivation/guide.md +3 -4
  504. package/bundled/skills/spec-driven-dev/SKILL.md +27 -0
  505. package/bundled/skills/sweep/SKILL.md +1 -1
  506. package/bundled/skills/tdd-assistant/SKILL.md +8 -1
  507. package/bundled/skills/testing-guide/SKILL.md +1 -1
  508. package/bundled/skills/testing-guide/testing-theory.md +1 -1
  509. package/bundled/skills/workflows/README.md +2 -2
  510. package/package.json +3 -3
  511. package/src/commands/audit.js +30 -9
  512. package/src/commands/config.js +33 -2
  513. package/src/commands/hitl.js +14 -1
  514. package/src/commands/init.js +110 -58
  515. package/src/commands/quickstart.js +1 -2
  516. package/src/commands/release.js +51 -6
  517. package/src/commands/run-intent.js +9 -0
  518. package/src/commands/spec-split.js +27 -2
  519. package/src/commands/update.js +22 -6
  520. package/src/config/ai-agent-paths.js +3 -1
  521. package/src/i18n/messages.js +3 -102
  522. package/src/missions/MissionManager.js +44 -12
  523. package/src/utils/build-manifest.js +35 -3
  524. package/src/utils/friction-detector.js +71 -22
  525. package/src/utils/health-checker.js +29 -2
  526. package/src/utils/transaction.js +111 -0
  527. package/src/utils/version-promote.js +16 -0
  528. package/standards-registry.json +58 -146
  529. package/bundled/ai/standards/agent-communication-protocol.ai.yaml +0 -42
  530. package/bundled/ai/standards/agent-dispatch.ai.yaml +0 -42
  531. package/bundled/ai/standards/branch-completion.ai.yaml +0 -44
  532. package/bundled/ai/standards/change-batching-standards.ai.yaml +0 -44
  533. package/bundled/ai/standards/execution-history.ai.yaml +0 -42
  534. package/bundled/ai/standards/pipeline-integration-standards.ai.yaml +0 -42
  535. package/bundled/ai/standards/workflow-enforcement.ai.yaml +0 -44
  536. package/bundled/ai/standards/workflow-state-protocol.ai.yaml +0 -43
  537. package/src/commands/flow.js +0 -260
  538. package/src/commands/start.js +0 -372
  539. package/src/commands/sweep.js +0 -151
  540. package/src/commands/workflow.js +0 -681
@@ -0,0 +1,165 @@
1
+ ---
2
+ source: options/project-structure/swift.md
3
+ source_version: 1.0.0
4
+ translation_version: 1.0.0
5
+ status: current
6
+ ---
7
+ # Swift 專案結構
8
+
9
+ > **語言**: [English](../../../../options/project-structure/swift.md) | 繁體中文
10
+
11
+ **上層標準**: [專案結構](../../core/project-structure.md)
12
+
13
+ ---
14
+
15
+ ## 概觀
16
+
17
+ Swift 專案可使用 Swift Package Manager (SPM) 或 Xcode 來管理。iOS/macOS 應用程式通常使用 Xcode 專案,而函式庫與伺服器端 Swift 則使用 SPM。
18
+
19
+ ## 專案類型
20
+
21
+ ### SPM Library
22
+
23
+ ```
24
+ project-root/
25
+ ├── Sources/
26
+ │ └── PackageName/
27
+ │ ├── PackageName.swift
28
+ │ ├── Models/
29
+ │ ├── Services/
30
+ │ └── Utilities/
31
+ ├── Tests/
32
+ │ └── PackageNameTests/
33
+ │ └── PackageNameTests.swift
34
+ ├── Package.swift
35
+ └── README.md
36
+ ```
37
+
38
+ ### SPM Executable
39
+
40
+ ```
41
+ project-root/
42
+ ├── Sources/
43
+ │ ├── AppName/
44
+ │ │ └── main.swift
45
+ │ └── AppNameCore/
46
+ │ └── Core.swift
47
+ ├── Tests/
48
+ │ └── AppNameTests/
49
+ ├── Package.swift
50
+ └── README.md
51
+ ```
52
+
53
+ ### iOS App
54
+
55
+ ```
56
+ project-root/
57
+ ├── AppName/
58
+ │ ├── App/
59
+ │ │ ├── AppNameApp.swift
60
+ │ │ └── ContentView.swift
61
+ │ ├── Features/
62
+ │ │ ├── Home/
63
+ │ │ │ ├── HomeView.swift
64
+ │ │ │ └── HomeViewModel.swift
65
+ │ │ └── Settings/
66
+ │ ├── Core/
67
+ │ │ ├── Models/
68
+ │ │ ├── Services/
69
+ │ │ └── Utilities/
70
+ │ ├── Resources/
71
+ │ │ ├── Assets.xcassets
72
+ │ │ └── Localizable.strings
73
+ │ └── Info.plist
74
+ ├── AppNameTests/
75
+ ├── AppNameUITests/
76
+ ├── AppName.xcodeproj
77
+ └── README.md
78
+ ```
79
+
80
+ ### Vapor(伺服器端)
81
+
82
+ ```
83
+ project-root/
84
+ ├── Sources/
85
+ │ ├── App/
86
+ │ │ ├── configure.swift
87
+ │ │ ├── routes.swift
88
+ │ │ ├── Controllers/
89
+ │ │ ├── Models/
90
+ │ │ └── Migrations/
91
+ │ └── Run/
92
+ │ └── main.swift
93
+ ├── Tests/
94
+ │ └── AppTests/
95
+ ├── Resources/
96
+ │ └── Views/
97
+ ├── Public/
98
+ ├── Package.swift
99
+ └── docker-compose.yml
100
+ ```
101
+
102
+ ## 設定檔
103
+
104
+ | 檔案 | 用途 | Required |
105
+ |------|------|----------|
106
+ | `Package.swift` | Swift Package Manager manifest | Yes (SPM) |
107
+ | `*.xcodeproj` | Xcode 專案 | Yes (Xcode) |
108
+ | `*.xcworkspace` | Xcode workspace | No |
109
+ | `.swiftlint.yml` | SwiftLint 設定 | No |
110
+ | `.swift-version` | Swift 版本 | No |
111
+
112
+ ## .gitignore
113
+
114
+ ```
115
+ .build/
116
+ .swiftpm/
117
+ *.xcodeproj/xcuserdata/
118
+ *.xcworkspace/xcuserdata/
119
+ DerivedData/
120
+ .DS_Store
121
+ Pods/
122
+ Carthage/
123
+ ```
124
+
125
+ ## 工具
126
+
127
+ | 類別 | 工具 |
128
+ |------|------|
129
+ | Build | Swift Package Manager, Xcode, xcodebuild |
130
+ | Test Runner | XCTest, Quick/Nimble |
131
+ | Linter | SwiftLint, SwiftFormat |
132
+ | Formatter | SwiftFormat, swift-format |
133
+ | Package Manager | Swift Package Manager, CocoaPods, Carthage |
134
+ | Documentation | DocC, Jazzy |
135
+
136
+ ## 規則
137
+
138
+ | 規則 | 描述 | Priority |
139
+ |------|------|----------|
140
+ | Feature folders | 依功能分組,包含 View、ViewModel 與 Models | Recommended |
141
+ | SPM targets | 將 library 與 executable 分拆為不同的 target | Recommended |
142
+ | Protocol-oriented | 使用 protocol 進行抽象與依賴注入 | Recommended |
143
+ | Test naming | 使用 `test_methodName_condition_expectedResult` 格式 | Recommended |
144
+ | Access control | 使用最小存取層級(預設為 internal,API 才用 public) | Required |
145
+
146
+ ## 相關選項
147
+
148
+ - [Kotlin](./kotlin.md) - Kotlin 專案結構
149
+ - [Rust](./rust.md) - Rust 專案結構
150
+
151
+ ---
152
+
153
+ ## 參考資料
154
+
155
+ - [Swift Package Manager](https://swift.org/package-manager/)
156
+ - [Apple Developer Documentation](https://developer.apple.com/documentation/)
157
+ - [Vapor](https://vapor.codes/)
158
+
159
+ ---
160
+
161
+ ## 授權
162
+
163
+ 本文件以 [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) 授權發布。
164
+
165
+ **來源**: [universal-dev-standards](https://github.com/AsiaOstrich/universal-dev-standards)
@@ -0,0 +1,237 @@
1
+ ---
2
+ source: options/testing/contract-testing.md
3
+ source_version: 1.0.0
4
+ translation_version: 1.0.0
5
+ status: current
6
+ ---
7
+
8
+ # Contract Testing
9
+
10
+ > **語言**: [English](../../../../options/testing/contract-testing.md) | 繁體中文
11
+
12
+ **上層標準**: [Testing Completeness](../../core/test-completeness-dimensions.md)
13
+
14
+ ---
15
+
16
+ ## 概觀
17
+
18
+ Contract testing 透過測試 consumer 與 provider 之間的協議(contract)來驗證服務能否正確通訊。它讓團隊可以獨立開發與部署,同時確保彼此相容。
19
+
20
+ ## 最適用於
21
+
22
+ - 微服務架構
23
+ - API-first 開發
24
+ - 第三方整合
25
+ - 各自獨立作業的團隊
26
+ - 分散式系統
27
+
28
+ ## Contract 類型
29
+
30
+ ### Consumer-Driven Contracts (CDC)
31
+
32
+ 由 API consumer 定義的 contract。
33
+
34
+ **流程:**
35
+ 1. Consumer 定義預期的互動
36
+ 2. 產生 contract(pact 檔案)
37
+ 3. Provider 依 contract 進行驗證
38
+ 4. 部署前雙方都必須通過
39
+
40
+ **好處:**
41
+ - 由 consumer 的需求驅動 API 設計
42
+ - 解耦的部署
43
+ - 提早偵測整合問題
44
+
45
+ ### Provider Contracts
46
+
47
+ 由 API provider 定義的 contract。
48
+
49
+ **使用情境:** 公開 API、OpenAPI-first 設計
50
+
51
+ **流程:**
52
+ 1. Provider 定義 API 規格
53
+ 2. Consumer 依規格進行測試
54
+ 3. Provider 確保向後相容性
55
+
56
+ ## 工具
57
+
58
+ | 工具 | 類型 | 語言 |
59
+ |------|------|-----------|
60
+ | **Pact** | Consumer-driven | 多語言 |
61
+ | **Spring Cloud Contract** | 兩者皆可 | JVM |
62
+ | **Dredd** | OpenAPI | 多語言 |
63
+ | **Prism** | Mock | 多語言 |
64
+
65
+ ## Pact 工作流程
66
+
67
+ ### Consumer 端
68
+
69
+ **1. 定義互動**
70
+
71
+ ```javascript
72
+ const interaction = {
73
+ state: 'user exists',
74
+ uponReceiving: 'a request for user by id',
75
+ withRequest: {
76
+ method: 'GET',
77
+ path: '/users/1',
78
+ headers: { Accept: 'application/json' }
79
+ },
80
+ willRespondWith: {
81
+ status: 200,
82
+ headers: { 'Content-Type': 'application/json' },
83
+ body: {
84
+ id: like(1),
85
+ name: like('John'),
86
+ email: like('john@example.com')
87
+ }
88
+ }
89
+ };
90
+ ```
91
+
92
+ **2. 執行 consumer 測試** - 測試針對 mock provider 執行
93
+
94
+ **3. 發布 contract** - 將 pact 檔案上傳至 broker
95
+
96
+ ### Provider 端
97
+
98
+ **1. 取得 contract** - 從 broker 下載 contract
99
+
100
+ **2. 驗證 contract**
101
+
102
+ ```javascript
103
+ verifier.verifyProvider({
104
+ provider: 'UserService',
105
+ pactBrokerUrl: 'https://broker.example.com',
106
+ publishVerificationResult: true
107
+ });
108
+ ```
109
+
110
+ **3. State 設定** - 為每個互動設定 provider state
111
+
112
+ ## Pact Broker
113
+
114
+ contract 的集中式儲存庫,具備以下功能:
115
+
116
+ - Contract 儲存
117
+ - 驗證狀態
118
+ - 相依關係圖
119
+ - Can-I-Deploy 檢查
120
+ - 供 CI/CD 使用的 Webhook
121
+
122
+ ### Can-I-Deploy
123
+
124
+ 檢查部署是否安全:
125
+
126
+ ```bash
127
+ pact-broker can-i-deploy \
128
+ --pacticipant UserService \
129
+ --version $(git rev-parse HEAD) \
130
+ --to production
131
+ ```
132
+
133
+ ## CI 整合
134
+
135
+ ### Consumer Pipeline
136
+
137
+ ```yaml
138
+ stages:
139
+ - test:
140
+ - Run unit tests
141
+ - Run contract tests (generates pact)
142
+ - publish:
143
+ - Publish pact to broker
144
+ - can-i-deploy:
145
+ - Check deployment safety
146
+ - deploy:
147
+ - Deploy consumer
148
+ ```
149
+
150
+ ### Provider Pipeline
151
+
152
+ ```yaml
153
+ stages:
154
+ - test:
155
+ - Run unit tests
156
+ - Verify consumer contracts
157
+ - publish:
158
+ - Publish verification results
159
+ - can-i-deploy:
160
+ - Check deployment safety
161
+ - deploy:
162
+ - Deploy provider
163
+ ```
164
+
165
+ ### GitHub Actions 範例
166
+
167
+ ```yaml
168
+ name: Consumer Contract Tests
169
+ on: [push, pull_request]
170
+ jobs:
171
+ contract-test:
172
+ runs-on: ubuntu-latest
173
+ steps:
174
+ - uses: actions/checkout@v4
175
+ - name: Run contract tests
176
+ run: npm run test:contract
177
+ - name: Publish pact
178
+ run: npm run pact:publish
179
+ - name: Can I deploy?
180
+ run: |
181
+ pact-broker can-i-deploy \
182
+ --pacticipant MyConsumer \
183
+ --version ${{ github.sha }}
184
+ ```
185
+
186
+ ## 規則
187
+
188
+ | 規則 | 說明 | 優先級 |
189
+ |------|-------------|----------|
190
+ | Consumer 優先 | 從 consumer 需求出發,而非 provider 實作 | 建議 |
191
+ | 使用 matcher | 使用型別 matcher(like、eachLike)而非精確值 | 必要 |
192
+ | Provider state | 為每個互動定義清楚的 provider state | 必要 |
193
+ | 為 contract 加版本 | 以 consumer 版本與分支為 contract 加上標籤 | 必要 |
194
+ | Can-I-Deploy | 一律在 CI/CD 中執行 can-i-deploy 檢查 | 必要 |
195
+ | 破壞性變更 | 進行破壞性變更前先與 consumer 團隊協調 | 必要 |
196
+ | 非同步 contract | 為非同步通訊納入 message contract | 建議 |
197
+
198
+ ## 快速參考
199
+
200
+ ### 工作流程
201
+
202
+ | 步驟 | Consumer | Provider |
203
+ |------|----------|----------|
204
+ | 1. 定義 | 撰寫預期 | 實作 API |
205
+ | 2. 測試 | 針對 mock 執行 | 驗證 contract |
206
+ | 3. 發布 | 上傳 pact | 上傳結果 |
207
+ | 4. 部署 | Can-I-Deploy | Can-I-Deploy |
208
+
209
+ ### 好處
210
+
211
+ | 好處 | 說明 |
212
+ |---------|-------------|
213
+ | 快速回饋 | 不需要完整的整合環境 |
214
+ | 解耦 | 團隊可以獨立作業 |
215
+ | 安全部署 | Can-I-Deploy 防止破壞性變更 |
216
+ | 活文件 | Contract 記錄了 API 行為 |
217
+
218
+ ## 相關選項
219
+
220
+ - [Integration Testing](./integration-testing.md) - 元件整合測試
221
+ - [E2E Testing](./e2e-testing.md) - 端對端測試
222
+
223
+ ---
224
+
225
+ ## 參考資料
226
+
227
+ - [Pact Foundation](https://docs.pact.io/)
228
+ - [Martin Fowler - Contract Test](https://martinfowler.com/bliki/ContractTest.html)
229
+ - [Consumer-Driven Contracts](https://martinfowler.com/articles/consumerDrivenContracts.html)
230
+
231
+ ---
232
+
233
+ ## 授權
234
+
235
+ 本文件以 [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) 授權釋出。
236
+
237
+ **來源**: [universal-dev-standards](https://github.com/AsiaOstrich/universal-dev-standards)
@@ -0,0 +1,200 @@
1
+ ---
2
+ source: options/testing/industry-pyramid.md
3
+ source_version: 1.0.0
4
+ translation_version: 1.0.0
5
+ status: current
6
+ ---
7
+ # 業界測試金字塔
8
+
9
+ > **語言**: [English](../../../../options/testing/industry-pyramid.md) | 繁體中文
10
+
11
+ **上層標準**: [測試完整性](../../core/test-completeness-dimensions.md)
12
+
13
+ ---
14
+
15
+ ## 概觀
16
+
17
+ 業界測試金字塔是一套務實的 4 層測試模型,廣為敏捷與 DevOps 團隊採用。它強調透過大量的 unit test 取得快速回饋、適量的 integration test、用於子系統驗證的 system test,以及最少量的端對端測試。
18
+
19
+ ## 最適用於
20
+
21
+ - 敏捷/Scrum 開發團隊
22
+ - 以 CI/CD 為核心的環境
23
+ - 中小型專案
24
+ - DevOps 實務
25
+ - 快速迭代循環
26
+
27
+ ## 金字塔
28
+
29
+ ```
30
+ ┌─────────┐
31
+ │ E2E │ ← 3% (Slow, expensive)
32
+ ├─────────┤
33
+ │ ST │ ← 7% (Medium speed)
34
+ ├─────────┤
35
+ │ IT │ ← 20% (Fast)
36
+ ├─────────┤
37
+ │ UT │ ← 70% (Very fast, many)
38
+ └─────────┘
39
+ ```
40
+
41
+ **目標比例:** 70/20/7/3(UT/IT/ST/E2E)
42
+
43
+ **注意:** 此為 Mike Cohn 的經驗性建議,並非強制標準。
44
+
45
+ **理由:**
46
+ - 較多 unit test = 更快的回饋
47
+ - 較少 E2E test = 較低的維護成本
48
+ - integration test 能捕捉介面問題
49
+ - system test 在 stub 外部相依的情況下驗證子系統行為
50
+
51
+ ## 測試層級
52
+
53
+ ### 單元測試(UT)- 70%
54
+
55
+ | 面向 | 細節 |
56
+ |--------|---------|
57
+ | **定義** | 針對個別函式、方法或類別的隔離測試 |
58
+ | **範圍** | 單一函式/方法/類別 |
59
+ | **速度** | 每個測試 < 100ms |
60
+ | **相依** | 全部 mock |
61
+
62
+ **特性:**
63
+ - 執行快速
64
+ - 結果具決定性
65
+ - 無 I/O 操作
66
+ - 測試單一行為單元
67
+
68
+ ### 整合測試(IT)- 20%
69
+
70
+ | 面向 | 細節 |
71
+ |--------|---------|
72
+ | **定義** | 針對元件互動與資料流的測試 |
73
+ | **範圍** | 多個元件相互作用 |
74
+ | **速度** | 每個測試 < 1 秒 |
75
+ | **相依** | 真實與 mock 混合 |
76
+
77
+ **特性:**
78
+ - 測試真實的整合
79
+ - 可能使用容器(Testcontainers)
80
+ - 驗證資料流
81
+
82
+ ### 系統測試(ST)- 7%
83
+
84
+ | 面向 | 細節 |
85
+ |--------|---------|
86
+ | **定義** | 在 stub 外部相依的情況下測試完整子系統 |
87
+ | **範圍** | 完整子系統驗證 |
88
+ | **速度** | 每個測試 < 10 秒 |
89
+ | **相依** | 真實內部服務、stub 外部 API |
90
+
91
+ **特性:**
92
+ - 端對端驗證子系統行為
93
+ - stub 外部相依
94
+ - 在 SIT 環境中測試
95
+
96
+ ### 端對端測試(E2E)- 3%
97
+
98
+ | 面向 | 細節 |
99
+ |--------|---------|
100
+ | **定義** | 跨整個系統測試完整使用者工作流程 |
101
+ | **範圍** | 從使用者視角的完整使用者流程 |
102
+ | **速度** | 每個測試 30 秒至數分鐘 |
103
+ | **相依** | 全部真實 |
104
+
105
+ **特性:**
106
+ - 模擬真實使用者行為
107
+ - 僅測試關鍵路徑
108
+ - 最高的維護成本
109
+
110
+ ## 覆蓋率目標
111
+
112
+ | 指標 | 最低 | 建議 |
113
+ |--------|---------|-------------|
114
+ | 行覆蓋率(Line Coverage) | 70% | 85% |
115
+ | 分支覆蓋率(Branch Coverage) | 60% | 80% |
116
+ | 函式覆蓋率(Function Coverage) | 80% | 90% |
117
+
118
+ ## 各層級工具
119
+
120
+ ### 單元測試
121
+
122
+ | 語言 | 工具 |
123
+ |----------|-------|
124
+ | JavaScript | Jest, Vitest, Mocha |
125
+ | Python | pytest, unittest |
126
+ | Java | JUnit, TestNG |
127
+ | C# | xUnit, NUnit, MSTest |
128
+ | Go | testing package, testify |
129
+
130
+ ### 整合測試
131
+
132
+ | 語言 | 工具 |
133
+ |----------|-------|
134
+ | JavaScript | Supertest, Testcontainers |
135
+ | Python | pytest, Testcontainers |
136
+ | Java | Spring Boot Test, Testcontainers |
137
+ | C# | WebApplicationFactory, Testcontainers |
138
+
139
+ ### E2E 測試
140
+
141
+ | 語言 | 工具 |
142
+ |----------|-------|
143
+ | JavaScript | Playwright, Cypress, Puppeteer |
144
+ | Python | Playwright, Selenium |
145
+ | Java | Selenium, Playwright |
146
+
147
+ ## 何時選擇業界金字塔
148
+
149
+ **選擇時機:**
150
+ - 實踐敏捷/Scrum 方法論
151
+ - CI/CD 管線至關重要
152
+ - 快速回饋為優先
153
+ - 團隊規模小且跨職能
154
+ - 期望最少的文件負擔
155
+
156
+ **避免時機:**
157
+ - 需要正式 QA 認證
158
+ - 企業合規需求
159
+ - 專責 QA 團隊偏好 ISTQB
160
+ - 需要稽核文件
161
+
162
+ ## 與 ISTQB 的比較
163
+
164
+ | 業界層級 | ISTQB 對應 | 注意 |
165
+ |----------------|------------------|------|
166
+ | 單元測試(UT) | Component Testing | 概念相同 |
167
+ | 整合測試(IT) | Integration Testing | 概念相同 |
168
+ | 系統測試(ST) | System Testing | 概念相同 |
169
+ | E2E 測試 | Acceptance Testing | 業界 E2E ≈ ISTQB Acceptance |
170
+
171
+ ## 規則
172
+
173
+ | 規則 | 描述 | 優先級 |
174
+ |------|-------------|----------|
175
+ | 遵循金字塔比例 | UT/IT/ST/E2E 目標 70/20/7/3 比例(經驗性,非強制) | Required |
176
+ | 在最低層級測試 | 在能提供信心的最低層級撰寫測試 | Recommended |
177
+ | 邊界情況避免用 E2E | 邊界情況使用 unit test,而非 E2E | Recommended |
178
+ | 邊界用整合測試 | 使用 integration test 驗證介面合約 | Recommended |
179
+
180
+ ## 相關選項
181
+
182
+ - [ISTQB 框架](./istqb-framework.md) - 正式的 4 層測試框架
183
+ - [單元測試](./unit-testing.md) - 詳細的單元測試實務
184
+ - [整合測試](./integration-testing.md) - 整合測試實務
185
+ - [E2E 測試](./e2e-testing.md) - 端對端測試實務
186
+
187
+ ---
188
+
189
+ ## 參考資料
190
+
191
+ - [Martin Fowler's Testing Pyramid](https://martinfowler.com/bliki/TestPyramid.html)
192
+ - [Google Testing Blog](https://testing.googleblog.com)
193
+
194
+ ---
195
+
196
+ ## 授權
197
+
198
+ 本文件以 [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) 授權釋出。
199
+
200
+ **來源**: [universal-dev-standards](https://github.com/AsiaOstrich/universal-dev-standards)