universal-dev-standards 5.17.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (539) hide show
  1. package/bin/uds.js +13 -135
  2. package/bundled/ai/standards/acceptance-criteria-traceability.ai.yaml +13 -4
  3. package/bundled/ai/standards/accessibility-standards.ai.yaml +1 -1
  4. package/bundled/ai/standards/ai-response-navigation.ai.yaml +15 -2
  5. package/bundled/ai/standards/api-design-standards.ai.yaml +27 -4
  6. package/bundled/ai/standards/behavior-snapshot.ai.yaml +86 -9
  7. package/bundled/ai/standards/checkin-standards.ai.yaml +2 -2
  8. package/bundled/ai/standards/code-review.ai.yaml +2 -2
  9. package/bundled/ai/standards/context-aware-loading.ai.yaml +3 -3
  10. package/bundled/ai/standards/data-migration-testing.ai.yaml +79 -3
  11. package/bundled/ai/standards/deprecation-standards.ai.yaml +10 -2
  12. package/bundled/ai/standards/developer-memory.ai.yaml +4 -3
  13. package/bundled/ai/standards/flow-based-testing.ai.yaml +2 -2
  14. package/bundled/ai/standards/forward-derivation-standards.ai.yaml +26 -2
  15. package/bundled/ai/standards/full-coverage-testing.ai.yaml +34 -2
  16. package/bundled/ai/standards/git-worktree.ai.yaml +3 -3
  17. package/bundled/ai/standards/logging.ai.yaml +97 -3
  18. package/bundled/ai/standards/mock-boundary.ai.yaml +48 -2
  19. package/bundled/ai/standards/model-provenance.ai.yaml +297 -0
  20. package/bundled/ai/standards/model-selection.ai.yaml +11 -2
  21. package/bundled/ai/standards/observability-standards.ai.yaml +10 -0
  22. package/bundled/ai/standards/performance-standards.ai.yaml +46 -1
  23. package/bundled/ai/standards/pii-classification.ai.yaml +15 -1
  24. package/bundled/ai/standards/pipeline-security-gates.ai.yaml +10 -0
  25. package/bundled/ai/standards/privacy-standards.ai.yaml +2 -2
  26. package/bundled/ai/standards/project-context-memory.ai.yaml +2 -2
  27. package/bundled/ai/standards/refactoring-standards.ai.yaml +68 -3
  28. package/bundled/ai/standards/resource-cost-boundary.ai.yaml +279 -0
  29. package/bundled/ai/standards/reverse-engineering-standards.ai.yaml +55 -2
  30. package/bundled/ai/standards/security-testing.ai.yaml +13 -2
  31. package/bundled/ai/standards/skill-standard-alignment-check.ai.yaml +37 -2
  32. package/bundled/ai/standards/user-journey-testing.ai.yaml +107 -0
  33. package/bundled/ai/standards/verification-oracle.ai.yaml +278 -0
  34. package/bundled/ai/standards/versioning.ai.yaml +32 -38
  35. package/bundled/core/acceptance-criteria-traceability.md +15 -5
  36. package/bundled/core/accessibility-standards.md +8 -4
  37. package/bundled/core/ai-friendly-architecture.md +1 -1
  38. package/bundled/core/ai-response-navigation.md +31 -3
  39. package/bundled/core/anti-sycophancy-prompting.md +1 -1
  40. package/bundled/core/api-design-standards.md +92 -7
  41. package/bundled/core/audit-trail.md +119 -0
  42. package/bundled/core/behavior-snapshot.md +94 -7
  43. package/bundled/core/browser-compatibility-standards.md +15 -2
  44. package/bundled/core/checkin-standards.md +9 -2
  45. package/bundled/core/code-review-checklist.md +10 -2
  46. package/bundled/core/container-image-standards.md +97 -0
  47. package/bundled/core/context-aware-loading.md +2 -2
  48. package/bundled/core/cost-budget-test.md +1 -1
  49. package/bundled/core/cross-flow-regression.md +3 -2
  50. package/bundled/core/data-contract.md +104 -0
  51. package/bundled/core/data-migration-testing.md +90 -0
  52. package/bundled/core/data-pipeline.md +113 -0
  53. package/bundled/core/deprecation-standards.md +16 -2
  54. package/bundled/core/developer-memory.md +13 -8
  55. package/bundled/core/documentation-writing-standards.md +1 -1
  56. package/bundled/core/error-code-standards.md +4 -3
  57. package/bundled/core/flaky-test-management.md +1 -1
  58. package/bundled/core/flow-based-testing.md +3 -3
  59. package/bundled/core/forward-derivation-standards.md +33 -5
  60. package/bundled/core/full-coverage-testing.md +72 -0
  61. package/bundled/core/git-worktree.md +4 -4
  62. package/bundled/core/guides/performance-guide.md +1 -1
  63. package/bundled/core/guides/security-guide.md +1 -1
  64. package/bundled/core/health-check-standards.md +2 -2
  65. package/bundled/core/iac-design-principles.md +97 -0
  66. package/bundled/core/incident-response.md +119 -0
  67. package/bundled/core/license-compliance.md +2 -0
  68. package/bundled/core/logging-standards.md +78 -2
  69. package/bundled/core/mock-boundary.md +54 -2
  70. package/bundled/core/model-provenance.md +181 -0
  71. package/bundled/core/model-selection.md +27 -2
  72. package/bundled/core/packaging-standards.md +1 -0
  73. package/bundled/core/performance-standards.md +96 -2
  74. package/bundled/core/pii-classification.md +148 -0
  75. package/bundled/core/pipeline-security-gates.md +22 -2
  76. package/bundled/core/postmortem-standards.md +2 -0
  77. package/bundled/core/prd-standards.md +91 -0
  78. package/bundled/core/privacy-standards.md +14 -3
  79. package/bundled/core/product-metrics-standards.md +100 -0
  80. package/bundled/core/project-context-memory.md +8 -2
  81. package/bundled/core/prompt-regression.md +1 -1
  82. package/bundled/core/refactoring-standards.md +44 -3
  83. package/bundled/core/replay-test.md +1 -1
  84. package/bundled/core/resource-cost-boundary.md +180 -0
  85. package/bundled/core/reverse-engineering-standards.md +66 -2
  86. package/bundled/core/runbook.md +113 -0
  87. package/bundled/core/schema-evolution.md +105 -0
  88. package/bundled/core/secret-management-standards.md +110 -0
  89. package/bundled/core/security-testing.md +26 -2
  90. package/bundled/core/self-review-protocol.md +2 -2
  91. package/bundled/core/skill-standard-alignment-check.md +53 -0
  92. package/bundled/core/slo-sli.md +109 -0
  93. package/bundled/core/smoke-test.md +1 -1
  94. package/bundled/core/tech-debt-standards.md +1 -1
  95. package/bundled/core/test-data-standards.md +2 -2
  96. package/bundled/core/user-journey-testing.md +102 -0
  97. package/bundled/core/user-story-mapping.md +96 -0
  98. package/bundled/core/verification-oracle.md +167 -0
  99. package/bundled/core/versioning.md +133 -109
  100. package/bundled/locales/COVERAGE.md +84 -73
  101. package/bundled/locales/zh-CN/CHANGELOG.md +71 -6
  102. package/bundled/locales/zh-CN/CLAUDE.md +1 -1
  103. package/bundled/locales/zh-CN/README.md +22 -9
  104. package/bundled/locales/zh-CN/SECURITY.md +1 -1
  105. package/bundled/locales/zh-CN/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
  106. package/bundled/locales/zh-CN/core/acceptance-criteria-traceability.md +4 -6
  107. package/bundled/locales/zh-CN/core/accessibility-standards.md +1 -1
  108. package/bundled/locales/zh-CN/core/adversarial-test.md +226 -0
  109. package/bundled/locales/zh-CN/core/agent-behavior-discipline.md +187 -0
  110. package/bundled/locales/zh-CN/core/ai-response-navigation.md +32 -6
  111. package/bundled/locales/zh-CN/core/anti-sycophancy-prompting.md +1 -1
  112. package/bundled/locales/zh-CN/core/api-design-standards.md +1 -1
  113. package/bundled/locales/zh-CN/core/behavior-snapshot.md +335 -0
  114. package/bundled/locales/zh-CN/core/browser-compatibility-standards.md +229 -0
  115. package/bundled/locales/zh-CN/core/cd-deployment-strategies.md +135 -0
  116. package/bundled/locales/zh-CN/core/chaos-injection-tests.md +130 -0
  117. package/bundled/locales/zh-CN/core/checkin-standards.md +1 -1
  118. package/bundled/locales/zh-CN/core/code-review-checklist.md +1 -1
  119. package/bundled/locales/zh-CN/core/container-security.md +535 -0
  120. package/bundled/locales/zh-CN/core/context-aware-loading.md +1 -1
  121. package/bundled/locales/zh-CN/core/contract-testing-standards.md +191 -0
  122. package/bundled/locales/zh-CN/core/cost-budget-test.md +86 -0
  123. package/bundled/locales/zh-CN/core/cross-flow-regression.md +199 -0
  124. package/bundled/locales/zh-CN/core/data-migration-testing.md +217 -0
  125. package/bundled/locales/zh-CN/core/deployment-standards.md +328 -9
  126. package/bundled/locales/zh-CN/core/deprecation-standards.md +1 -1
  127. package/bundled/locales/zh-CN/core/developer-memory.md +2 -2
  128. package/bundled/locales/zh-CN/core/disaster-recovery-drill.md +87 -0
  129. package/bundled/locales/zh-CN/core/documentation-structure.md +1 -1
  130. package/bundled/locales/zh-CN/core/documentation-writing-standards.md +1 -1
  131. package/bundled/locales/zh-CN/core/error-code-standards.md +2 -2
  132. package/bundled/locales/zh-CN/core/feature-manifest-standard.md +222 -0
  133. package/bundled/locales/zh-CN/core/flaky-test-management.md +87 -0
  134. package/bundled/locales/zh-CN/core/flow-based-testing.md +284 -0
  135. package/bundled/locales/zh-CN/core/forward-derivation-standards.md +3 -4
  136. package/bundled/locales/zh-CN/core/full-coverage-testing.md +197 -0
  137. package/bundled/locales/zh-CN/core/git-worktree.md +1 -1
  138. package/bundled/locales/zh-CN/core/governance-layer.md +160 -0
  139. package/bundled/locales/zh-CN/core/guides/performance-guide.md +515 -0
  140. package/bundled/locales/zh-CN/core/guides/security-guide.md +494 -0
  141. package/bundled/locales/zh-CN/core/knowledge-graph-memory.md +128 -0
  142. package/bundled/locales/zh-CN/core/license-compliance.md +129 -0
  143. package/bundled/locales/zh-CN/core/llm-output-validation.md +192 -0
  144. package/bundled/locales/zh-CN/core/logging-standards.md +130 -8
  145. package/bundled/locales/zh-CN/core/mock-boundary.md +109 -0
  146. package/bundled/locales/zh-CN/core/model-selection.md +28 -5
  147. package/bundled/locales/zh-CN/core/mutation-testing.md +106 -0
  148. package/bundled/locales/zh-CN/core/no-cicd-deployment.md +219 -0
  149. package/bundled/locales/zh-CN/core/packaging-standards.md +76 -5
  150. package/bundled/locales/zh-CN/core/pipeline-security-gates.md +126 -0
  151. package/bundled/locales/zh-CN/core/policy-as-code-testing.md +203 -0
  152. package/bundled/locales/zh-CN/core/privacy-standards.md +1 -1
  153. package/bundled/locales/zh-CN/core/project-context-memory.md +1 -1
  154. package/bundled/locales/zh-CN/core/prompt-regression.md +88 -0
  155. package/bundled/locales/zh-CN/core/property-based-testing.md +87 -0
  156. package/bundled/locales/zh-CN/core/release-quality-manifest.md +207 -0
  157. package/bundled/locales/zh-CN/core/release-readiness-gate.md +193 -0
  158. package/bundled/locales/zh-CN/core/replay-test.md +102 -0
  159. package/bundled/locales/zh-CN/core/reverse-engineering-standards.md +46 -1
  160. package/bundled/locales/zh-CN/core/rollback-standards.md +120 -0
  161. package/bundled/locales/zh-CN/core/sast-advanced.md +309 -0
  162. package/bundled/locales/zh-CN/core/secure-op.md +328 -0
  163. package/bundled/locales/zh-CN/core/security-testing.md +96 -0
  164. package/bundled/locales/zh-CN/core/self-review-protocol.md +167 -0
  165. package/bundled/locales/zh-CN/core/server-ops-security.md +507 -0
  166. package/bundled/locales/zh-CN/core/smoke-test.md +79 -0
  167. package/bundled/locales/zh-CN/core/spec-driven-development.md +39 -3
  168. package/bundled/locales/zh-CN/core/supply-chain-attestation.md +131 -0
  169. package/bundled/locales/zh-CN/core/versioning.md +1 -1
  170. package/bundled/locales/zh-CN/docs/CHEATSHEET.md +31 -6
  171. package/bundled/locales/zh-CN/docs/FEATURE-REFERENCE.md +61 -34
  172. package/bundled/locales/zh-CN/docs/MIGRATION-v6.md +88 -0
  173. package/bundled/locales/zh-CN/docs/USAGE-MODES-COMPARISON.md +2 -2
  174. package/bundled/locales/zh-CN/docs/USER-MANUAL.md +14 -14
  175. package/bundled/locales/zh-CN/docs/specs/system/memory-adoption-strategy.md +105 -0
  176. package/bundled/locales/zh-CN/docs/user/FAQ.md +132 -0
  177. package/bundled/locales/zh-CN/docs/user/GETTING-STARTED.md +144 -0
  178. package/bundled/locales/zh-CN/docs/user/GLOSSARY.md +178 -0
  179. package/bundled/locales/zh-CN/docs/user/README.md +70 -0
  180. package/bundled/locales/zh-CN/docs/user/TROUBLESHOOTING.md +190 -0
  181. package/bundled/locales/zh-CN/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +1 -1
  182. package/bundled/locales/zh-CN/integrations/github-copilot/README.md +1 -1
  183. package/bundled/locales/zh-CN/integrations/github-copilot/skills-mapping.md +3 -3
  184. package/bundled/locales/zh-CN/integrations/opencode/skills-mapping.md +3 -3
  185. package/bundled/locales/zh-CN/methodologies/guides/sdd-guide.md +836 -0
  186. package/bundled/locales/zh-CN/options/changelog/auto-generated.md +166 -0
  187. package/bundled/locales/zh-CN/options/changelog/keep-a-changelog.md +140 -0
  188. package/bundled/locales/zh-CN/options/code-review/automated-review.md +214 -0
  189. package/bundled/locales/zh-CN/options/code-review/pair-programming.md +166 -0
  190. package/bundled/locales/zh-CN/options/code-review/pr-review.md +167 -0
  191. package/bundled/locales/zh-CN/options/documentation/api-docs.md +191 -0
  192. package/bundled/locales/zh-CN/options/documentation/markdown-docs.md +150 -0
  193. package/bundled/locales/zh-CN/options/documentation/wiki-style.md +131 -0
  194. package/bundled/locales/zh-CN/options/project-structure/kotlin.md +144 -0
  195. package/bundled/locales/zh-CN/options/project-structure/php.md +168 -0
  196. package/bundled/locales/zh-CN/options/project-structure/ruby.md +156 -0
  197. package/bundled/locales/zh-CN/options/project-structure/rust.md +136 -0
  198. package/bundled/locales/zh-CN/options/project-structure/swift.md +165 -0
  199. package/bundled/locales/zh-CN/options/testing/contract-testing.md +237 -0
  200. package/bundled/locales/zh-CN/options/testing/industry-pyramid.md +200 -0
  201. package/bundled/locales/zh-CN/options/testing/istqb-framework.md +144 -0
  202. package/bundled/locales/zh-CN/options/testing/performance-testing.md +251 -0
  203. package/bundled/locales/zh-CN/options/testing/security-testing.md +192 -0
  204. package/bundled/locales/zh-CN/skills/README.md +89 -126
  205. package/bundled/locales/zh-CN/skills/ac-coverage/SKILL.md +5 -7
  206. package/bundled/locales/zh-CN/skills/adr-assistant/SKILL.md +1 -1
  207. package/bundled/locales/zh-CN/skills/agents/code-architect.md +263 -0
  208. package/bundled/locales/zh-CN/skills/agents/doc-writer.md +410 -0
  209. package/bundled/locales/zh-CN/skills/agents/reviewer.md +357 -0
  210. package/bundled/locales/zh-CN/skills/agents/spec-analyst.md +410 -0
  211. package/bundled/locales/zh-CN/skills/agents/test-specialist.md +368 -0
  212. package/bundled/locales/zh-CN/skills/ai-collaboration-standards/SKILL.md +2 -2
  213. package/bundled/locales/zh-CN/skills/ai-friendly-architecture/SKILL.md +2 -2
  214. package/bundled/locales/zh-CN/skills/ai-instruction-standards/SKILL.md +1 -1
  215. package/bundled/locales/zh-CN/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
  216. package/bundled/locales/zh-CN/skills/atdd-assistant/atdd-workflow.md +3 -4
  217. package/bundled/locales/zh-CN/skills/audit-assistant/SKILL.md +2 -2
  218. package/bundled/locales/zh-CN/skills/bdd-assistant/guide.md +1 -2
  219. package/bundled/locales/zh-CN/skills/brainstorm-assistant/SKILL.md +109 -13
  220. package/bundled/locales/zh-CN/skills/brainstorm-assistant/guide.md +30 -8
  221. package/bundled/locales/zh-CN/skills/checkin-assistant/SKILL.md +1 -1
  222. package/bundled/locales/zh-CN/skills/ci-cd-assistant/SKILL.md +50 -0
  223. package/bundled/locales/zh-CN/skills/code-review-assistant/SKILL.md +5 -5
  224. package/bundled/locales/zh-CN/skills/commands/ac-coverage.md +1 -1
  225. package/bundled/locales/zh-CN/skills/commands/atdd.md +3 -3
  226. package/bundled/locales/zh-CN/skills/commands/bdd.md +2 -2
  227. package/bundled/locales/zh-CN/skills/commands/brainstorm.md +26 -17
  228. package/bundled/locales/zh-CN/skills/commands/{review.md → code-review.md} +4 -4
  229. package/bundled/locales/zh-CN/skills/commands/derive-all.md +1 -1
  230. package/bundled/locales/zh-CN/skills/commands/derive-atdd.md +1 -1
  231. package/bundled/locales/zh-CN/skills/commands/derive-bdd.md +2 -3
  232. package/bundled/locales/zh-CN/skills/commands/derive-tdd.md +1 -1
  233. package/bundled/locales/zh-CN/skills/commands/derive.md +1 -1
  234. package/bundled/locales/zh-CN/skills/commands/dev-workflow.md +2 -2
  235. package/bundled/locales/zh-CN/skills/commands/methodology.md +4 -4
  236. package/bundled/locales/zh-CN/skills/commands/pr.md +1 -1
  237. package/bundled/locales/zh-CN/skills/commands/tdd.md +1 -1
  238. package/bundled/locales/zh-CN/skills/commit-standards/SKILL.md +1 -1
  239. package/bundled/locales/zh-CN/skills/contract-test-assistant/SKILL.md +1 -1
  240. package/bundled/locales/zh-CN/skills/dev-methodology/SKILL.md +1 -1
  241. package/bundled/locales/zh-CN/skills/dev-methodology/create-methodology.md +456 -0
  242. package/bundled/locales/zh-CN/skills/dev-methodology/guide.md +6 -6
  243. package/bundled/locales/zh-CN/skills/dev-methodology/runtime.md +296 -0
  244. package/bundled/locales/zh-CN/skills/dev-workflow-guide/SKILL.md +5 -5
  245. package/bundled/locales/zh-CN/skills/docs-generator/SKILL.md +1 -1
  246. package/bundled/locales/zh-CN/skills/e2e-assistant/SKILL.md +1 -1
  247. package/bundled/locales/zh-CN/skills/incident-response-assistant/SKILL.md +2 -2
  248. package/bundled/locales/zh-CN/skills/journey-test-assistant/SKILL.md +1 -1
  249. package/bundled/locales/zh-CN/skills/logging-guide/SKILL.md +146 -142
  250. package/bundled/locales/zh-CN/skills/migration-assistant/SKILL.md +1 -1
  251. package/bundled/locales/zh-CN/skills/observability-assistant/guide.md +1 -1
  252. package/bundled/locales/zh-CN/skills/pr-automation-assistant/SKILL.md +1 -1
  253. package/bundled/locales/zh-CN/skills/project-discovery/guide.md +2 -2
  254. package/bundled/locales/zh-CN/skills/reverse-engineer/SKILL.md +1 -1
  255. package/bundled/locales/zh-CN/skills/runbook-assistant/guide.md +1 -1
  256. package/bundled/locales/zh-CN/skills/security-assistant/SKILL.md +1 -1
  257. package/bundled/locales/zh-CN/skills/skill-builder/SKILL.md +3 -3
  258. package/bundled/locales/zh-CN/skills/slo-assistant/guide.md +1 -1
  259. package/bundled/locales/zh-CN/skills/spec-derivation/SKILL.md +1 -1
  260. package/bundled/locales/zh-CN/skills/spec-derivation/guide.md +8 -9
  261. package/bundled/locales/zh-CN/skills/spec-driven-dev/SKILL.md +2 -2
  262. package/bundled/locales/zh-CN/skills/sweep/SKILL.md +1 -1
  263. package/bundled/locales/zh-CN/skills/tdd-assistant/SKILL.md +1 -1
  264. package/bundled/locales/zh-CN/skills/testing-guide/SKILL.md +2 -2
  265. package/bundled/locales/zh-CN/skills/testing-guide/testing-theory.md +2298 -0
  266. package/bundled/locales/zh-CN/skills/workflows/README.md +451 -0
  267. package/bundled/locales/zh-TW/CHANGELOG.md +71 -6
  268. package/bundled/locales/zh-TW/CLAUDE.md +1 -1
  269. package/bundled/locales/zh-TW/MAINTENANCE.md +25 -2
  270. package/bundled/locales/zh-TW/README.md +22 -9
  271. package/bundled/locales/zh-TW/SECURITY.md +1 -1
  272. package/bundled/locales/zh-TW/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
  273. package/bundled/locales/zh-TW/ai/standards/versioning.ai.yaml +8 -48
  274. package/bundled/locales/zh-TW/core/acceptance-criteria-traceability.md +4 -6
  275. package/bundled/locales/zh-TW/core/accessibility-standards.md +1 -1
  276. package/bundled/locales/zh-TW/core/adversarial-test.md +226 -0
  277. package/bundled/locales/zh-TW/core/agent-behavior-discipline.md +187 -0
  278. package/bundled/locales/zh-TW/core/ai-response-navigation.md +32 -6
  279. package/bundled/locales/zh-TW/core/anti-sycophancy-prompting.md +1 -1
  280. package/bundled/locales/zh-TW/core/api-design-standards.md +91 -9
  281. package/bundled/locales/zh-TW/core/audit-trail.md +110 -0
  282. package/bundled/locales/zh-TW/core/behavior-snapshot.md +335 -0
  283. package/bundled/locales/zh-TW/core/browser-compatibility-standards.md +1 -0
  284. package/bundled/locales/zh-TW/core/cd-deployment-strategies.md +135 -0
  285. package/bundled/locales/zh-TW/core/chaos-injection-tests.md +130 -0
  286. package/bundled/locales/zh-TW/core/checkin-standards.md +1 -1
  287. package/bundled/locales/zh-TW/core/code-review-checklist.md +1 -1
  288. package/bundled/locales/zh-TW/core/container-image-standards.md +93 -0
  289. package/bundled/locales/zh-TW/core/container-security.md +535 -0
  290. package/bundled/locales/zh-TW/core/cost-budget-test.md +86 -0
  291. package/bundled/locales/zh-TW/core/cross-flow-regression.md +1 -0
  292. package/bundled/locales/zh-TW/core/data-contract.md +101 -0
  293. package/bundled/locales/zh-TW/core/data-migration-testing.md +217 -0
  294. package/bundled/locales/zh-TW/core/data-pipeline.md +105 -0
  295. package/bundled/locales/zh-TW/core/deployment-standards.md +363 -25
  296. package/bundled/locales/zh-TW/core/deprecation-standards.md +17 -4
  297. package/bundled/locales/zh-TW/core/developer-memory.md +2 -2
  298. package/bundled/locales/zh-TW/core/disaster-recovery-drill.md +87 -0
  299. package/bundled/locales/zh-TW/core/documentation-writing-standards.md +1 -1
  300. package/bundled/locales/zh-TW/core/error-code-standards.md +2 -2
  301. package/bundled/locales/zh-TW/core/feature-manifest-standard.md +222 -0
  302. package/bundled/locales/zh-TW/core/flaky-test-management.md +87 -0
  303. package/bundled/locales/zh-TW/core/flow-based-testing.md +284 -0
  304. package/bundled/locales/zh-TW/core/forward-derivation-standards.md +3 -4
  305. package/bundled/locales/zh-TW/core/full-coverage-testing.md +250 -0
  306. package/bundled/locales/zh-TW/core/git-worktree.md +1 -1
  307. package/bundled/locales/zh-TW/core/guides/performance-guide.md +515 -0
  308. package/bundled/locales/zh-TW/core/guides/security-guide.md +494 -0
  309. package/bundled/locales/zh-TW/core/iac-design-principles.md +90 -0
  310. package/bundled/locales/zh-TW/core/incident-response.md +111 -0
  311. package/bundled/locales/zh-TW/core/license-compliance.md +129 -0
  312. package/bundled/locales/zh-TW/core/llm-output-validation.md +192 -0
  313. package/bundled/locales/zh-TW/core/logging-standards.md +208 -4
  314. package/bundled/locales/zh-TW/core/mock-boundary.md +161 -0
  315. package/bundled/locales/zh-TW/core/model-provenance.md +173 -0
  316. package/bundled/locales/zh-TW/core/model-selection.md +28 -5
  317. package/bundled/locales/zh-TW/core/mutation-testing.md +106 -0
  318. package/bundled/locales/zh-TW/core/no-cicd-deployment.md +219 -0
  319. package/bundled/locales/zh-TW/core/packaging-standards.md +76 -5
  320. package/bundled/locales/zh-TW/core/performance-standards.md +84 -5
  321. package/bundled/locales/zh-TW/core/pii-classification.md +102 -0
  322. package/bundled/locales/zh-TW/core/pipeline-security-gates.md +126 -0
  323. package/bundled/locales/zh-TW/core/policy-as-code-testing.md +203 -0
  324. package/bundled/locales/zh-TW/core/prd-standards.md +88 -0
  325. package/bundled/locales/zh-TW/core/privacy-standards.md +1 -1
  326. package/bundled/locales/zh-TW/core/product-metrics-standards.md +96 -0
  327. package/bundled/locales/zh-TW/core/project-context-memory.md +1 -1
  328. package/bundled/locales/zh-TW/core/prompt-regression.md +88 -0
  329. package/bundled/locales/zh-TW/core/property-based-testing.md +87 -0
  330. package/bundled/locales/zh-TW/core/refactoring-standards.md +43 -6
  331. package/bundled/locales/zh-TW/core/release-quality-manifest.md +207 -0
  332. package/bundled/locales/zh-TW/core/replay-test.md +102 -0
  333. package/bundled/locales/zh-TW/core/resource-cost-boundary.md +175 -0
  334. package/bundled/locales/zh-TW/core/reverse-engineering-standards.md +64 -5
  335. package/bundled/locales/zh-TW/core/rollback-standards.md +120 -0
  336. package/bundled/locales/zh-TW/core/runbook.md +110 -0
  337. package/bundled/locales/zh-TW/core/sast-advanced.md +309 -0
  338. package/bundled/locales/zh-TW/core/schema-evolution.md +98 -0
  339. package/bundled/locales/zh-TW/core/secret-management-standards.md +101 -0
  340. package/bundled/locales/zh-TW/core/secure-op.md +328 -0
  341. package/bundled/locales/zh-TW/core/security-testing.md +96 -0
  342. package/bundled/locales/zh-TW/core/self-review-protocol.md +2 -2
  343. package/bundled/locales/zh-TW/core/server-ops-security.md +507 -0
  344. package/bundled/locales/zh-TW/core/slo-sli.md +108 -0
  345. package/bundled/locales/zh-TW/core/smoke-test.md +79 -0
  346. package/bundled/locales/zh-TW/core/spec-driven-development.md +19 -11
  347. package/bundled/locales/zh-TW/core/supply-chain-attestation.md +131 -0
  348. package/bundled/locales/zh-TW/core/user-journey-testing.md +111 -0
  349. package/bundled/locales/zh-TW/core/user-story-mapping.md +94 -0
  350. package/bundled/locales/zh-TW/core/verification-oracle.md +159 -0
  351. package/bundled/locales/zh-TW/core/versioning.md +112 -112
  352. package/bundled/locales/zh-TW/docs/CHEATSHEET.md +31 -6
  353. package/bundled/locales/zh-TW/docs/DEV-WORKFLOW-MAPPING.md +6 -6
  354. package/bundled/locales/zh-TW/docs/FEATURE-REFERENCE.md +61 -34
  355. package/bundled/locales/zh-TW/docs/MIGRATION-v6.md +88 -0
  356. package/bundled/locales/zh-TW/docs/USAGE-MODES-COMPARISON.md +2 -2
  357. package/bundled/locales/zh-TW/docs/USER-MANUAL.md +14 -14
  358. package/bundled/locales/zh-TW/docs/specs/system/memory-adoption-strategy.md +105 -0
  359. package/bundled/locales/zh-TW/docs/user/FAQ.md +132 -0
  360. package/bundled/locales/zh-TW/docs/user/GETTING-STARTED.md +144 -0
  361. package/bundled/locales/zh-TW/docs/user/GLOSSARY.md +178 -0
  362. package/bundled/locales/zh-TW/docs/user/README.md +70 -0
  363. package/bundled/locales/zh-TW/docs/user/TROUBLESHOOTING.md +190 -0
  364. package/bundled/locales/zh-TW/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +1 -1
  365. package/bundled/locales/zh-TW/integrations/github-copilot/README.md +1 -1
  366. package/bundled/locales/zh-TW/integrations/github-copilot/skills-mapping.md +3 -3
  367. package/bundled/locales/zh-TW/integrations/opencode/skills-mapping.md +3 -3
  368. package/bundled/locales/zh-TW/methodologies/guides/sdd-guide.md +523 -26
  369. package/bundled/locales/zh-TW/options/changelog/auto-generated.md +166 -0
  370. package/bundled/locales/zh-TW/options/changelog/keep-a-changelog.md +140 -0
  371. package/bundled/locales/zh-TW/options/code-review/automated-review.md +214 -0
  372. package/bundled/locales/zh-TW/options/code-review/pair-programming.md +166 -0
  373. package/bundled/locales/zh-TW/options/code-review/pr-review.md +167 -0
  374. package/bundled/locales/zh-TW/options/documentation/api-docs.md +191 -0
  375. package/bundled/locales/zh-TW/options/documentation/markdown-docs.md +150 -0
  376. package/bundled/locales/zh-TW/options/documentation/wiki-style.md +131 -0
  377. package/bundled/locales/zh-TW/options/project-structure/kotlin.md +144 -0
  378. package/bundled/locales/zh-TW/options/project-structure/php.md +168 -0
  379. package/bundled/locales/zh-TW/options/project-structure/ruby.md +156 -0
  380. package/bundled/locales/zh-TW/options/project-structure/rust.md +136 -0
  381. package/bundled/locales/zh-TW/options/project-structure/swift.md +165 -0
  382. package/bundled/locales/zh-TW/options/testing/contract-testing.md +237 -0
  383. package/bundled/locales/zh-TW/options/testing/industry-pyramid.md +200 -0
  384. package/bundled/locales/zh-TW/options/testing/istqb-framework.md +144 -0
  385. package/bundled/locales/zh-TW/options/testing/performance-testing.md +251 -0
  386. package/bundled/locales/zh-TW/options/testing/security-testing.md +192 -0
  387. package/bundled/locales/zh-TW/skills/README.md +91 -128
  388. package/bundled/locales/zh-TW/skills/ac-coverage/SKILL.md +4 -6
  389. package/bundled/locales/zh-TW/skills/adr-assistant/SKILL.md +1 -1
  390. package/bundled/locales/zh-TW/skills/agents/code-architect.md +263 -0
  391. package/bundled/locales/zh-TW/skills/agents/doc-writer.md +410 -0
  392. package/bundled/locales/zh-TW/skills/agents/reviewer.md +357 -0
  393. package/bundled/locales/zh-TW/skills/agents/spec-analyst.md +410 -0
  394. package/bundled/locales/zh-TW/skills/agents/test-specialist.md +368 -0
  395. package/bundled/locales/zh-TW/skills/ai-collaboration-standards/SKILL.md +2 -2
  396. package/bundled/locales/zh-TW/skills/ai-friendly-architecture/SKILL.md +2 -2
  397. package/bundled/locales/zh-TW/skills/ai-instruction-standards/SKILL.md +1 -1
  398. package/bundled/locales/zh-TW/skills/atdd-assistant/SKILL.md +2 -0
  399. package/bundled/locales/zh-TW/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
  400. package/bundled/locales/zh-TW/skills/atdd-assistant/atdd-workflow.md +3 -4
  401. package/bundled/locales/zh-TW/skills/audit-assistant/SKILL.md +2 -2
  402. package/bundled/locales/zh-TW/skills/bdd-assistant/SKILL.md +2 -0
  403. package/bundled/locales/zh-TW/skills/bdd-assistant/guide.md +1 -2
  404. package/bundled/locales/zh-TW/skills/brainstorm-assistant/SKILL.md +110 -14
  405. package/bundled/locales/zh-TW/skills/brainstorm-assistant/guide.md +31 -7
  406. package/bundled/locales/zh-TW/skills/checkin-assistant/SKILL.md +3 -1
  407. package/bundled/locales/zh-TW/skills/ci-cd-assistant/SKILL.md +50 -0
  408. package/bundled/locales/zh-TW/skills/code-review-assistant/SKILL.md +7 -5
  409. package/bundled/locales/zh-TW/skills/commands/ac-coverage.md +1 -1
  410. package/bundled/locales/zh-TW/skills/commands/atdd.md +3 -3
  411. package/bundled/locales/zh-TW/skills/commands/bdd.md +2 -2
  412. package/bundled/locales/zh-TW/skills/commands/brainstorm.md +26 -17
  413. package/bundled/locales/zh-TW/skills/commands/{review.md → code-review.md} +5 -5
  414. package/bundled/locales/zh-TW/skills/commands/derive-all.md +1 -1
  415. package/bundled/locales/zh-TW/skills/commands/derive-atdd.md +1 -1
  416. package/bundled/locales/zh-TW/skills/commands/derive-bdd.md +2 -3
  417. package/bundled/locales/zh-TW/skills/commands/derive-tdd.md +1 -1
  418. package/bundled/locales/zh-TW/skills/commands/derive.md +1 -1
  419. package/bundled/locales/zh-TW/skills/commands/dev-workflow.md +2 -2
  420. package/bundled/locales/zh-TW/skills/commands/methodology.md +4 -4
  421. package/bundled/locales/zh-TW/skills/commands/pr.md +1 -1
  422. package/bundled/locales/zh-TW/skills/commands/tdd.md +1 -1
  423. package/bundled/locales/zh-TW/skills/commit-standards/SKILL.md +1 -1
  424. package/bundled/locales/zh-TW/skills/contract-test-assistant/SKILL.md +1 -1
  425. package/bundled/locales/zh-TW/skills/dev-methodology/create-methodology.md +456 -0
  426. package/bundled/locales/zh-TW/skills/dev-methodology/guide.md +5 -5
  427. package/bundled/locales/zh-TW/skills/dev-methodology/runtime.md +296 -0
  428. package/bundled/locales/zh-TW/skills/dev-workflow-guide/SKILL.md +5 -5
  429. package/bundled/locales/zh-TW/skills/docs-generator/SKILL.md +1 -1
  430. package/bundled/locales/zh-TW/skills/e2e-assistant/SKILL.md +1 -1
  431. package/bundled/locales/zh-TW/skills/incident-response-assistant/SKILL.md +2 -2
  432. package/bundled/locales/zh-TW/skills/logging-guide/SKILL.md +29 -27
  433. package/bundled/locales/zh-TW/skills/migration-assistant/SKILL.md +1 -1
  434. package/bundled/locales/zh-TW/skills/pr-automation-assistant/SKILL.md +3 -1
  435. package/bundled/locales/zh-TW/skills/project-discovery/guide.md +2 -2
  436. package/bundled/locales/zh-TW/skills/reverse-engineer/SKILL.md +1 -1
  437. package/bundled/locales/zh-TW/skills/security-assistant/SKILL.md +1 -1
  438. package/bundled/locales/zh-TW/skills/spec-derivation/guide.md +7 -8
  439. package/bundled/locales/zh-TW/skills/spec-driven-dev/SKILL.md +2 -2
  440. package/bundled/locales/zh-TW/skills/sweep/SKILL.md +1 -1
  441. package/bundled/locales/zh-TW/skills/tdd-assistant/SKILL.md +3 -1
  442. package/bundled/locales/zh-TW/skills/testing-guide/SKILL.md +2 -2
  443. package/bundled/locales/zh-TW/skills/testing-guide/testing-theory.md +2298 -0
  444. package/bundled/locales/zh-TW/skills/workflows/README.md +451 -0
  445. package/bundled/skills/README.md +1 -1
  446. package/bundled/skills/ac-coverage/SKILL.md +17 -7
  447. package/bundled/skills/adr-assistant/SKILL.md +1 -1
  448. package/bundled/skills/agents/code-architect.md +1 -1
  449. package/bundled/skills/agents/doc-writer.md +1 -1
  450. package/bundled/skills/agents/reviewer.md +2 -2
  451. package/bundled/skills/agents/spec-analyst.md +1 -1
  452. package/bundled/skills/agents/test-specialist.md +1 -1
  453. package/bundled/skills/ai-collaboration-standards/SKILL.md +2 -2
  454. package/bundled/skills/ai-friendly-architecture/SKILL.md +2 -2
  455. package/bundled/skills/ai-instruction-standards/SKILL.md +1 -1
  456. package/bundled/skills/atdd-assistant/SKILL.md +7 -0
  457. package/bundled/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
  458. package/bundled/skills/atdd-assistant/atdd-workflow.md +6 -8
  459. package/bundled/skills/audit-assistant/SKILL.md +2 -2
  460. package/bundled/skills/bdd-assistant/SKILL.md +7 -0
  461. package/bundled/skills/bdd-assistant/guide.md +1 -2
  462. package/bundled/skills/brainstorm-assistant/SKILL.md +133 -11
  463. package/bundled/skills/brainstorm-assistant/guide.md +33 -5
  464. package/bundled/skills/checkin-assistant/SKILL.md +8 -1
  465. package/bundled/skills/ci-cd-assistant/SKILL.md +57 -0
  466. package/bundled/skills/code-review-assistant/SKILL.md +15 -8
  467. package/bundled/skills/commands/COMMAND-FAMILY-OVERVIEW.md +2 -2
  468. package/bundled/skills/commands/COMMAND-INDEX.json +3 -3
  469. package/bundled/skills/commands/README.md +2 -2
  470. package/bundled/skills/commands/ac-coverage.md +1 -1
  471. package/bundled/skills/commands/atdd.md +2 -2
  472. package/bundled/skills/commands/bdd.md +2 -2
  473. package/bundled/skills/commands/brainstorm.md +25 -14
  474. package/bundled/skills/commands/{review.md → code-review.md} +6 -6
  475. package/bundled/skills/commands/derive-all.md +1 -1
  476. package/bundled/skills/commands/derive-atdd.md +1 -1
  477. package/bundled/skills/commands/derive-bdd.md +2 -3
  478. package/bundled/skills/commands/derive-tdd.md +1 -1
  479. package/bundled/skills/commands/derive.md +1 -1
  480. package/bundled/skills/commands/dev-workflow.md +1 -1
  481. package/bundled/skills/commands/journey-test.md +45 -0
  482. package/bundled/skills/commands/methodology.md +4 -4
  483. package/bundled/skills/commands/pr.md +1 -1
  484. package/bundled/skills/commands/skill-builder.md +42 -0
  485. package/bundled/skills/commands/tdd.md +1 -1
  486. package/bundled/skills/dev-methodology/create-methodology.md +1 -1
  487. package/bundled/skills/dev-methodology/guide.md +1 -1
  488. package/bundled/skills/dev-methodology/runtime.md +1 -1
  489. package/bundled/skills/dev-workflow-guide/SKILL.md +3 -3
  490. package/bundled/skills/dev-workflow-guide/workflow-phases.md +3 -3
  491. package/bundled/skills/docs-generator/SKILL.md +3 -3
  492. package/bundled/skills/incident-response-assistant/SKILL.md +2 -2
  493. package/bundled/skills/logging-guide/SKILL.md +38 -2
  494. package/bundled/skills/migration-assistant/SKILL.md +226 -0
  495. package/bundled/skills/observability-assistant/SKILL.md +74 -0
  496. package/bundled/skills/pr-automation-assistant/SKILL.md +5 -1
  497. package/bundled/skills/project-discovery/guide.md +2 -2
  498. package/bundled/skills/push/SKILL.md +1 -1
  499. package/bundled/skills/release-standards/SKILL.md +19 -5
  500. package/bundled/skills/security-assistant/SKILL.md +1 -1
  501. package/bundled/skills/skill-builder/SKILL.md +1 -1
  502. package/bundled/skills/spec-derivation/guide.md +3 -4
  503. package/bundled/skills/spec-driven-dev/SKILL.md +2 -2
  504. package/bundled/skills/sweep/SKILL.md +1 -1
  505. package/bundled/skills/tdd-assistant/SKILL.md +8 -1
  506. package/bundled/skills/testing-guide/SKILL.md +1 -1
  507. package/bundled/skills/testing-guide/testing-theory.md +1 -1
  508. package/bundled/skills/workflows/README.md +2 -2
  509. package/package.json +3 -3
  510. package/src/commands/audit.js +30 -9
  511. package/src/commands/config.js +33 -2
  512. package/src/commands/hitl.js +14 -1
  513. package/src/commands/init.js +110 -58
  514. package/src/commands/quickstart.js +1 -2
  515. package/src/commands/release.js +51 -6
  516. package/src/commands/run-intent.js +9 -0
  517. package/src/commands/spec-split.js +27 -2
  518. package/src/commands/update.js +22 -6
  519. package/src/config/ai-agent-paths.js +3 -1
  520. package/src/i18n/messages.js +3 -102
  521. package/src/missions/MissionManager.js +44 -12
  522. package/src/utils/build-manifest.js +35 -3
  523. package/src/utils/friction-detector.js +71 -22
  524. package/src/utils/health-checker.js +29 -2
  525. package/src/utils/transaction.js +111 -0
  526. package/src/utils/version-promote.js +16 -0
  527. package/standards-registry.json +58 -146
  528. package/bundled/ai/standards/agent-communication-protocol.ai.yaml +0 -42
  529. package/bundled/ai/standards/agent-dispatch.ai.yaml +0 -42
  530. package/bundled/ai/standards/branch-completion.ai.yaml +0 -44
  531. package/bundled/ai/standards/change-batching-standards.ai.yaml +0 -44
  532. package/bundled/ai/standards/execution-history.ai.yaml +0 -42
  533. package/bundled/ai/standards/pipeline-integration-standards.ai.yaml +0 -42
  534. package/bundled/ai/standards/workflow-enforcement.ai.yaml +0 -44
  535. package/bundled/ai/standards/workflow-state-protocol.ai.yaml +0 -43
  536. package/src/commands/flow.js +0 -260
  537. package/src/commands/start.js +0 -372
  538. package/src/commands/sweep.js +0 -151
  539. package/src/commands/workflow.js +0 -681
