@umacloud/knowledge 1.0.1

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 (418) hide show
  1. package/00-governance/governance-capabilities.md +557 -0
  2. package/00-governance/knowledge-map.md +39 -0
  3. package/00-governance/maintenance-policy.md +76 -0
  4. package/00-governance/review-checklist.md +81 -0
  5. package/README.md +13 -0
  6. package/ai/01-standards/agent-development-complete.md +691 -0
  7. package/ai/01-standards/llm-application-complete.md +488 -0
  8. package/ai/01-standards/mlops-complete.md +798 -0
  9. package/ai/01-standards/prompt-engineering-complete.md +646 -0
  10. package/ai/01-standards/rag-architecture-complete.md +649 -0
  11. package/ai/02-playbooks/llm-evaluation-playbook.md +847 -0
  12. package/ai/03-checklists/ai-project-checklist.md +215 -0
  13. package/ai/04-antipatterns/ai-antipatterns.md +661 -0
  14. package/ai/05-cases/case-rag-production.md +147 -0
  15. package/ai/06-glossary/ai-glossary.md +162 -0
  16. package/ai/agent-evaluation-benchmark.md +53 -0
  17. package/ai/ai-agent-memory-context-management.md +41 -0
  18. package/ai/ai-cost-capacity-optimization-playbook.md +42 -0
  19. package/ai/ai-data-security-and-compliance-playbook.md +37 -0
  20. package/ai/ai-domain-index-and-checklist.md +40 -0
  21. package/ai/ai-governance-maturity-model.md +50 -0
  22. package/ai/ai-model-selection-and-routing-strategy.md +47 -0
  23. package/ai/ai-observability-and-oncall-runbook.md +52 -0
  24. package/ai/ai-rag-engineering-playbook.md +42 -0
  25. package/ai/ai-red-team-and-safety-evaluation.md +42 -0
  26. package/ai/ai-release-readiness-and-rollback-gate.md +42 -0
  27. package/ai/llm-agent-engineering-deep-dive.md +57 -0
  28. package/ai/prompt-and-tool-guardrails.md +52 -0
  29. package/api/01-standards/enterprise-api-standards.md +198 -0
  30. package/api/01-standards/rest-api-design-guide.md +63 -0
  31. package/api/02-playbooks/api-pagination-playbook.md +93 -0
  32. package/api/02-playbooks/graphql-production-playbook.md +176 -0
  33. package/api/03-checklists/api-review-checklist.md +55 -0
  34. package/api/04-antipatterns/api-antipatterns.md +112 -0
  35. package/architecture/01-standards/api-gateway-patterns.md +496 -0
  36. package/architecture/01-standards/cloud-native-patterns.md +644 -0
  37. package/architecture/01-standards/distributed-systems-patterns.md +591 -0
  38. package/architecture/01-standards/event-driven-architecture.md +595 -0
  39. package/architecture/01-standards/microservices-patterns-complete.md +968 -0
  40. package/architecture/01-standards/microservices-patterns.md +495 -0
  41. package/architecture/01-standards/system-design-interview.md +664 -0
  42. package/architecture/02-playbooks/microservices-patterns-playbook.md +137 -0
  43. package/architecture/02-playbooks/migration-playbook.md +780 -0
  44. package/architecture/02-playbooks/system-design-playbook.md +779 -0
  45. package/architecture/03-checklists/architecture-decision-checklist.md +297 -0
  46. package/architecture/04-antipatterns/architecture-antipatterns.md +417 -0
  47. package/architecture/05-cases/case-netflix-microservices.md +413 -0
  48. package/architecture/06-glossary/architecture-glossary.md +164 -0
  49. package/architecture/adr-template-and-examples.md +38 -0
  50. package/architecture/api-gateway-deep-dive.md +1291 -0
  51. package/architecture/configuration-management.md +1162 -0
  52. package/architecture/distributed-transactions.md +1220 -0
  53. package/architecture/microservices-complete.md +735 -0
  54. package/architecture/resilience-and-disaster-patterns.md +37 -0
  55. package/architecture/service-governance.md +1198 -0
  56. package/architecture/system-architecture-deep-dive.md +37 -0
  57. package/backend/01-standards/analytics-and-growth.md +65 -0
  58. package/backend/01-standards/api-and-error-conventions.md +120 -0
  59. package/backend/01-standards/application-layering-and-packaging.md +160 -0
  60. package/backend/01-standards/auth-implementation.md +104 -0
  61. package/backend/01-standards/backend-framework-idioms.md +74 -0
  62. package/backend/01-standards/background-jobs-and-async.md +66 -0
  63. package/backend/01-standards/caching-strategies-complete.md +390 -0
  64. package/backend/01-standards/config-and-observability.md +77 -0
  65. package/backend/01-standards/data-modeling-and-persistence.md +94 -0
  66. package/backend/01-standards/django-complete.md +1765 -0
  67. package/backend/01-standards/email-and-notifications.md +64 -0
  68. package/backend/01-standards/fastapi-complete.md +925 -0
  69. package/backend/01-standards/file-upload-and-storage.md +66 -0
  70. package/backend/01-standards/graphql-api-complete.md +416 -0
  71. package/backend/01-standards/llm-application-standard.md +78 -0
  72. package/backend/01-standards/message-queue-patterns.md +379 -0
  73. package/backend/01-standards/microservices-and-distributed.md +78 -0
  74. package/backend/01-standards/nestjs-complete.md +2167 -0
  75. package/backend/01-standards/payment-integration.md +80 -0
  76. package/backend/01-standards/rate-limiting-complete.md +451 -0
  77. package/backend/01-standards/realtime-and-websocket.md +65 -0
  78. package/backend/01-standards/search-and-filtering.md +64 -0
  79. package/backend/01-standards/spring-boot-complete.md +445 -0
  80. package/backend/02-playbooks/api-design-playbook.md +718 -0
  81. package/backend/02-playbooks/email-send-playbook.md +130 -0
  82. package/backend/02-playbooks/file-upload-s3-playbook.md +153 -0
  83. package/backend/02-playbooks/typescript-enterprise-playbook.md +133 -0
  84. package/backend/02-playbooks/websocket-realtime-playbook.md +154 -0
  85. package/backend/03-checklists/api-launch-checklist.md +189 -0
  86. package/backend/04-antipatterns/backend-antipatterns.md +1051 -0
  87. package/blockchain/01-standards/blockchain-basics.md +557 -0
  88. package/blockchain/01-standards/smart-contract-development.md +1315 -0
  89. package/cicd/01-standards/deployment-and-delivery-standard.md +96 -0
  90. package/cicd/01-standards/github-actions-complete.md +473 -0
  91. package/cicd/01-standards/release-and-store-submission.md +75 -0
  92. package/cicd/02-playbooks/cicd-pipeline-playbook.md +144 -0
  93. package/cicd/02-playbooks/release-management-playbook.md +605 -0
  94. package/cicd/03-checklists/pipeline-security-checklist.md +168 -0
  95. package/cicd/04-antipatterns/cicd-antipatterns.md +589 -0
  96. package/cicd/05-cases/case-deployment-automation.md +221 -0
  97. package/cicd/05-cases/case-gitops-transformation.md +212 -0
  98. package/cicd/06-glossary/cicd-glossary.md +114 -0
  99. package/cicd/cicd-blueprint-deep-dive.md +38 -0
  100. package/cicd/release-readiness-gate.md +37 -0
  101. package/cloud-native/01-standards/container-security.md +741 -0
  102. package/cloud-native/01-standards/kubernetes-complete.md +812 -0
  103. package/cloud-native/02-playbooks/api-gateway-playbook.md +155 -0
  104. package/cloud-native/02-playbooks/gitops-with-argocd.md +760 -0
  105. package/cloud-native/02-playbooks/k8s-troubleshooting-playbook.md +1942 -0
  106. package/cloud-native/02-playbooks/message-queue-playbook.md +129 -0
  107. package/cloud-native/02-playbooks/multicloud-governance.md +726 -0
  108. package/cloud-native/02-playbooks/serverless-patterns.md +788 -0
  109. package/cloud-native/02-playbooks/service-mesh-playbook.md +612 -0
  110. package/cloud-native/02-playbooks/terraform-iac-playbook.md +143 -0
  111. package/cloud-native/03-checklists/container-security-checklist.md +431 -0
  112. package/cloud-native/03-checklists/k8s-production-readiness-checklist.md +460 -0
  113. package/cloud-native/04-antipatterns/container-antipatterns.md +660 -0
  114. package/cloud-native/04-antipatterns/k8s-antipatterns.md +743 -0
  115. package/cloud-native/05-cases/case-k8s-migration.md +478 -0
  116. package/cloud-native/05-cases/case-k8s-scaling.md +642 -0
  117. package/cloud-native/05-cases/case-k8s-security-incident.md +397 -0
  118. package/cloud-native/06-glossary/cloud-native-glossary.md +337 -0
  119. package/cross-platform/01-standards/cross-platform-frameworks.md +83 -0
  120. package/cross-platform/01-standards/platform-selection-and-architecture.md +77 -0
  121. package/data/01-standards/elasticsearch-complete.md +2098 -0
  122. package/data/01-standards/postgresql-complete.md +1613 -0
  123. package/data/01-standards/redis-complete.md +1527 -0
  124. package/data/02-playbooks/database-optimization-playbook.md +403 -0
  125. package/data/02-playbooks/elasticsearch-production-playbook.md +132 -0
  126. package/data/03-checklists/database-launch-checklist.md +187 -0
  127. package/data/04-antipatterns/database-antipatterns.md +873 -0
  128. package/data/05-cases/case-database-migration.md +310 -0
  129. package/data/06-glossary/database-glossary.md +440 -0
  130. package/data/data-governance-and-modeling-deep-dive.md +39 -0
  131. package/data-engineering/01-standards/airflow-complete.md +523 -0
  132. package/data-engineering/01-standards/kafka-complete.md +1521 -0
  133. package/data-engineering/02-playbooks/spark-etl-playbook.md +496 -0
  134. package/data-engineering/03-checklists/pipeline-launch-checklist.md +194 -0
  135. package/data-engineering/04-antipatterns/data-pipeline-antipatterns.md +684 -0
  136. package/data-engineering/05-cases/case-real-time-pipeline.md +355 -0
  137. package/data-engineering/06-glossary/data-engineering-glossary.md +429 -0
  138. package/database/01-standards/database-schema-standards.md +147 -0
  139. package/database/02-playbooks/postgresql-optimization-quick.md +52 -0
  140. package/database/02-playbooks/postgresql-performance-optimization.md +58 -0
  141. package/database/02-playbooks/postgresql-production-playbook.md +146 -0
  142. package/database/02-playbooks/redis-caching-playbook.md +117 -0
  143. package/database/03-checklists/database-review-checklist.md +50 -0
  144. package/database/04-antipatterns/database-antipatterns.md +112 -0
  145. package/design/01-standards/ui-design-system-complete.md +423 -0
  146. package/design/02-playbooks/design-handoff-playbook.md +254 -0
  147. package/design/02-playbooks/design-review-playbook.md +388 -0
  148. package/design/03-checklists/design-review-checklist.md +246 -0
  149. package/design/04-antipatterns/design-antipatterns.md +378 -0
  150. package/design/05-cases/case-design-system-adoption.md +328 -0
  151. package/design/06-glossary/design-glossary.md +329 -0
  152. package/design/ui-full-lifecycle-cross-platform-playbook.md +571 -0
  153. package/design/ux-system-deep-dive.md +38 -0
  154. package/design-systems/00-craft-rules.md +71 -0
  155. package/design-systems/aesthetic-families.md +43 -0
  156. package/design-systems/anti-ai-slop.md +162 -0
  157. package/design-systems/bold-geometric.md +120 -0
  158. package/design-systems/brutalist-bold.md +103 -0
  159. package/design-systems/editorial-clean.md +109 -0
  160. package/design-systems/glass-aurora.md +108 -0
  161. package/design-systems/modern-minimal.md +145 -0
  162. package/design-systems/premium-luxury.md +106 -0
  163. package/design-systems/product-type-design-map.md +48 -0
  164. package/design-systems/soft-warm.md +123 -0
  165. package/design-systems/tech-utility.md +113 -0
  166. package/desktop/01-standards/desktop-app-standard.md +72 -0
  167. package/desktop/01-standards/desktop-design.md +71 -0
  168. package/development/00-governance/document-template.md +41 -0
  169. package/development/01-standards/api-versioning-strategies.md +432 -0
  170. package/development/01-standards/authentication-patterns-complete.md +479 -0
  171. package/development/01-standards/css-architecture-complete.md +550 -0
  172. package/development/01-standards/database-migration-strategies.md +484 -0
  173. package/development/01-standards/elasticsearch-complete.md +347 -0
  174. package/development/01-standards/git-complete.md +371 -0
  175. package/development/01-standards/golang-complete.md +1565 -0
  176. package/development/01-standards/graphql-complete.md +298 -0
  177. package/development/01-standards/javascript-bundlers-complete.md +469 -0
  178. package/development/01-standards/javascript-typescript-complete.md +528 -0
  179. package/development/01-standards/jest-complete.md +275 -0
  180. package/development/01-standards/linux-complete.md +234 -0
  181. package/development/01-standards/logging-observability-complete.md +526 -0
  182. package/development/01-standards/microservices-communication.md +502 -0
  183. package/development/01-standards/mongodb-complete.md +406 -0
  184. package/development/01-standards/oauth2-complete.md +285 -0
  185. package/development/01-standards/performance-optimization-complete.md +289 -0
  186. package/development/01-standards/playwright-complete.md +247 -0
  187. package/development/01-standards/postgresql-complete.md +456 -0
  188. package/development/01-standards/pytest-complete.md +340 -0
  189. package/development/01-standards/python-async-programming.md +902 -0
  190. package/development/01-standards/python-complete.md +956 -0
  191. package/development/01-standards/python-decorators-complete.md +799 -0
  192. package/development/01-standards/python-design-patterns.md +2854 -0
  193. package/development/01-standards/python-packaging-distribution.md +420 -0
  194. package/development/01-standards/python-testing-strategies.md +607 -0
  195. package/development/01-standards/python-web-frameworks-comparison.md +471 -0
  196. package/development/01-standards/redis-complete.md +317 -0
  197. package/development/01-standards/rest-api-complete.md +316 -0
  198. package/development/01-standards/rust-complete.md +578 -0
  199. package/development/01-standards/typescript-advanced-types.md +1513 -0
  200. package/development/01-standards/web-security-complete.md +292 -0
  201. package/development/02-playbooks/api-design-playbook.md +810 -0
  202. package/development/02-playbooks/database-migration-playbook.md +580 -0
  203. package/development/02-playbooks/debugging-playbook.md +692 -0
  204. package/development/02-playbooks/feature-delivery-playbook.md +430 -0
  205. package/development/02-playbooks/incident-hotfix-playbook.md +387 -0
  206. package/development/02-playbooks/performance-optimization-playbook.md +531 -0
  207. package/development/02-playbooks/performance-tuning-playbook.md +652 -0
  208. package/development/02-playbooks/refactor-playbook.md +403 -0
  209. package/development/02-playbooks/release-playbook.md +469 -0
  210. package/development/03-checklists/architecture-review-checklist.md +168 -0
  211. package/development/03-checklists/data-migration-checklist.md +157 -0
  212. package/development/03-checklists/oncall-handover-checklist.md +173 -0
  213. package/development/03-checklists/pr-checklist.md +158 -0
  214. package/development/03-checklists/production-readiness-checklist.md +190 -0
  215. package/development/03-checklists/release-readiness-checklist.md +154 -0
  216. package/development/03-checklists/security-review-checklist.md +182 -0
  217. package/development/04-antipatterns/api-antipatterns.md +657 -0
  218. package/development/04-antipatterns/architecture-antipatterns.md +686 -0
  219. package/development/04-antipatterns/backend-antipatterns.md +648 -0
  220. package/development/04-antipatterns/cicd-antipatterns.md +540 -0
  221. package/development/04-antipatterns/code-smell-antipatterns.md +571 -0
  222. package/development/04-antipatterns/data-antipatterns.md +658 -0
  223. package/development/04-antipatterns/database-antipatterns.md +578 -0
  224. package/development/04-antipatterns/frontend-antipatterns.md +635 -0
  225. package/development/04-antipatterns/reliability-antipatterns.md +700 -0
  226. package/development/04-antipatterns/security-antipatterns.md +747 -0
  227. package/development/05-cases/case-api-version-migration.md +428 -0
  228. package/development/05-cases/case-authorization-hardening.md +383 -0
  229. package/development/05-cases/case-bluegreen-rollback.md +466 -0
  230. package/development/05-cases/case-cache-snowball-protection.md +485 -0
  231. package/development/05-cases/case-ci-cd-pipeline.md +544 -0
  232. package/development/05-cases/case-database-scaling.md +500 -0
  233. package/development/05-cases/case-db-hotspot-optimization.md +487 -0
  234. package/development/05-cases/case-incident-mttr-reduction.md +563 -0
  235. package/development/05-cases/case-microservice-migration.md +375 -0
  236. package/development/05-cases/case-performance-optimization.md +406 -0
  237. package/development/05-cases/case-security-incident-response.md +345 -0
  238. package/development/06-glossary/full-stack-glossary.md +166 -0
  239. package/development/09-maturity/quarterly-audit-template.md +35 -0
  240. package/development/11-ui-excellence/ui-aesthetic-system.md +41 -0
  241. package/development/11-ui-excellence/ui-engineering-excellence.md +435 -0
  242. package/development/12-scenarios/development-scenarios-guide.md +565 -0
  243. package/development/13-implementation-assets/implementation-toolkit.md +282 -0
  244. package/development/13-implementation-assets/knowledge-gates-execution.md +43 -0
  245. package/development/14-full-lifecycle/software-lifecycle-gates.md +511 -0
  246. package/development/15-lifecycle-templates/project-templates-collection.md +791 -0
  247. package/development/api-contract-and-versioning-guide.md +36 -0
  248. package/development/api-governance-complete.md +43 -0
  249. package/development/backend-engineering-complete.md +43 -0
  250. package/development/code-review-quality-complete.md +43 -0
  251. package/development/concurrency-reliability-complete.md +43 -0
  252. package/development/database-engineering-complete.md +43 -0
  253. package/development/engineering-effectiveness-complete.md +43 -0
  254. package/development/engineering-standards-deep-dive.md +38 -0
  255. package/development/frontend-engineering-complete.md +43 -0
  256. package/development/performance-capacity-complete.md +43 -0
  257. package/development/refactor-migration-complete.md +42 -0
  258. package/development/refactoring-and-techdebt-playbook.md +37 -0
  259. package/development/security-in-development-complete.md +43 -0
  260. package/devops/01-standards/cicd-pipeline-complete.md +262 -0
  261. package/devops/01-standards/docker-complete.md +1490 -0
  262. package/devops/01-standards/github-actions-complete.md +337 -0
  263. package/devops/01-standards/kubernetes-complete.md +638 -0
  264. package/devops/01-standards/terraform-complete.md +2117 -0
  265. package/devops/02-playbooks/docker-compose-playbook.md +233 -0
  266. package/devops/02-playbooks/docker-k8s-production-playbook.md +186 -0
  267. package/devops/02-playbooks/docker-production-playbook.md +952 -0
  268. package/edge-iot/01-standards/edge-iot-complete.md +473 -0
  269. package/experts/architect/api-design.md +178 -0
  270. package/experts/architect/methodology.md +124 -0
  271. package/experts/architect/security.md +75 -0
  272. package/experts/backend-lead/methodology.md +216 -0
  273. package/experts/devops/methodology.md +160 -0
  274. package/experts/frontend-lead/methodology.md +178 -0
  275. package/experts/product-manager/industry/ecommerce.md +43 -0
  276. package/experts/product-manager/industry/saas.md +40 -0
  277. package/experts/product-manager/methodology.md +97 -0
  278. package/experts/qa-lead/methodology.md +123 -0
  279. package/experts/qa-lead/test-strategy.md +128 -0
  280. package/experts/uiux-designer/methodology.md +125 -0
  281. package/frontend/01-standards/accessibility-complete.md +532 -0
  282. package/frontend/01-standards/accessibility-standard.md +74 -0
  283. package/frontend/01-standards/admin-dashboard-and-crud.md +72 -0
  284. package/frontend/01-standards/design-tokens-complete.md +444 -0
  285. package/frontend/01-standards/forms-and-validation.md +77 -0
  286. package/frontend/01-standards/frontend-architecture-and-layering.md +119 -0
  287. package/frontend/01-standards/i18n-and-localization.md +65 -0
  288. package/frontend/01-standards/nextjs-complete.md +451 -0
  289. package/frontend/01-standards/react-complete.md +713 -0
  290. package/frontend/01-standards/react-hooks-complete-guide.md +1100 -0
  291. package/frontend/01-standards/react-hooks-complete.md +1171 -0
  292. package/frontend/01-standards/seo-and-web-vitals.md +77 -0
  293. package/frontend/01-standards/state-management-complete.md +444 -0
  294. package/frontend/01-standards/vue-complete.md +499 -0
  295. package/frontend/01-standards/vue3-complete.md +2002 -0
  296. package/frontend/01-standards/web-framework-best-practices.md +64 -0
  297. package/frontend/01-standards/web-performance-complete.md +495 -0
  298. package/frontend/02-playbooks/accessibility-a11y-playbook.md +161 -0
  299. package/frontend/02-playbooks/frontend-performance-playbook.md +707 -0
  300. package/frontend/02-playbooks/i18n-internationalization-playbook.md +120 -0
  301. package/frontend/02-playbooks/performance-optimization-playbook.md +163 -0
  302. package/frontend/02-playbooks/react-nextjs-production-playbook.md +167 -0
  303. package/frontend/02-playbooks/react-state-management-playbook.md +173 -0
  304. package/frontend/03-checklists/component-quality-checklist.md +166 -0
  305. package/frontend/03-checklists/frontend-launch-checklist.md +299 -0
  306. package/frontend/04-antipatterns/frontend-antipatterns.md +886 -0
  307. package/frontend/05-cases/case-performance-optimization.md +274 -0
  308. package/harmony/01-standards/harmonyos-arkts-standard.md +75 -0
  309. package/harmony/01-standards/harmonyos-design.md +65 -0
  310. package/high-quality-engineering-playbook.md +54 -0
  311. package/incident/01-standards/incident-response-complete.md +303 -0
  312. package/incident/02-playbooks/chaos-engineering-playbook.md +883 -0
  313. package/incident/02-playbooks/postmortem-playbook.md +398 -0
  314. package/incident/03-checklists/incident-readiness-checklist.md +181 -0
  315. package/incident/04-antipatterns/incident-antipatterns.md +490 -0
  316. package/incident/05-cases/case-cascade-failure.md +176 -0
  317. package/incident/06-glossary/incident-glossary.md +114 -0
  318. package/incident/postmortem-and-response-deep-dive.md +39 -0
  319. package/industries/ecommerce/ecommerce-complete.md +631 -0
  320. package/industries/education/education-complete.md +555 -0
  321. package/industries/fintech/fintech-complete.md +501 -0
  322. package/industries/gaming/gaming-complete.md +587 -0
  323. package/industries/healthcare/healthcare-complete.md +452 -0
  324. package/low-code/01-standards/low-code-complete.md +944 -0
  325. package/miniprogram/01-standards/ai-common-mistakes.md +61 -0
  326. package/miniprogram/01-standards/miniprogram-custom-navbar-capsule.md +77 -0
  327. package/miniprogram/01-standards/miniprogram-design.md +61 -0
  328. package/miniprogram/01-standards/miniprogram-standard.md +81 -0
  329. package/mobile/01-standards/android-material-design.md +70 -0
  330. package/mobile/01-standards/flutter-complete.md +384 -0
  331. package/mobile/01-standards/ios-design-hig.md +78 -0
  332. package/mobile/01-standards/mobile-app-standard.md +85 -0
  333. package/mobile/01-standards/react-native-complete.md +352 -0
  334. package/mobile/02-playbooks/mobile-cross-platform-playbook.md +175 -0
  335. package/mobile/02-playbooks/mobile-performance.md +473 -0
  336. package/mobile/03-checklists/mobile-release-checklist.md +234 -0
  337. package/mobile/04-antipatterns/mobile-antipatterns.md +798 -0
  338. package/mobile/05-cases/case-app-performance.md +500 -0
  339. package/mobile/05-cases/case-app-startup-optimization.md +218 -0
  340. package/mobile/06-glossary/mobile-glossary.md +484 -0
  341. package/observability/01-standards/observability-standards.md +103 -0
  342. package/observability/02-playbooks/prometheus-grafana-playbook.md +135 -0
  343. package/observability/02-playbooks/structured-logging-playbook.md +73 -0
  344. package/observability/03-checklists/observability-checklist.md +54 -0
  345. package/observability/04-antipatterns/observability-antipatterns.md +106 -0
  346. package/operations/01-standards/prometheus-monitoring-complete.md +1578 -0
  347. package/operations/02-playbooks/capacity-planning-playbook.md +620 -0
  348. package/operations/03-checklists/production-launch-checklist.md +365 -0
  349. package/operations/04-antipatterns/operations-antipatterns.md +664 -0
  350. package/operations/05-cases/case-sre-practices.md +581 -0
  351. package/operations/06-glossary/operations-glossary.md +120 -0
  352. package/operations/aiops-anomaly-detection.md +758 -0
  353. package/operations/capacity-planning.md +1061 -0
  354. package/operations/chaos-engineering.md +659 -0
  355. package/operations/incident-command-system.md +38 -0
  356. package/operations/observability-complete.md +442 -0
  357. package/operations/slo-sli-playbook.md +517 -0
  358. package/operations/sre-operations-deep-dive.md +39 -0
  359. package/package.json +8 -0
  360. package/performance/01-standards/performance-and-scalability.md +80 -0
  361. package/performance/01-standards/performance-standards.md +156 -0
  362. package/performance/02-playbooks/query-optimization-playbook.md +103 -0
  363. package/performance/03-checklists/performance-checklist.md +56 -0
  364. package/performance/04-antipatterns/performance-antipatterns.md +146 -0
  365. package/product/01-standards/product-management-complete.md +285 -0
  366. package/product/02-playbooks/feature-launch-playbook.md +207 -0
  367. package/product/02-playbooks/user-research-playbook.md +532 -0
  368. package/product/03-checklists/feature-launch-checklist.md +275 -0
  369. package/product/04-antipatterns/product-antipatterns.md +355 -0
  370. package/product/05-cases/case-mvp-to-scale.md +384 -0
  371. package/product/06-glossary/product-glossary.md +462 -0
  372. package/product/feature-prioritization-framework.md +40 -0
  373. package/product/kpi-and-metric-tree.md +37 -0
  374. package/product/product-discovery-and-prd-deep-dive.md +41 -0
  375. package/quantum/01-standards/quantum-complete.md +1186 -0
  376. package/security/01-standards/api-security-complete.md +511 -0
  377. package/security/01-standards/container-runtime-security.md +574 -0
  378. package/security/01-standards/data-protection-gdpr.md +543 -0
  379. package/security/01-standards/owasp-top10-complete.md +1890 -0
  380. package/security/01-standards/secure-coding-baseline.md +90 -0
  381. package/security/01-standards/supply-chain-security.md +441 -0
  382. package/security/01-standards/web-security-checklist.md +108 -0
  383. package/security/01-standards/zero-trust-architecture.md +521 -0
  384. package/security/02-playbooks/auth-sso-playbook.md +166 -0
  385. package/security/02-playbooks/incident-response-security-playbook.md +588 -0
  386. package/security/02-playbooks/owasp-api-security-playbook.md +129 -0
  387. package/security/02-playbooks/payment-integration-playbook.md +119 -0
  388. package/security/02-playbooks/penetration-testing-playbook.md +517 -0
  389. package/security/03-checklists/security-audit-checklist.md +356 -0
  390. package/security/04-antipatterns/security-coding-antipatterns.md +580 -0
  391. package/security/05-cases/case-log4shell-incident.md +537 -0
  392. package/security/05-cases/case-major-breaches.md +468 -0
  393. package/security/06-glossary/security-glossary.md +212 -0
  394. package/security/compliance-automation.md +993 -0
  395. package/security/container-security.md +680 -0
  396. package/security/devsecops-complete.md +426 -0
  397. package/security/sast-dast-sca.md +775 -0
  398. package/security/secrets-management.md +594 -0
  399. package/security/security-architecture-deep-dive.md +37 -0
  400. package/security/threat-modeling-stride-playbook.md +40 -0
  401. package/seed-templates/auth-system.md +59 -0
  402. package/seed-templates/blog-content.md +94 -0
  403. package/seed-templates/dashboard.md +89 -0
  404. package/seed-templates/docs-site.md +73 -0
  405. package/seed-templates/e-commerce.md +50 -0
  406. package/seed-templates/saas-landing.md +92 -0
  407. package/seed-templates/settings-page.md +51 -0
  408. package/testing/01-standards/test-strategy-and-layering.md +83 -0
  409. package/testing/01-standards/testing-strategy-complete.md +422 -0
  410. package/testing/01-standards/unit-testing-best-practices.md +118 -0
  411. package/testing/02-playbooks/e2e-testing-playbook.md +988 -0
  412. package/testing/02-playbooks/testing-strategy-playbook.md +126 -0
  413. package/testing/03-checklists/test-strategy-checklist.md +208 -0
  414. package/testing/04-antipatterns/testing-antipatterns.md +718 -0
  415. package/testing/05-cases/case-testing-transformation.md +300 -0
  416. package/testing/06-glossary/testing-glossary.md +110 -0
  417. package/testing/risk-based-test-matrix.md +36 -0
  418. package/testing/testing-strategy-deep-dive.md +37 -0
