aodw-skill 0.7.3

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 (188) hide show
  1. package/.aodw/01-core/ai-interaction-rules.md +218 -0
  2. package/.aodw/01-core/ai-knowledge-rules.md +302 -0
  3. package/.aodw/01-core/ai-project-overview-rules.md +284 -0
  4. package/.aodw/01-core/aodw-constitution-summary.md +20 -0
  5. package/.aodw/01-core/aodw-constitution.md +419 -0
  6. package/.aodw/01-core/csf-thinking-framework.md +373 -0
  7. package/.aodw/01-core/git-discipline.md +226 -0
  8. package/.aodw/01-core/module-doc-rules.md +90 -0
  9. package/.aodw/02-workflow/aodw-development-stages.md +235 -0
  10. package/.aodw/02-workflow/rt-id-generation-rules.md +267 -0
  11. package/.aodw/02-workflow/rt-manager-summary.md +15 -0
  12. package/.aodw/02-workflow/rt-manager.md +399 -0
  13. package/.aodw/02-workflow/spec-full-profile-summary.md +13 -0
  14. package/.aodw/02-workflow/spec-full-profile.md +391 -0
  15. package/.aodw/02-workflow/spec-lite-profile.md +313 -0
  16. package/.aodw/02-workflow/ui-workflow-rules.md +334 -0
  17. package/.aodw/03-standards/ai-coding-rules-common.md +89 -0
  18. package/.aodw/03-standards/ai-coding-rules.md +370 -0
  19. package/.aodw/03-standards/stacks/java-springboot/ai-coding-rules-backend.md +100 -0
  20. package/.aodw/03-standards/stacks/python-fastapi/ai-coding-rules-backend.md +612 -0
  21. package/.aodw/03-standards/stacks/react-typescript/ai-coding-rules-frontend.md +291 -0
  22. package/.aodw/03-standards/stacks/vue2/ai-coding-rules-frontend.md +97 -0
  23. package/.aodw/03-standards/ui-kit/ui-kit.md +163 -0
  24. package/.aodw/04-auditors/aodw-development-auditor-rules.md +470 -0
  25. package/.aodw/04-auditors/aodw-full-auditor-rules.md +365 -0
  26. package/.aodw/04-auditors/aodw-requirement-auditor-rules.md +408 -0
  27. package/.aodw/05-tooling/ai-tools-init-rules.md +465 -0
  28. package/.aodw/06-project/ai-overview.md +116 -0
  29. package/.aodw/06-project/modules-index.yaml +11 -0
  30. package/.aodw/07-optimization/token-usage-analysis.md +253 -0
  31. package/.aodw/README.md +26 -0
  32. package/.aodw/RELEASE-CHECKLIST.md +144 -0
  33. package/.aodw/config.yaml +2 -0
  34. package/.aodw/manifest.yaml +98 -0
  35. package/.aodw/templates/SOURCE-TO-DISTRIBUTION-GUIDE.md +276 -0
  36. package/.aodw/templates/TEMPLATE-APPLICATION-GUIDE.md +246 -0
  37. package/.aodw/templates/aodw-kernel-loader-template.md +70 -0
  38. package/.aodw/templates/audit-report-template.md +232 -0
  39. package/.aodw/templates/changelog-template.md +16 -0
  40. package/.aodw/templates/checklists/coding-standards-template.md +110 -0
  41. package/.aodw/templates/csf-review-template.md +201 -0
  42. package/.aodw/templates/impact-template.md +17 -0
  43. package/.aodw/templates/invariants-template.md +12 -0
  44. package/.aodw/templates/module-readme-template.md +39 -0
  45. package/.aodw/templates/plan-lite-template.md +11 -0
  46. package/.aodw/templates/rt-decision-template.md +13 -0
  47. package/.aodw/templates/rt-intake-template.md +33 -0
  48. package/.aodw/templates/rt-meta-template.yaml +43 -0
  49. package/.aodw/templates/spec-lite-template.md +17 -0
  50. package/.aodw/templates/tests-template.md +13 -0
  51. package/.aodw/templates/tools-config/README.md +80 -0
  52. package/.aodw/templates/tools-config/backend/black.config.template.toml +6 -0
  53. package/.aodw/templates/tools-config/backend/pre-commit.config.template.yaml +16 -0
  54. package/.aodw/templates/tools-config/backend/ruff.config.template.toml +23 -0
  55. package/.aodw/templates/tools-config/frontend/eslint.config.template.json +113 -0
  56. package/.aodw/templates/tools-config/frontend/prettier.config.template.json +10 -0
  57. package/.aodw/templates/tools-config/frontend/tsconfig.paths.template.json +11 -0
  58. package/.aodw/workflow-guide.md +51 -0
  59. package/AODW_Adapters/README.md +143 -0
  60. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-check.md +7 -0
  61. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-done.md +7 -0
  62. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-full.md +7 -0
  63. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-governance.md +7 -0
  64. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-impact.md +7 -0
  65. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-init.md +7 -0
  66. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-invariants.md +7 -0
  67. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-lite.md +7 -0
  68. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-module.md +7 -0
  69. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-new.md +7 -0
  70. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-open.md +7 -0
  71. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-pause.md +7 -0
  72. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-resume.md +7 -0
  73. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-tests.md +7 -0
  74. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-upgrade.md +7 -0
  75. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw.md +35 -0
  76. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-check.md +16 -0
  77. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-done.md +16 -0
  78. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-full.md +14 -0
  79. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-governance.md +13 -0
  80. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-impact.md +13 -0
  81. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-init.md +13 -0
  82. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-invariants.md +13 -0
  83. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-lite.md +14 -0
  84. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-module.md +13 -0
  85. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-new.md +30 -0
  86. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-open.md +10 -0
  87. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-pause.md +12 -0
  88. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-resume.md +12 -0
  89. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-tests.md +13 -0
  90. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-upgrade.md +12 -0
  91. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw.md +18 -0
  92. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/claude/CLAUDE.md +17 -0
  93. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-check.md +30 -0
  94. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-done.md +52 -0
  95. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-full.md +31 -0
  96. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-governance.md +34 -0
  97. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-impact.md +25 -0
  98. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-init.md +75 -0
  99. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-invariants.md +29 -0
  100. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-lite.md +23 -0
  101. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-module.md +24 -0
  102. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-new.md +70 -0
  103. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-open.md +19 -0
  104. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-pause.md +19 -0
  105. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-resume.md +20 -0
  106. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-tests.md +26 -0
  107. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-upgrade.md +27 -0
  108. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw.md +69 -0
  109. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/deploypromote.md +20 -0
  110. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/featuretotester.md +32 -0
  111. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/deploy/feature_to_master_push_test_local.sh +390 -0
  112. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/deploy/promote_only.sh +210 -0
  113. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/deploy/rollback_prod.sh +99 -0
  114. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/rules/aodw.mdc +26 -0
  115. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-check.md +29 -0
  116. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-done.md +52 -0
  117. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-full.md +30 -0
  118. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-governance.md +33 -0
  119. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-impact.md +24 -0
  120. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-init.md +75 -0
  121. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-invariants.md +28 -0
  122. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-lite.md +22 -0
  123. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-module.md +23 -0
  124. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-new.md +92 -0
  125. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-open.md +18 -0
  126. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-pause.md +18 -0
  127. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-resume.md +19 -0
  128. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-tests.md +25 -0
  129. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-upgrade.md +26 -0
  130. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw.md +68 -0
  131. package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/GEMINI.md +17 -0
  132. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-analyze.md +15 -0
  133. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-complete.md +15 -0
  134. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-control.md +14 -0
  135. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-decide.md +16 -0
  136. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-governance.md +7 -0
  137. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-implement.md +16 -0
  138. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-init.md +7 -0
  139. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-intake.md +15 -0
  140. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-open.md +7 -0
  141. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-simplified.md +107 -0
  142. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-verify.md +14 -0
  143. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-analyze.md +24 -0
  144. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-complete.md +23 -0
  145. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-control.md +21 -0
  146. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-decide.md +26 -0
  147. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-governance.md +13 -0
  148. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-implement.md +21 -0
  149. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-init.md +13 -0
  150. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-intake.md +28 -0
  151. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-open.md +10 -0
  152. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-verify.md +20 -0
  153. package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw.md +18 -0
  154. package/AODW_Adapters/antigravity/.agent/rules/aodw.md +74 -0
  155. package/AODW_Adapters/claude/CLAUDE.md +70 -0
  156. package/AODW_Adapters/cursor/.cursor/commands/README.md +37 -0
  157. package/AODW_Adapters/cursor/.cursor/rules/aodw.mdc +77 -0
  158. package/AODW_Adapters/gemini/.agent/rules/aodw-analyze.md +15 -0
  159. package/AODW_Adapters/gemini/.agent/rules/aodw-complete.md +15 -0
  160. package/AODW_Adapters/gemini/.agent/rules/aodw-control.md +14 -0
  161. package/AODW_Adapters/gemini/.agent/rules/aodw-decide.md +16 -0
  162. package/AODW_Adapters/gemini/.agent/rules/aodw-governance.md +33 -0
  163. package/AODW_Adapters/gemini/.agent/rules/aodw-implement.md +16 -0
  164. package/AODW_Adapters/gemini/.agent/rules/aodw-init.md +75 -0
  165. package/AODW_Adapters/gemini/.agent/rules/aodw-intake.md +15 -0
  166. package/AODW_Adapters/gemini/.agent/rules/aodw-open.md +18 -0
  167. package/AODW_Adapters/gemini/.agent/rules/aodw-verify.md +14 -0
  168. package/AODW_Adapters/gemini/.agent/rules/aodw.md +70 -0
  169. package/AODW_Adapters/gemini/GEMINI.md +17 -0
  170. package/AODW_Adapters/general/.github/copilot-instructions.md +34 -0
  171. package/AODW_Adapters/general/AGENTS.md +70 -0
  172. package/README.md +118 -0
  173. package/bin/aodw.js +627 -0
  174. package/bin/commands/init-overview.js +801 -0
  175. package/bin/commands/init-tools.js +811 -0
  176. package/bin/commands/new.js +235 -0
  177. package/bin/commands/serve.js +79 -0
  178. package/bin/processors/index.js +109 -0
  179. package/bin/update-adapters-from-template.js +89 -0
  180. package/bin/utils/config.js +56 -0
  181. package/docs/README.md +26 -0
  182. package/docs/adapter-evaluation.md +55 -0
  183. package/docs/backend-guidelines.md +335 -0
  184. package/docs/frontend-guidelines.md +266 -0
  185. package/docs/installation-variants.md +88 -0
  186. package/docs/migration-guide-0.2.0.md +250 -0
  187. package/docs/platform-matrix.md +83 -0
  188. package/package.json +40 -0