@@ -0,0 +1,130 @@
1
+ ---
2
+ source: ../../../core/chaos-injection-tests.md
3
+ source_version: 1.0.0
4
+ translation_version: 1.0.0
5
+ last_synced: 2026-06-10
6
+ source_hash: 4aaf84b1c84c
7
+ status: current
8
+ ---
9
+
10
+ # 混沌注入测试
11
+
12
+ > **语言**: [English](../../../core/chaos-injection-tests.md) | [繁體中文](../../zh-TW/core/chaos-injection-tests.md) | 简体中文
13
+
14
+ ## 概述
15
+
16
+ 混沌注入测试使失败场景可机器验证。`chaos-engineering-standards` 描述实验方法论,而本标准定义 AI Agent 系统所需的具体测试——LLM 超时、数据库断连、策略引擎失效,以及爆炸半径控制。
17
+
18
+ ## 为什么 AI Agent 系统需要专属的混沌测试
19
+
20
+ 传统软件只有少数外部依赖。AI Agent 系统使这一情况更加复杂:
21
+
22
+ - **LLM API**:高延迟、速率限制、非确定性失败
23
+ - **策略引擎**(OPA/Rego):安全关键——必须在失败时关闭
24
+ - **向量存储 / 知识库**:检索失败影响输出质量
25
+ - **数据库**:操作中途断连可能损坏多步骤的 Agent 状态
26
+ - **对等 Agent**:在多 Agent 管线中,一个 Agent 崩溃不得级联影响其他 Agent
27
+
28
+ 上述每种失败模式都需要专属测试,而不仅仅是操作手册中的一句说明。
29
+
30
+ ## 需求摘要
31
+
32
+ | ID | 规则 | 依据 |
33
+ |----|------|-----------|
34
+ | REQ-CIT-001 | 每个外部依赖需要一个失败隔离测试 | 单一依赖失败不得级联 |
35
+ | REQ-CIT-002 | LLM 客户端必须处理超时和速率限制 | LLM 是最高风险依赖 |
36
+ | REQ-CIT-003 | 策略引擎不可用时必须默认为 DENY | 开放式失败是安全漏洞 |
37
+ | REQ-CIT-004 | 操作中途数据库断连必须干净回滚 | 部分写入会造成数据损坏 |
38
+ | REQ-CIT-005 | Agent 崩溃不得传播至不相关的 Agent | Agent 间爆炸半径必须有界 |
39
+
40
+ ## 注入模式
41
+
42
+ ### LLM 超时
43
+
44
+ ```typescript
45
+ it('surfaces TimeoutError when LLM does not respond in time', async () => {
46
+ const slowLlm = { complete: () => new Promise(() => {}) } // never resolves
47
+ const agent = new PlannerAgent({ llm: slowLlm, timeoutMs: 100 })
48
+ await expect(agent.run(input)).rejects.toThrow('TimeoutError')
49
+ })
50
+ ```
51
+
52
+ ### LLM 速率限制(429)
53
+
54
+ ```typescript
55
+ it('retries with backoff on 429 and eventually surfaces RateLimitError', async () => {
56
+ const rateLimitedLlm = mockLlm({ status: 429, retryAfter: 1 })
57
+ const agent = new PlannerAgent({ llm: rateLimitedLlm })
58
+ await expect(agent.run(input)).rejects.toThrow('RateLimitError')
59
+ expect(rateLimitedLlm.callCount).toBeLessThanOrEqual(3) // respects retry policy
60
+ })
61
+ ```
62
+
63
+ ### 策略引擎停机(失败关闭)
64
+
65
+ ```typescript
66
+ it('returns DENY when OPA sidecar is unavailable', async () => {
67
+ const downOpa = { query: () => Promise.reject(new Error('ECONNREFUSED')) }
68
+ const guardian = new GuardianAgent({ opa: downOpa })
69
+ const result = await guardian.review(reviewable)
70
+ expect(result.decision).toBe('DENY')
71
+ expect(result.reason).toMatch(/policy engine unavailable/)
72
+ })
73
+ ```
74
+
75
+ ### 数据库断连
76
+
77
+ ```typescript
78
+ it('rolls back transaction on mid-operation DB disconnect', async () => {
79
+ const db = createTestDb()
80
+ await seedRows(db, [{ id: 1, name: 'alice' }])
81
+
82
+ // Force disconnect after first write in the transaction
83
+ let writeCount = 0
84
+ const hookedDb = hookAfterWrite(db, () => {
85
+ if (++writeCount === 1) db.close()
86
+ })
87
+
88
+ await expect(runner.executeWithDb(hookedDb, plan)).rejects.toThrow()
89
+
90
+ const freshDb = createTestDb()
91
+ const rows = freshDb.prepare('SELECT * FROM records').all()
92
+ expect(rows).toHaveLength(1) // original row preserved, partial write rolled back
93
+ })
94
+ ```
95
+
96
+ ### Agent 崩溃控制
97
+
98
+ ```typescript
99
+ it('pipeline continues when one agent throws', async () => {
100
+ const crashingAgent = { run: () => { throw new Error('agent crash') } }
101
+ const pipeline = new Pipeline({ agents: { planner: crashingAgent, builder: realBuilder } })
102
+
103
+ const result = await pipeline.run(input, { skipFailedAgents: true })
104
+ expect(result.completedAgents).toContain('builder')
105
+ expect(result.failedAgents).toContain('planner')
106
+ })
107
+ ```
108
+
109
+ ## 安全规则
110
+
111
+ 1. 绝对不要对生产环境或共享的测试数据库执行混沌测试
112
+ 2. 在 `afterEach` 或 `finally` 块中始终清理注入的故障
113
+ 3. 为混沌测试加上标签(`@chaos`),以在开发工作流程的快速单元测试运行中排除
114
+ 4. 混沌测试可在 CI 的专属任务中运行,不纳入标准单元测试矩阵
115
+
116
+ ## 反模式
117
+
118
+ - **在主处理器中捕获并忽略所有错误** — 这会对断言隐藏混沌失败
119
+ - **断连后不验证数据库状态** — 仅断言错误被抛出是不够的;必须断言没有写入部分数据
120
+ - **开放式策略引擎处理** — 策略路径中的任何模糊情况都必须解析为 DENY,而非 ALLOW
121
+
122
+ ## 另请参阅
123
+
124
+ - `chaos-engineering-standards.ai.yaml` — 实验方法论与 SLO 集成
125
+ - `testing.ai.yaml` — 通用测试结构
126
+ - `secure-op.ai.yaml` — AI Agent 的失败关闭原则
127
+ - `security-standards.ai.yaml` — 安全不变量
128
+
129
+
130
+ **Scope**: universal
@@ -3,7 +3,7 @@ source: ../../../core/checkin-standards.md
3
3
  source_version: 1.6.0
