@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,64 @@
1
+ ---
2
+ id: web-framework-best-practices
3
+ title: Web 主流框架最佳实践(React/Next.js/Vue · 官方)
4
+ domain: frontend
5
+ category: 01-standards
6
+ difficulty: intermediate
7
+ tags: [react, next.js, app-router, server-components, rsc, 缓存, 数据获取, vue, composition-api, 响应式, ssr, 性能, 官方, 商业级]
8
+ quality_score: 95
9
+ last_updated: 2026-06-19
10
+ ---
11
+
12
+ # Web 主流框架最佳实践(React/Next.js/Vue · 官方)
13
+
14
+ > 纯 Claude/Codex 写新版框架常踩坑(Next App Router 缓存/RSC 用错、React 不必要重渲染、Vue 响应式失效)。本标准是各框架官方最佳实践要点。
15
+
16
+ ## 1. React(通用)
17
+
18
+ - **Hooks 规则**:只在顶层调用,不在条件/循环里;`useEffect` 依赖完整且做 cleanup;副作用只放 effect,不在渲染期执行。
19
+ - **避免不必要重渲染**:稳定 `key`;`memo`/`useMemo`/`useCallback` 用在真有开销处(别滥用);状态尽量下放/拆分,避免一处 state 触发大树重渲染。
20
+ - **派生数据**用计算而非冗余 state;列表长用虚拟化。
21
+ - 组件单一职责、props 类型化;逻辑抽自定义 hook;展示/容器分离(见前端架构标准)。
22
+
23
+ ## 2. Next.js App Router(官方,最容易写错)
24
+
25
+ - **Server vs Client Components**:默认 **Server Component**(取数、组合、重依赖——减小客户端包);只有需要交互/浏览器 API/`useState`/`useEffect` 时才 `'use client'`,且把 client 边界下推到叶子,别把整页标 client。
26
+ - **数据获取在 Server Component 里直接 `await`**(不必客户端 useEffect 取数);`fetch` 在同一渲染内自动去重(请求记忆化)。
27
+ - **三层缓存要懂**:Data Cache(fetch 结果)/ Full Route Cache(静态 HTML/Flight)/ Router Cache(客户端导航)。控制策略:
28
+ - 实时数据 → `fetch(url, {{ cache: 'no-store' }})`。
29
+ - 可接受短暂陈旧 → `fetch(url, {{ next: {{ revalidate: N }} }})`(ISR 定时再生)。
30
+ - 写后按需失效 → `next: {{ tags: [...] }}` + 写操作里 `revalidateTag()` / `revalidatePath()`。
31
+ - **流式渲染**:用 `loading.js` + `<Suspense>` 边界先出关键 UI、渐进 hydrate;可用 **Partial Prerendering (PPR)** 静态壳 + 动态洞流式。
32
+ - **Server Actions** 处理表单/写操作(带校验+鉴权);Route Handlers 做 API。
33
+ - 不要在 Server Component 里用浏览器 API/事件;不要把密钥泄漏到 client;env 区分 `NEXT_PUBLIC_`。
34
+
35
+ ## 3. Vue 3(官方)
36
+
37
+ - 用 **Composition API + `<script setup>`**;响应式用 `ref`/`reactive`,注意**解构会丢响应式**(用 `toRefs`)。
38
+ - 计算属性 `computed` 缓存派生值;`watch`/`watchEffect` 做副作用并清理;避免在模板里写重逻辑。
39
+ - 状态管理用 **Pinia**(官方推荐);按 feature 组织 store。
40
+ - 性能:`v-for` 必带稳定 `key`;大列表虚拟化;`v-once`/`v-memo` 静态内容;异步组件 + 路由懒加载;避免不必要的深层响应式。
41
+ - SSR/SSG 用 **Nuxt**;注意服务端/客户端 hydration 一致。
42
+
43
+ ## 4. 通用(无论框架)
44
+
45
+ - 数据访问统一走 typed API 层(组件不裸 fetch,见前端架构标准);服务端数据用 React Query/SWR/Vue Query 缓存。
46
+ - 代码分割 + 路由懒加载;图片/字体优化 + CDN;关注 Core Web Vitals(LCP/CLS/INP)。
47
+ - 严格 TS 类型,不用 any;ESLint + Prettier。
48
+
49
+ ## 5. 反模式(出现即不合格)
50
+
51
+ - Next:整页标 `'use client'`、在 client 组件里 useEffect 取本可服务端取的数据、不懂缓存导致数据不更新或永远不缓存、密钥泄漏到 client。
52
+ - React:滥用/漏用 memo、依赖数组错误致 effect 失控、一处大 state 全树重渲染、列表无 key。
53
+ - Vue:解构 reactive 丢响应式、模板写重逻辑、v-for 无 key、不用 computed 重复计算。
54
+ - 通用:组件裸 fetch、用 Redux/手动管服务端缓存、不做代码分割、any 满天飞。
55
+
56
+ ## 6. 最低交付 checklist
57
+
58
+ - [ ] React:Hooks 规则 + effect 依赖/清理 + 合理 memo + 列表 key + 状态拆分。
59
+ - [ ] Next App Router:默认 Server Component、client 边界下推、服务端取数、缓存策略(no-store/revalidate/tags)用对、Suspense 流式、Server Actions 带校验鉴权、不泄密钥。
60
+ - [ ] Vue:Composition API + `<script setup>`、响应式不丢(toRefs)、computed/watch 正确、Pinia、v-for key + 虚拟化。
61
+ - [ ] 通用:统一 API 层 + 服务端数据缓存库 + 代码分割/懒加载 + 资源优化 + Core Web Vitals + 严格 TS。
62
+
63
+ ---
64
+ **参考(官方)**:Next.js 官方文档(App Router/Caching/Fetching/Server Components/PPR)、React 官方(Rules of Hooks/性能)、Vue 3 官方(Composition API/响应式/性能)、Pinia、Nuxt。
@@ -0,0 +1,495 @@
1
+ ---
2
+ id: web-performance-complete
3
+ title: Web 性能优化完整指南
4
+ domain: frontend
5
+ category: 01-standards
6
+ difficulty: intermediate
7
+ tags: [complete, core, frontend, performance, vitals, web, 性能监控, 性能预算]
8
+ quality_score: 70
9
+ last_updated: 2026-06-15
10
+ ---
11
+ # Web 性能优化完整指南
12
+
13
+ ## 概述
14
+
15
+ Web 性能直接影响用户体验、SEO 排名和业务转化率。Google 研究表明页面加载时间每增加 1 秒,转化率下降 7%。本指南覆盖 Core Web Vitals 优化、资源优化、渲染优化和网络优化的完整策略。
16
+
17
+ ---
18
+
19
+ ## Core Web Vitals
20
+
21
+ ### LCP (Largest Contentful Paint)
22
+
23
+ 目标:< 2.5 秒
24
+
25
+ LCP 衡量最大内容元素的渲染时间,通常是 Hero 图片、视频封面或大段文字。
26
+
27
+ **优化策略:**
28
+
29
+ ```html
30
+ <!-- 预加载关键资源 -->
31
+ <link rel="preload" href="/hero.webp" as="image" fetchpriority="high" />
32
+ <link rel="preload" href="/fonts/inter.woff2" as="font" type="font/woff2" crossorigin />
33
+
34
+ <!-- 关键 CSS 内联 -->
35
+ <style>
36
+ /* 首屏关键样式直接内联 */
37
+ .hero { min-height: 60vh; display: flex; align-items: center; }
38
+ </style>
39
+
40
+ <!-- 非关键 CSS 异步加载 -->
41
+ <link rel="stylesheet" href="/styles.css" media="print" onload="this.media='all'" />
42
+ ```
43
+
44
+ ```tsx
45
+ // Next.js / React - LCP 图片优化
46
+ import Image from "next/image";
47
+
48
+ function Hero() {
49
+ return (
50
+ <Image
51
+ src="/hero.webp"
52
+ alt="Hero"
53
+ width={1200}
54
+ height={600}
55
+ priority // 关键:LCP 图片必须 priority
56
+ sizes="100vw"
57
+ placeholder="blur"
58
+ blurDataURL={blurDataUrl}
59
+ />
60
+ );
61
+ }
62
+ ```
63
+
64
+ ### INP (Interaction to Next Paint)
65
+
66
+ 目标:< 200ms
67
+
68
+ INP 衡量整个页面生命周期中最慢交互的响应延迟。
69
+
70
+ ```typescript
71
+ // 拆分长任务,让出主线程
72
+ function processLargeList(items: Item[]) {
73
+ const CHUNK_SIZE = 50;
74
+ let index = 0;
75
+
76
+ function processChunk() {
77
+ const end = Math.min(index + CHUNK_SIZE, items.length);
78
+ for (let i = index; i < end; i++) {
79
+ processItem(items[i]);
80
+ }
81
+ index = end;
82
+ if (index < items.length) {
83
+ // 让出主线程给用户交互
84
+ requestIdleCallback(processChunk);
85
+ }
86
+ }
87
+ processChunk();
88
+ }
89
+
90
+ // React 18: useTransition 降低交互阻塞
91
+ function SearchResults() {
92
+ const [query, setQuery] = useState("");
93
+ const [isPending, startTransition] = useTransition();
94
+
95
+ function handleChange(e: ChangeEvent<HTMLInputElement>) {
96
+ setQuery(e.target.value); // 高优先级:立即更新输入框
97
+ startTransition(() => {
98
+ setFilteredResults(filterItems(e.target.value)); // 低优先级:延迟更新列表
99
+ });
100
+ }
101
+
102
+ return (
103
+ <>
104
+ <input value={query} onChange={handleChange} />
105
+ {isPending ? <Spinner /> : <ResultList items={filteredResults} />}
106
+ </>
107
+ );
108
+ }
109
+ ```
110
+
111
+ ### CLS (Cumulative Layout Shift)
112
+
113
+ 目标:< 0.1
114
+
115
+ CLS 衡量页面视觉稳定性。
116
+
117
+ ```css
118
+ /* 图片/视频预留空间 */
119
+ img, video {
120
+ aspect-ratio: 16/9; /* 现代浏览器 */
121
+ width: 100%;
122
+ height: auto;
123
+ }
124
+
125
+ /* 字体加载防抖动 */
126
+ @font-face {
127
+ font-family: "Inter";
128
+ src: url("/fonts/inter.woff2") format("woff2");
129
+ font-display: swap; /* 或 optional(更激进) */
130
+ size-adjust: 100%;
131
+ ascent-override: 90%;
132
+ descent-override: 22%;
133
+ line-gap-override: 0%;
134
+ }
135
+
136
+ /* 骨架屏占位 */
137
+ .skeleton {
138
+ background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
139
+ background-size: 200% 100%;
140
+ animation: shimmer 1.5s infinite;
141
+ border-radius: 4px;
142
+ }
143
+ ```
144
+
145
+ ---
146
+
147
+ ## 资源优化
148
+
149
+ ### 图片优化
150
+
151
+ ```bash
152
+ # 格式选择优先级
153
+ # 1. AVIF (最小体积,兼容性增长中)
154
+ # 2. WebP (广泛支持)
155
+ # 3. JPEG/PNG (兜底)
156
+ ```
157
+
158
+ ```html
159
+ <picture>
160
+ <source srcset="/hero.avif" type="image/avif" />
161
+ <source srcset="/hero.webp" type="image/webp" />
162
+ <img src="/hero.jpg" alt="Hero" width="1200" height="600" loading="lazy" decoding="async" />
163
+ </picture>
164
+ ```
165
+
166
+ ### JavaScript 优化
167
+
168
+ ```javascript
169
+ // webpack / vite - 代码分割
170
+ // 路由级分割
171
+ const Dashboard = lazy(() => import("./pages/Dashboard"));
172
+ const Settings = lazy(() => import("./pages/Settings"));
173
+
174
+ // 条件加载(仅在需要时引入)
175
+ async function openEditor() {
176
+ const { Editor } = await import("./components/Editor");
177
+ renderEditor(Editor);
178
+ }
179
+
180
+ // Tree Shaking - 使用命名导入
181
+ import { debounce } from "lodash-es"; // 仅打包 debounce
182
+ // 不要: import _ from "lodash"; // 打包整个 lodash
183
+ ```
184
+
185
+ ```javascript
186
+ // vite.config.ts - 手动分块
187
+ export default defineConfig({
188
+ build: {
189
+ rollupOptions: {
190
+ output: {
191
+ manualChunks: {
192
+ vendor: ["react", "react-dom"],
193
+ ui: ["@radix-ui/react-dialog", "@radix-ui/react-dropdown-menu"],
194
+ charts: ["recharts"],
195
+ },
196
+ },
197
+ },
198
+ },
199
+ });
200
+ ```
201
+
202
+ ### CSS 优化
203
+
204
+ ```css
205
+ /* 使用 CSS Layers 管理优先级 */
206
+ @layer base, components, utilities;
207
+
208
+ /* 使用 CSS containment 优化渲染 */
209
+ .card {
210
+ contain: layout style paint; /* 隔离重排范围 */
211
+ content-visibility: auto; /* 离屏内容延迟渲染 */
212
+ contain-intrinsic-size: 200px;
213
+ }
214
+
215
+ /* 使用 will-change 提示浏览器 */
216
+ .animate-slide {
217
+ will-change: transform; /* 仅在动画前设置 */
218
+ transition: transform 0.3s ease;
219
+ }
220
+ ```
221
+
222
+ ### 字体优化
223
+
224
+ ```css
225
+ /* 仅加载需要的字符子集 */
226
+ @font-face {
227
+ font-family: "NotoSansSC";
228
+ src: url("/fonts/NotoSansSC-Regular.woff2") format("woff2");
229
+ font-weight: 400;
230
+ font-display: swap;
231
+ unicode-range: U+4E00-9FFF; /* 仅 CJK 基本区 */
232
+ }
233
+ ```
234
+
235
+ ---
236
+
237
+ ## 渲染优化
238
+
239
+ ### React 渲染优化
240
+
241
+ ```tsx
242
+ // 1. memo 防止不必要重渲染
243
+ const ExpensiveList = memo(function ExpensiveList({ items }: { items: Item[] }) {
244
+ return items.map(item => <ListItem key={item.id} item={item} />);
245
+ });
246
+
247
+ // 2. useMemo 缓存计算结果
248
+ function Dashboard({ data }: { data: DataPoint[] }) {
249
+ const chartData = useMemo(() =>
250
+ data.map(d => ({ x: d.date, y: d.value })).sort((a, b) => a.x - b.x),
251
+ [data]
252
+ );
253
+ return <Chart data={chartData} />;
254
+ }
255
+
256
+ // 3. useCallback 稳定回调引用
257
+ function Parent() {
258
+ const handleClick = useCallback((id: string) => {
259
+ setSelected(id);
260
+ }, []);
261
+ return <ChildList onClick={handleClick} />;
262
+ }
263
+
264
+ // 4. 虚拟列表处理大数据集
265
+ import { useVirtualizer } from "@tanstack/react-virtual";
266
+
267
+ function VirtualList({ items }: { items: Item[] }) {
268
+ const parentRef = useRef<HTMLDivElement>(null);
269
+ const virtualizer = useVirtualizer({
270
+ count: items.length,
271
+ getScrollElement: () => parentRef.current,
272
+ estimateSize: () => 50,
273
+ overscan: 5,
274
+ });
275
+
276
+ return (
277
+ <div ref={parentRef} style={{ height: "400px", overflow: "auto" }}>
278
+ <div style={{ height: `${virtualizer.getTotalSize()}px`, position: "relative" }}>
279
+ {virtualizer.getVirtualItems().map(virtualRow => (
280
+ <div
281
+ key={virtualRow.index}
282
+ style={{
283
+ position: "absolute",
284
+ top: 0,
285
+ transform: `translateY(${virtualRow.start}px)`,
286
+ height: `${virtualRow.size}px`,
287
+ width: "100%",
288
+ }}
289
+ >
290
+ {items[virtualRow.index].name}
291
+ </div>
292
+ ))}
293
+ </div>
294
+ </div>
295
+ );
296
+ }
297
+ ```
298
+
299
+ ### Vue 渲染优化
300
+
301
+ ```vue
302
+ <script setup>
303
+ import { shallowRef, computed } from "vue";
304
+
305
+ // shallowRef 避免深层响应式追踪
306
+ const items = shallowRef<Item[]>([]);
307
+
308
+ // computed 自动缓存
309
+ const sortedItems = computed(() =>
310
+ [...items.value].sort((a, b) => a.name.localeCompare(b.name))
311
+ );
312
+ </script>
313
+
314
+ <template>
315
+ <!-- v-once 静态内容只渲染一次 -->
316
+ <header v-once>
317
+ <h1>{{ title }}</h1>
318
+ </header>
319
+
320
+ <!-- v-memo 条件缓存 -->
321
+ <div v-for="item in items" :key="item.id" v-memo="[item.id, item.updated]">
322
+ {{ item.name }}
323
+ </div>
324
+ </template>
325
+ ```
326
+
327
+ ---
328
+
329
+ ## 网络优化
330
+
331
+ ### HTTP 缓存策略
332
+
333
+ ```nginx
334
+ # Nginx 缓存配置
335
+ # 不可变资源(带 hash 的静态文件)
336
+ location /assets/ {
337
+ expires max;
338
+ add_header Cache-Control "public, max-age=31536000, immutable";
339
+ }
340
+
341
+ # HTML 文件(总是重新验证)
342
+ location / {
343
+ add_header Cache-Control "no-cache, must-revalidate";
344
+ etag on;
345
+ }
346
+
347
+ # API 响应(短期缓存)
348
+ location /api/ {
349
+ add_header Cache-Control "private, max-age=0, must-revalidate";
350
+ }
351
+ ```
352
+
353
+ ### 预加载与预连接
354
+
355
+ ```html
356
+ <!-- DNS 预解析 -->
357
+ <link rel="dns-prefetch" href="//api.example.com" />
358
+
359
+ <!-- 预连接(包含 TLS 握手)-->
360
+ <link rel="preconnect" href="https://cdn.example.com" crossorigin />
361
+
362
+ <!-- 预加载关键路由 -->
363
+ <link rel="prefetch" href="/dashboard" />
364
+
365
+ <!-- 模块预加载 -->
366
+ <link rel="modulepreload" href="/js/dashboard.js" />
367
+ ```
368
+
369
+ ### Service Worker 离线策略
370
+
371
+ ```javascript
372
+ // sw.js - Stale While Revalidate 策略
373
+ self.addEventListener("fetch", (event) => {
374
+ if (event.request.destination === "image") {
375
+ event.respondWith(
376
+ caches.open("images-v1").then(async (cache) => {
377
+ const cached = await cache.match(event.request);
378
+ const fetched = fetch(event.request).then((response) => {
379
+ cache.put(event.request, response.clone());
380
+ return response;
381
+ });
382
+ return cached || fetched;
383
+ })
384
+ );
385
+ }
386
+ });
387
+ ```
388
+
389
+ ---
390
+
391
+ ## 性能监控
392
+
393
+ ### Web Vitals 采集
394
+
395
+ ```typescript
396
+ import { onLCP, onINP, onCLS } from "web-vitals";
397
+
398
+ function sendToAnalytics(metric: Metric) {
399
+ const body = JSON.stringify({
400
+ name: metric.name,
401
+ value: metric.value,
402
+ rating: metric.rating, // "good" | "needs-improvement" | "poor"
403
+ delta: metric.delta,
404
+ id: metric.id,
405
+ url: location.href,
406
+ });
407
+ navigator.sendBeacon("/api/vitals", body);
408
+ }
409
+
410
+ onLCP(sendToAnalytics);
411
+ onINP(sendToAnalytics);
412
+ onCLS(sendToAnalytics);
413
+ ```
414
+
415
+ ### Performance API
416
+
417
+ ```typescript
418
+ // 标记和测量自定义时间段
419
+ performance.mark("data-fetch-start");
420
+ const data = await fetchData();
421
+ performance.mark("data-fetch-end");
422
+ performance.measure("data-fetch", "data-fetch-start", "data-fetch-end");
423
+
424
+ const measure = performance.getEntriesByName("data-fetch")[0];
425
+ console.log(`数据获取耗时: ${measure.duration.toFixed(0)}ms`);
426
+ ```
427
+
428
+ ---
429
+
430
+ ## 性能预算
431
+
432
+ ```json
433
+ {
434
+ "budgets": [
435
+ {
436
+ "resourceType": "script",
437
+ "budget": 300,
438
+ "unit": "KB",
439
+ "action": "error"
440
+ },
441
+ {
442
+ "resourceType": "stylesheet",
443
+ "budget": 100,
444
+ "unit": "KB",
445
+ "action": "warn"
446
+ },
447
+ {
448
+ "metric": "LCP",
449
+ "budget": 2500,
450
+ "unit": "ms",
451
+ "action": "error"
452
+ },
453
+ {
454
+ "metric": "CLS",
455
+ "budget": 0.1,
456
+ "action": "warn"
457
+ }
458
+ ]
459
+ }
460
+ ```
461
+
462
+ ---
463
+
464
+ ## 常见反模式
465
+
466
+ | 反模式 | 影响 | 正确做法 |
467
+ |--------|------|----------|
468
+ | 首屏加载全量 JS | LCP 恶化 | 按路由代码分割 |
469
+ | 大图未压缩 | 带宽浪费 | WebP/AVIF + 响应式尺寸 |
470
+ | 同步第三方脚本 | 阻塞渲染 | async/defer + 延迟加载 |
471
+ | 无限滚动无虚拟化 | 内存泄漏 | 虚拟列表 |
472
+ | CSS-in-JS 运行时开销 | INP 恶化 | 编译时 CSS (Tailwind/vanilla-extract) |
473
+ | 字体全量加载 | FOIT/FOUT | unicode-range + font-display |
474
+ | 忽略 cache header | 重复下载 | 分层缓存策略 |
475
+
476
+ ---
477
+
478
+ ## Agent Checklist
479
+
480
+ 在 AI 编码流水线中优化 Web 性能时,必须逐项检查:
481
+
482
+ - [ ] LCP < 2.5s:首屏关键图片 preload + priority,关键 CSS 内联
483
+ - [ ] INP < 200ms:长任务拆分,useTransition 处理低优先级更新
484
+ - [ ] CLS < 0.1:图片/视频预留空间,字体 font-display: swap
485
+ - [ ] JS 按路由分割,首屏 JS < 300KB (gzip)
486
+ - [ ] 图片使用 WebP/AVIF,设置 width/height,非首屏 loading="lazy"
487
+ - [ ] 第三方脚本 async/defer,非关键脚本延迟到交互后加载
488
+ - [ ] 静态资源带 hash 并设置 immutable 缓存
489
+ - [ ] HTML 设置 no-cache + ETag,确保更新及时
490
+ - [ ] 大列表使用虚拟化 (@tanstack/react-virtual 或类似方案)
491
+ - [ ] 字体子集化并使用 next/font 或 @font-face unicode-range
492
+ - [ ] 部署 gzip/brotli 压缩
493
+ - [ ] 接入 Web Vitals 监控并设置性能预算
494
+ - [ ] 预连接关键第三方域名 (CDN/API)
495
+ - [ ] 开发环境运行 Lighthouse CI 回归检测