@@ -0,0 +1,291 @@
1
+ # AI Coding Rules - Frontend Development
2
+
3
+ > **注意**:本文件是 `.aodw/03-standards/ai-coding-rules.md` 的子规范文件。
4
+ > 请先阅读主文件了解通用编码原则,再阅读本文件了解前端特定规范。
5
+
6
+ **适用场景**:
7
+ - 前端开发(React + TypeScript + Vite)
8
+ - UI 组件开发
9
+ - 前端工具配置
10
+
11
+ **必须与以下规范配合使用**:
12
+ - `.aodw/03-standards/ai-coding-rules.md`(主文件,包含通用原则)
13
+ - `.aodw/03-standards/ai-coding-rules-common.md`(通用编码规范)
14
+ - `.aodw/05-tooling/ai-tools-init-rules.md`(工具初始化规则,如果通过 AI 方式初始化工具)
15
+
16
+ **⚠️ 强制要求**:所有前端开发必须严格遵守 `docs/frontend-guidelines.md` 中的规范。
17
+
18
+ ---
19
+
20
+ ## 1. 技术栈确认
21
+
22
+ 适用项目技术栈:
23
+ - 框架:React 18/19 + TypeScript + Vite
24
+ - UI:Tailwind CSS + Radix UI + 自定义组件库
25
+ - 状态:Zustand
26
+ - 工具:ESLint + Prettier
27
+
28
+ ---
29
+
30
+ ## 2. 工具初始化检查(必须)
31
+
32
+ > **⚠️ 重要**:所有前端开发必须使用工具强制执行规范,不能只靠自觉。
33
+ > 本项目的后端规范通过 **工具自动化质量体系** 实现:
34
+ > - ✅ 编辑器即时提示 → Git 提交前阻断 → CI 自动失败 → AI 自动服从
35
+
36
+ 在开始任何前端开发前,AI 必须检查工具初始化状态:
37
+
38
+ ### 2.1 工具初始化状态检查
39
+
40
+ **AI 必须检查**:
41
+ - [ ] 是否已运行工具初始化?
42
+ - [ ] `.aodw/tools-status.yaml` 中 `initialized: true` 且前端工具状态为 `configured: true`?
43
+
44
+ **检查方法**:
45
+ 1. 读取 `.aodw/tools-status.yaml` 文件
46
+ 2. 检查 `tools_init.initialized` 是否为 `true`
47
+ 3. 检查 `tools_init.frontend.eslint.configured` 是否为 `true`
48
+ 4. 检查 `tools_init.frontend.prettier.configured` 是否为 `true`
49
+ 5. 检查 `tools_init.frontend.typescript_path_alias.configured` 是否为 `true`
50
+
51
+ ### 2.2 工具要求
52
+
53
+ **前端开发必须使用以下工具**:
54
+ - **ESLint**:代码质量检查(语法错误、未使用变量、import 排序、复杂度检查)
55
+ - **Prettier**:代码格式化(统一代码风格)
56
+ - **TypeScript Path Alias**:模块路径别名(@app、@pages、@features、@shared)
57
+
58
+ **工具作用**:
59
+ - ESLint:自动拦截怪物函数、复杂代码、未使用变量等
60
+ - Prettier:自动统一代码格式,避免风格争议
61
+ - TypeScript Path Alias:支持模块路径别名,便于代码组织
62
+
63
+ ### 2.3 工具未初始化时的处理
64
+
65
+ **如果工具未初始化或未配置**:
66
+ 1. **AI 必须立即停止编码**
67
+ 2. **AI 必须提示用户运行工具初始化**:
68
+ - **CLI 方式**:运行 `aodw` 选择"工具初始化",或运行 `aodw init-tools`
69
+ - **AI 方式**:说"初始化工具"或"设置开发工具"
70
+ 3. **AI 必须说明**:工具初始化会引导用户完成工具的安装和配置
71
+ 4. **在工具初始化完成前,不能开始编码**
72
+
73
+ ### 2.4 工具配置参考
74
+
75
+ **配置模板位置**:`.aodw/templates/tools-config/frontend/`
76
+ - ESLint 配置模板:`eslint.config.template.json`
77
+ - Prettier 配置模板:`prettier.config.template.json`
78
+ - TypeScript Path Alias 模板:`tsconfig.paths.template.json`
79
+
80
+ **如果工具已初始化**:
81
+ - 配置应已符合 AODW 规范
82
+ - 配置文件应已生成或合并
83
+ - 工具应已正确安装和配置
84
+
85
+ **如果需要对配置进行调整**:
86
+ - 可以再次运行工具初始化
87
+ - 或参考配置模板手动调整
88
+
89
+ ---
90
+
91
+ ## 3. 目录结构规范
92
+
93
+ ### 3.1 顶层结构
94
+
95
+ ```
96
+ frontend/
97
+ src/
98
+ app/ # 应用入口、路由、全局 Provider
99
+ pages/ # 页面级(路由入口)
100
+ features/ # 可复用业务模块(跨页面)
101
+ shared/ # 跨业务通用:组件/工具/类型
102
+ config/ # 配置、环境相关
103
+ styles/ # 全局样式
104
+ assets/ # 静态资源
105
+ ```
106
+
107
+ ### 3.2 详细结构说明
108
+
109
+ - `app/`:应用入口、路由、全局 Provider
110
+ - `router/`:路由定义
111
+ - `providers/`:全局 Provider(主题、QueryClient 等)
112
+ - `layout/`:顶层布局(如 AppShell)
113
+ - `pages/`:按路由拆目录,每个页面一个文件夹
114
+ - `ProjectEditorPage/`
115
+ - `index.tsx`:页面入口(路由组件)
116
+ - `Header.tsx`, `Sidebar.tsx`, `Canvas.tsx` 等子组件
117
+ - `modals/`:页面专用模态框
118
+ - `hooks/`:页面专用 hooks
119
+ - `store/`:页面专用 store
120
+ - `features/`:按业务域拆目录(project、user、auth…)
121
+ - `project/`
122
+ - `components/`:项目相关可复用组件
123
+ - `hooks/`:项目相关可复用 hooks
124
+ - `store/`:项目相关 store(全局/跨页面)
125
+ - `api/`:与项目相关的 API 封装
126
+ - `shared/`:跨业务通用
127
+ - `components/`:通用组件(Button、Card、Table、Dialog 等)
128
+ - `hooks/`:通用 hooks(useDebounce、useResizeObserver 等)
129
+ - `store/`:通用全局状态
130
+ - `utils/`:工具函数(日期、格式化、日志)
131
+ - `types/`:通用类型/接口声明
132
+
133
+ ### 3.3 依赖关系规则
134
+
135
+ - `pages/`:可以依赖 `features/` 和 `shared/`
136
+ - `features/`:可以依赖 `shared/`,但尽量不要彼此深度耦合
137
+ - `shared/`:只能依赖 `shared` 自身,不依赖 `pages` 或 `features`
138
+
139
+ ---
140
+
141
+ ## 4. 命名规范
142
+
143
+ ### 4.1 文件命名
144
+
145
+ - React 组件文件:PascalCase(如 `ProjectEditorPage/index.tsx`、`Header.tsx`)
146
+ - hooks 文件:`useXxx.ts`(如 `useProjectEditorData.ts`)
147
+ - Zustand store:`xxx.store.ts`(如 `projectEditor.store.ts`)
148
+ - 类型声明:`xxx.types.ts` 或集中放在 `shared/types` 中
149
+ - 工具函数:`xxx.utils.ts` 或放在 `shared/utils` 下
150
+
151
+ ### 4.2 组件和变量命名
152
+
153
+ - 组件:PascalCase
154
+ - 变量/函数:camelCase
155
+ - 常量:SCREAMING_SNAKE_CASE
156
+ - hooks:以 `use` 开头,返回 `[state, actions]` 或对象
157
+
158
+ ---
159
+
160
+ ## 5. TypeScript 规范
161
+
162
+ - 启用严格模式:`"strict": true`
163
+ - 禁止滥用 `any`:使用 `unknown` + 类型收窄 或 合理定义接口
164
+ - API 层优先使用:
165
+ - DTO 类型(请求)
166
+ - Response 类型(响应)
167
+ - 类型命名:
168
+ - 接口/类型:`Project`, `ProjectDetail`, `UserProfile`
169
+ - 不建议 `IProject` 这种前缀
170
+
171
+ ---
172
+
173
+ ## 6. React 编码规范
174
+
175
+ ### 6.1 组件类型
176
+
177
+ - 优先使用函数组件 + Hooks
178
+ - 不使用 class 组件
179
+ - 每个文件聚焦一个主要组件
180
+ - 如果一个文件内存在多个复杂组件 → 拆文件
181
+
182
+ ### 6.2 状态管理策略
183
+
184
+ - 页面局部状态:`useState` / `useReducer`
185
+ - 页面内复杂状态:页面专用 `hooks/` + `store/`(Zustand)
186
+ - 跨页面共享业务状态:放在 `features/*/store`
187
+ - 全局通用状态:放在 `shared/store`
188
+ - **原则**:能局部就不全局,能 hook 就不 store
189
+
190
+ ### 6.3 副作用 & 数据请求
191
+
192
+ - 所有数据请求封装在:
193
+ - `features/*/api`
194
+ - 或页面专用 hooks:`pages/*/hooks`
195
+ - **禁止**在组件中直接调用 `fetch/axios`
196
+ - 统一用 `apiClient` / 封装方法
197
+
198
+ ---
199
+
200
+ ## 7. Tailwind & Radix 使用规范
201
+
202
+ ### 7.1 Tailwind
203
+
204
+ - 使用 `className` 写原子类,尽量保持每个组件的 `className` 长度可读
205
+ - 复杂样式组合抽离到:
206
+ - `cn()` 帮助函数结合条件类
207
+ - 或封装为组件,例如 `<PrimaryButton />`
208
+ - 不在逻辑代码里到处写硬编码颜色,优先用设计系统中的 token(在 Tailwind config 中定义)
209
+
210
+ ### 7.2 Radix UI
211
+
212
+ - Radix 组件作为"基础交互组件",在 `shared/components` 中封装
213
+ - 例如 Dialog、Popover、DropdownMenu 封装为:
214
+ - `SharedDialog.tsx`
215
+ - `DropdownMenu.tsx`
216
+ - 页面或业务组件不直接大量拼 Radix 基础元素,而是复用封装后的组件
217
+
218
+ ---
219
+
220
+ ## 8. AI 实现流程约束(强制要求)
221
+
222
+ AI 在编写前端代码时必须遵守以下流程:
223
+
224
+ ### 8.1 第一步:输出目录与文件拆分方案(必须)
225
+
226
+ - 必须先给出目录和文件拆分方案
227
+ - 解释每个文件的职责
228
+ - 确保符合文件大小限制:
229
+ - 页面入口组件(index.tsx)≤ 300 行(推荐 ≤ 250 行)
230
+ - 普通组件 / hooks / store 文件 ≤ 200 行
231
+ - 单个函数 ≤ 60 行
232
+ - 复杂度控制:complexity ≤ 10
233
+ - **等待用户确认拆分方案**
234
+
235
+ ### 8.2 第二步:按文件逐步实现
236
+
237
+ - 每次只实现一个文件
238
+ - 每次只输出一个文件的完整代码
239
+ - 确保每个文件符合规范
240
+
241
+ ### 8.3 第三步:重构大文件
242
+
243
+ - 在已有大文件重构时,优先拆分成多个小文件
244
+ - 不要继续追加代码到已有大文件
245
+
246
+ ### 8.4 禁止行为
247
+
248
+ - ❌ 禁止一次性生成巨型文件
249
+ - ❌ 禁止把所有代码都写在一个目录或一个文件里
250
+ - ❌ 禁止在未输出拆分方案前就开始编码
251
+ - ❌ 禁止在用户未确认拆分方案前就开始编码
252
+ - ❌ 禁止在工具配置未完成前就开始编码
253
+
254
+ ---
255
+
256
+ ## 9. 前端代码提交前检查清单
257
+
258
+ 在提交前端代码前,必须完成以下检查:
259
+
260
+ - [ ] **工具初始化检查**(参考 `.aodw/03-standards/stacks/react-typescript/ai-coding-rules-frontend.md` 第 2 节):
261
+ - [ ] 工具是否已初始化?(检查 `.aodw/tools-status.yaml`)
262
+ - [ ] ESLint 是否已安装并配置?
263
+ - [ ] Prettier 是否已安装并配置?
264
+ - [ ] TypeScript path alias 是否已配置?
265
+ - [ ] **目录结构检查**:
266
+ - [ ] 新页面是否放在 `src/pages/<PageName>/` 下?
267
+ - [ ] 可复用业务逻辑是否放在 `src/features/<domain>/` 下?
268
+ - [ ] 通用组件/hooks/工具是否放在 `src/shared/` 下?
269
+ - [ ] 依赖关系是否符合规范(pages → features/shared, features → shared)?
270
+ - [ ] **文件大小检查**(参考 `.aodw/03-standards/ai-coding-rules-common.md`):
271
+ - [ ] 页面入口组件(index.tsx)是否 ≤ 300 行?
272
+ - [ ] 普通组件/hooks/store 文件是否 ≤ 200 行?
273
+ - [ ] 单个函数是否 ≤ 60 行?
274
+ - [ ] 复杂度是否 ≤ 10?
275
+ - [ ] **命名规范检查**:
276
+ - [ ] React 组件文件是否使用 PascalCase?
277
+ - [ ] hooks 文件是否以 `use` 开头?
278
+ - [ ] Zustand store 是否使用 `xxx.store.ts` 命名?
279
+ - [ ] 组件是否使用 PascalCase,变量/函数是否使用 camelCase?
280
+ - [ ] **TypeScript 规范检查**:
281
+ - [ ] 是否启用严格模式?
282
+ - [ ] 是否避免使用 any?
283
+ - [ ] API 层是否使用 DTO 类型和 Response 类型?
284
+ - [ ] **React 编码规范检查**:
285
+ - [ ] 是否使用函数组件 + Hooks?
286
+ - [ ] 数据请求是否封装在 features/*/api 或页面专用 hooks?
287
+ - [ ] 是否不在组件中直接调用 fetch/axios?
288
+ - [ ] **Tailwind & Radix 使用规范检查**:
289
+ - [ ] 是否使用 className 写原子类?
290
+ - [ ] 复杂样式是否抽离到 cn() 或封装为组件?
291
+ - [ ] Radix UI 是否在 shared/components 中封装?
@@ -0,0 +1,97 @@
1
+ # AI Coding Rules - Frontend Development
2
+
3
+ > **注意**:本文件是 `.aodw/03-standards/ai-coding-rules.md` 的子规范文件。
4
+ > 请先阅读主文件了解通用编码原则,再阅读本文件了解前端特定规范。
5
+
6
+ **适用场景**:
7
+ - 前端开发(Vue 2.6 + Webpack 4 + Element-UI)
8
+ - UI 组件开发
9
+ - 前端工具配置
10
+
11
+ ---
12
+
13
+ ## 1. 技术栈确认
14
+
15
+ 适用项目技术栈:
16
+ - **框架**:Vue 2.6.14 (Option API)
17
+ - **UI 组件库**:Element-UI 2.15.7
18
+ - **工程化**:Webpack 4 + Babel
19
+ - **状态管理**:Vuex (如有) 或 Vue.observable
20
+ - **网络请求**:Axios (0.18.1)
21
+ - **样式**:SASS/SCSS + PostCSS
22
+
23
+ ---
24
+
25
+ ## 2. 工具配置检查
26
+
27
+ 在开始编码前,AI 应检查以下配置:
28
+ - **ESLint**: 检查 `.eslintrc.js` 确保适用于 Vue 2。
29
+ - **Prettier**: 确保配置符合项目风格。
30
+ - **PostCSS**: 检查兼容性配置。
31
+
32
+ ---
33
+
34
+ ## 3. 目录结构规范
35
+
36
+ ### 3.1 核心目录
37
+ ```
38
+ frontend/
39
+ src/
40
+ api/ # 接口请求定义
41
+ assets/ # 静态资源 (图片、字体、全局样式)
42
+ components/ # 通用业务组件
43
+ directive/ # 自定义指令
44
+ filters/ # 全局过滤器
45
+ layout/ # 页面布局
46
+ router/ # 路由定义
47
+ store/ # Vuex 状态管理
48
+ utils/ # 工具函数
49
+ views/ # 页面组件
50
+ App.vue # 根组件
51
+ main.js # 入口文件
52
+ ```
53
+
54
+ ### 3.2 依赖规则
55
+ - **views**: 依赖组件、API、Store。
56
+ - **components**: 依赖 API、Utils,不建议依赖 views。
57
+ - **api**: 仅负责数据请求。
58
+
59
+ ---
60
+
61
+ ## 4. 命名规范
62
+
63
+ - **组件文件**: PascalCase (如 `ProjectList.vue`)。
64
+ - **目录名**: kebab-case 或 camelCase。
65
+ - **变量/函数**: camelCase。
66
+ - **生命周期钩子**: 严格按照 Vue 2 官方推荐顺序排列。
67
+
68
+ ---
69
+
70
+ ## 5. Vue 2 编码规范
71
+
72
+ ### 5.1 组件定义
73
+ - 必须包含 `name` 属性,便于调试。
74
+ - `data` 必须是一个函数。
75
+ - `props` 必须定义类型、默认值或是否必传。
76
+
77
+ ### 5.2 样式约定
78
+ - 组件样式建议使用 `scoped`,避免污染全局。
79
+ - 优先使用项目定义的 SASS 变量。
80
+
81
+ ### 5.3 跨组件通信
82
+ - 父子组件:Props & Emit。
83
+ - 跨级组件:Provide / Inject 或 Vuex。
84
+ - 兄弟组件:EventBus (谨慎使用) 或 Vuex。
85
+
86
+ ---
87
+
88
+ ## 6. AI 实现流程约束
89
+
90
+ ### 6.1 文件拆分原则
91
+ - 单个 `.vue` 文件代码量建议 ≤ 500 行。
92
+ - 复杂的业务逻辑建议拆分到 `src/utils` 或通过 Mixin (慎用) 提取。
93
+ - 超过 300 行的 `template` 应当考虑拆分子组件。
94
+
95
+ ### 6.2 代码生成策略
96
+ - 优先生成符合 Vue 2 语法的代码(Option API)。
97
+ - 确保所有的 `import` 路径正确(使用项目中定义的别名,如 `@`)。
@@ -0,0 +1,163 @@
1
+ # UI-Kit: 统一 UI 设计规范
2
+
3
+ > **设计目标**:看起来像"成熟产品",而不是"AI Demo"。克制、冷静、耐看,更接近 Linear / Notion / Stripe,而不是 AI 工具官网。
4
+
5
+ ---
6
+
7
+ ## 1. UI 设计系统(Design System)
8
+
9
+ ### 1.1 设计目标
10
+ - 看起来像"成熟产品",而不是"AI Demo"
11
+ - 克制、冷静、耐看
12
+ - 更接近 Linear / Notion / Stripe,而不是 AI 工具官网
13
+
14
+ ### 1.2 颜色系统(关键)
15
+
16
+ #### ❌ 严禁使用
17
+ - 蓝紫渐变
18
+ - 紫色主色
19
+ - 霓虹色、高饱和度红/蓝
20
+ - 科技感发光效果
21
+
22
+ #### ✅ 允许的主色方向(任选其一)
23
+ - 深灰 + 中性蓝
24
+ - 深灰 + 墨绿
25
+ - 深灰 + 暖棕
26
+ - 黑白灰 + 单一低饱和强调色
27
+
28
+ #### 推荐基础色
29
+ - Text Primary: #111827
30
+ - Text Secondary: #6B7280
31
+ - Border: #E5E7EB
32
+ - Background: #FFFFFF / #F9FAFB
33
+
34
+ ### 1.3 字体与排版
35
+ - 字体风格:中性、无装饰
36
+ - 禁止大号粗体堆砌
37
+ - 所有页面必须有清晰层级
38
+
39
+ #### 层级示例
40
+ - H1: 20–24px / semibold
41
+ - H2: 16–18px / semibold
42
+ - Body: 14px / regular / line-height ≥ 1.6
43
+ - Meta: 12px / regular
44
+
45
+ ### 1.4 布局与留白
46
+ - 使用 8px spacing system
47
+ - 页面必须有呼吸感
48
+ - 不允许"信息塞满屏幕"
49
+
50
+ ### 1.5 组件风格
51
+ - Card:轻边框 / 无阴影或极弱阴影
52
+ - Button:扁平、低饱和
53
+ - Form:label + helper text 必须存在
54
+
55
+ ### 1.6 整体风格关键词
56
+ > calm / neutral / restrained / professional / human-made
57
+
58
+ ---
59
+
60
+ ## 2. UI 生成提示词(Generation Prompt)
61
+
62
+ 你现在不是 AI 工具展示界面设计师,而是在为一款真实上线的专业产品设计 UI。
63
+
64
+ ### 2.1 必须遵守的规则
65
+
66
+ 1. **禁止任何"AI 感"设计**
67
+ - 不使用蓝紫渐变
68
+ - 不使用发光、未来感、科技感
69
+ - 不出现"AI 官网风格"
70
+
71
+ 2. **设计目标**
72
+ - 像 Linear / Notion / Stripe Dashboard
73
+ - 克制、冷静、耐看
74
+ - 看起来是人类设计师做的
75
+
76
+ 3. **所有 UI 必须**:
77
+ - 先给出结构与设计说明
78
+ - 再给代码
79
+ - 如果不确定好不好看,优先删减而不是增加
80
+
81
+ 4. **UI 必须严格遵循本文件第 1 节(UI 设计系统)中的规范**
82
+ - 不允许自行发挥审美
83
+
84
+ ---
85
+
86
+ ## 3. 禁止的 AI 风格(Forbidden AI Style)
87
+
88
+ 以下设计一旦出现,视为失败:
89
+
90
+ - 蓝紫渐变背景
91
+ - 紫色 / 品红色主色
92
+ - 高饱和科技蓝
93
+ - 发光边框
94
+ - 未来 HUD 风格
95
+ - 赛博、量子、AI Lab 视觉语言
96
+
97
+ **出现以上任意一项,必须重做 UI。**
98
+
99
+ ---
100
+
101
+ ## 4. UI Critic Agent(UI 审查官)
102
+
103
+ ### 4.1 角色定位
104
+
105
+ 你是一个非常挑剔的资深 UI/UX 设计总监。
106
+
107
+ 你的任务不是写代码,而是:
108
+ - 找出界面"像 AI 做的地方"
109
+ - 指出哪里丑、哪里廉价、哪里不成熟
110
+ - 强制要求简化和重构
111
+
112
+ ### 4.2 评判标准
113
+
114
+ 1. 是否有 AI 默认审美特征
115
+ 2. 是否像真实产品,而不是 Demo
116
+ 3. 是否存在颜色、排版、层级滥用
117
+ 4. 是否"用力过猛"
118
+
119
+ ### 4.3 输出要求
120
+
121
+ 你的输出必须包含:
122
+ - **丑点清单**(明确指出)
123
+ - **为什么丑**
124
+ - **如何改**
125
+ - **是否建议整体重做**(是 / 否)
126
+
127
+ 你可以非常严格,不需要安慰。
128
+
129
+ ---
130
+
131
+ ## 5. 快速参考
132
+
133
+ ### 5.1 设计检查清单
134
+
135
+ - [ ] 是否使用了蓝紫渐变?
136
+ - [ ] 是否使用了紫色/品红色主色?
137
+ - [ ] 是否有发光效果或科技感装饰?
138
+ - [ ] 颜色是否克制、低饱和?
139
+ - [ ] 排版是否有清晰层级?
140
+ - [ ] 留白是否充足?
141
+ - [ ] 是否像真实产品而非 Demo?
142
+
143
+ ### 5.2 设计原则总结
144
+
145
+ 1. **克制优先**:如果不确定好不好看,优先删减而不是增加
146
+ 2. **真实产品感**:像 Linear / Notion / Stripe,而不是 AI 工具官网
147
+ 3. **人类设计感**:看起来是人类设计师做的,而不是 AI 生成的
148
+ 4. **严格遵循规范**:不允许自行发挥审美,必须遵循本文件第 1 节的规范
149
+
150
+ ---
151
+
152
+ ## 6. 文件结构说明
153
+
154
+ 本文件合并了以下 4 个原始文件的内容:
155
+ - `ui_design_system.md` → 第 1 节:UI 设计系统
156
+ - `ui_generation_prompt.md` → 第 2 节:UI 生成提示词
157
+ - `forbidden_ai_style.md` → 第 3 节:禁止的 AI 风格
158
+ - `ui_critic_agent.md` → 第 4 节:UI Critic Agent
159
+
160
+ **使用建议**:
161
+ - 在 UI 任务时,读取本文件即可获得所有 UI 设计规范
162
+ - 如需引用特定章节,使用章节编号(如"第 1 节:UI 设计系统")
163
+