4
4
  translation_version: 1.6.0
5
5
  last_synced: 2026-04-20
6
- status: current
6
+ status: stale
7
7
  ---
8
8
 
9
9
  # 程序码签入检查点标准
@@ -3,7 +3,7 @@ source: ../../../core/code-review-checklist.md
3
3
  source_version: 1.3.0
4
4
  translation_version: 1.3.0
5
5
  last_synced: 2026-01-12
6
- status: current
6
+ status: stale
7
7
  ---
8
8
 
9
9
  # 代码审查检查清单
@@ -0,0 +1,535 @@
1
+ ---
2
+ source: ../../../core/container-security.md
3
+ source_version: 1.0.0
4
+ translation_version: 1.0.0
5
+ last_synced: 2026-06-10
6
+ source_hash: a1badc590927
7
+ status: current
8
+ ---
9
+
10
+ # 容器安全标准
11
+
12
+ > **语言**:[English](../../../core/container-security.md) | [繁體中文](../../zh-TW/core/container-security.md) | 简体中文
13
+
14
+ > **版本**:v1.0.0 | **更新日期**:2026-05-04 | **分类**:security
15
+ >
16
+ > AI 最优化格式:`ai/standards/container-security.ai.yaml`
17
+
18
+ ---
19
+
20
+ ## 概览
21
+
22
+ 本标准涵盖容器与 Kubernetes 环境的完整安全要求,适用于所有使用 Docker 或 K8s 部署的服务,尤其针对 **AI Agent 生产环境**(采用层)提供特化规则。
23
+
24
+ ### 六大安全域
25
+
26
+ | 域 | 说明 |
27
+ |----|------|
28
+ | [镜像强化](#1-镜像强化-image-hardening) | distroless/alpine base、non-root USER、multi-stage build |
29
+ | [Registry 安全](#2-registry-安全-registry-security) | 私有 Registry、Cosign/Notary 签名、immutable tag、Trivy |
30
+ | [Runtime 安全](#3-runtime-安全-runtime-security) | read-only rootfs、drop ALL capabilities、seccompProfile |
31
+ | [Secrets 管理](#4-secrets-管理-secrets-management) | 禁止 ENV 传 secret、K8s Secrets、Vault |
32
+ | [网络策略](#5-网络策略-network-policy) | K8s NetworkPolicy default-deny、AI Agent 出站白名单 |
33
+ | [供应链安全](#6-供应链安全-supply-chain) | SBOM、digest pin、Sigstore keyless、lockfile 验证 |
34
+
35
+ ---
36
+
37
+ ## 1. 镜像强化(Image Hardening)
38
+
39
+ ### 1.1 Base Image 选择
40
+
41
+ **优先使用**(依安全性排序):
42
+
43
+ | Base Image | 适用场景 | 大小 |
44
+ |------------|---------|------|
45
+ | `gcr.io/distroless/static-debian12` | 静态二进制(Go) | ~2 MB |
46
+ | `gcr.io/distroless/base-debian12` | 动态链接二进制 | ~20 MB |
47
+ | `gcr.io/distroless/nodejs20-debian12` | Node.js 应用 | ~120 MB |
48
+ | `alpine:3.19` | 需要 shell 的构建场景 | ~7 MB |
49
+
50
+ **禁止**:
51
+ - `ubuntu:latest`、`debian:latest`(浮动 tag + 庞大 attack surface)
52
+ - 以 `latest` tag 指定任何 base image
53
+ - 在 final stage 使用含完整软件包管理器的镜像
54
+
55
+ ### 1.2 Dockerfile 最佳实践
56
+
57
+ ```dockerfile
58
+ # ── 构建阶段 ──────────────────────────────────────
59
+ FROM node:20-alpine AS builder
60
+ WORKDIR /app
61
+ COPY package-lock.json package.json ./
62
+ RUN npm ci --only=production # 只安装 production 依赖
63
+
64
+ COPY src/ ./src/
65
+ RUN npm run build
66
+
67
+ # ── 最终阶段(distroless)────────────────────────
68
+ FROM gcr.io/distroless/nodejs20-debian12@sha256:<digest>
69
+ WORKDIR /app
70
+
71
+ # 只复制必要文件
72
+ COPY --from=builder /app/dist ./dist
73
+ COPY --from=builder /app/node_modules ./node_modules
74
+
75
+ # 强制 non-root(UID 1000)
76
+ USER 1000
77
+
78
+ EXPOSE 3000
79
+ CMD ["dist/index.js"]
80
+ ```
81
+
82
+ **规则摘要**:
83
+
84
+ - `multi-stage build`:构建工具不进入 final image
85
+ - `USER 1000`:final stage 必须设定非 root 用户
86
+ - `RUN` 禁止在 final stage 执行软件包安装
87
+ - `COPY` 只复制特定文件;禁止 `COPY . .` 于 final stage
88
+ - base image 固定 digest(`@sha256:<digest>`),非 tag
89
+
90
+ ### 1.3 Kubernetes SecurityContext
91
+
92
+ ```yaml
93
+ # Pod 层级
94
+ spec:
95
+ securityContext:
96
+ runAsNonRoot: true
97
+ runAsUser: 1000
98
+ fsGroup: 1000
99
+ seccompProfile:
100
+ type: RuntimeDefault
101
+
102
+ containers:
103
+ - name: ai-agent
104
+ securityContext:
105
+ allowPrivilegeEscalation: false
106
+ readOnlyRootFilesystem: true
107
+ capabilities:
108
+ drop: ["ALL"]
109
+ add: [] # 只在有明确需求时加入,并文档化理由
110
+ # AppArmor(Kubernetes annotation)
111
+ # annotations:
112
+ # container.apparmor.security.beta.kubernetes.io/ai-agent: runtime/default
113
+ ```
114
+
115
+ ---
116
+
117
+ ## 2. Registry 安全(Registry Security)
118
+
119
+ ### 2.1 私有 Registry 要求
120
+
121
+ - **生产环境禁止**使用 Docker Hub 公开镜像(未验证来源)
122
+ - 必须使用私有 Registry:GHCR、ECR、GCR、Harbor 等
123
+ - Registry 访问使用 Service Account + RBAC(不用个人账号密码)
124
+
125
+ ### 2.2 Tag 策略
126
+
127
+ | 环境 | 要求 |
128
+ |------|------|
129
+ | 开发 | `<branch>-<git-sha>` |
130
+ | Staging | `<semver>-rc.<N>` |
131
+ | 生产 | `<semver>`(e.g., `v1.2.3`)+ digest pin |
132
+
133
+ **禁止**:生产 Deployment 使用 `latest` tag。
134
+
135
+ ### 2.3 镜像签名(Cosign)
136
+
137
+ ```bash
138
+ # 构建后签名
139
+ IMAGE_DIGEST=$(docker inspect --format='{{index .RepoDigests 0}}' myimage)
140
+ cosign sign "${IMAGE_DIGEST}"
141
+
142
+ # 验证(在 CI 或 Admission Controller)
143
+ cosign verify \
144
+ --certificate-identity-regexp="https://github.com/org/repo/.*" \
145
+ --certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
146
+ "${IMAGE_DIGEST}"
147
+ ```
148
+
149
+ ### 2.4 Trivy 漏洞扫描 Gate
150
+
151
+ ```bash
152
+ # CI 强制 gate:critical 或 high CVE → 阻止推送
153
+ trivy image \
154
+ --exit-code 1 \
155
+ --severity CRITICAL,HIGH \
156
+ --ignore-unfixed \
157
+ myimage:v1.2.3
158
+
159
+ # 周期性扫描(已部署镜像)
160
+ trivy image --format json --output trivy-report.json myimage@sha256:<digest>
161
+ ```
162
+
163
+ **SLA**:
164
+
165
+ | 严重度 | 允许推送 | 修补期限 |
166
+ |--------|---------|---------|
167
+ | Critical | 否 | 立即修补 |
168
+ | High | 否 | 24 小时内 |
169
+ | Medium | 是 | 7 天内 |
170
+ | Low | 是 | 下次维护窗口 |
171
+
172
+ > **Trial / Community Edition 强制启用**:避免 supply chain compromise,所有版本均强制 Trivy gate。
173
+
174
+ ---
175
+
176
+ ## 3. Runtime 安全(Runtime Security)
177
+
178
+ ### 3.1 禁止项目
179
+
180
+ ```yaml
181
+ # 以下设定禁止用于生产环境
182
+ securityContext:
183
+ privileged: true # 禁止
184
+ spec:
185
+ hostNetwork: true # 禁止(除非有书面需求核准)
186
+ hostPID: true # 禁止
187
+ hostIPC: true # 禁止
188
+ ```
189
+
190
+ ### 3.2 Seccomp Profile
191
+
192
+ ```yaml
193
+ # Pod 层级启用 RuntimeDefault
194
+ spec:
195
+ securityContext:
196
+ seccompProfile:
197
+ type: RuntimeDefault # 封锁 300+ 危险 syscall
198
+ ```
199
+
200
+ 若服务需要自定义 syscall 清单,使用 `Localhost` profile 并维护 seccomp JSON 文档。
201
+
202
+ ### 3.3 Writable Volume 策略
203
+
204
+ | 用途 | 允许挂载类型 |
205
+ |------|------------|
206
+ | 应用程序数据 | PersistentVolumeClaim |
207
+ | 临时文件 | `emptyDir`(限 /tmp) |
208
+ | Audit Log | hostPath(append-only partition)|
209
+ | Secret | K8s Secret volume mount |
210
+
211
+ **禁止**:将 `emptyDir` 用作 audit log 存放位置(重启后数据消失)。
212
+
213
+ ---
214
+
215
+ ## 4. Secrets 管理(Secrets Management)
216
+
217
+ ### 4.1 禁止模式
218
+
219
+ ```dockerfile
220
+ # ❌ 禁止:Secret 硬编码在镜像中
221
+ ENV API_KEY=sk-abc123
222
+
223
+ # ❌ 禁止:Secret 在 build ARG(会残留 layer)
224
+ ARG DATABASE_PASSWORD
225
+ RUN configure --password=$DATABASE_PASSWORD
226
+ ```
227
+
228
+ ```yaml
229
+ # ❌ 禁止:Secret 以明文存 ConfigMap
230
+ apiVersion: v1
231
+ kind: ConfigMap
232
+ data:
233
+ api_key: "sk-real-key" # 禁止
234
+ ```
235
+
236
+ ### 4.2 允许模式
237
+
238
+ **Staging:K8s Secret + Volume Mount**
239
+
240
+ ```yaml
241
+ # K8s Secret(base64 encoded)
242
+ apiVersion: v1
243
+ kind: Secret
244
+ metadata:
245
+ name: ai-agent-secrets
246
+ type: Opaque
247
+ data:
248
+ anthropic-api-key: <base64-encoded-value>
249
+ ---
250
+ # Pod 挂载
251
+ spec:
252
+ containers:
253
+ - name: ai-agent
254
+ volumeMounts:
255
+ - name: secrets
256
+ mountPath: /run/secrets
257
+ readOnly: true
258
+ volumes:
259
+ - name: secrets
260
+ secret:
261
+ secretName: ai-agent-secrets
262
+ ```
263
+
264
+ **生产:Vault Agent Injector(推荐)**
265
+
266
+ ```yaml
267
+ # 使用 Vault annotation 自动注入 secret
268
+ spec:
269
+ template:
270
+ metadata:
271
+ annotations:
272
+ vault.hashicorp.com/agent-inject: "true"
273
+ vault.hashicorp.com/role: "ai-agent"
274
+ vault.hashicorp.com/agent-inject-secret-api-key: "secret/ai-agent/anthropic"
275
+ ```
276
+
277
+ ### 4.3 AI Agent 特殊规则
278
+
279
+ - LLM API 密钥(Anthropic、OpenAI)**必须**通过 mounted secret volume 注入,不得使用 ENV
280
+ - Guardian OPA policy 文件**不是** secret,使用 ConfigMap 即可
281
+
282
+ ---
283
+
284
+ ## 5. 网络策略(Network Policy)
285
+
286
+ ### 5.1 Default Deny 基准策略
287
+
288
+ ```yaml
289
+ # 每个 namespace 必须先应用 default-deny
290
+ apiVersion: networking.k8s.io/v1
291
+ kind: NetworkPolicy
292
+ metadata:
293
+ name: default-deny-all
294
+ namespace: ai-agent
295
+ spec:
296
+ podSelector: {} # 应用到所有 Pod
297
+ policyTypes:
298
+ - Ingress
299
+ - Egress
300
+ ```
301
+
302
+ ### 5.2 AI Agent 出站白名单
303
+
304
+ ```yaml
305
+ apiVersion: networking.k8s.io/v1
306
+ kind: NetworkPolicy
307
+ metadata:
308
+ name: ai-agent-egress-allowlist
309
+ namespace: ai-agent
310
+ spec:
311
+ podSelector:
312
+ matchLabels:
313
+ app: ai-agent
314
+ policyTypes:
315
+ - Egress
316
+ egress:
317
+ # DNS(必须)
318
+ - ports:
319
+ - protocol: UDP
320
+ port: 53
321
+ - protocol: TCP
322
+ port: 53
323
+ # Anthropic API
324
+ - to:
325
+ - ipBlock:
326
+ cidr: 0.0.0.0/0 # 实际部署时替换为 Anthropic IP range
327
+ ports:
328
+ - protocol: TCP
329
+ port: 443
330
+ # kube-dns / CoreDNS
331
+ - to:
332
+ - namespaceSelector:
333
+ matchLabels:
334
+ kubernetes.io/metadata.name: kube-system
335
+ ```
336
+
337
+ **允许出站端点清单**:
338
+
339
+ | 端点 | 协议 | 端口 | 用途 |
340
+ |------|------|-----|------|
341
+ | `api.anthropic.com` | HTTPS | 443 | Claude LLM API |
342
+ | `api.openai.com` | HTTPS | 443 | OpenAI LLM API |
343
+ | `bedrock.*.amazonaws.com` | HTTPS | 443 | AWS Bedrock |
344
+ | CoreDNS | UDP/TCP | 53 | DNS 解析 |
345
+
346
+ ### 5.3 Guardian OPA Sidecar 部署
347
+
348
+ ```yaml
349
+ # Guardian 作为 sidecar container(同 Pod)
350
+ spec:
351
+ containers:
352
+ - name: ai-agent
353
+ image: ai-agent/runtime:v1.2.3@sha256:<digest>
354
+ # ...
355
+ - name: guardian-opa
356
+ image: openpolicyagent/opa:latest-rootless@sha256:<digest>
357
+ args:
358
+ - run
359
+ - --server
360
+ - --addr=localhost:8181
361
+ - /policies
362
+ volumeMounts:
363
+ - name: opa-policies
364
+ mountPath: /policies
365
+ readOnly: true
366
+ volumes:
367
+ - name: opa-policies
368
+ configMap:
369
+ name: guardian-opa-policies
370
+ ```
371
+
372
+ ---
373
+
374
+ ## 6. 供应链安全(Supply Chain)
375
+
376
+ ### 6.1 SBOM 生成
377
+
378
+ ```bash
379
+ # 使用 Syft 生成 CycloneDX 格式 SBOM
380
+ syft myimage:v1.2.3 -o cyclonedx-json > sbom-v1.2.3.json
381
+
382
+ # 使用 Trivy 生成 SPDX 格式 SBOM
383
+ trivy image --format spdx-json --output sbom.spdx.json myimage:v1.2.3
384
+
385
+ # 附加到 OCI Registry(Cosign)
386
+ cosign attach sbom --sbom sbom-v1.2.3.json myimage@sha256:<digest>
387
+ ```
388
+
389
+ ### 6.2 Digest Pinning
390
+
391
+ ```dockerfile
392
+ # ✅ 正确:使用 digest 固定
393
+ FROM gcr.io/distroless/nodejs20-debian12@sha256:abc123...
394
+
395
+ # ❌ 错误:浮动 tag
396
+ FROM gcr.io/distroless/nodejs20-debian12:latest
397
+ ```
398
+
399
+ ```yaml
400
+ # ✅ 正确:K8s Deployment 使用 digest
401
+ spec:
402
+ containers:
403
+ - image: myregistry.io/ai-agent:v1.2.3@sha256:def456...
404
+ ```
405
+
406
+ ### 6.3 Sigstore Keyless Signing(GitHub Actions)
407
+
408
+ ```yaml
409
+ # .github/workflows/build-push.yml
410
+ - name: Sign container image
411
+ uses: sigstore/cosign-installer@v3
412
+ - name: Sign
413
+ run: |
414
+ cosign sign --yes \
415
+ ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}@${{ steps.build.outputs.digest }}
416
+ env:
417
+ COSIGN_EXPERIMENTAL: "true" # Keyless (OIDC)
418
+ ```
419
+
420
+ ### 6.4 各语言 Lockfile 验证
421
+
422
+ **Node.js**:
423
+ ```bash
424
+ # 使用 npm ci(严格 lockfile)
425
+ npm ci --only=production
426
+
427
+ # 不允许
428
+ npm install # 可能更新 lockfile
429
+ ```
430
+
431
+ **Python**:
432
+ ```bash
433
+ # 使用 hash 验证
434
+ pip install --require-hashes -r requirements.txt
435
+
436
+ # 生成(使用 pip-tools)
437
+ pip-compile --generate-hashes requirements.in -o requirements.txt
438
+ ```
439
+
440
+ **Go**:
441
+ ```bash
442
+ # 验证 go.sum 完整性
443
+ go mod verify
444
+
445
+ # 下载并验证
446
+ GONOSUMCHECK="" GOFLAGS="-mod=mod" go mod download
447
+ ```
448
+
449
+ ---
450
+
451
+ ## AI Agent 特殊考量
452
+
453
+ 本节补充 AI Agent(采用层)相关的容器安全特化要求:
454
+
455
+ ### 强制要求
456
+
457
+ | 项目 | 要求 | 说明 |
458
+ |------|------|------|
459
+ | Container UID | 1000(非 root) | LLM 调用流程不得以 root 执行 |
460
+ | 出站白名单 | api.anthropic.com / api.openai.com / bedrock.*.amazonaws.com | NetworkPolicy 明确允许 |
461
+ | Guardian OPA Sidecar | 同 Pod 或同 namespace | 才能实施 Veto 决策 |
462
+ | Audit Log Volume | append-only partition | 禁止 emptyDir;重启后不可消失 |
463
+ | LLM API Key 注入 | Mounted secret volume | 禁止 ENV 注入 |
464
+ | Trivy Gate | 强制(含 Trial/Community) | 避免 supply chain compromise |
465
+
466
+ ### Audit Log Volume 配置
467
+
468
+ ```yaml
469
+ # ✅ 正确:hostPath 指向 append-only partition
470
+ volumes:
471
+ - name: audit-log
472
+ hostPath:
473
+ path: /var/log/ai-agent/audit # 需事先 chattr +a
474
+ type: DirectoryOrCreate
475
+
476
+ # ❌ 错误:emptyDir(重启消失)
477
+ volumes:
478
+ - name: audit-log
479
+ emptyDir: {}
480
+ ```
481
+
482
+ 在宿主机设定 append-only:
483
+ ```bash
484
+ # 设定目录为 append-only(需 root)
485
+ chattr +a /var/log/ai-agent/audit
486
+ lsattr /var/log/ai-agent/audit # 验证 a 属性
487
+ ```
488
+
489
+ ---
490
+
491
+ ## 合规对照表
492
+
493
+ | 标准 | 章节 | 对照到本标准 |
494
+ |------|------|------------|
495
+ | ISO/IEC 27001:2022 | A.8.9 Configuration Management | Image Hardening、Runtime Security |
496
+ | ISO/IEC 27001:2022 | A.8.12 Data Leakage Prevention | Secrets Management |
497
+ | ISO/IEC 27001:2022 | A.8.20 Networks Security | Network Policy |
498
+ | ISO/IEC 27001:2022 | A.8.22 Web Filtering | Network Policy 出站白名单 |
499
+ | ISO/IEC 27001:2022 | A.8.8 Technical Vulnerabilities | Registry Security(Trivy)|
500
+ | ISO/IEC 27001:2022 | A.8.24 Use of Cryptography | Secrets Management |
501
+ | NIST SP 800-190 | §4.1 Image Vulnerabilities | Image Hardening |
502
+ | NIST SP 800-190 | §4.2 Image Configuration Defects | Registry Security |
503
+ | NIST SP 800-190 | §4.3 Container Runtime Vulnerabilities | Runtime Security |
504
+ | NIST SP 800-190 | §4.4 Image and Registry Vulnerabilities | Supply Chain |
505
+ | NIST SP 800-190 | §4.5 Host OS Vulnerabilities | Supply Chain |
506
+ | CIS Docker Benchmark v1.6 | §4 Container Images | Image Hardening |
507
+ | CIS Docker Benchmark v1.6 | §5 Container Runtime | Runtime Security |
508
+ | CIS Kubernetes Benchmark v1.8 | §5.3 Network Policies | Network Policy |
509
+ | SLSA Framework | Level 2+ provenance | Supply Chain |
510
+
511
+ ---
512
+
513
+ ## 快速检查清单
514
+
515
+ ```
516
+ □ Base image 固定 digest(不用 tag)
517
+ □ Multi-stage build;只 COPY 产物到 final stage
518
+ □ Final stage:USER 1000(non-root)
519
+ □ securityContext:runAsNonRoot、readOnlyRootFilesystem、allowPrivilegeEscalation:false
520
+ □ capabilities.drop: [ALL]
521
+ □ seccompProfile:RuntimeDefault
522
+ □ Trivy scan:0 critical、0 high,才可推送
523
+ □ Image 已签名(Cosign / Notary v2)
524
+ □ SBOM 已生成(CycloneDX 或 SPDX)
525
+ □ Dockerfile 无 ENV secret、无 build-arg secret
526
+ □ K8s Secret 或 Vault 注入 secret(非 ENV)
527
+ □ NetworkPolicy:default-deny + 明确 allow
528
+ □ AI Agent egress:allowlist(Anthropic、OpenAI、Bedrock)
529
+ □ Guardian OPA Sidecar:同 Pod 或同 namespace
530
+ □ Audit log volume:append-only partition(非 emptyDir)
531
+ □ Lockfile 固定(npm ci / pip --require-hashes / go mod verify)
532
+ ```
533
+
534
+
535
+ **Scope**: universal
@@ -54,7 +54,7 @@ status: current
54
54
  |----|------|-----------|
55
55
  | `testing` | testing, unit-testing, integration-testing, tdd, bdd, atdd | 撰写测试、测试文件编辑、"测试覆盖率"讨论 |
56
56
  | `specification` | spec-driven-development, forward-derivation, reverse-engineering | `/sdd`、`/spec` 命令、规格文件编辑 |
57
- | `quality` | code-review, refactoring, security, performance, accessibility | `/review` 命令、PR 审查、"重构"讨论 |
57
+ | `quality` | code-review, refactoring, security, performance, accessibility | `/code-review` 命令、PR 审查、"重构"讨论 |
58
58
  | `documentation` | documentation-structure, documentation-writing, changelog | 撰写文档、README/CHANGELOG 编辑 |
59
59
  | `workflow` | git-workflow, github-flow, squash-merge, versioning, deployment | 分支操作、发布准备、合并 |
60
60
  | `architecture` | ai-friendly-architecture, project-structure, error-codes, logging | 架构决策、项目设置 |