@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,74 @@
1
+ ---
2
+ id: accessibility-standard
3
+ title: 无障碍标准(a11y · 商业级 · WCAG)
4
+ domain: frontend
5
+ category: 01-standards
6
+ difficulty: intermediate
7
+ tags: [无障碍, accessibility, a11y, wcag, aria, 键盘, 屏幕阅读器, 对比度, 焦点, 语义化, 商业级]
8
+ quality_score: 92
9
+ last_updated: 2026-06-19
10
+ ---
11
+
12
+ # 无障碍标准(a11y · 商业级 · WCAG)
13
+
14
+ > 无障碍不是可选项——它是商业产品的法律合规要求(ADA/欧盟无障碍法案/信通院)与用户覆盖问题。目标对齐 **WCAG 2.1 AA**。AI 生成的 UI 常忽略 a11y,必须显式要求。
15
+
16
+ ## 1. 语义化 HTML(地基)
17
+
18
+ - 用**语义标签**:`<button>` `<a>` `<nav>` `<main>` `<header>` `<h1-h6>` `<label>` `<table>`,而不是一堆 `<div onClick>`。
19
+ - 标题层级正确(一个 `<h1>`,逐级 h2/h3,不跳级、不为样式滥用)。
20
+ - 列表用 `<ul>/<ol>`,表格数据用 `<table>` + `<th scope>`。
21
+ - 用语义元素就自带键盘/焦点/角色,少写 ARIA。
22
+
23
+ ## 2. 键盘可达
24
+
25
+ - **所有交互都能纯键盘完成**:Tab 顺序合理、可聚焦、可 Enter/Space 触发。
26
+ - 焦点**可见**(清晰 focus ring,不要 `outline:none` 不补替代)。
27
+ - 自定义控件(下拉/弹窗/标签页)实现对应键盘交互(方向键/Esc 关闭/焦点陷阱)。
28
+ - 跳过导航链接(skip to content)便于键盘/屏读用户。
29
+
30
+ ## 3. ARIA(语义不够时才补,别滥用)
31
+
32
+ - 优先语义 HTML;不得已才用 ARIA role/属性。
33
+ - 表单错误 `aria-invalid` + `aria-describedby` 关联错误文本;动态更新用 `aria-live`/`role="alert"`。
34
+ - 弹窗 `role="dialog"` + `aria-modal` + 焦点管理(打开聚焦、关闭归还、焦点陷阱)。
35
+ - 图标按钮要有 `aria-label`;纯装饰图标 `aria-hidden`。
36
+ - **错误 ARIA 比没有更糟**——不确定就用语义 HTML。
37
+
38
+ ## 4. 视觉与对比
39
+
40
+ - 文本对比度 ≥ **4.5:1**(大字 3:1);UI 组件/状态对比 ≥ 3:1。
41
+ - **不只靠颜色**传达信息(错误/状态加图标/文本,照顾色盲)。
42
+ - 支持放大到 200% 不破版;尊重 `prefers-reduced-motion`(减少动画)。
43
+ - 触控目标足够大(≥44px)。
44
+
45
+ ## 5. 图片与媒体
46
+
47
+ - 图片有 `alt`(装饰图 `alt=""`);复杂图表有文字说明。
48
+ - 视频有字幕、音频有文字稿(如适用)。
49
+
50
+ ## 6. 表单 a11y
51
+
52
+ - 每个输入关联 `<label>`(不要只用 placeholder 当标签)。
53
+ - 必填/格式要求明确告知;错误可被屏读播报并定位。
54
+ - 分组用 `<fieldset>/<legend>`。
55
+
56
+ ## 7. 反模式(出现即不合格)
57
+
58
+ - `<div onClick>` 当按钮(不可键盘、无角色);`outline:none` 去掉焦点环不补。
59
+ - 只用颜色表达错误/状态;对比度不达标。
60
+ - placeholder 当 label;图片无 alt;图标按钮无 label。
61
+ - 弹窗无焦点管理;自定义控件不可键盘操作。
62
+ - 滥用/错误 ARIA。
63
+
64
+ ## 8. 最低交付 checklist
65
+
66
+ - [ ] 语义化 HTML(button/a/nav/label/标题层级);少 div onClick。
67
+ - [ ] 全键盘可达 + 可见焦点 + 弹窗焦点管理 + skip link。
68
+ - [ ] 表单 label 关联、错误 aria-invalid/live、图标按钮 aria-label、装饰 aria-hidden。
69
+ - [ ] 对比度 ≥4.5:1、不只靠颜色、支持 200% 缩放、尊重 reduced-motion、触控≥44px。
70
+ - [ ] 图片 alt、复杂内容文字替代。
71
+ - [ ] 用 axe/Lighthouse 自测 a11y。
72
+
73
+ ---
74
+ **参考**:WCAG 2.1 AA、WAI-ARIA Authoring Practices、MDN 无障碍、axe-core/Lighthouse 审计。
@@ -0,0 +1,72 @@
1
+ ---
2
+ id: admin-dashboard-and-crud
3
+ title: 后台管理与 CRUD 系统标准(商业级必读)
4
+ domain: frontend
5
+ category: 01-standards
6
+ difficulty: intermediate
7
+ tags: [后台, admin, 管理系统, crud, 数据表格, 列表, 过滤, 批量操作, rbac, 权限, 审计, 导出, 表单, 商业级]
8
+ quality_score: 93
9
+ last_updated: 2026-06-19
10
+ ---
11
+
12
+ # 后台管理与 CRUD 系统标准(商业级必读)
13
+
14
+ > 绝大多数 B2B/SaaS 都有后台管理系统。它看似简单(增删改查),但商业级要求数据表格、批量操作、权限、审计都做到位——纯底座常做成"能用但很糙"的管理台。
15
+
16
+ ## 1. 数据表格(列表页核心)
17
+
18
+ - **服务端分页 + 排序 + 过滤**(数据量大不能前端全量);分页/过滤参数走后端,列表接口有上限。
19
+ - 列可配置:显隐、排序、固定列、列宽;表头排序、多条件筛选(含日期范围、状态、关键词)。
20
+ - **批量操作**:多选 + 批量删除/导出/改状态,带二次确认与进度;操作幂等。
21
+ - 行内操作(编辑/删除/查看)+ 详情抽屉/页;空态/加载态(骨架)/错误态。
22
+ - 大数据用虚拟滚动;导出大数据走后台异步任务(见后台任务标准)生成下载。
23
+
24
+ ## 2. 表单(增改)
25
+
26
+ - 遵循表单与校验标准(受控/schema/前后端双校验/字段级错误/防重复提交)。
27
+ - 复杂表单分步/分组;关联选择(异步搜索下拉);草稿保存;离开未保存提醒。
28
+ - 创建/编辑复用表单组件;提交成功反馈 + 列表刷新。
29
+
30
+ ## 3. 权限(RBAC,后台必须)
31
+
32
+ - **基于角色的访问控制**:用户-角色-权限;菜单/页面/按钮/数据级权限。
33
+ - **前端隐藏 + 后端强制**:前端按权限隐藏入口提升体验,但**后端必须再校验**(对象级授权,防越权),绝不只靠前端隐藏。
34
+ - 数据范围权限(只能看/改自己部门/自己的数据);超管与普通角色分离。
35
+
36
+ ## 4. 审计与可追溯(商业后台关键)
37
+
38
+ - **操作审计日志**:谁、何时、对什么、做了什么(创建/修改/删除/导出),关键操作留痕可查。
39
+ - 重要数据用**软删除** + 变更历史;敏感操作(改权限/删数据/导出)额外审计 + 必要时二次确认。
40
+ - 导出有权限控制与审计(防数据泄露)。
41
+
42
+ ## 5. 体验与一致性
43
+
44
+ - 统一布局(侧边导航 + 顶部 + 内容区)、统一组件库(Ant Design/Element Plus/Arco 等成熟后台 UI)、一致的交互范式。
45
+ - 面包屑、保留筛选状态(刷新/返回不丢)、可分享的列表 URL(查询参数)。
46
+ - 响应式(至少平板可用);深色可选;大量数据下性能。
47
+ - 用成熟后台框架/脚手架(如 Ant Design Pro)对齐规范,别从零搓。
48
+
49
+ ## 6. 后端配套
50
+
51
+ - CRUD API 遵循 API 规范(资源/状态码/分页/校验/错误信封);列表接口支持过滤/排序/分页参数。
52
+ - 批量/导出走事务 + 幂等 + 异步(大数据);删除软删 + 审计。
53
+ - 权限在服务层强制(对象级+数据范围);审计日志统一切面记录。
54
+
55
+ ## 7. 反模式(出现即不合格)
56
+
57
+ - 列表前端全量加载、无服务端分页/过滤;大数据卡死。
58
+ - 无批量操作 / 批量无确认无幂等;导出大数据同步阻塞。
59
+ - 权限只前端隐藏、后端不校验(可越权);无数据范围权限。
60
+ - 无操作审计、关键操作无留痕;硬删除不可追溯。
61
+ - 从零搓表格/表单不用成熟后台库;筛选状态刷新即丢。
62
+
63
+ ## 8. 最低交付 checklist
64
+
65
+ - [ ] 列表服务端分页+排序+多条件过滤+上限;批量操作(多选/确认/幂等/进度);三态;大数据虚拟滚动/异步导出。
66
+ - [ ] 表单遵循校验标准+复用+草稿/未保存提醒。
67
+ - [ ] RBAC:菜单/按钮/数据级权限,前端隐藏 + 后端强制(对象级+数据范围)。
68
+ - [ ] 操作审计日志(谁/何时/对什么/做了什么)+软删除+变更历史+敏感操作二次确认。
69
+ - [ ] 统一布局+成熟后台 UI 库+面包屑+筛选状态保留+可分享 URL+响应式。
70
+
71
+ ---
72
+ **参考**:Ant Design Pro / Element Plus 后台、服务端分页表格、RBAC、操作审计、数据范围权限、异步导出。
@@ -0,0 +1,444 @@
1
+ ---
2
+ id: design-tokens-complete
3
+ title: Design Token 完整指南
4
+ domain: frontend
5
+ category: 01-standards
6
+ difficulty: intermediate
7
+ tags: [complete, design, frontend, tailwind, token, tokens, 分层架构, 命名规范]
8
+ quality_score: 70
9
+ last_updated: 2026-06-15
10
+ ---
11
+ # Design Token 完整指南
12
+
13
+ ## 概述
14
+
15
+ Design Token 是设计系统的最小单元,用于存储颜色、字体、间距、圆角、阴影等视觉属性的命名变量。Token 充当设计与开发之间的单一事实来源 (Single Source of Truth),确保品牌一致性、多主题支持和跨平台适配。
16
+
17
+ ### 为什么需要 Design Token
18
+
19
+ - **一致性**: 全产品使用统一的视觉语言
20
+ - **可维护性**: 修改一个 Token 即可全局生效
21
+ - **多主题**: 浅色/深色/品牌主题只需切换 Token 集
22
+ - **跨平台**: 同一 Token 输出 CSS / iOS / Android / Flutter 等格式
23
+ - **设计-开发协同**: 设计师和开发者使用同一套命名系统
24
+
25
+ ---
26
+
27
+ ## Token 分层架构
28
+
29
+ ### 三层模型
30
+
31
+ ```
32
+ ┌──────────────────────────────────┐
33
+ │ Component Token (组件级) │ button-primary-bg
34
+ │ 直接绑定到组件属性 │ card-border-radius
35
+ ├──────────────────────────────────┤
36
+ │ Semantic Token (语义级) │ color-bg-primary
37
+ │ 表达意图,不绑定具体组件 │ spacing-lg
38
+ ├──────────────────────────────────┤
39
+ │ Primitive Token (基础级) │ blue-600
40
+ │ 原始设计值,直接对应色值/数值 │ 16px
41
+ └──────────────────────────────────┘
42
+ ```
43
+
44
+ ### 示例映射
45
+
46
+ ```
47
+ Primitive: blue-600 = #2563EB
48
+ Semantic: color-bg-primary = {blue-600}
49
+ Component: button-primary-bg = {color-bg-primary}
50
+ ```
51
+
52
+ ---
53
+
54
+ ## Token 命名规范
55
+
56
+ ### 命名结构
57
+
58
+ ```
59
+ {category}-{property}-{modifier}-{state}
60
+
61
+ # 示例
62
+ color-bg-primary # 类别-属性-修饰符
63
+ color-text-secondary # 类别-属性-修饰符
64
+ spacing-lg # 类别-修饰符
65
+ radius-md # 类别-修饰符
66
+ shadow-card-hover # 类别-修饰符-状态
67
+ font-size-heading-1 # 类别-属性-修饰符
68
+ ```
69
+
70
+ ### 颜色 Token
71
+
72
+ ```css
73
+ :root {
74
+ /* Primitive: 原始色板 */
75
+ --primitive-blue-50: #EFF6FF;
76
+ --primitive-blue-100: #DBEAFE;
77
+ --primitive-blue-500: #3B82F6;
78
+ --primitive-blue-600: #2563EB;
79
+ --primitive-blue-700: #1D4ED8;
80
+ --primitive-blue-900: #1E3A5F;
81
+
82
+ --primitive-gray-50: #F9FAFB;
83
+ --primitive-gray-100: #F3F4F6;
84
+ --primitive-gray-200: #E5E7EB;
85
+ --primitive-gray-500: #6B7280;
86
+ --primitive-gray-700: #374151;
87
+ --primitive-gray-900: #111827;
88
+
89
+ /* Semantic: 语义色 */
90
+ --color-bg-page: var(--primitive-gray-50);
91
+ --color-bg-surface: #FFFFFF;
92
+ --color-bg-primary: var(--primitive-blue-600);
93
+ --color-bg-primary-hover: var(--primitive-blue-700);
94
+ --color-bg-danger: #DC2626;
95
+
96
+ --color-text-primary: var(--primitive-gray-900);
97
+ --color-text-secondary: var(--primitive-gray-500);
98
+ --color-text-on-primary: #FFFFFF;
99
+ --color-text-link: var(--primitive-blue-600);
100
+ --color-text-danger: #DC2626;
101
+
102
+ --color-border-default: var(--primitive-gray-200);
103
+ --color-border-focus: var(--primitive-blue-500);
104
+ }
105
+ ```
106
+
107
+ ### 间距 Token
108
+
109
+ ```css
110
+ :root {
111
+ /* 基于 4px 网格系统 */
112
+ --spacing-0: 0px;
113
+ --spacing-1: 4px; /* 0.25rem */
114
+ --spacing-2: 8px; /* 0.5rem */
115
+ --spacing-3: 12px; /* 0.75rem */
116
+ --spacing-4: 16px; /* 1rem */
117
+ --spacing-5: 20px; /* 1.25rem */
118
+ --spacing-6: 24px; /* 1.5rem */
119
+ --spacing-8: 32px; /* 2rem */
120
+ --spacing-10: 40px; /* 2.5rem */
121
+ --spacing-12: 48px; /* 3rem */
122
+ --spacing-16: 64px; /* 4rem */
123
+ --spacing-20: 80px; /* 5rem */
124
+ --spacing-24: 96px; /* 6rem */
125
+
126
+ /* 语义间距 */
127
+ --spacing-page-x: var(--spacing-6); /* 页面水平内边距 */
128
+ --spacing-section-y: var(--spacing-16); /* 区块垂直间距 */
129
+ --spacing-card-padding: var(--spacing-6); /* 卡片内边距 */
130
+ --spacing-input-x: var(--spacing-3); /* 输入框水平内边距 */
131
+ --spacing-input-y: var(--spacing-2); /* 输入框垂直内边距 */
132
+ }
133
+ ```
134
+
135
+ ### 字体 Token
136
+
137
+ ```css
138
+ :root {
139
+ /* 字体族 */
140
+ --font-family-sans: "Inter", "Noto Sans SC", system-ui, -apple-system, sans-serif;
141
+ --font-family-mono: "JetBrains Mono", "Fira Code", monospace;
142
+
143
+ /* 字号 */
144
+ --font-size-xs: 0.75rem; /* 12px */
145
+ --font-size-sm: 0.875rem; /* 14px */
146
+ --font-size-base: 1rem; /* 16px */
147
+ --font-size-lg: 1.125rem; /* 18px */
148
+ --font-size-xl: 1.25rem; /* 20px */
149
+ --font-size-2xl: 1.5rem; /* 24px */
150
+ --font-size-3xl: 1.875rem; /* 30px */
151
+ --font-size-4xl: 2.25rem; /* 36px */
152
+
153
+ /* 字重 */
154
+ --font-weight-regular: 400;
155
+ --font-weight-medium: 500;
156
+ --font-weight-semibold: 600;
157
+ --font-weight-bold: 700;
158
+
159
+ /* 行高 */
160
+ --line-height-tight: 1.25;
161
+ --line-height-normal: 1.5;
162
+ --line-height-relaxed: 1.75;
163
+
164
+ /* 语义字体组合 */
165
+ --font-heading-1: var(--font-weight-bold) var(--font-size-4xl)/var(--line-height-tight) var(--font-family-sans);
166
+ --font-heading-2: var(--font-weight-semibold) var(--font-size-3xl)/var(--line-height-tight) var(--font-family-sans);
167
+ --font-body: var(--font-weight-regular) var(--font-size-base)/var(--line-height-normal) var(--font-family-sans);
168
+ --font-caption: var(--font-weight-regular) var(--font-size-sm)/var(--line-height-normal) var(--font-family-sans);
169
+ }
170
+ ```
171
+
172
+ ### 圆角与阴影 Token
173
+
174
+ ```css
175
+ :root {
176
+ /* 圆角 */
177
+ --radius-none: 0;
178
+ --radius-sm: 4px;
179
+ --radius-md: 8px;
180
+ --radius-lg: 12px;
181
+ --radius-xl: 16px;
182
+ --radius-full: 9999px;
183
+
184
+ /* 阴影 */
185
+ --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
186
+ --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
187
+ --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
188
+ --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
189
+
190
+ /* 动效 */
191
+ --duration-fast: 150ms;
192
+ --duration-normal: 250ms;
193
+ --duration-slow: 400ms;
194
+ --easing-default: cubic-bezier(0.4, 0, 0.2, 1);
195
+ --easing-in: cubic-bezier(0.4, 0, 1, 1);
196
+ --easing-out: cubic-bezier(0, 0, 0.2, 1);
197
+ }
198
+ ```
199
+
200
+ ---
201
+
202
+ ## 多主题支持
203
+
204
+ ### CSS 变量主题切换
205
+
206
+ ```css
207
+ /* 浅色主题(默认) */
208
+ :root, [data-theme="light"] {
209
+ --color-bg-page: #F9FAFB;
210
+ --color-bg-surface: #FFFFFF;
211
+ --color-text-primary: #111827;
212
+ --color-text-secondary: #6B7280;
213
+ --color-border-default: #E5E7EB;
214
+ }
215
+
216
+ /* 深色主题 */
217
+ [data-theme="dark"] {
218
+ --color-bg-page: #0F172A;
219
+ --color-bg-surface: #1E293B;
220
+ --color-text-primary: #F1F5F9;
221
+ --color-text-secondary: #94A3B8;
222
+ --color-border-default: #334155;
223
+ }
224
+
225
+ /* 跟随系统 */
226
+ @media (prefers-color-scheme: dark) {
227
+ :root:not([data-theme]) {
228
+ --color-bg-page: #0F172A;
229
+ --color-bg-surface: #1E293B;
230
+ --color-text-primary: #F1F5F9;
231
+ --color-text-secondary: #94A3B8;
232
+ --color-border-default: #334155;
233
+ }
234
+ }
235
+ ```
236
+
237
+ ### 主题切换实现
238
+
239
+ ```tsx
240
+ // React 主题切换 Hook
241
+ function useTheme() {
242
+ const [theme, setTheme] = useState<"light" | "dark" | "system">(() => {
243
+ return (localStorage.getItem("theme") as "light" | "dark") || "system";
244
+ });
245
+
246
+ useEffect(() => {
247
+ const root = document.documentElement;
248
+ if (theme === "system") {
249
+ root.removeAttribute("data-theme");
250
+ } else {
251
+ root.setAttribute("data-theme", theme);
252
+ }
253
+ localStorage.setItem("theme", theme);
254
+ }, [theme]);
255
+
256
+ return { theme, setTheme };
257
+ }
258
+ ```
259
+
260
+ ---
261
+
262
+ ## Tailwind CSS 集成
263
+
264
+ ### tailwind.config.ts 映射
265
+
266
+ ```typescript
267
+ import type { Config } from "tailwindcss";
268
+
269
+ const config: Config = {
270
+ theme: {
271
+ extend: {
272
+ colors: {
273
+ bg: {
274
+ page: "var(--color-bg-page)",
275
+ surface: "var(--color-bg-surface)",
276
+ primary: "var(--color-bg-primary)",
277
+ },
278
+ text: {
279
+ primary: "var(--color-text-primary)",
280
+ secondary: "var(--color-text-secondary)",
281
+ },
282
+ border: {
283
+ default: "var(--color-border-default)",
284
+ },
285
+ },
286
+ spacing: {
287
+ "page-x": "var(--spacing-page-x)",
288
+ "section-y": "var(--spacing-section-y)",
289
+ },
290
+ borderRadius: {
291
+ card: "var(--radius-md)",
292
+ button: "var(--radius-md)",
293
+ },
294
+ boxShadow: {
295
+ card: "var(--shadow-md)",
296
+ },
297
+ fontFamily: {
298
+ sans: ["var(--font-family-sans)"],
299
+ mono: ["var(--font-family-mono)"],
300
+ },
301
+ },
302
+ },
303
+ };
304
+
305
+ export default config;
306
+ ```
307
+
308
+ ---
309
+
310
+ ## 工具链
311
+
312
+ ### Style Dictionary
313
+
314
+ ```json
315
+ // tokens/color/base.json
316
+ {
317
+ "color": {
318
+ "blue": {
319
+ "600": { "value": "#2563EB", "type": "color" }
320
+ },
321
+ "bg": {
322
+ "primary": {
323
+ "value": "{color.blue.600}",
324
+ "type": "color",
325
+ "description": "Primary background color"
326
+ }
327
+ }
328
+ }
329
+ }
330
+ ```
331
+
332
+ ```javascript
333
+ // config.js
334
+ module.exports = {
335
+ source: ["tokens/**/*.json"],
336
+ platforms: {
337
+ css: {
338
+ transformGroup: "css",
339
+ buildPath: "output/css/",
340
+ files: [{ destination: "design-tokens.css", format: "css/variables" }],
341
+ },
342
+ ios: {
343
+ transformGroup: "ios-swift",
344
+ buildPath: "output/ios/",
345
+ files: [{ destination: "DesignTokens.swift", format: "ios-swift/class.swift" }],
346
+ },
347
+ android: {
348
+ transformGroup: "android",
349
+ buildPath: "output/android/",
350
+ files: [{ destination: "design_tokens.xml", format: "android/resources" }],
351
+ },
352
+ },
353
+ };
354
+ ```
355
+
356
+ ### Figma Token Studio
357
+
358
+ ```
359
+ Figma Token Studio -> JSON export -> Style Dictionary -> CSS / iOS / Android
360
+ ```
361
+
362
+ ---
363
+
364
+ ## 组件级 Token 使用
365
+
366
+ ```css
367
+ /* 按钮组件 Token */
368
+ .btn {
369
+ padding: var(--spacing-input-y) var(--spacing-input-x);
370
+ border-radius: var(--radius-md);
371
+ font: var(--font-body);
372
+ transition: all var(--duration-fast) var(--easing-default);
373
+ }
374
+
375
+ .btn-primary {
376
+ background: var(--color-bg-primary);
377
+ color: var(--color-text-on-primary);
378
+ }
379
+
380
+ .btn-primary:hover {
381
+ background: var(--color-bg-primary-hover);
382
+ }
383
+
384
+ /* 卡片组件 Token */
385
+ .card {
386
+ background: var(--color-bg-surface);
387
+ border: 1px solid var(--color-border-default);
388
+ border-radius: var(--radius-lg);
389
+ padding: var(--spacing-card-padding);
390
+ box-shadow: var(--shadow-sm);
391
+ }
392
+ ```
393
+
394
+ ---
395
+
396
+ ## 治理与维护
397
+
398
+ ### Token 变更流程
399
+
400
+ 1. 设计师在 Figma 更新 Token
401
+ 2. 导出 JSON 到仓库
402
+ 3. CI 自动运行 Style Dictionary 构建
403
+ 4. 视觉回归测试验证变更
404
+ 5. PR Review 后合并
405
+
406
+ ### Token 审计
407
+
408
+ ```bash
409
+ # 检查未使用的 Token
410
+ grep -r "var(--" src/ | grep -oP "var\(--[^)]+\)" | sort -u > used-tokens.txt
411
+ grep -oP "^\s*--[^:]+:" styles/tokens.css | sed 's/://;s/^\s*//' | sort -u > defined-tokens.txt
412
+ diff defined-tokens.txt used-tokens.txt
413
+ ```
414
+
415
+ ---
416
+
417
+ ## 常见反模式
418
+
419
+ | 反模式 | 问题 | 正确做法 |
420
+ |--------|------|----------|
421
+ | 直接写死色值 | 主题无法切换 | 始终引用 Token |
422
+ | Primitive Token 直接用于组件 | 语义丢失 | 用 Semantic Token 间接引用 |
423
+ | Token 命名含具体色值 | 深色模式失效 | 按意图命名 (primary, danger) |
424
+ | Token 数量爆炸 | 维护困难 | 控制在 100-200 个 |
425
+ | 不同组件重复定义相同值 | 不一致风险 | 统一为共享 Token |
426
+
427
+ ---
428
+
429
+ ## Agent Checklist
430
+
431
+ 在 AI 编码流水线中实现 Design Token 时,必须逐项检查:
432
+
433
+ - [ ] Token 采用三层架构(Primitive -> Semantic -> Component)
434
+ - [ ] 命名遵循 {category}-{property}-{modifier}-{state} 结构
435
+ - [ ] 颜色按语义命名(bg-primary, text-secondary),不按色值命名
436
+ - [ ] 间距基于 4px 网格(4/8/12/16/24/32/48/64)
437
+ - [ ] 字体定义族、大小、字重、行高的完整 Token
438
+ - [ ] 支持浅色/深色主题切换(CSS 变量 + data-theme)
439
+ - [ ] 深色主题由显式 Token 映射生成,不是简单反转
440
+ - [ ] Tailwind 配置映射到 Token 变量
441
+ - [ ] 所有组件样式通过 Token 引用,不直接写魔法数字
442
+ - [ ] Token 数量控制在 100-200 个以内
443
+ - [ ] Token 变更有审计流程(设计同步 -> 构建 -> 视觉回归)
444
+ - [ ] Token 文件是机器可解析的 JSON/YAML 格式
@@ -0,0 +1,77 @@
1
+ ---
2
+ id: forms-and-validation
3
+ title: 前端表单与校验标准(商业级必读)
4
+ domain: frontend
5
+ category: 01-standards
6
+ difficulty: intermediate
7
+ tags: [表单, form, 校验, validation, 受控, 错误提示, 提交状态, 多步, 可访问性, a11y, 乐观更新, 商业级]
8
+ quality_score: 95
9
+ last_updated: 2026-06-19
10
+ ---
11
+
12
+ # 前端表单与校验标准(商业级必读)
13
+
14
+ > 表单是商业前端最复杂、最影响转化与体验的部分,也是 AI 最容易做得粗糙的地方(没校验、没错误态、没加载态、不可访问)。本标准给出商业级表单的完整要求。
15
+
16
+ ## 1. 受控与状态
17
+
18
+ - 输入用**受控组件**(值绑定 state),或用成熟表单库(React Hook Form / Formik / VeeValidate)管理状态、校验、提交。
19
+ - 表单状态明确:`idle / validating / submitting / success / error`,UI 据此切换。
20
+ - 复杂表单用表单库 + schema 校验(Zod/Yup),不要手写一堆 useState + if。
21
+
22
+ ## 2. 校验(双端,前端体验 + 后端兜底)
23
+
24
+ - **前端校验**给即时反馈(格式、必填、范围、一致性如两次密码),但**绝不替代后端校验**。
25
+ - **后端永远再校验一遍**(前端可绕过);前端展示后端返回的字段级错误(对齐错误信封 `details[].field`)。
26
+ - 校验时机:失焦(blur)校验单字段 + 提交时校验全表单;不要每个按键就报红打断输入。
27
+ - 校验规则尽量与后端共享(同一份 schema/常量),避免前后端规则漂移。
28
+
29
+ ## 3. 错误展示
30
+
31
+ - **字段级错误**显示在对应输入下方,文案具体可行动("密码至少 8 位" 而非 "无效")。
32
+ - 提交失败的**整体错误**(如 409 邮箱已注册、网络错误)在表单顶部/对应字段提示。
33
+ - 错误用颜色 + 图标 + 文本(不只靠颜色,照顾色盲);`aria-invalid` + `aria-describedby` 关联错误。
34
+ - 后端 422 字段错误自动映射到对应输入。
35
+
36
+ ## 4. 提交状态与防重复
37
+
38
+ - 提交中**禁用提交按钮 + loading 指示**,防重复提交。
39
+ - 创建/支付类提交配合后端**幂等键**防重复下单/扣款。
40
+ - 提交成功给明确反馈(跳转/toast/inline success);失败保留用户已填内容,不清空。
41
+ - 网络慢时有反馈,不让用户以为卡死。
42
+
43
+ ## 5. 体验细节
44
+
45
+ - 合理的 `type`(email/tel/number/password)、`autocomplete`、`inputmode`,移动端键盘正确。
46
+ - 必填标注清晰;占位符不当标签用(要有真 `<label>`)。
47
+ - 长表单分组/分步(multi-step),有进度指示,可返回上一步且保留数据。
48
+ - 危险操作(删除/不可逆)二次确认。
49
+ - 自动聚焦首个字段 / 出错时聚焦首个错误字段。
50
+
51
+ ## 6. 可访问性(a11y,商业必做)
52
+
53
+ - 每个输入有关联 `<label for>`(或 aria-label);不要只靠 placeholder。
54
+ - 错误用 `aria-invalid` + `role="alert"`/`aria-live` 让屏读播报。
55
+ - 键盘可完整操作;焦点顺序合理;提交可回车。
56
+ - 对比度达标;触控目标够大。
57
+
58
+ ## 7. 反模式(出现即不合格)
59
+
60
+ - 没有任何校验,或只有前端校验(后端不验)。
61
+ - 只画 happy path:没有 loading/error/disabled 态,提交可重复点。
62
+ - 错误只变红框没有文案,或文案泛泛("出错了")。
63
+ - 用 placeholder 当 label;无 `<label>`;不可键盘操作。
64
+ - 提交失败清空用户输入;每个按键就报红。
65
+ - 密码/支付表单无强度/格式反馈、无防重复提交。
66
+
67
+ ## 8. 最低交付 checklist
68
+
69
+ - [ ] 受控/表单库 + schema 校验;状态机 idle/submitting/success/error 清晰。
70
+ - [ ] 前端即时校验 + 后端兜底校验;422 字段错误映射到输入。
71
+ - [ ] 字段级 + 整体错误,文案具体可行动,颜色+图标+文本+aria。
72
+ - [ ] 提交中禁用+loading 防重复;创建/支付配合幂等;成功明确反馈、失败保留输入。
73
+ - [ ] 正确 input type/autocomplete;真 `<label>`;长表单分步保留数据;危险操作二次确认。
74
+ - [ ] a11y:label 关联、aria-invalid/live、键盘可达、对比度达标。
75
+
76
+ ---
77
+ **参考**:React Hook Form / Zod、WCAG 表单可访问性、WAI-ARIA、HTML 表单最佳实践。