@@ -0,0 +1,422 @@
1
+ ---
2
+ id: testing-strategy-complete
3
+ title: 软件测试策略完整指南
4
+ domain: testing
5
+ category: 01-standards
6
+ difficulty: intermediate
7
+ tags: [complete, mock, playwright, strategy, testing, 单元测试, 概述, 测试]
8
+ quality_score: 70
9
+ last_updated: 2026-06-15
10
+ ---
11
+ # 软件测试策略完整指南
12
+
13
+ ## 概述
14
+
15
+ 软件测试是保证代码质量的核心环节。本指南覆盖测试金字塔、测试类型、测试框架选择、TDD/BDD、Mock 策略和测试最佳实践。
16
+
17
+ ---
18
+
19
+ ## 测试金字塔
20
+
21
+ ```
22
+ / E2E Tests \ (少量, 慢, 贵)
23
+ / Integration \ (适量, 中速)
24
+ / Unit Tests \ (大量, 快, 便宜)
25
+ ```
26
+
27
+ | 层级 | 占比 | 速度 | 成本 | 信心 |
28
+ |------|------|------|------|------|
29
+ | 单元测试 | 70% | 毫秒 | 低 | 低-中 |
30
+ | 集成测试 | 20% | 秒 | 中 | 中-高 |
31
+ | E2E测试 | 10% | 分钟 | 高 | 高 |
32
+
33
+ ---
34
+
35
+ ## 单元测试
36
+
37
+ ### Python (pytest)
38
+
39
+ ```python
40
+ import pytest
41
+ from decimal import Decimal
42
+
43
+ class PricingEngine:
44
+ def calculate_discount(self, price: Decimal, quantity: int) -> Decimal:
45
+ if quantity >= 100:
46
+ return price * Decimal("0.8")
47
+ elif quantity >= 50:
48
+ return price * Decimal("0.9")
49
+ elif quantity >= 10:
50
+ return price * Decimal("0.95")
51
+ return price
52
+
53
+ class TestPricingEngine:
54
+ @pytest.fixture
55
+ def engine(self):
56
+ return PricingEngine()
57
+
58
+ @pytest.mark.parametrize("price,quantity,expected", [
59
+ (Decimal("100"), 1, Decimal("100")),
60
+ (Decimal("100"), 10, Decimal("95")),
61
+ (Decimal("100"), 50, Decimal("90")),
62
+ (Decimal("100"), 100, Decimal("80")),
63
+ (Decimal("0"), 100, Decimal("0")),
64
+ ])
65
+ def test_calculate_discount(self, engine, price, quantity, expected):
66
+ assert engine.calculate_discount(price, quantity) == expected
67
+
68
+ def test_negative_quantity_raises(self, engine):
69
+ with pytest.raises(ValueError):
70
+ engine.calculate_discount(Decimal("100"), -1)
71
+ ```
72
+
73
+ ### JavaScript (Vitest)
74
+
75
+ ```javascript
76
+ import { describe, it, expect, vi, beforeEach } from 'vitest';
77
+
78
+ class UserService {
79
+ constructor(userRepo, emailService) {
80
+ this.userRepo = userRepo;
81
+ this.emailService = emailService;
82
+ }
83
+
84
+ async createUser(name, email) {
85
+ const existing = await this.userRepo.findByEmail(email);
86
+ if (existing) throw new Error('Email already exists');
87
+ const user = await this.userRepo.create({ name, email });
88
+ await this.emailService.sendWelcome(email);
89
+ return user;
90
+ }
91
+ }
92
+
93
+ describe('UserService', () => {
94
+ let service, mockRepo, mockEmail;
95
+
96
+ beforeEach(() => {
97
+ mockRepo = {
98
+ findByEmail: vi.fn(),
99
+ create: vi.fn(),
100
+ };
101
+ mockEmail = { sendWelcome: vi.fn() };
102
+ service = new UserService(mockRepo, mockEmail);
103
+ });
104
+
105
+ it('creates user and sends welcome email', async () => {
106
+ mockRepo.findByEmail.mockResolvedValue(null);
107
+ mockRepo.create.mockResolvedValue({ id: 1, name: 'Alice', email: 'a@b.com' });
108
+
109
+ const user = await service.createUser('Alice', 'a@b.com');
110
+
111
+ expect(user.name).toBe('Alice');
112
+ expect(mockRepo.create).toHaveBeenCalledWith({ name: 'Alice', email: 'a@b.com' });
113
+ expect(mockEmail.sendWelcome).toHaveBeenCalledWith('a@b.com');
114
+ });
115
+
116
+ it('rejects duplicate email', async () => {
117
+ mockRepo.findByEmail.mockResolvedValue({ id: 1 });
118
+
119
+ await expect(service.createUser('Bob', 'a@b.com'))
120
+ .rejects.toThrow('Email already exists');
121
+ expect(mockRepo.create).not.toHaveBeenCalled();
122
+ });
123
+ });
124
+ ```
125
+
126
+ ---
127
+
128
+ ## 集成测试
129
+
130
+ ### API 集成测试 (Python + FastAPI)
131
+
132
+ ```python
133
+ import pytest
134
+ from httpx import AsyncClient
135
+ from app.main import app
136
+ from app.database import get_test_db
137
+
138
+ @pytest.fixture
139
+ async def client():
140
+ async with AsyncClient(app=app, base_url="http://test") as ac:
141
+ yield ac
142
+
143
+ @pytest.mark.asyncio
144
+ async def test_create_and_get_user(client):
145
+ # 创建用户
146
+ response = await client.post("/api/users", json={
147
+ "name": "Alice",
148
+ "email": "alice@test.com"
149
+ })
150
+ assert response.status_code == 201
151
+ user_id = response.json()["id"]
152
+
153
+ # 获取用户
154
+ response = await client.get(f"/api/users/{user_id}")
155
+ assert response.status_code == 200
156
+ assert response.json()["name"] == "Alice"
157
+
158
+ @pytest.mark.asyncio
159
+ async def test_duplicate_email_returns_409(client):
160
+ await client.post("/api/users", json={"name": "A", "email": "dup@test.com"})
161
+ response = await client.post("/api/users", json={"name": "B", "email": "dup@test.com"})
162
+ assert response.status_code == 409
163
+ ```
164
+
165
+ ### 数据库集成测试
166
+
167
+ ```python
168
+ import pytest
169
+ from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession
170
+
171
+ @pytest.fixture(scope="session")
172
+ async def engine():
173
+ engine = create_async_engine("sqlite+aiosqlite:///:memory:")
174
+ async with engine.begin() as conn:
175
+ await conn.run_sync(Base.metadata.create_all)
176
+ yield engine
177
+ await engine.dispose()
178
+
179
+ @pytest.fixture
180
+ async def db_session(engine):
181
+ async with AsyncSession(engine) as session:
182
+ async with session.begin():
183
+ yield session
184
+ await session.rollback() # 每个测试后回滚
185
+
186
+ @pytest.mark.asyncio
187
+ async def test_order_creation(db_session):
188
+ repo = OrderRepository(db_session)
189
+ order = await repo.create(user_id=1, items=[
190
+ {"sku": "ITEM-1", "qty": 2, "price": 29.99}
191
+ ])
192
+ assert order.id is not None
193
+ assert order.total == 59.98
194
+ ```
195
+
196
+ ---
197
+
198
+ ## E2E 测试 (Playwright)
199
+
200
+ ```python
201
+ import pytest
202
+ from playwright.sync_api import Page, expect
203
+
204
+ def test_user_login_flow(page: Page):
205
+ page.goto("http://localhost:3000/login")
206
+
207
+ # 填写登录表单
208
+ page.fill("[data-testid=email]", "user@test.com")
209
+ page.fill("[data-testid=password]", "password123")
210
+ page.click("[data-testid=submit]")
211
+
212
+ # 验证跳转到仪表盘
213
+ expect(page).to_have_url("http://localhost:3000/dashboard")
214
+ expect(page.locator("[data-testid=welcome]")).to_contain_text("Welcome")
215
+
216
+ def test_create_order(page: Page):
217
+ # 登录
218
+ login(page, "user@test.com", "password123")
219
+
220
+ # 添加商品
221
+ page.goto("http://localhost:3000/products")
222
+ page.click("[data-testid=add-to-cart-ITEM1]")
223
+ page.click("[data-testid=add-to-cart-ITEM2]")
224
+
225
+ # 结算
226
+ page.click("[data-testid=cart-icon]")
227
+ expect(page.locator("[data-testid=cart-count]")).to_have_text("2")
228
+ page.click("[data-testid=checkout]")
229
+
230
+ # 验证订单创建
231
+ expect(page.locator("[data-testid=order-confirmation]")).to_be_visible()
232
+ ```
233
+
234
+ ---
235
+
236
+ ## Mock 策略
237
+
238
+ ### 何时 Mock
239
+
240
+ ✅ **应该 Mock**:
241
+ - 外部 API 调用(支付网关、第三方服务)
242
+ - 发送邮件/短信
243
+ - 文件系统 I/O(在单元测试中)
244
+ - 当前时间(`datetime.now()`)
245
+ - 随机数
246
+
247
+ ❌ **不应该 Mock**:
248
+ - 数据库(集成测试中应使用真实数据库)
249
+ - 被测对象的内部方法
250
+ - 简单的值对象和数据类
251
+
252
+ ### Python Mock 示例
253
+
254
+ ```python
255
+ from unittest.mock import AsyncMock, patch, MagicMock
256
+ from datetime import datetime
257
+
258
+ @pytest.mark.asyncio
259
+ async def test_send_reminder():
260
+ email_service = AsyncMock()
261
+ email_service.send.return_value = True
262
+
263
+ with patch("app.services.datetime") as mock_dt:
264
+ mock_dt.now.return_value = datetime(2026, 3, 28, 10, 0)
265
+
266
+ reminder_service = ReminderService(email_service)
267
+ await reminder_service.send_daily_reminders()
268
+
269
+ email_service.send.assert_called()
270
+ assert email_service.send.call_count == 3
271
+ ```
272
+
273
+ ---
274
+
275
+ ## TDD 工作流
276
+
277
+ ```
278
+ 1. RED: 写一个失败的测试
279
+ 2. GREEN: 写最少的代码让测试通过
280
+ 3. REFACTOR: 重构代码,保持测试通过
281
+
282
+ 重复以上循环
283
+ ```
284
+
285
+ ```python
286
+ # Step 1: RED - 写测试
287
+ def test_password_validator():
288
+ validator = PasswordValidator()
289
+ assert validator.validate("Abc123!@") == True
290
+ assert validator.validate("short") == False
291
+ assert validator.validate("nouppercase1!") == False
292
+
293
+ # Step 2: GREEN - 最小实现
294
+ class PasswordValidator:
295
+ def validate(self, password: str) -> bool:
296
+ if len(password) < 8:
297
+ return False
298
+ if not any(c.isupper() for c in password):
299
+ return False
300
+ if not any(c.isdigit() for c in password):
301
+ return False
302
+ if not any(c in "!@#$%^&*" for c in password):
303
+ return False
304
+ return True
305
+
306
+ # Step 3: REFACTOR
307
+ class PasswordValidator:
308
+ RULES = [
309
+ (lambda p: len(p) >= 8, "至少8个字符"),
310
+ (lambda p: any(c.isupper() for c in p), "至少一个大写字母"),
311
+ (lambda p: any(c.isdigit() for c in p), "至少一个数字"),
312
+ (lambda p: any(c in "!@#$%^&*" for c in p), "至少一个特殊字符"),
313
+ ]
314
+
315
+ def validate(self, password: str) -> bool:
316
+ return all(rule(password) for rule, _ in self.RULES)
317
+
318
+ def get_errors(self, password: str) -> list[str]:
319
+ return [msg for rule, msg in self.RULES if not rule(password)]
320
+ ```
321
+
322
+ ---
323
+
324
+ ## 测试覆盖率
325
+
326
+ ```bash
327
+ # Python
328
+ pytest --cov=src --cov-report=term-missing --cov-report=html
329
+ # 目标: 语句覆盖率 >= 80%, 分支覆盖率 >= 70%
330
+
331
+ # JavaScript
332
+ vitest --coverage
333
+ # 或
334
+ jest --coverage --coverageThreshold='{"global":{"branches":70,"lines":80}}'
335
+ ```
336
+
337
+ ### 覆盖率陷阱
338
+
339
+ ❌ **不要追求 100% 覆盖率** — 投入产出比递减
340
+ ✅ **关注关键路径** — 业务逻辑、错误处理、边界条件
341
+ ✅ **分支覆盖率比行覆盖率更重要**
342
+
343
+ ---
344
+
345
+ ## 常见反模式
346
+
347
+ ### 1. 测试实现而非行为
348
+ ```python
349
+ # ❌ 测试实现细节
350
+ def test_uses_redis_cache():
351
+ service.get_user(1)
352
+ mock_redis.get.assert_called_with("user:1") # 耦合实现
353
+
354
+ # ✅ 测试行为
355
+ def test_returns_user_data():
356
+ user = service.get_user(1)
357
+ assert user.name == "Alice"
358
+ ```
359
+
360
+ ### 2. 过度 Mock
361
+ ```python
362
+ # ❌ Mock 一切
363
+ def test_process_order():
364
+ mock_validator = Mock()
365
+ mock_calculator = Mock()
366
+ mock_repo = Mock()
367
+ # 测试只验证了 Mock 的调用,没有测试真正的逻辑
368
+
369
+ # ✅ 只 Mock 外部依赖
370
+ def test_process_order():
371
+ mock_payment = Mock()
372
+ service = OrderService(payment=mock_payment)
373
+ order = service.process(items=[...])
374
+ assert order.total == 99.99
375
+ ```
376
+
377
+ ### 3. 不稳定的测试 (Flaky Tests)
378
+ ```python
379
+ # ❌ 依赖时间
380
+ def test_token_expiry():
381
+ token = create_token(expires_in=1)
382
+ time.sleep(2)
383
+ assert token.is_expired() # 不稳定!
384
+
385
+ # ✅ 注入时间
386
+ def test_token_expiry():
387
+ clock = FakeClock(datetime(2026, 3, 28, 12, 0))
388
+ token = create_token(expires_at=datetime(2026, 3, 28, 11, 0), clock=clock)
389
+ assert token.is_expired()
390
+ ```
391
+
392
+ ---
393
+
394
+ ## Agent Checklist
395
+
396
+ Agent 在编写测试时必须检查:
397
+
398
+ - [ ] 是否遵循测试金字塔(单元70% > 集成20% > E2E10%)?
399
+ - [ ] 单元测试是否只测试行为而非实现?
400
+ - [ ] 是否只 Mock 外部依赖(API/邮件/文件系统)?
401
+ - [ ] 数据库测试是否使用事务回滚保证隔离?
402
+ - [ ] 是否覆盖了边界条件和错误路径?
403
+ - [ ] 测试是否可以独立运行(不依赖执行顺序)?
404
+ - [ ] 是否有清晰的 Arrange-Act-Assert 结构?
405
+ - [ ] CI 中是否配置了覆盖率阈值?
406
+ - [ ] 是否有 E2E 测试覆盖核心用户流程?
407
+ - [ ] 是否避免了 Flaky Tests(依赖时间/网络/顺序)?
408
+
409
+ ---
410
+
411
+ ## 参考资料
412
+
413
+ - [Testing Library Guiding Principles](https://testing-library.com/docs/guiding-principles)
414
+ - [pytest 官方文档](https://docs.pytest.org/)
415
+ - [Playwright 官方文档](https://playwright.dev/)
416
+ - [Martin Fowler - Test Pyramid](https://martinfowler.com/bliki/TestPyramid.html)
417
+
418
+ ---
419
+
420
+ **文档版本**: v1.0
421
+ **最后更新**: 2026-03-28
422
+ **质量评分**: 89/100
@@ -0,0 +1,118 @@
1
+ ---
2
+ id: unit-testing-best-practices
3
+ title: 单元测试最佳实践完全指南
4
+ domain: testing
5
+ category: 01-standards
6
+ difficulty: intermediate
7
+ tags: [testing, unit-test, tdd, best-practices]
8
+ quality_score: 92
9
+ maintainer: testing-team@umadev.com
10
+ last_updated: 2026-03-29
11
+ ---
12
+
13
+ # 单元测试最佳实践完全指南
14
+
15
+ ## 核心原则
16
+
17
+ ### 1. 测试金字塔
18
+ - **单元测试**: 70% - 快速,隔离,低成本
19
+ - **集成测试**: 20% - 中速,多组件
20
+ - **E2E测试**: 10% - 慢速,完整流程
21
+
22
+ ### 2. FIRST 原则
23
+ - **Fast**: 毫秒级执行
24
+ - **Isolated**: 隔离依赖
25
+ - **Repeatable**: 结果稳定
26
+ - **Self-validating**: 自动验证
27
+
28
+ ### 3. AAA 模式
29
+ ```python
30
+ def test_user_creation():
31
+ # Arrange
32
+ user_data = {"name": "Alice", "email": "alice@example.com"}
33
+ mock_db = Mock()
34
+
35
+ # Act
36
+ result = create_user(user_data, mock_db)
37
+
38
+ # Assert
39
+ assert result.id is not None
40
+ assert result.email == "alice@example.com"
41
+ mock_db.insert.assert_called_once()
42
+ ```
43
+
44
+ ## 实战示例 (Python/pytest)
45
+
46
+ ```python
47
+ import pytest
48
+ from unittest.mock import Mock, patch
49
+
50
+ class TestUserService:
51
+ @pytest.fixture
52
+ def mock_db(self):
53
+ return Mock()
54
+
55
+ @pytest.fixture
56
+ def user_service(self, mock_db):
57
+ return UserService(mock_db)
58
+
59
+ def test_create_user_success(self, user_service):
60
+ # Arrange
61
+ user_data = {
62
+ "email": "test@example.com",
63
+ "name": "Test User"
64
+ }
65
+
66
+ # Act
67
+ result = user_service.create(user_data)
68
+
69
+ # Assert
70
+ assert result.id is not None
71
+ assert result.email == "test@example.com"
72
+
73
+ def test_create_user_invalid_email(self, user_service):
74
+ # Arrange
75
+ user_data = {"email": "invalid", "name": "Test"}
76
+
77
+ # Act & Assert
78
+ with pytest.raises(ValidationError):
79
+ user_service.create(user_data)
80
+
81
+ @patch('services.email.send')
82
+ def test_send_welcome_email(self, mock_send, user_service):
83
+ # Arrange
84
+ user = User(id=1, email="test@example.com")
85
+
86
+ # Act
87
+ user_service.send_welcome(user)
88
+
89
+ # Assert
90
+ mock_send.assert_called_once_with(
91
+ to="test@example.com",
92
+ subject="Welcome!"
93
+ )
94
+
95
+ # 参数化测试
96
+ @pytest.mark.parametrize("email,expected", [
97
+ ("test@example.com", True),
98
+ ("invalid", False),
99
+ ("", False),
100
+ ])
101
+ def test_validate_email(email, expected):
102
+ assert validate_email(email) == expected
103
+ ```
104
+
105
+ ## 最佳实践
106
+
107
+ ### ✅ DO
108
+ - 测试边界条件
109
+ - Mock 外部依赖
110
+ - 描述性测试名
111
+ - 一个测试一个断言类型
112
+ - 快速反馈循环
113
+
114
+ ### ❌ DON'T
115
+ - 测试实现细节
116
+ - 过度 Mock
117
+ - 忽略异步错误
118
+ - 硬编码测试数据