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,106 @@
1
+ ---
2
+ source: ../../../core/mutation-testing.md
3
+ source_version: 1.0.0
4
+ translation_version: 1.0.0
5
+ last_synced: 2026-06-10
6
+ source_hash: 6a5286d76274
7
+ status: current
8
+ ---
9
+
10
+ # 变异测试标准
11
+
12
+ > **语言**: [English](../../../core/mutation-testing.md) | [繁體中文](../../zh-TW/core/mutation-testing.md) | 简体中文
13
+
14
+ **版本**: 1.0.0
15
+ **最后更新**: 2026-05-04
16
+ **适用性**: 所有具备单元/集成测试的软件项目
17
+ **范围**: universal
18
+ **行业标准**: ISTQB Foundation Syllabus(测试有效性指标)
19
+ **参考**: "Introduction to Software Testing"(Ammann & Offutt), Stryker Mutator 文档
20
+
21
+ ---
22
+
23
+ ## 目的
24
+
25
+ 变异测试(mutation testing)通过注入人工 bug 并检查测试是否能检测到它们,来评估测试套件的有效性。它回答了行覆盖率无法回答的问题:**「我的测试真的在验证正确行为吗?」**
26
+
27
+ ---
28
+
29
+ ## 核心概念:Mutation Score
30
+
31
+ ```
32
+ Mutation Score = Killed Mutants / (Killed + Survived) × 100%
33
+ ```
34
+
35
+ - **Killed**:测试套件检测到人工 bug(测试失败)✅
36
+ - **Survived**:测试套件漏掉了 bug(测试仍通过)❌
37
+
38
+ 一个只有 `expect(x).toBeDefined()` 的测试可以达到 100% 行覆盖率,却会让许多变异存活(因为 `x` 是 `null`、`0` 或 `"wrong"` 都满足 `.toBeDefined()`)。
39
+
40
+ ---
41
+
42
+ ## 工具
43
+
44
+ | 语言 | 工具 | 命令 |
45
+ |------|------|------|
46
+ | TypeScript/JS | Stryker Mutator | `npx stryker run` |
47
+ | Python | mutmut | `mutmut run` |
48
+ | Java | PIT (Pitest) | `mvn pitest:mutationCoverage` |
49
+
50
+ ---
51
+
52
+ ## 阈值
53
+
54
+ | 模块类型 | 最低分数 | 强制程度 |
55
+ |---------|---------|---------|
56
+ | Auth/License/Payment/Security | 80% | 阻断 release |
57
+ | 标准业务逻辑 | 70% | 警告;下次 release 前解决 |
58
+ | AI 生成的测试 | 50% | 必需;低于即拒绝 |
59
+ | 整体项目 | 60% | 跟踪趋势;回归时告警 |
60
+
61
+ ---
62
+
63
+ ## 何时运行
64
+
65
+ | 触发条件 | 命令 | 强制程度 |
66
+ |---------|------|---------|
67
+ | Pre-release 门禁 | `npm run test:mutation` | 整体 ≥ 60% |
68
+ | 关键模块变更 | `npx stryker run --mutate 'src/auth/**'` | ≥ 80% |
69
+ | AI 生成测试评审 | `npx stryker run` | ≥ 50% |
70
+
71
+ **绝不**把变异测试加入 commit hook——它太慢了(10-60 分钟)。
72
+
73
+ ---
74
+
75
+ ## Stryker 快速上手(TypeScript + Vitest)
76
+
77
+ ```bash
78
+ npm install --save-dev @stryker-mutator/core @stryker-mutator/vitest-runner
79
+ ```
80
+
81
+ ```json
82
+ // stryker.config.json
83
+ {
84
+ "testRunner": "vitest",
85
+ "coverageAnalysis": "perTest",
86
+ "mutate": ["src/license/**/*.ts", "!src/**/*.test.ts"],
87
+ "thresholds": { "high": 80, "low": 60, "break": 50 }
88
+ }
89
+ ```
90
+
91
+ ---
92
+
93
+ ## 反模式
94
+
95
+ - 把行覆盖率当作测试有效性的替代指标
96
+ - 在每个 PR 的 CI 中都加入变异测试(太慢)
97
+ - 未经 mutation score 验证就接受 AI 生成的测试
98
+ - 靠加 `toBeDefined()` 断言来杀死变异
99
+
100
+ ---
101
+
102
+ ## 与其他标准的关系
103
+
104
+ - `test-completeness-dimensions`:维度 8(AI 测试质量)引用 mutation score
105
+ - `mock-boundary`:空心测试会让许多变异存活;mock 边界规则防止空心测试
106
+ - `testing`:变异测试是测试金字塔顶端的质量门禁
@@ -0,0 +1,219 @@
1
+ ---
2
+ source: ../../../core/no-cicd-deployment.md
3
+ source_version: 1.0.0
4
+ translation_version: 1.0.0
5
+ last_synced: 2026-06-10
6
+ source_hash: dbe8c04bf6a4
7
+ status: current
8
+ ---
9
+
10
+ # No-CI/CD Deployment Strategy
11
+
12
+ > **Language**: [English](../../../core/no-cicd-deployment.md) | [繁體中文](../../zh-TW/core/no-cicd-deployment.md) | 简体中文
13
+
14
+ > **补充**: 本文档补充 `deployment-standards.md`,专注于无 CI/CD 平台(GitHub Actions / GitLab CI)环境下的可靠部署设计。
15
+
16
+ ## 核心三层架构
17
+
18
+ ```
19
+ Layer 1: 防止错误部署
20
+ └─ set -euo pipefail、版本 tag 强制、deploy.lock
21
+
22
+ Layer 2: 验证部署正确
23
+ └─ Smoke Test、健康检查、版本号比对、自动 rollback
24
+
25
+ Layer 3: 快速恢复能力
26
+ └─ Blue-Green 切换、< 30 秒 rollback
27
+ ```
28
+
29
+ ## Layer 1:防止错误部署
30
+
31
+ ### Shell 脚本强制执行
32
+
33
+ 所有部署脚本必须以下列标头开始:
34
+
35
+ ```bash
36
+ #!/usr/bin/env bash
37
+ set -euo pipefail
38
+ ```
39
+
40
+ - `set -e`:任何命令失败立即退出
41
+ - `set -u`:引用未定义变量视为错误
42
+ - `set -o pipefail`:管线中任何命令失败都会传播错误
43
+
44
+ ### 强制部署顺序
45
+
46
+ ```bash
47
+ echo "[1/4] 执行测试..."
48
+ npm test
49
+
50
+ echo "[2/4] 构建产物..."
51
+ npm run build
52
+
53
+ echo "[3/4] 推送到服务器..."
54
+ rsync -avz --delete ./dist/ user@server:/app/
55
+
56
+ echo "[4/4] 验证部署..."
57
+ ./verify.sh || { echo "验证失败,执行 rollback..."; ./rollback.sh; exit 1; }
58
+ ```
59
+
60
+ ### deploy.lock 防并发
61
+
62
+ ```bash
63
+ LOCK_FILE="/tmp/deploy.lock"
64
+ trap "rm -f $LOCK_FILE" EXIT
65
+
66
+ if [ -f "$LOCK_FILE" ]; then
67
+ echo "❌ 部署进行中(PID: $(cat $LOCK_FILE)),请等待完成"
68
+ exit 1
69
+ fi
70
+
71
+ echo $$ > "$LOCK_FILE"
72
+ ```
73
+
74
+ ### 版本 Tag 强制
75
+
76
+ ```bash
77
+ CURRENT_TAG=$(git describe --exact-match --tags HEAD 2>/dev/null || echo "")
78
+ if [ -z "$CURRENT_TAG" ]; then
79
+ echo "❌ 当前 commit 没有版本 tag,请先执行:"
80
+ echo " git tag v$(cat VERSION) && git push --tags"
81
+ exit 1
82
+ fi
83
+ ```
84
+
85
+ ## Layer 2:验证部署正确
86
+
87
+ ### Smoke Test 脚本 (verify.sh)
88
+
89
+ ```bash
90
+ #!/usr/bin/env bash
91
+ set -euo pipefail
92
+
93
+ HEALTH_URL="${HEALTH_URL:-https://example.com/health}"
94
+ EXPECTED_VERSION=$(cat VERSION)
95
+ MAX_RETRIES=3
96
+ RETRY_INTERVAL=5
97
+
98
+ for i in $(seq 1 $MAX_RETRIES); do
99
+ RESPONSE=$(curl -sf --max-time 10 "$HEALTH_URL" 2>/dev/null) && break
100
+ echo "健康检查失败 ($i/$MAX_RETRIES),等待 ${RETRY_INTERVAL}s..."
101
+ sleep $RETRY_INTERVAL
102
+ done
103
+
104
+ ACTUAL_VERSION=$(echo "$RESPONSE" | python3 -c "import json,sys; print(json.load(sys.stdin)['version'])")
105
+
106
+ if [ "$ACTUAL_VERSION" != "$EXPECTED_VERSION" ]; then
107
+ echo "❌ 版本不符!预期 $EXPECTED_VERSION,实际 $ACTUAL_VERSION"
108
+ exit 1
109
+ fi
110
+
111
+ echo "✅ 版本验证通过:$ACTUAL_VERSION"
112
+ ```
113
+
114
+ ### 健康检查端点规格
115
+
116
+ 应用程序必须提供 `/health` 端点,响应格式:
117
+
118
+ ```json
119
+ {
120
+ "status": "ok",
121
+ "version": "1.2.3",
122
+ "timestamp": "2026-04-26T10:00:00Z"
123
+ }
124
+ ```
125
+
126
+ ## Layer 3:快速恢复能力
127
+
128
+ ### Blue-Green 架构
129
+
130
+ ```
131
+ [Nginx]
132
+
133
+ ├─── Blue (port 3001) ← 稳定版(当前 active)
134
+ └─── Green (port 3002) ← 新版(部署目标)
135
+ ```
136
+
137
+ **Nginx 配置**:
138
+
139
+ ```nginx
140
+ upstream app {
141
+ server 127.0.0.1:3001; # blue
142
+ # server 127.0.0.1:3002; # green(切换时启用此行并停用上一行)
143
+ }
144
+
145
+ server {
146
+ listen 80;
147
+ location / {
148
+ proxy_pass http://app;
149
+ }
150
+ }
151
+ ```
152
+
153
+ ### Rollback 脚本 (rollback.sh)
154
+
155
+ ```bash
156
+ #!/usr/bin/env bash
157
+ set -euo pipefail
158
+
159
+ CURRENT=$(readlink /app/current)
160
+ if [[ "$CURRENT" == *"green"* ]]; then
161
+ TARGET="/app/blue"
162
+ else
163
+ TARGET="/app/green"
164
+ fi
165
+
166
+ ln -sfn "$TARGET" /app/current
167
+ nginx -s reload
168
+
169
+ echo "✅ 已切回 $TARGET($(date -u +%Y-%m-%dT%H:%M:%SZ))"
170
+
171
+ # 记录 rollback 事件
172
+ echo "{\"timestamp\":\"$(date -u +%Y-%m-%dT%H:%M:%SZ)\",\"event\":\"rollback\",\"from\":\"$CURRENT\",\"to\":\"$TARGET\",\"operator\":\"$(whoami)\"}" >> /var/log/deployments.jsonl
173
+ ```
174
+
175
+ ### 完整 Makefile
176
+
177
+ ```makefile
178
+ .PHONY: deploy rollback verify
179
+
180
+ deploy:
181
+ @./deploy.sh
182
+
183
+ rollback:
184
+ @./rollback.sh
185
+
186
+ verify:
187
+ @./verify.sh
188
+
189
+ status:
190
+ @echo "Current: $$(readlink /app/current)"
191
+ @curl -s $${HEALTH_URL:-http://localhost/health} | python3 -m json.tool
192
+ ```
193
+
194
+ ## Deployment Log 格式
195
+
196
+ 每次部署(成功或失败)都必须写入 JSON Lines 格式的日志:
197
+
198
+ ```json
199
+ {"timestamp":"2026-04-26T10:00:00Z","version":"1.2.3","git_commit":"abc1234","operator":"albert","result":"success","duration_seconds":45,"slot":"green"}
200
+ {"timestamp":"2026-04-26T11:30:00Z","version":"1.2.4","git_commit":"def5678","operator":"albert","result":"failure","duration_seconds":12,"slot":"green","error":"version_mismatch"}
201
+ ```
202
+
203
+ ## 适用场景
204
+
205
+ | 场景 | 建议 |
206
+ |------|------|
207
+ | 个人 VPS / 小型项目 | Layer 1 + Layer 2(无需 Blue-Green) |
208
+ | 自架服务器(多人团队) | 三层全套 + deploy.lock |
209
+ | Air-gapped 环境 | 三层全套 + 本地 artifact registry |
210
+ | 容器化部署 | 搭配 `docker compose` 执行 |
211
+
212
+ ## 相关标准
213
+
214
+ - `deployment-standards.ai.yaml` — 有 CI/CD 平台的部署策略(本文档的补充前提)
215
+ - `health-check-standards.ai.yaml` — /health 端点设计规范
216
+ - `circuit-breaker.ai.yaml` — 断路器集成(进阶场景)
217
+
218
+
219
+ **Scope**: universal
@@ -1,8 +1,9 @@
1
1
  ---
