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.
- package/.aodw/01-core/ai-interaction-rules.md +218 -0
- package/.aodw/01-core/ai-knowledge-rules.md +302 -0
- package/.aodw/01-core/ai-project-overview-rules.md +284 -0
- package/.aodw/01-core/aodw-constitution-summary.md +20 -0
- package/.aodw/01-core/aodw-constitution.md +419 -0
- package/.aodw/01-core/csf-thinking-framework.md +373 -0
- package/.aodw/01-core/git-discipline.md +226 -0
- package/.aodw/01-core/module-doc-rules.md +90 -0
- package/.aodw/02-workflow/aodw-development-stages.md +235 -0
- package/.aodw/02-workflow/rt-id-generation-rules.md +267 -0
- package/.aodw/02-workflow/rt-manager-summary.md +15 -0
- package/.aodw/02-workflow/rt-manager.md +399 -0
- package/.aodw/02-workflow/spec-full-profile-summary.md +13 -0
- package/.aodw/02-workflow/spec-full-profile.md +391 -0
- package/.aodw/02-workflow/spec-lite-profile.md +313 -0
- package/.aodw/02-workflow/ui-workflow-rules.md +334 -0
- package/.aodw/03-standards/ai-coding-rules-common.md +89 -0
- package/.aodw/03-standards/ai-coding-rules.md +370 -0
- package/.aodw/03-standards/stacks/java-springboot/ai-coding-rules-backend.md +100 -0
- package/.aodw/03-standards/stacks/python-fastapi/ai-coding-rules-backend.md +612 -0
- package/.aodw/03-standards/stacks/react-typescript/ai-coding-rules-frontend.md +291 -0
- package/.aodw/03-standards/stacks/vue2/ai-coding-rules-frontend.md +97 -0
- package/.aodw/03-standards/ui-kit/ui-kit.md +163 -0
- package/.aodw/04-auditors/aodw-development-auditor-rules.md +470 -0
- package/.aodw/04-auditors/aodw-full-auditor-rules.md +365 -0
- package/.aodw/04-auditors/aodw-requirement-auditor-rules.md +408 -0
- package/.aodw/05-tooling/ai-tools-init-rules.md +465 -0
- package/.aodw/06-project/ai-overview.md +116 -0
- package/.aodw/06-project/modules-index.yaml +11 -0
- package/.aodw/07-optimization/token-usage-analysis.md +253 -0
- package/.aodw/README.md +26 -0
- package/.aodw/RELEASE-CHECKLIST.md +144 -0
- package/.aodw/config.yaml +2 -0
- package/.aodw/manifest.yaml +98 -0
- package/.aodw/templates/SOURCE-TO-DISTRIBUTION-GUIDE.md +276 -0
- package/.aodw/templates/TEMPLATE-APPLICATION-GUIDE.md +246 -0
- package/.aodw/templates/aodw-kernel-loader-template.md +70 -0
- package/.aodw/templates/audit-report-template.md +232 -0
- package/.aodw/templates/changelog-template.md +16 -0
- package/.aodw/templates/checklists/coding-standards-template.md +110 -0
- package/.aodw/templates/csf-review-template.md +201 -0
- package/.aodw/templates/impact-template.md +17 -0
- package/.aodw/templates/invariants-template.md +12 -0
- package/.aodw/templates/module-readme-template.md +39 -0
- package/.aodw/templates/plan-lite-template.md +11 -0
- package/.aodw/templates/rt-decision-template.md +13 -0
- package/.aodw/templates/rt-intake-template.md +33 -0
- package/.aodw/templates/rt-meta-template.yaml +43 -0
- package/.aodw/templates/spec-lite-template.md +17 -0
- package/.aodw/templates/tests-template.md +13 -0
- package/.aodw/templates/tools-config/README.md +80 -0
- package/.aodw/templates/tools-config/backend/black.config.template.toml +6 -0
- package/.aodw/templates/tools-config/backend/pre-commit.config.template.yaml +16 -0
- package/.aodw/templates/tools-config/backend/ruff.config.template.toml +23 -0
- package/.aodw/templates/tools-config/frontend/eslint.config.template.json +113 -0
- package/.aodw/templates/tools-config/frontend/prettier.config.template.json +10 -0
- package/.aodw/templates/tools-config/frontend/tsconfig.paths.template.json +11 -0
- package/.aodw/workflow-guide.md +51 -0
- package/AODW_Adapters/README.md +143 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-check.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-done.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-full.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-governance.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-impact.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-init.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-invariants.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-lite.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-module.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-new.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-open.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-pause.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-resume.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-tests.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-upgrade.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw.md +35 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-check.md +16 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-done.md +16 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-full.md +14 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-governance.md +13 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-impact.md +13 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-init.md +13 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-invariants.md +13 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-lite.md +14 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-module.md +13 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-new.md +30 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-open.md +10 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-pause.md +12 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-resume.md +12 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-tests.md +13 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-upgrade.md +12 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw.md +18 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/claude/CLAUDE.md +17 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-check.md +30 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-done.md +52 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-full.md +31 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-governance.md +34 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-impact.md +25 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-init.md +75 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-invariants.md +29 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-lite.md +23 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-module.md +24 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-new.md +70 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-open.md +19 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-pause.md +19 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-resume.md +20 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-tests.md +26 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-upgrade.md +27 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw.md +69 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/deploypromote.md +20 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/featuretotester.md +32 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/deploy/feature_to_master_push_test_local.sh +390 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/deploy/promote_only.sh +210 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/deploy/rollback_prod.sh +99 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/rules/aodw.mdc +26 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-check.md +29 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-done.md +52 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-full.md +30 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-governance.md +33 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-impact.md +24 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-init.md +75 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-invariants.md +28 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-lite.md +22 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-module.md +23 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-new.md +92 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-open.md +18 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-pause.md +18 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-resume.md +19 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-tests.md +25 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-upgrade.md +26 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw.md +68 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/GEMINI.md +17 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-analyze.md +15 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-complete.md +15 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-control.md +14 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-decide.md +16 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-governance.md +7 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-implement.md +16 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-init.md +7 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-intake.md +15 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-open.md +7 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-simplified.md +107 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-verify.md +14 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-analyze.md +24 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-complete.md +23 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-control.md +21 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-decide.md +26 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-governance.md +13 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-implement.md +21 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-init.md +13 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-intake.md +28 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-open.md +10 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-verify.md +20 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw.md +18 -0
- package/AODW_Adapters/antigravity/.agent/rules/aodw.md +74 -0
- package/AODW_Adapters/claude/CLAUDE.md +70 -0
- package/AODW_Adapters/cursor/.cursor/commands/README.md +37 -0
- package/AODW_Adapters/cursor/.cursor/rules/aodw.mdc +77 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-analyze.md +15 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-complete.md +15 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-control.md +14 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-decide.md +16 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-governance.md +33 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-implement.md +16 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-init.md +75 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-intake.md +15 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-open.md +18 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-verify.md +14 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw.md +70 -0
- package/AODW_Adapters/gemini/GEMINI.md +17 -0
- package/AODW_Adapters/general/.github/copilot-instructions.md +34 -0
- package/AODW_Adapters/general/AGENTS.md +70 -0
- package/README.md +118 -0
- package/bin/aodw.js +627 -0
- package/bin/commands/init-overview.js +801 -0
- package/bin/commands/init-tools.js +811 -0
- package/bin/commands/new.js +235 -0
- package/bin/commands/serve.js +79 -0
- package/bin/processors/index.js +109 -0
- package/bin/update-adapters-from-template.js +89 -0
- package/bin/utils/config.js +56 -0
- package/docs/README.md +26 -0
- package/docs/adapter-evaluation.md +55 -0
- package/docs/backend-guidelines.md +335 -0
- package/docs/frontend-guidelines.md +266 -0
- package/docs/installation-variants.md +88 -0
- package/docs/migration-guide-0.2.0.md +250 -0
- package/docs/platform-matrix.md +83 -0
- package/package.json +40 -0
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
# UI Workflow Rules
|
|
2
|
+
UI 设计与审查流程规范
|
|
3
|
+
|
|
4
|
+
## 0. 概述
|
|
5
|
+
|
|
6
|
+
当 RT 任务涉及 UI/界面/交互相关工作时,必须执行本流程。本流程确保:
|
|
7
|
+
- UI 设计符合项目统一审美标准(非 AI 风格)
|
|
8
|
+
- **在实现前先产出静态 HTML 原型供用户确认**(强制步骤)
|
|
9
|
+
- 通过严格的 UI 审查机制保证质量
|
|
10
|
+
|
|
11
|
+
### 0.1 核心要求
|
|
12
|
+
|
|
13
|
+
> ⚠️ **关键规则**:所有 UI 相关任务**必须**在 RT 目录中创建 HTML 版本的界面原型,并**必须**获得用户确认后才能进入实现阶段。
|
|
14
|
+
|
|
15
|
+
- **HTML 原型文件位置**:`RT/RT-XXX/docs/ui-prototype.html`
|
|
16
|
+
- **用户确认**:是强制门禁,不可跳过
|
|
17
|
+
- **实现代码**:仅在用户确认原型后才能生成
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 1. UI 任务识别(Task Type Detection)
|
|
22
|
+
|
|
23
|
+
在执行任何任务之前,AI 必须首先进行 **任务类型判断**。
|
|
24
|
+
|
|
25
|
+
### 1.1 UI 相关任务判定条件
|
|
26
|
+
|
|
27
|
+
以下任意条件满足,即视为 **UI 相关任务**:
|
|
28
|
+
|
|
29
|
+
- ✅ 涉及页面、界面、布局、组件、表单、Dashboard
|
|
30
|
+
- ✅ 涉及用户操作流程、交互体验、可视化
|
|
31
|
+
- ✅ 涉及前端 UI、样式、视觉呈现
|
|
32
|
+
- ✅ 用户明确提到"界面 / UI / 好看 / 丑 / 设计"
|
|
33
|
+
- ✅ 涉及 UI 改造、UI 新建、UI 优化
|
|
34
|
+
|
|
35
|
+
### 1.2 判断时机
|
|
36
|
+
|
|
37
|
+
- **RT 创建阶段**:在 `intake.md` 生成时进行判断
|
|
38
|
+
- **任务执行阶段**:在执行任何代码修改前进行判断
|
|
39
|
+
- **需求变更阶段**:当用户提出新需求时重新判断
|
|
40
|
+
- **用户主动触发**:用户明确要求执行 UI 流程时(见第 1.4 节)
|
|
41
|
+
|
|
42
|
+
### 1.3 判断结果处理
|
|
43
|
+
|
|
44
|
+
- **非 UI 相关任务**:按正常 AODW 流程执行
|
|
45
|
+
- **UI 相关任务**:**必须进入 UI 专用流程**(见第 2 节)
|
|
46
|
+
|
|
47
|
+
### 1.4 用户主动触发 UI 流程
|
|
48
|
+
|
|
49
|
+
用户可以在任何时候主动触发 UI 相关流程,AI 必须识别并执行。
|
|
50
|
+
|
|
51
|
+
#### 1.4.1 触发命令识别
|
|
52
|
+
|
|
53
|
+
AI 必须识别以下用户指令(支持多种表达方式):
|
|
54
|
+
|
|
55
|
+
| 触发类型 | 触发词示例 | 执行动作 |
|
|
56
|
+
|---------|-----------|---------|
|
|
57
|
+
| **UI 设计** | "请 AODW 规范,帮我就当前这个 RT 任务的界面进行设计"<br>"按 AODW 规范设计界面"<br>"设计 UI"<br>"生成界面原型" | 执行 UI 设计流程(第 2 节) |
|
|
58
|
+
| **UI 审计/审查** | "请 AODW 规范,帮我就当前这个 RT 任务的界面进行审计"<br>"审计界面"<br>"审查 UI"<br>"检查界面" | 执行 UI Critic 审查流程(第 3 节) |
|
|
59
|
+
| **UI 挑毛病** | "请 AODW 规范,帮我就当前这个 RT 任务的界面挑毛病"<br>"挑 UI 毛病"<br>"找界面问题"<br>"UI 有什么问题" | 执行 UI Critic 审查流程(第 3 节,严格模式) |
|
|
60
|
+
|
|
61
|
+
> **详细规则**:请参考 `.aodw/01-core/ai-interaction-rules.md` 第 5.5 节
|
|
62
|
+
|
|
63
|
+
#### 1.4.2 触发条件检查
|
|
64
|
+
|
|
65
|
+
当用户触发 UI 流程时,AI 必须:
|
|
66
|
+
|
|
67
|
+
1. **检查当前 RT 上下文**
|
|
68
|
+
- 确认是否存在当前 RT(检查 `RT/RT-XXX/` 目录)
|
|
69
|
+
- 如果不存在,提示用户:"未找到当前 RT,请先创建或打开一个 RT"
|
|
70
|
+
- 如果存在,读取 `intake.md` 或 `spec.md` / `spec-lite.md` 了解任务内容
|
|
71
|
+
|
|
72
|
+
2. **检查是否为 UI 相关任务**
|
|
73
|
+
- 如果 `intake.md` 中标注了 `ui_related: true`,直接进入 UI 流程
|
|
74
|
+
- 如果未标注,但任务涉及 UI(根据第 1.1 节判断),提示用户:"检测到当前 RT 可能涉及 UI,是否执行 UI 流程?"
|
|
75
|
+
- 如果完全不涉及 UI,提示用户:"当前 RT 不涉及 UI,是否仍要执行 UI 审查?"
|
|
76
|
+
|
|
77
|
+
3. **执行对应的 UI 流程**
|
|
78
|
+
- **UI 设计**:按照第 2 节执行
|
|
79
|
+
- **UI 审计/审查/挑毛病**:按照第 3 节执行
|
|
80
|
+
|
|
81
|
+
#### 1.4.3 执行优先级
|
|
82
|
+
|
|
83
|
+
- **用户主动触发** > **自动流程触发**
|
|
84
|
+
- 如果用户主动触发 UI 流程,即使当前不在 UI 相关阶段,也应立即执行
|
|
85
|
+
- 执行完成后,询问用户是否继续原流程
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## 2. UI 专用流程(强制执行,不可跳过)
|
|
90
|
+
|
|
91
|
+
当任务被判定为 UI 相关时,AI 必须严格按以下顺序执行:
|
|
92
|
+
|
|
93
|
+
### 2.1 规则文件读取(强制前置,但按需加载)
|
|
94
|
+
|
|
95
|
+
> ⚠️ **Token 优化**:UI-Kit 文件应该合并为单个文件(`.aodw/03-standards/ui-kit/ui-kit.md`),以减少加载次数和 token 消耗。
|
|
96
|
+
|
|
97
|
+
**加载时机**:在生成任何 UI 代码之前,AI **必须**先读取并理解 UI 设计规范文件。
|
|
98
|
+
|
|
99
|
+
**文件位置**:`.aodw/03-standards/ui-kit/` 目录
|
|
100
|
+
|
|
101
|
+
**加载方式**:
|
|
102
|
+
- **必须读取**:`.aodw/03-standards/ui-kit/ui-kit.md`(合并后的统一文件,包含所有 UI 设计规范)
|
|
103
|
+
- 第 1 节:UI 设计系统(统一审美与设计约束)
|
|
104
|
+
- 第 2 节:UI 生成提示词(所有 UI 生成的"总提示词")
|
|
105
|
+
- 第 3 节:禁止的 AI 风格(明确禁止的 AI 审美)
|
|
106
|
+
- 第 4 节:UI Critic Agent(UI 审查标准)
|
|
107
|
+
|
|
108
|
+
**关键规则**:
|
|
109
|
+
- ⚠️ 在未确认理解上述规则之前,**不允许生成任何 UI**
|
|
110
|
+
- ⚠️ 在未确认理解上述规则之前,**不允许输出任何代码**
|
|
111
|
+
- ⚠️ **只在 UI 任务时加载**,非 UI 任务不加载 UI-Kit 文件
|
|
112
|
+
- AI 必须明确告知用户:"已读取 UI 设计规范,准备开始设计"
|
|
113
|
+
|
|
114
|
+
### 2.2 UI 生成阶段规则
|
|
115
|
+
|
|
116
|
+
#### 2.2.1 设计原则
|
|
117
|
+
|
|
118
|
+
UI 生成必须遵守:
|
|
119
|
+
- ✅ 克制、非 AI 风格
|
|
120
|
+
- ✅ 禁止蓝 / 紫 / 红 AI 默认审美
|
|
121
|
+
- ✅ 更像真实成熟产品(Linear / Notion / Stripe),而非 Demo 或 AI 工具
|
|
122
|
+
- ✅ 严格遵循 `ui-kit.md` 第 1 节(UI 设计系统)中的规范
|
|
123
|
+
|
|
124
|
+
#### 2.2.2 生成流程(必须顺序执行,不可跳过)
|
|
125
|
+
|
|
126
|
+
**步骤 A:UI 结构与设计说明**
|
|
127
|
+
- 先输出 UI 结构与设计说明
|
|
128
|
+
- 包括:布局结构、组件层次、交互流程、颜色方案
|
|
129
|
+
- 说明设计理由,解释如何符合设计系统
|
|
130
|
+
|
|
131
|
+
**步骤 B:静态 HTML 原型生成(强制步骤)**
|
|
132
|
+
|
|
133
|
+
> ⚠️ **关键规则**:所有 UI 相关任务**必须**在 RT 目录中创建 HTML 版本的界面原型。
|
|
134
|
+
|
|
135
|
+
- **文件位置**:必须在 `RT/RT-XXX/docs/ui-prototype.html`(如果 `docs/` 目录不存在,必须先创建)
|
|
136
|
+
- **文件命名**:统一使用 `ui-prototype.html`
|
|
137
|
+
- **文件内容要求**:
|
|
138
|
+
- ✅ 生成**完整的静态 HTML 原型**(使用模拟数据)
|
|
139
|
+
- ✅ **必须包含所有 UI 元素和交互状态**
|
|
140
|
+
- ✅ **必须包含完整的样式**(内联 CSS 或 `<style>` 标签)
|
|
141
|
+
- ✅ **必须包含模拟数据**(不需要任何真实 API 请求)
|
|
142
|
+
- ✅ 必须能够在浏览器中直接打开查看
|
|
143
|
+
- ✅ 必须符合 `ui-kit.md` 第 1 节(UI 设计系统)中的设计规范
|
|
144
|
+
- **文件创建**:AI 必须使用 `write` 工具创建此文件,确保文件存在于 RT 目录中
|
|
145
|
+
|
|
146
|
+
**步骤 C:用户确认(强制门禁,不可跳过)**
|
|
147
|
+
|
|
148
|
+
> ⚠️ **关键规则**:用户确认是**强制步骤**,未获得确认前**严禁**进入实现阶段。
|
|
149
|
+
|
|
150
|
+
- **展示 HTML 原型**:
|
|
151
|
+
- 告知用户文件位置:`RT/RT-XXX/docs/ui-prototype.html`
|
|
152
|
+
- 提示用户:"请在浏览器中打开此文件查看界面原型"
|
|
153
|
+
- 如果可能,提供文件路径的完整说明
|
|
154
|
+
- **明确询问**:
|
|
155
|
+
- 必须明确询问:"请确认此 UI 原型是否符合预期?"
|
|
156
|
+
- 必须等待用户明确确认("确认"、"通过"、"继续"、"批准"等)
|
|
157
|
+
- **确认前禁止**:
|
|
158
|
+
- ❌ **未获得用户确认前,禁止进入下一步**
|
|
159
|
+
- ❌ **未获得用户确认前,禁止生成任何实现代码**
|
|
160
|
+
- ❌ **未获得用户确认前,禁止修改任何业务代码**
|
|
161
|
+
|
|
162
|
+
**步骤 D:实现代码生成(用户确认后)**
|
|
163
|
+
- **仅在用户明确确认后**,才生成实际实现代码
|
|
164
|
+
- 代码必须与确认的原型保持一致
|
|
165
|
+
- 如果用户要求修改,必须回到步骤 A 重新设计
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## 3. UI 质量审查(必须执行)
|
|
170
|
+
|
|
171
|
+
在 UI 初稿生成完成后(无论是 HTML 原型还是实现代码),**必须自动执行 UI 审查流程**。
|
|
172
|
+
|
|
173
|
+
### 3.1 审查触发时机
|
|
174
|
+
|
|
175
|
+
- **自动触发**:
|
|
176
|
+
- HTML 原型生成后(用户确认前)
|
|
177
|
+
- 实现代码生成后(提交前)
|
|
178
|
+
- **用户主动触发**:
|
|
179
|
+
- 用户明确要求"审计界面"、"审查 UI"、"检查界面"、"挑 UI 毛病"等
|
|
180
|
+
- 用户可以在任何时候主动触发 UI 审查,即使不在 UI 相关阶段
|
|
181
|
+
- 详细触发命令见第 1.4 节
|
|
182
|
+
|
|
183
|
+
### 3.2 审查执行流程
|
|
184
|
+
|
|
185
|
+
1. **切换到 UI Critic 角色**
|
|
186
|
+
- 按照 `.aodw/03-standards/ui-kit/ui-kit.md` 第 4 节(UI Critic Agent)的标准执行审查
|
|
187
|
+
- 以"挑剔的资深 UI/UX 设计总监"身份进行评判
|
|
188
|
+
|
|
189
|
+
2. **审查标准**
|
|
190
|
+
- 是否有 AI 默认审美特征
|
|
191
|
+
- 是否像真实产品,而不是 Demo
|
|
192
|
+
- 是否存在颜色、排版、层级滥用
|
|
193
|
+
- 是否"用力过猛"
|
|
194
|
+
|
|
195
|
+
3. **审查输出格式**
|
|
196
|
+
必须包含:
|
|
197
|
+
- **丑点清单**(明确指出问题)
|
|
198
|
+
- **为什么丑**(原因分析)
|
|
199
|
+
- **如何改**(改进建议)
|
|
200
|
+
- **是否建议整体重做**(是 / 否)
|
|
201
|
+
|
|
202
|
+
### 3.3 审查结果处理
|
|
203
|
+
|
|
204
|
+
- **通过审查**:继续下一步流程
|
|
205
|
+
- **未通过审查**:进入重构流程(见第 4 节)
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## 4. 重构流程(条件触发)
|
|
210
|
+
|
|
211
|
+
如果 UI Critic 指出存在明显问题,必须执行重构:
|
|
212
|
+
|
|
213
|
+
### 4.1 重构触发条件
|
|
214
|
+
|
|
215
|
+
- UI Critic 明确建议"整体重做"
|
|
216
|
+
- 发现 `ui-kit.md` 第 3 节(禁止的 AI 风格)中列出的任何禁止模式
|
|
217
|
+
- 存在明显的颜色、排版、层级问题
|
|
218
|
+
|
|
219
|
+
### 4.2 重构执行规则
|
|
220
|
+
|
|
221
|
+
1. **禁止引入禁止模式**
|
|
222
|
+
- 不得引入 `ui-kit.md` 第 3 节(禁止的 AI 风格)中的任何模式
|
|
223
|
+
- 不得使用蓝紫渐变、紫色主色、高饱和科技蓝等
|
|
224
|
+
|
|
225
|
+
2. **重构目标**
|
|
226
|
+
- 更人类、更克制、更专业
|
|
227
|
+
- 更接近 Linear / Notion / Stripe 风格
|
|
228
|
+
|
|
229
|
+
3. **重构后重新审查**
|
|
230
|
+
- 重构完成后,必须再次执行 UI 审查流程
|
|
231
|
+
- 直到通过审查或用户明确接受
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## 5. UI 流程与 RT 流程集成
|
|
236
|
+
|
|
237
|
+
### 5.1 在 Spec-Lite 中的集成
|
|
238
|
+
|
|
239
|
+
当 RT 使用 Spec-Lite Profile 且涉及 UI 时:
|
|
240
|
+
|
|
241
|
+
1. **Intake 阶段**:识别为 UI 任务
|
|
242
|
+
2. **Spec 阶段**:在 `spec-lite.md` 中明确标注 UI 相关
|
|
243
|
+
3. **Plan 阶段**:在 `plan-lite.md` 中必须包含:
|
|
244
|
+
- UI 原型生成步骤
|
|
245
|
+
- UI 审查步骤
|
|
246
|
+
- 用户确认步骤
|
|
247
|
+
4. **实现阶段**:按本流程执行
|
|
248
|
+
|
|
249
|
+
### 5.2 在 Spec-Full 中的集成
|
|
250
|
+
|
|
251
|
+
当 RT 使用 Spec-Full Profile 且涉及 UI 时:
|
|
252
|
+
|
|
253
|
+
1. **Intake 阶段**:识别为 UI 任务
|
|
254
|
+
2. **Spec 阶段**:在 `spec.md` 中详细描述 UI 需求
|
|
255
|
+
3. **Plan 阶段**:在 `plan.md` 中必须包含:
|
|
256
|
+
- UI 原型设计步骤
|
|
257
|
+
- UI 审查步骤
|
|
258
|
+
- 用户确认步骤
|
|
259
|
+
- UI 实现步骤
|
|
260
|
+
4. **Impact 阶段**:在 `impact.md` 中分析 UI 变更影响
|
|
261
|
+
5. **实现阶段**:按本流程执行
|
|
262
|
+
|
|
263
|
+
### 5.3 文档记录要求
|
|
264
|
+
|
|
265
|
+
UI 相关 RT 必须在以下文档中记录:
|
|
266
|
+
|
|
267
|
+
- **`intake.md`**:标注 `ui_related: true`
|
|
268
|
+
- **`spec.md` 或 `spec-lite.md`**:包含 UI 设计说明
|
|
269
|
+
- **`plan.md` 或 `plan-lite.md`**:包含 UI 流程步骤
|
|
270
|
+
- **`RT/RT-XXX/docs/ui-prototype.html`**:**必须创建** HTML 原型文件(强制要求)
|
|
271
|
+
- **`changelog.md`**:记录 UI 变更历史,包括 HTML 原型的创建和确认时间
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## 6. 最终原则
|
|
276
|
+
|
|
277
|
+
### 6.1 质量优先
|
|
278
|
+
|
|
279
|
+
**UI 的质量优先级高于完成速度。**
|
|
280
|
+
|
|
281
|
+
如果不确定是否好看,**优先简化,而不是增加设计**。
|
|
282
|
+
|
|
283
|
+
### 6.2 用户确认优先(强制要求)
|
|
284
|
+
|
|
285
|
+
**所有 UI 设计必须经过用户确认才能进入实现阶段。**
|
|
286
|
+
|
|
287
|
+
**强制要求**:
|
|
288
|
+
- ✅ **必须**在 `RT/RT-XXX/docs/ui-prototype.html` 创建 HTML 原型文件
|
|
289
|
+
- ✅ **必须**等待用户在浏览器中查看原型并明确确认
|
|
290
|
+
- ✅ **必须**在用户确认后才允许生成实现代码
|
|
291
|
+
- ❌ **严禁**跳过 HTML 原型直接生成实现代码
|
|
292
|
+
- ❌ **严禁**在未获得用户确认前进入实现阶段
|
|
293
|
+
|
|
294
|
+
静态 HTML 原型是确认的关键工具,必须包含完整的视觉呈现和所有交互状态。
|
|
295
|
+
|
|
296
|
+
### 6.3 禁止跳过(强制检查点)
|
|
297
|
+
|
|
298
|
+
以下步骤**不可跳过**,违反将视为严重违规:
|
|
299
|
+
- ❌ 规则文件读取
|
|
300
|
+
- ❌ UI 结构与设计说明
|
|
301
|
+
- ❌ **静态 HTML 原型生成**(必须在 `RT/RT-XXX/docs/ui-prototype.html` 创建文件)
|
|
302
|
+
- ❌ **用户确认**(强制门禁,未确认前禁止进入实现阶段)
|
|
303
|
+
- ❌ UI 审查
|
|
304
|
+
|
|
305
|
+
**违规处理**:
|
|
306
|
+
- 如果 AI 跳过 HTML 原型生成或用户确认步骤,必须立即停止,重新执行完整流程
|
|
307
|
+
|
|
308
|
+
---
|
|
309
|
+
|
|
310
|
+
## 7. 违规处理
|
|
311
|
+
|
|
312
|
+
如果 AI 违反本流程:
|
|
313
|
+
|
|
314
|
+
1. **在未读取规则文件前生成 UI**:必须立即停止,重新读取规则
|
|
315
|
+
2. **未创建 HTML 原型文件**:必须立即停止,创建 `RT/RT-XXX/docs/ui-prototype.html` 文件
|
|
316
|
+
3. **跳过用户确认直接实现**:必须回退,重新生成原型并确认,**严禁**在未确认前生成实现代码
|
|
317
|
+
4. **未执行 UI 审查**:必须补充审查,根据结果决定是否重构
|
|
318
|
+
5. **引入禁止的 AI 风格**:必须立即重构,不得继续
|
|
319
|
+
|
|
320
|
+
**严重违规**:
|
|
321
|
+
- 如果 AI 跳过 HTML 原型创建或用户确认步骤,视为严重违规
|
|
322
|
+
- 必须立即停止所有工作,重新执行完整的 UI 流程
|
|
323
|
+
- 必须向用户明确说明违规情况并道歉
|
|
324
|
+
|
|
325
|
+
---
|
|
326
|
+
|
|
327
|
+
## 8. 参考文件
|
|
328
|
+
|
|
329
|
+
- `.aodw/03-standards/ui-kit/ui-kit.md` - 统一 UI 设计规范(合并文件,包含所有 UI 设计规范)
|
|
330
|
+
- 第 1 节:UI 设计系统(统一审美与设计约束)
|
|
331
|
+
- 第 2 节:UI 生成提示词(所有 UI 生成的"总提示词")
|
|
332
|
+
- 第 3 节:禁止的 AI 风格(明确禁止的 AI 审美)
|
|
333
|
+
- 第 4 节:UI Critic Agent(专门「挑丑」的 AI Agent)
|
|
334
|
+
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# AI Coding Rules - Common Standards
|
|
2
|
+
|
|
3
|
+
> **注意**:本文件是 `.aodw/03-standards/ai-coding-rules.md` 的子规范文件。
|
|
4
|
+
> 请先阅读主文件了解通用编码原则,再阅读本文件了解通用编码规范。
|
|
5
|
+
|
|
6
|
+
**适用场景**:
|
|
7
|
+
- 所有类型的代码开发(前端、后端、脚本等)
|
|
8
|
+
- 文件大小和复杂度控制
|
|
9
|
+
- 代码拆分原则
|
|
10
|
+
- 输出策略
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 1. 全局文件长度限制(软上限)
|
|
15
|
+
|
|
16
|
+
为了防止代码库变得难以维护,AI 必须严格遵守以下文件长度限制。
|
|
17
|
+
|
|
18
|
+
当文件接近以下限制时,AI **必须** 停止向该文件添加新功能,并考虑拆分。
|
|
19
|
+
|
|
20
|
+
- **TS/TSX/JS 页面组件 (Page)**:建议 ≤ 250 行(软上限 300 行)
|
|
21
|
+
- **TS/TSX 业务组件 (Business)**:建议 ≤ 200 行
|
|
22
|
+
- **TS/TSX 展示组件 (Display)**:建议 ≤ 150 行
|
|
23
|
+
- **Python 模块**:≤ 300 行(普通业务模块建议 ≤ 250 行)
|
|
24
|
+
- **Shell 脚本**:≤ 150 行
|
|
25
|
+
- **SQL / JSON / YAML / 配置文件**:≤ 200 行(或大小 < 20KB)
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 2. 函数 / 方法 / 类限制
|
|
30
|
+
|
|
31
|
+
- **单个函数/方法**:建议 ≤ 40 行,**最多 ≤ 60 行**。
|
|
32
|
+
- *Action*:如超过 60 行,必须拆分为多个小函数。
|
|
33
|
+
- **单个类**:建议 ≤ 300 行。
|
|
34
|
+
- *Action*:如超过需按职责拆类或拆模块。
|
|
35
|
+
- **JSX 结构**:超过 80 行或嵌套过深时,必须拆成子组件。
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 3. 拆分原则 (Splitting Principle)
|
|
40
|
+
|
|
41
|
+
当你(AI)意识到继续实现会导致文件超出上述限制时,必须执行以下 **Stop & Ask** 流程:
|
|
42
|
+
|
|
43
|
+
1. **立刻停止**继续往这个文件里加内容。
|
|
44
|
+
2. **主动说明**需要新建哪些文件(组件 / hooks / services / 子模块)来分担职责。
|
|
45
|
+
3. **分步实现**:当前对话只实现一个核心文件,其余留待后续迭代。
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 4. 输出策略 (Output Strategy)
|
|
50
|
+
|
|
51
|
+
对于中大型功能(或预计代码量 > 100 行):
|
|
52
|
+
|
|
53
|
+
1. **目录结构先行**:
|
|
54
|
+
- 第一步必须给出 **目录结构 + 文件列表 + 各文件职责说明**(不写具体代码)。
|
|
55
|
+
- 在得到用户确认前,**不要**直接生成完整实现。
|
|
56
|
+
|
|
57
|
+
2. **单次单文件**:
|
|
58
|
+
- 每次对话只生成 **一个文件** 的完整代码。
|
|
59
|
+
- 必须按如下格式标明路径与职责:
|
|
60
|
+
|
|
61
|
+
```tsx
|
|
62
|
+
// path: src/pages/ProjectEditorPage/index.tsx
|
|
63
|
+
// 职责:负责项目编辑页面的整体布局和组件组合,不包含复杂业务逻辑
|
|
64
|
+
<代码...>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## 5. 复杂度控制
|
|
70
|
+
|
|
71
|
+
- **圈复杂度 (Cyclomatic Complexity)**:建议 ≤ 10
|
|
72
|
+
- **认知复杂度 (Cognitive Complexity)**:建议 ≤ 15
|
|
73
|
+
|
|
74
|
+
如果复杂度超过限制,必须:
|
|
75
|
+
1. 重构代码,降低复杂度
|
|
76
|
+
2. 拆分函数或类
|
|
77
|
+
3. 提取公共逻辑
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## 6. 代码质量检查
|
|
82
|
+
|
|
83
|
+
在提交代码前,必须确保:
|
|
84
|
+
|
|
85
|
+
- [ ] 文件大小符合限制
|
|
86
|
+
- [ ] 函数/方法长度符合限制
|
|
87
|
+
- [ ] 复杂度符合限制
|
|
88
|
+
- [ ] 代码已通过静态检查工具(ESLint、Ruff 等)
|
|
89
|
+
- [ ] 代码已通过格式化工具(Prettier、Black 等)
|