@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,119 @@
1
+ ---
2
+ id: frontend-architecture-and-layering
3
+ title: 前端架构与分层标准(商业级前端必读)
4
+ domain: frontend
5
+ category: 01-standards
6
+ difficulty: intermediate
7
+ tags: [前端架构, 分层, 分包, feature-based, feature-sliced, api层, 状态管理, 业务逻辑, container-presentational, react, vue, 商业级]
8
+ quality_score: 95
9
+ last_updated: 2026-06-19
10
+ ---
11
+
12
+ # 前端架构与分层标准(商业级前端必读)
13
+
14
+ > 框架无关(React / Vue / Svelte 通用)的硬性结构标准。商业级前端不是"把组件堆出来能跑",而是**按功能分包、关注点分层、业务逻辑不写在 JSX/模板里、数据访问统一隔离**。写页面前先定骨架,再填实现。组件里裸 `fetch`、业务逻辑塞进 JSX、把所有东西丢进 `utils/`,都是不合格的。
15
+
16
+ ## 0. 一句话原则
17
+
18
+ **按 feature 组织代码(features not folders),关注点分层,依赖向内:UI 依赖逻辑、逻辑不依赖 UI;网络/存储是可替换外设。**
19
+
20
+ ## 1. 分层模型与职责
21
+
22
+ ```
23
+ 路由/页面 Page ─▶ 容器组件 Container ─▶ 展示组件 Presentational(dumb, 纯 props→UI)
24
+
25
+ ├─▶ 状态层 State (server-cache / app-state / ui-state)
26
+ ├─▶ 领域逻辑层 Domain (纯函数/hooks,计算、校验、派生)
27
+ └─▶ 数据访问层 API (typed client,唯一出口)──▶ 后端
28
+ ```
29
+
30
+ - **展示组件(Presentational / dumb)**:只接收 props、渲染、向上抛事件;无副作用、不取数、可复用、好测。
31
+ - **容器/特性组件(Container)**:组合展示组件,连接状态与数据访问,编排交互。
32
+ - **状态层**:见 §2 三类状态分治。
33
+ - **领域逻辑层**:纯函数 + 自定义 hook,承载计算/校验/派生/格式化——**不要写在 JSX 里**。
34
+ - **数据访问层(API)**:与后端通信的**唯一**出口;组件/状态层通过它取数,绝不在组件里裸 `fetch`/`axios`。
35
+
36
+ ## 2. 状态分三类,别混(关键)
37
+
38
+ 商业前端 80% 的混乱来自把三种状态混在一起。明确分治:
39
+
40
+ | 状态类型 | 是什么 | 用什么 |
41
+ |---|---|---|
42
+ | **服务端缓存状态** | 来自后端、需要缓存/失效/重取的数据 | React Query / SWR / TanStack Query(Vue 用 `@tanstack/vue-query`、Pinia colada) |
43
+ | **应用全局状态** | 跨页面的客户端状态(登录态、主题、购物车草稿) | Zustand / Redux Toolkit(Vue 用 Pinia)|
44
+ | **UI 局部状态** | 仅本组件的开关/输入/hover | `useState` / `ref` / signals |
45
+
46
+ - **不要**把服务端数据塞进 Redux/Zustand 手动维护——用 React Query 管缓存/loading/error/重试。
47
+ - **不要**把只属于一个组件的开关提升到全局 store。
48
+ - 全局 store 只放"真正跨组件共享且非服务端"的状态。
49
+
50
+ ## 3. 数据访问层(API 层)隔离
51
+
52
+ - 组件/页面**禁止**出现裸 `fetch` / `axios`;所有请求经过 **typed API client**。
53
+ - 每个 feature 有自己的 `api/` 模块,导出类型化的请求函数(`getOrders(): Promise<OrderDTO[]>`)。
54
+ - 前后端契约对齐:请求/响应类型与后端 DTO/OpenAPI 一致;路径集中为常量,不散落字符串。
55
+ - 每个数据请求处理 **loading / error / empty** 三态;错误统一拦截(401 跳登录、5xx 提示、网络错误重试)。
56
+ - 鉴权 header、baseURL、超时、重试在 client 层统一配置一次。
57
+
58
+ ## 4. 业务逻辑放哪
59
+
60
+ - 计算/派生/校验/格式化 → **纯函数或自定义 hook**(`useCart()`、`formatMoney()`),可独立单测。
61
+ - JSX/模板里只放"声明式渲染 + 简单条件",不写复杂分支与副作用。
62
+ - 副作用(订阅、定时器、取数)放进 hook 并做好清理(cleanup)。
63
+
64
+ ## 5. 分包:feature-based(按功能,不按类型)
65
+
66
+ **默认按功能分包。** 不要建 `components/`、`hooks/`、`services/` 三个大筐把全项目同类堆一起(改一个需求要翻三处)。`utils/` 不是垃圾场——和计费相关的 helper 就放进 `billing/`。清晰的文件名本身就是架构。
67
+
68
+ ```
69
+ src/
70
+ ├─ app/ # 应用装配:路由、providers、全局布局、入口
71
+ ├─ features/ # 按功能(业务域)分包 ← 推荐
72
+ │ ├─ orders/
73
+ │ │ ├─ api/ # orders.api.ts(typed 请求,唯一出口)
74
+ │ │ ├─ components/ # 该 feature 的展示/容器组件
75
+ │ │ ├─ hooks/ # useOrders, useCancelOrder(业务逻辑)
76
+ │ │ ├─ stores/ # 该 feature 的局部全局状态(如需)
77
+ │ │ ├─ types.ts # DTO/视图模型类型
78
+ │ │ └─ index.ts # 该 feature 对外的公开 API(barrel)
79
+ │ ├─ checkout/
80
+ │ └─ auth/
81
+ ├─ shared/ # 跨 feature 复用:ui-kit(Button/Input)、lib、hooks、api-client
82
+ └─ pages|routes/ # 路由到 feature 的薄装配层(Next.js 用 app/)
83
+ ```
84
+
85
+ - 跨 feature 只通过对方 `index.ts` 暴露的公开 API 引用,**禁止深层 import** 对方内部文件。
86
+ - `shared/ui-kit` 放无业务的纯展示组件(设计系统落地);有业务的组件留在各 feature。
87
+ - 中型项目(5–20 人)可用 feature + 类型的混合,但 feature 边界优先。
88
+
89
+ ## 6. 组件与可访问性规范
90
+
91
+ - 容器/展示分离:取数与状态在容器,纯渲染在展示组件。
92
+ - props 全部 TypeScript 类型化,不用 `any`;表单受控、有校验与错误提示。
93
+ - 可访问性(a11y):语义化标签、`aria-*`、键盘可达、焦点管理、对比度达标。
94
+ - 列表渲染稳定 `key`;`useEffect` 依赖正确并清理;不在渲染期做副作用或改 state。
95
+ - 图标来自声明的图标库(Lucide/Heroicons/Tabler),**不用 emoji 当功能图标**;颜色走设计 token,不硬编码 hex。
96
+
97
+ ## 7. 常见反模式(出现即不合格)
98
+
99
+ - 组件里裸 `fetch`/`axios`,没有 API 层。
100
+ - 用 Redux/Zustand 手动管服务端数据(该用 React Query)。
101
+ - 业务逻辑、复杂分支、副作用写在 JSX/模板里。
102
+ - 按类型分包(components/services/hooks 三大筐),feature 散落各处。
103
+ - `utils/` 变成什么都往里塞的垃圾场。
104
+ - 跨 feature 深层 import 对方内部文件,耦合成一团。
105
+ - 巨型组件(几百行、又取数又渲染又算逻辑)。
106
+ - 不处理 loading/error/empty 三态,只画 happy path。
107
+
108
+ ## 8. 最低交付标准(写完后自检 checklist)
109
+
110
+ - [ ] 按 feature 分包,每个 feature 自带 api/components/hooks/types,对外只经 index 暴露。
111
+ - [ ] 所有网络请求走 typed API 层,组件内无裸 fetch;路径集中常量、与后端契约一致。
112
+ - [ ] 三类状态分治:服务端数据用 React Query/SWR,全局态用 store,UI 态用本地。
113
+ - [ ] 业务逻辑在纯函数/hook,JSX 只做声明式渲染。
114
+ - [ ] 每个数据视图处理 loading/error/empty 三态;错误统一拦截。
115
+ - [ ] 容器/展示分离;props 类型化;a11y 与设计 token 达标;无 emoji 图标、无硬编码颜色。
116
+ - [ ] 跨 feature 不深层 import;shared 只放无业务的复用件。
117
+
118
+ ---
119
+ **参考(commercial-grade 前端共识)**:Feature-Sliced Design、Bulletproof React(feature-based)、Clean Architecture(依赖向内、业务逻辑居核心)、TanStack Query(服务端缓存分治)。
@@ -0,0 +1,65 @@
1
+ ---
2
+ id: i18n-and-localization
3
+ title: 国际化与本地化标准(i18n/l10n · 商业级)
4
+ domain: frontend
5
+ category: 01-standards
6
+ difficulty: intermediate
7
+ tags: [国际化, i18n, 本地化, l10n, 多语言, 翻译, locale, 时区, 货币, rtl, 复数, 商业级]
8
+ quality_score: 92
9
+ last_updated: 2026-06-19
10
+ ---
11
+
12
+ # 国际化与本地化标准(i18n/l10n · 商业级)
13
+
14
+ > 面向多地区/多语言的商业产品必须从一开始就做 i18n——事后补改代价极大(文案散落代码、硬编码格式)。即使先只做一种语言,也要用 i18n 框架预留。
15
+
16
+ ## 1. 文案外置(绝不硬编码)
17
+
18
+ - **所有用户可见文案走翻译 key**(`t('order.placed')`),绝不在 JSX/模板里写死字符串。
19
+ - 用成熟 i18n 库(react-i18next / vue-i18n / FormatJS / next-intl);翻译资源按 locale 分文件管理。
20
+ - key 命名有层级语义(`auth.login.title`),便于维护与翻译协作。
21
+ - 翻译缺失有 fallback(回退默认语言)+ 可检测缺失 key。
22
+
23
+ ## 2. 复数、性别、插值
24
+
25
+ - **复数**用框架的 plural 规则(`{{count}} item / items`),不要自己 `if count===1`——各语言复数规则不同。
26
+ - 变量插值用框架机制(`t('greeting', {{name}})`),不要字符串拼接(语序各语言不同)。
27
+ - 避免把句子拆成多段拼接(不同语言语序不同会拼错)。
28
+
29
+ ## 3. 格式本地化(按 locale,不硬编码)
30
+
31
+ - **日期/时间**:用 `Intl.DateTimeFormat` 按 locale + 用户时区格式化;存储用 UTC,展示转本地时区。
32
+ - **数字/货币**:用 `Intl.NumberFormat`,货币带币种符号与正确分隔符;金额仍用最小单位整数存。
33
+ - **相对时间**("3 小时前")用 `Intl.RelativeTimeFormat`。
34
+ - 不要硬编码 `MM/DD/YYYY` 或 `$` 这类地区相关格式。
35
+
36
+ ## 4. RTL 与布局
37
+
38
+ - 支持从右到左语言(阿拉伯/希伯来)时,用逻辑属性(`margin-inline-start` 而非 `margin-left`)、`dir` 属性,避免布局镜像出错。
39
+ - 文案长度因语言差异大(德语长、中文短),布局要弹性,别按某语言写死宽度。
40
+
41
+ ## 5. 后端与内容
42
+
43
+ - 后端错误信息/邮件/通知也要可本地化(按用户 locale 选模板)。
44
+ - API 返回可本地化字段时,按 `Accept-Language`/用户偏好返回,或返回 key 让前端译。
45
+ - locale 检测:用户偏好 > URL/子域 > `Accept-Language` > 默认;用户可手动切换并持久化。
46
+ - SEO:多语言用 `hreflang`、独立 URL(路径或子域)。
47
+
48
+ ## 6. 反模式(出现即不合格)
49
+
50
+ - 文案硬编码在代码里;事后才想做多语言。
51
+ - 自己写复数/性别逻辑;字符串拼接造句。
52
+ - 硬编码日期/货币/数字格式;展示用服务器时区而非用户时区。
53
+ - RTL 用物理方向属性导致镜像错乱;布局按单一语言长度写死。
54
+ - 后端邮件/错误不可本地化。
55
+
56
+ ## 7. 最低交付 checklist
57
+
58
+ - [ ] 所有文案走 i18n key,用成熟库,资源按 locale 管理,缺失有 fallback。
59
+ - [ ] 复数/插值用框架机制,不拼接造句。
60
+ - [ ] 日期/数字/货币用 Intl 按 locale + 用户时区;存 UTC/最小单位。
61
+ - [ ] 需要时支持 RTL(逻辑属性)+ 弹性布局容纳文案长度差异。
62
+ - [ ] locale 检测+切换持久化;后端邮件/通知可本地化;多语言 SEO(hreflang)。
63
+
64
+ ---
65
+ **参考**:ICU MessageFormat、`Intl` API、react-i18next/vue-i18n、CLDR 复数规则、RTL 逻辑属性、hreflang。
@@ -0,0 +1,451 @@
1
+ ---
2
+ id: nextjs-complete
3
+ title: Next.js 完整指南
4
+ domain: frontend
5
+ category: 01-standards
6
+ difficulty: intermediate
7
+ tags: [complete, components, frontend, middleware, nextjs, react, router, server]
8
+ quality_score: 70
9
+ last_updated: 2026-06-15
10
+ ---
11
+ # Next.js 完整指南
12
+
13
+ ## 概述
14
+
15
+ Next.js 是基于 React 的全栈框架,由 Vercel 开发维护。提供文件系统路由、服务端渲染 (SSR)、静态站点生成 (SSG)、增量静态再生成 (ISR)、API Routes、中间件等能力。Next.js 14+ 引入 App Router 和 React Server Components (RSC),从根本上改变了数据获取和组件渲染模型。
16
+
17
+ ### 核心特性
18
+
19
+ - **App Router**: 基于文件系统的嵌套路由,支持 Layout / Loading / Error 等约定文件
20
+ - **React Server Components**: 默认服务端组件,减少客户端 JS 体积
21
+ - **多种渲染策略**: SSR / SSG / ISR / CSR 按页面粒度灵活选择
22
+ - **内置优化**: Image / Font / Script / Metadata 自动优化
23
+ - **Middleware**: 在 Edge Runtime 运行的请求拦截层
24
+ - **Route Handlers**: 替代 API Routes 的服务端端点
25
+ - **Streaming & Suspense**: 流式渲染与渐进式页面加载
26
+
27
+ ---
28
+
29
+ ## App Router 架构
30
+
31
+ ### 目录结构约定
32
+
33
+ ```
34
+ app/
35
+ ├── layout.tsx # 根布局(必须)
36
+ ├── page.tsx # 首页
37
+ ├── loading.tsx # 全局 Loading UI
38
+ ├── error.tsx # 全局 Error UI
39
+ ├── not-found.tsx # 404 页面
40
+ ├── globals.css
41
+ ├── dashboard/
42
+ │ ├── layout.tsx # 嵌套布局
43
+ │ ├── page.tsx # /dashboard
44
+ │ ├── loading.tsx # Dashboard Loading
45
+ │ └── [id]/
46
+ │ └── page.tsx # /dashboard/:id
47
+ ├── api/
48
+ │ └── users/
49
+ │ └── route.ts # API Route Handler
50
+ └── (marketing)/ # Route Group(不影响 URL)
51
+ ├── about/
52
+ │ └── page.tsx
53
+ └── blog/
54
+ └── page.tsx
55
+ ```
56
+
57
+ ### 路由约定文件
58
+
59
+ | 文件 | 作用 | 渲染时机 |
60
+ |------|------|----------|
61
+ | `layout.tsx` | 共享布局,嵌套不重新渲染 | 导航时保持 |
62
+ | `page.tsx` | 页面 UI,使路由可访问 | 每次导航 |
63
+ | `loading.tsx` | Suspense Loading UI | 页面加载时 |
64
+ | `error.tsx` | Error Boundary UI | 出错时 |
65
+ | `not-found.tsx` | 404 UI | 未找到时 |
66
+ | `route.ts` | API 端点 | 请求时 |
67
+ | `template.tsx` | 类似 layout 但每次重新渲染 | 每次导航 |
68
+
69
+ ---
70
+
71
+ ## React Server Components (RSC)
72
+
73
+ ### 服务端组件 vs 客户端组件
74
+
75
+ ```tsx
76
+ // 服务端组件(默认)- 不需要标记
77
+ // 可以直接访问数据库、文件系统、环境变量
78
+ async function ProductList() {
79
+ const products = await db.product.findMany();
80
+ return (
81
+ <ul>
82
+ {products.map(p => (
83
+ <li key={p.id}>{p.name} - ¥{p.price}</li>
84
+ ))}
85
+ </ul>
86
+ );
87
+ }
88
+ ```
89
+
90
+ ```tsx
91
+ // 客户端组件 - 需要 "use client" 标记
92
+ "use client";
93
+
94
+ import { useState } from "react";
95
+
96
+ export function Counter() {
97
+ const [count, setCount] = useState(0);
98
+ return (
99
+ <button onClick={() => setCount(c => c + 1)}>
100
+ Count: {count}
101
+ </button>
102
+ );
103
+ }
104
+ ```
105
+
106
+ ### 何时用服务端 vs 客户端
107
+
108
+ | 场景 | 服务端组件 | 客户端组件 |
109
+ |------|-----------|-----------|
110
+ | 数据获取 | 直接 async/await | useEffect / SWR / React Query |
111
+ | 敏感逻辑(API Key 等) | 安全 | 不安全 |
112
+ | 事件处理(onClick 等) | 不支持 | 支持 |
113
+ | State / Effects | 不支持 | 支持 |
114
+ | 浏览器 API | 不可用 | 可用 |
115
+ | 体积影响 | 零 JS 发送到客户端 | 打包到 bundle |
116
+
117
+ ### 组合模式
118
+
119
+ ```tsx
120
+ // 服务端组件可以嵌套客户端组件
121
+ // app/dashboard/page.tsx (Server)
122
+ import { DashboardChart } from "./DashboardChart"; // Client
123
+ import { getStats } from "@/lib/data";
124
+
125
+ export default async function DashboardPage() {
126
+ const stats = await getStats();
127
+ return (
128
+ <div>
129
+ <h1>Dashboard</h1>
130
+ <p>Total: {stats.total}</p>
131
+ {/* 将服务端数据作为 props 传给客户端组件 */}
132
+ <DashboardChart data={stats.chartData} />
133
+ </div>
134
+ );
135
+ }
136
+ ```
137
+
138
+ ---
139
+
140
+ ## 数据获取
141
+
142
+ ### 服务端数据获取
143
+
144
+ ```tsx
145
+ // 直接在组件中 fetch(自动去重和缓存)
146
+ async function UserProfile({ userId }: { userId: string }) {
147
+ const user = await fetch(`https://api.example.com/users/${userId}`, {
148
+ next: { revalidate: 3600 }, // ISR: 每小时重新验证
149
+ }).then(res => res.json());
150
+
151
+ return <div>{user.name}</div>;
152
+ }
153
+ ```
154
+
155
+ ### 缓存策略
156
+
157
+ ```tsx
158
+ // 静态数据(构建时获取,等同 SSG)
159
+ fetch("https://api.example.com/data", { cache: "force-cache" });
160
+
161
+ // 动态数据(每次请求重新获取,等同 SSR)
162
+ fetch("https://api.example.com/data", { cache: "no-store" });
163
+
164
+ // ISR: 每 60 秒重新验证
165
+ fetch("https://api.example.com/data", { next: { revalidate: 60 } });
166
+ ```
167
+
168
+ ### generateStaticParams
169
+
170
+ ```tsx
171
+ // app/blog/[slug]/page.tsx
172
+ export async function generateStaticParams() {
173
+ const posts = await getAllPosts();
174
+ return posts.map(post => ({ slug: post.slug }));
175
+ }
176
+
177
+ export default async function BlogPost({ params }: { params: { slug: string } }) {
178
+ const post = await getPost(params.slug);
179
+ return <article>{post.content}</article>;
180
+ }
181
+ ```
182
+
183
+ ---
184
+
185
+ ## 中间件 (Middleware)
186
+
187
+ ```typescript
188
+ // middleware.ts(项目根目录)
189
+ import { NextResponse } from "next/server";
190
+ import type { NextRequest } from "next/server";
191
+
192
+ export function middleware(request: NextRequest) {
193
+ // 认证检查
194
+ const token = request.cookies.get("auth-token");
195
+ if (!token && request.nextUrl.pathname.startsWith("/dashboard")) {
196
+ return NextResponse.redirect(new URL("/login", request.url));
197
+ }
198
+
199
+ // 国际化重定向
200
+ const locale = request.headers.get("accept-language")?.split(",")[0] || "en";
201
+ if (request.nextUrl.pathname === "/") {
202
+ return NextResponse.redirect(new URL(`/${locale}`, request.url));
203
+ }
204
+
205
+ // 添加自定义 Header
206
+ const response = NextResponse.next();
207
+ response.headers.set("x-request-id", crypto.randomUUID());
208
+ return response;
209
+ }
210
+
211
+ export const config = {
212
+ matcher: [
213
+ "/((?!api|_next/static|_next/image|favicon.ico).*)",
214
+ ],
215
+ };
216
+ ```
217
+
218
+ ---
219
+
220
+ ## Server Actions
221
+
222
+ ```tsx
223
+ // app/actions.ts
224
+ "use server";
225
+
226
+ import { revalidatePath } from "next/cache";
227
+ import { redirect } from "next/navigation";
228
+
229
+ export async function createPost(formData: FormData) {
230
+ const title = formData.get("title") as string;
231
+ const content = formData.get("content") as string;
232
+
233
+ // 服务端验证
234
+ if (!title || title.length < 3) {
235
+ return { error: "标题至少 3 个字符" };
236
+ }
237
+
238
+ await db.post.create({ data: { title, content } });
239
+ revalidatePath("/blog");
240
+ redirect("/blog");
241
+ }
242
+ ```
243
+
244
+ ```tsx
245
+ // app/blog/new/page.tsx
246
+ import { createPost } from "../actions";
247
+
248
+ export default function NewPost() {
249
+ return (
250
+ <form action={createPost}>
251
+ <input name="title" placeholder="标题" required />
252
+ <textarea name="content" placeholder="内容" required />
253
+ <button type="submit">发布</button>
254
+ </form>
255
+ );
256
+ }
257
+ ```
258
+
259
+ ---
260
+
261
+ ## Route Handlers (API)
262
+
263
+ ```typescript
264
+ // app/api/users/route.ts
265
+ import { NextRequest, NextResponse } from "next/server";
266
+
267
+ export async function GET(request: NextRequest) {
268
+ const searchParams = request.nextUrl.searchParams;
269
+ const page = parseInt(searchParams.get("page") || "1");
270
+ const users = await db.user.findMany({
271
+ skip: (page - 1) * 20,
272
+ take: 20,
273
+ });
274
+ return NextResponse.json({ users, page });
275
+ }
276
+
277
+ export async function POST(request: NextRequest) {
278
+ const body = await request.json();
279
+ const user = await db.user.create({ data: body });
280
+ return NextResponse.json(user, { status: 201 });
281
+ }
282
+ ```
283
+
284
+ ---
285
+
286
+ ## 性能优化
287
+
288
+ ### Image 组件
289
+
290
+ ```tsx
291
+ import Image from "next/image";
292
+
293
+ export function Hero() {
294
+ return (
295
+ <Image
296
+ src="/hero.jpg"
297
+ alt="Hero image"
298
+ width={1200}
299
+ height={600}
300
+ priority // LCP 图片预加载
301
+ placeholder="blur" // 模糊占位
302
+ blurDataURL="..."
303
+ />
304
+ );
305
+ }
306
+ ```
307
+
308
+ ### Font 优化
309
+
310
+ ```tsx
311
+ // app/layout.tsx
312
+ import { Inter, Noto_Sans_SC } from "next/font/google";
313
+
314
+ const inter = Inter({ subsets: ["latin"], variable: "--font-inter" });
315
+ const notoSansSC = Noto_Sans_SC({
316
+ subsets: ["latin"],
317
+ weight: ["400", "500", "700"],
318
+ variable: "--font-noto",
319
+ });
320
+
321
+ export default function RootLayout({ children }: { children: React.ReactNode }) {
322
+ return (
323
+ <html className={`${inter.variable} ${notoSansSC.variable}`}>
324
+ <body>{children}</body>
325
+ </html>
326
+ );
327
+ }
328
+ ```
329
+
330
+ ### Streaming 与 Suspense
331
+
332
+ ```tsx
333
+ import { Suspense } from "react";
334
+
335
+ export default function Dashboard() {
336
+ return (
337
+ <div>
338
+ <h1>Dashboard</h1>
339
+ <Suspense fallback={<ChartSkeleton />}>
340
+ <RevenueChart />
341
+ </Suspense>
342
+ <Suspense fallback={<TableSkeleton />}>
343
+ <RecentOrders />
344
+ </Suspense>
345
+ </div>
346
+ );
347
+ }
348
+ ```
349
+
350
+ ---
351
+
352
+ ## 部署
353
+
354
+ ### Vercel (推荐)
355
+
356
+ ```bash
357
+ # 自动检测 Next.js 并优化部署
358
+ vercel deploy
359
+ ```
360
+
361
+ ### Docker 自托管
362
+
363
+ ```dockerfile
364
+ FROM node:20-alpine AS base
365
+
366
+ FROM base AS deps
367
+ WORKDIR /app
368
+ COPY package.json pnpm-lock.yaml ./
369
+ RUN corepack enable pnpm && pnpm install --frozen-lockfile
370
+
371
+ FROM base AS builder
372
+ WORKDIR /app
373
+ COPY --from=deps /app/node_modules ./node_modules
374
+ COPY . .
375
+ ENV NEXT_TELEMETRY_DISABLED=1
376
+ RUN npm run build
377
+
378
+ FROM base AS runner
379
+ WORKDIR /app
380
+ ENV NODE_ENV=production
381
+ RUN addgroup --system --gid 1001 nodejs && adduser --system --uid 1001 nextjs
382
+ COPY --from=builder /app/public ./public
383
+ COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
384
+ COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
385
+ USER nextjs
386
+ EXPOSE 3000
387
+ ENV PORT=3000
388
+ CMD ["node", "server.js"]
389
+ ```
390
+
391
+ ### next.config.js 生产配置
392
+
393
+ ```javascript
394
+ /** @type {import('next').NextConfig} */
395
+ const nextConfig = {
396
+ output: "standalone", // Docker 部署需要
397
+ poweredByHeader: false, // 移除 X-Powered-By
398
+ compress: true,
399
+ images: {
400
+ remotePatterns: [
401
+ { protocol: "https", hostname: "cdn.example.com" },
402
+ ],
403
+ },
404
+ headers: async () => [
405
+ {
406
+ source: "/(.*)",
407
+ headers: [
408
+ { key: "X-Frame-Options", value: "DENY" },
409
+ { key: "X-Content-Type-Options", value: "nosniff" },
410
+ { key: "Referrer-Policy", value: "strict-origin-when-cross-origin" },
411
+ ],
412
+ },
413
+ ],
414
+ };
415
+
416
+ module.exports = nextConfig;
417
+ ```
418
+
419
+ ---
420
+
421
+ ## 常见反模式
422
+
423
+ | 反模式 | 问题 | 正确做法 |
424
+ |--------|------|----------|
425
+ | 在服务端组件用 useState | 编译错误 | 拆分为客户端组件 |
426
+ | 在客户端组件直接查数据库 | 安全漏洞 | 通过 API/Server Action |
427
+ | 所有组件标 "use client" | 失去 RSC 优势 | 仅交互组件标记 |
428
+ | 不设 revalidate | 数据永不更新 | 按业务设置过期时间 |
429
+ | 在 Middleware 做重计算 | Edge 超时 | Middleware 只做路由/鉴权 |
430
+ | 不用 Image 组件 | 无自动优化 | 始终用 next/image |
431
+
432
+ ---
433
+
434
+ ## Agent Checklist
435
+
436
+ 在 AI 编码流水线中使用 Next.js 时,必须逐项检查:
437
+
438
+ - [ ] App Router 目录结构遵循约定(layout / page / loading / error)
439
+ - [ ] 组件默认为服务端组件,仅在需要交互/状态时标记 "use client"
440
+ - [ ] 数据获取使用合适的缓存策略(force-cache / no-store / revalidate)
441
+ - [ ] LCP 图片使用 `<Image priority />` 并提供 width/height
442
+ - [ ] 字体使用 next/font 避免布局偏移
443
+ - [ ] Middleware 仅处理路由/鉴权/重定向,不做重计算
444
+ - [ ] Server Actions 包含服务端验证,不信任客户端输入
445
+ - [ ] 使用 Suspense 包裹异步组件实现流式加载
446
+ - [ ] 生产环境配置 output: "standalone"(Docker)或 Vercel 部署
447
+ - [ ] 安全 Header 在 next.config.js 或 Middleware 中统一配置
448
+ - [ ] generateStaticParams 用于高访问量的动态路由
449
+ - [ ] 敏感环境变量不带 NEXT_PUBLIC_ 前缀
450
+ - [ ] 错误边界(error.tsx)覆盖所有关键路由段
451
+ - [ ] metadata 或 generateMetadata 为每个页面提供 SEO 信息