2
2
  source: ../../../core/packaging-standards.md
3
- source_version: 1.0.0
4
- translation_version: 1.0.0
5
- last_synced: 2026-04-20
3
+ source_version: 1.1.0
4
+ translation_version: 1.1.0
5
+ last_synced: 2026-06-10
6
+ source_hash: aa338edba3b1
6
7
  status: current
7
8
  ---
8
9
 
@@ -10,8 +11,8 @@ status: current
10
11
 
11
12
  > **语言**: [English](../../../core/packaging-standards.md) | 简体中文
12
13
 
13
- **版本**: 1.0.0
14
- **最后更新**: 2026-04-15
14
+ **版本**: 1.1.0
15
+ **最后更新**: 2026-05-26
15
16
  **适用性**: 使用 UDS-aware 工具链的项目
16
17
  **范围**: 通用 (Universal)
17
18
 
@@ -202,6 +203,75 @@ targets:
202
203
 
203
204
  ---
204
205
 
206
+ ## 归档格式完整性
207
+
208
+ 当打包步骤生成将被部署脚本使用的归档(`.zip`、`.tar.gz`、`.tar.bz2` 等)时,**真实的二进制格式必须与文件扩展名一致**。命名为 `.zip` 的文件必须是真正的 ZIP 归档(PKZip 魔数 `PK\x03\x04`),而不是改名后的 tar 归档。
209
+
210
+ > **为何必须:** 格式不匹配的归档会触发下游静默失败。PowerShell 的 `Expand-Archive` 和 `[System.IO.Compression.ZipFile]::ExtractToDirectory()` 会**不抛出任何错误地**接受 tar 改名为 `.zip` 的文件——文件被读取,但什么都不会被解压,且没有任何异常。若部署脚本的下一步是破坏性操作(例如"删除当前安装目录"),则运行中的安装将被销毁而无任何内容可替换。
211
+
212
+ ### 发布前验证
213
+
214
+ 每个生成归档的打包步骤**必须**在声明成功前包含格式验证。最低验证要求:
215
+
216
+ | 格式 | 验证单行命令 |
217
+ |---|---|
218
+ | `.zip` | `python -c "import zipfile; zipfile.ZipFile('out.zip').namelist()"` 必须成功 |
219
+ | `.zip`(Unix) | `file out.zip` 必须报告 `Zip archive data`,**不得**为 `POSIX tar archive` |
220
+ | `.tar.gz` | `tar -tzf out.tar.gz >/dev/null` 必须成功 |
221
+ | 任意格式 | 可选:对预期文件清单进行哈希比对 |
222
+
223
+ 验证失败必须在发布前终止打包流水线。
224
+
225
+ ### 各平台配置示例
226
+
227
+ **Windows — 应当使用:**
228
+
229
+ ```powershell
230
+ # 选项 A:PowerShell 内置(生成真正的 ZIP)
231
+ Compress-Archive -Path "publish\*" -DestinationPath "dist\patch.zip" -Force
232
+
233
+ # 选项 B:.NET API(生成真正的 ZIP)
234
+ Add-Type -Assembly System.IO.Compression.FileSystem
235
+ [System.IO.Compression.ZipFile]::CreateFromDirectory(
236
+ "publish", "dist\patch.zip", "Optimal", $false
237
+ )
238
+ ```
239
+
240
+ **Windows — 不应使用:**
241
+
242
+ ```bash
243
+ # ❌ git-bash / busybox 的 tar -a -cf 在 Windows 上不可靠
244
+ # -a "按扩展名自动选择格式" 标志会生成带 .zip 扩展名的 POSIX tar 归档。
245
+ # `file patch.zip` → "POSIX tar archive (GNU)"(而非 "Zip archive data")
246
+ cd publish && tar -a -cf "../dist/patch.zip" api/
247
+ ```
248
+
249
+ **类 Unix 系统 — 应当使用:**
250
+
251
+ ```bash
252
+ # 使用 'zip' 生成 ZIP 归档(BSD/Linux)
253
+ zip -r dist/patch.zip publish/
254
+
255
+ # 使用 'tar -czf'(不加 -a)生成 tar.gz 归档——明确、确定
256
+ tar -czf dist/patch.tar.gz publish/
257
+
258
+ # 发布前验证
259
+ file dist/patch.zip # 期望 "Zip archive data"
260
+ python -c "import zipfile; zipfile.ZipFile('dist/patch.zip').namelist()"
261
+ ```
262
+
263
+ ### 消费者侧防御
264
+
265
+ 生产者无法保证消费者会进行验证。消费者(部署脚本)**必须**在任何破坏性操作前验证归档完整性。消费者侧要求参见[部署标准 — 防御性部署排序](deployment-standards.md#防御性部署排序)。
266
+
267
+ ### 失败模式参考(真实事故)
268
+
269
+ 某 Windows IIS 生产部署脚本(2026-05-24)在 git-bash 中使用 `tar -a -cf patch.zip api/` 生成发布归档。消费者侧的 PowerShell 部署脚本随后执行了 `Expand-Archive`(对该 tar 改名文件静默无操作),继续对运行中的 `apiDir` 执行 `Remove-Item -Recurse`,然后从根本不存在的源路径执行 `Copy-Item`(因为什么都没有被解压)。运行中的安装被清空,AppPool 停止,生产环境中断了约 3 分钟,直到基于备份的回滚完成。
270
+
271
+ (a)生产者使用自动扩展名 tar,(b)消费者未验证解压输出——这两个因素共同造成了运行中的安装被销毁,且整个过程无任何错误被报告。
272
+
273
+ ---
274
+
205
275
  ## 相关标准
206
276
 
207
277
  - [部署标准](deployment-standards.md) — 打包后的部署阶段
@@ -215,6 +285,7 @@ targets:
215
285
 
216
286
  | 版本 | 日期 | 变更 |
217
287
  |------|------|------|
288
+ | 1.1.0 | 2026-05-26 | 新增:归档格式完整性章节——真实格式必须与扩展名一致的规则、验证单行命令、Windows 配置 DO/DON'T 列表、真实事故参考(XSPEC-231 / 关闭 issue #113) |
218
289
  | 1.0.0 | 2026-04-15 | 初始发行 — XSPEC-034 Phase 1 |
219
290
 
220
291
  ---
@@ -0,0 +1,126 @@
1
+ ---
2
+ source: ../../../core/pipeline-security-gates.md
3
+ source_version: 1.0.0
4
+ translation_version: 1.0.0
5
+ last_synced: 2026-06-10
6
+ source_hash: a2d6e88e26c8
7
+ status: current
8
+ ---
9
+
10
+ # Pipeline Security Gates(CI Pipeline 安全检查点)
11
+
12
+ > **Language**: [English](../../../core/pipeline-security-gates.md) | [繁體中文](../../zh-TW/core/pipeline-security-gates.md) | 简体中文
13
+
14
+ ---
15
+
16
+ ## 概述
17
+
18
+ 本标准定义嵌入 CI pipeline 各阶段的安全检查点,涵盖 SAST、DAST、SCA(含 SBOM)和密钥扫描,并明确规定各类发现的阻断(Block)、警告(Warn)、记录(Log)行为。
19
+
20
+ ---
21
+
22
+ ## 核心原则
23
+
24
+ - **密钥扫描在 pre-commit**:所有包含密钥的提交都必须被阻断,不得例外
25
+ - **SAST 在构建后**:Critical 和 High 等级发现阻断 pipeline
26
+ - **SCA + SBOM 在打包阶段**:追踪依赖组件风险并生成物料清单
27
+ - **DAST 在 staging 部署后**:对运行中的应用进行动态扫描
28
+ - **安全闸门失败 = pipeline 失败**:不得视为可忽略的警告
29
+ - **任何绕过都需审计轨迹**:禁止静默跳过安全闸门
30
+
31
+ ---
32
+
33
+ ## 安全闸门位置与配置
34
+
35
+ ### 1. Pre-Commit — 密钥扫描
36
+
37
+ | 项目 | 说明 |
38
+ |------|------|
39
+ | 扫描范围 | 所有 staged 文件 |
40
+ | 推荐工具 | gitleaks、trufflehog、detect-secrets |
41
+ | 阻断条件 | 任何密钥模式匹配 |
42
+ | 可跳过 | 否(`never_skip: true`) |
43
+
44
+ **重要**:此闸门必须在代码进入版本控制前执行,一旦密钥进入 git 历史便需要完整的密钥轮换流程。
45
+
46
+ ---
47
+
48
+ ### 2. Post-Build — SAST(静态应用安全测试)
49
+
50
+ | 项目 | 说明 |
51
+ |------|------|
52
+ | 扫描范围 | 源代码 + 构建产出物 |
53
+ | 推荐工具 | semgrep、codeql、sonarqube |
54
+ | 阻断条件 | Critical、High |
55
+ | 警告条件 | Medium |
56
+ | 仅记录 | Low、Info |
57
+
58
+ ---
59
+
60
+ ### 3. Package Stage — SCA + SBOM
61
+
62
+ | 项目 | 说明 |
63
+ |------|------|
64
+ | 扫描范围 | 依赖组件 + 容器镜像 |
65
+ | 推荐工具 | trivy、syft、grype、dependabot |
66
+ | 阻断条件 | Critical CVE(有可用修复版本) |
67
+ | 警告条件 | High CVE、过时依赖组件 |
68
+ | SBOM 格式 | SPDX、CycloneDX |
69
+
70
+ **SBOM 用途**:上传至 dependency-track 或 grype-db 进行持续监控。
71
+
72
+ ---
73
+
74
+ ### 4. Post-Staging Deploy — DAST(动态应用安全测试)
75
+
76
+ | 项目 | 说明 |
77
+ |------|------|
78
+ | 扫描范围 | 运行中的 staging 应用程序 |
79
+ | 推荐工具 | ZAP、nuclei、BurpSuite Enterprise |
80
+ | 阻断条件 | Critical |
81
+ | 需审核批准 | High |
82
+ | 警告条件 | Medium |
83
+
84
+ ---
85
+
86
+ ## 严重性响应矩阵
87
+
88
+ | 严重性 | 动作 | 通知对象 | SLA |
89
+ |--------|------|---------|-----|
90
+ | Critical | 阻断 pipeline | 安全团队 | 立即 |
91
+ | High | 阻断 pipeline | 团队负责人 | 当日 |
92
+ | Medium | 警告 + 需审核批准 | 开发者 | 下个 Sprint |
93
+ | Low | 仅记录 | 无 | Backlog |
94
+
95
+ ---
96
+
97
+ ## 绕过策略
98
+
99
+ **默认禁止绕过**。
100
+
101
+ 若有特殊情况:
102
+ - **例外流程**:需书面安全审核 + 审计日志记录
103
+ - **紧急绕过**:有时效性令牌(time-limited token)+ 强制事后审查
104
+
105
+ ---
106
+
107
+ ## 集成点
108
+
109
+ | 集成项目 | 说明 |
110
+ |---------|------|
111
+ | 密钥管理 | 集成 HashiCorp Vault 或 AWS Secrets Manager 进行密钥注入 |
112
+ | SBOM 注册表 | 上传 SBOM 至 dependency-track 或 grype-db 持续监控 |
113
+ | 事故响应 | Critical 发现自动创建事故工单 |
114
+
115
+ ---
116
+
117
+ ## 相关标准
118
+
119
+ - [security-standards.md](../../../core/security-standards.md) — 应用安全基础标准
120
+ - [pipeline-integration-standards.md](../../../core/pipeline-integration-standards.md) — CI 管道集成标准
121
+ - [deployment-standards.md](../../../core/deployment-standards.md) — 部署基础原则
122
+ - AI 格式:[pipeline-security-gates.ai.yaml](../../../ai/standards/pipeline-security-gates.ai.yaml)
123
+
124
+ ---
125
+
126
+ **Scope**: universal