cc-devflow 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 (277) hide show
  1. package/.claude/CLAUDE.md +83 -0
  2. package/.claude/agents/architecture-designer.md +443 -0
  3. package/.claude/agents/bug-analyzer.md +382 -0
  4. package/.claude/agents/checklist-agent.md +175 -0
  5. package/.claude/agents/clarify-analyst.md +50 -0
  6. package/.claude/agents/code-reviewer.md +71 -0
  7. package/.claude/agents/codex-analyzer.md +39 -0
  8. package/.claude/agents/compatibility-checker.md +580 -0
  9. package/.claude/agents/consistency-checker.md +532 -0
  10. package/.claude/agents/impact-analyzer.md +441 -0
  11. package/.claude/agents/planner.md +230 -0
  12. package/.claude/agents/prd-writer.md +320 -0
  13. package/.claude/agents/project-guidelines-generator.md +1329 -0
  14. package/.claude/agents/qa-tester.md +313 -0
  15. package/.claude/agents/release-manager.md +295 -0
  16. package/.claude/agents/security-reviewer.md +314 -0
  17. package/.claude/agents/style-guide-generator.md +458 -0
  18. package/.claude/agents/tech-architect.md +516 -0
  19. package/.claude/agents/ui-designer.md +485 -0
  20. package/.claude/commands/code-review-high.md +58 -0
  21. package/.claude/commands/core-architecture.md +429 -0
  22. package/.claude/commands/core-guidelines.md +486 -0
  23. package/.claude/commands/core-roadmap.md +439 -0
  24. package/.claude/commands/core-style.md +293 -0
  25. package/.claude/commands/flow-archive.md +245 -0
  26. package/.claude/commands/flow-checklist.md +260 -0
  27. package/.claude/commands/flow-clarify.md +136 -0
  28. package/.claude/commands/flow-constitution.md +82 -0
  29. package/.claude/commands/flow-dev.md +134 -0
  30. package/.claude/commands/flow-epic.md +150 -0
  31. package/.claude/commands/flow-fix.md +104 -0
  32. package/.claude/commands/flow-ideate.md +214 -0
  33. package/.claude/commands/flow-init.md +313 -0
  34. package/.claude/commands/flow-new.md +394 -0
  35. package/.claude/commands/flow-prd.md +131 -0
  36. package/.claude/commands/flow-qa.md +93 -0
  37. package/.claude/commands/flow-release.md +92 -0
  38. package/.claude/commands/flow-restart.md +98 -0
  39. package/.claude/commands/flow-status.md +64 -0
  40. package/.claude/commands/flow-tech.md +142 -0
  41. package/.claude/commands/flow-ui.md +189 -0
  42. package/.claude/commands/flow-update.md +111 -0
  43. package/.claude/commands/flow-upgrade.md +115 -0
  44. package/.claude/commands/flow-verify.md +96 -0
  45. package/.claude/commands/problem-analyzer.md +60 -0
  46. package/.claude/config/quality-rules.yml +161 -0
  47. package/.claude/docs/SPEC_KIT_CONSTITUTION_ANALYSIS.md +426 -0
  48. package/.claude/docs/design/consistency-conflict-detection-algorithms.md +658 -0
  49. package/.claude/docs/design/intent-driven-input-design.md +380 -0
  50. package/.claude/docs/design/prd-version-management-design.md +437 -0
  51. package/.claude/docs/guides/INIT_TROUBLESHOOTING.md +117 -0
  52. package/.claude/docs/guides/NEW_TROUBLESHOOTING.md +151 -0
  53. package/.claude/docs/guides/ROADMAP_TROUBLESHOOTING.md +188 -0
  54. package/.claude/docs/guides/TASK_COMPLETION_MARKING.md +338 -0
  55. package/.claude/docs/templates/ARCHITECTURE_TEMPLATE.md +633 -0
  56. package/.claude/docs/templates/BACKLOG_TEMPLATE.md +261 -0
  57. package/.claude/docs/templates/CHECKLIST_TEMPLATE.md +52 -0
  58. package/.claude/docs/templates/CLARIFICATION_REPORT_TEMPLATE.md +206 -0
  59. package/.claude/docs/templates/CODE_REVIEW_TEMPLATE.md +71 -0
  60. package/.claude/docs/templates/EPIC_TEMPLATE.md +805 -0
  61. package/.claude/docs/templates/INIT_FLOW_TEMPLATE.md +213 -0
  62. package/.claude/docs/templates/INTENT_CLARIFICATION_TEMPLATE.md +57 -0
  63. package/.claude/docs/templates/NEW_ORCHESTRATION_TEMPLATE.md +148 -0
  64. package/.claude/docs/templates/PRD_TEMPLATE.md +562 -0
  65. package/.claude/docs/templates/RESEARCH_TEMPLATE.md +276 -0
  66. package/.claude/docs/templates/REVIEW-HIGH.md +57 -0
  67. package/.claude/docs/templates/ROADMAP_DIALOGUE_TEMPLATE.md +198 -0
  68. package/.claude/docs/templates/ROADMAP_TEMPLATE.md +310 -0
  69. package/.claude/docs/templates/STYLE_TEMPLATE.md +1266 -0
  70. package/.claude/docs/templates/TASKS_TEMPLATE.md +523 -0
  71. package/.claude/docs/templates/TECH_DESIGN_TEMPLATE.md +1019 -0
  72. package/.claude/docs/templates/UI_PROTOTYPE_TEMPLATE.md +1436 -0
  73. package/.claude/guides/agent-guides/agent-coordination-guide.md +459 -0
  74. package/.claude/guides/project-guidelines-system.md +463 -0
  75. package/.claude/guides/technical-guides/datetime-handling-guide.md +563 -0
  76. package/.claude/guides/technical-guides/git-github-guide.md +642 -0
  77. package/.claude/guides/technical-guides/test-execution-guide.md +618 -0
  78. package/.claude/guides/workflow-guides/bug-fix-orchestrator.md +217 -0
  79. package/.claude/guides/workflow-guides/flow-orchestrator.md +282 -0
  80. package/.claude/hooks/checklist-gate.js +397 -0
  81. package/.claude/hooks/error-handling-reminder.sh +12 -0
  82. package/.claude/hooks/error-handling-reminder.ts +459 -0
  83. package/.claude/hooks/post-tool-use-tracker.sh +280 -0
  84. package/.claude/hooks/pre-tool-use-guardrail.sh +36 -0
  85. package/.claude/hooks/pre-tool-use-guardrail.ts +342 -0
  86. package/.claude/hooks/skill-activation-prompt.sh +36 -0
  87. package/.claude/hooks/skill-activation-prompt.ts +214 -0
  88. package/.claude/hooks/state/skills-used-test-guard.json +3 -0
  89. package/.claude/rules/devflow-conventions.md +305 -0
  90. package/.claude/rules/project-constitution.md +748 -0
  91. package/.claude/schemas/constitution.schema.json +43 -0
  92. package/.claude/scripts/analyze-upgrade-impact.sh +200 -0
  93. package/.claude/scripts/archive-requirement.sh +351 -0
  94. package/.claude/scripts/calculate-checklist-completion.sh +243 -0
  95. package/.claude/scripts/calculate-quarter.sh +206 -0
  96. package/.claude/scripts/check-dependencies.sh +409 -0
  97. package/.claude/scripts/check-prerequisites.sh +232 -0
  98. package/.claude/scripts/check-task-status.sh +264 -0
  99. package/.claude/scripts/checklist-errors.sh +131 -0
  100. package/.claude/scripts/common.sh +570 -0
  101. package/.claude/scripts/consolidate-research.sh +182 -0
  102. package/.claude/scripts/create-requirement.sh +426 -0
  103. package/.claude/scripts/export-contracts.sh +117 -0
  104. package/.claude/scripts/extract-data-model.sh +78 -0
  105. package/.claude/scripts/generate-clarification-questions.sh +377 -0
  106. package/.claude/scripts/generate-clarification-report.sh +463 -0
  107. package/.claude/scripts/generate-quickstart.sh +146 -0
  108. package/.claude/scripts/generate-research-tasks.sh +157 -0
  109. package/.claude/scripts/generate-status-report.sh +523 -0
  110. package/.claude/scripts/generate-tech-analysis.sh +46 -0
  111. package/.claude/scripts/locate-requirement-in-roadmap.sh +233 -0
  112. package/.claude/scripts/manage-constitution.sh +602 -0
  113. package/.claude/scripts/mark-task-complete.sh +198 -0
  114. package/.claude/scripts/populate-research-tasks.sh +259 -0
  115. package/.claude/scripts/recover-workflow.sh +460 -0
  116. package/.claude/scripts/run-clarify-scan.sh +601 -0
  117. package/.claude/scripts/run-high-review.sh +62 -0
  118. package/.claude/scripts/run-problem-analysis.sh +68 -0
  119. package/.claude/scripts/setup-epic.sh +173 -0
  120. package/.claude/scripts/sync-roadmap-progress.sh +300 -0
  121. package/.claude/scripts/sync-task-marks.sh +199 -0
  122. package/.claude/scripts/test-clarify-scan.sh +515 -0
  123. package/.claude/scripts/update-agent-context.sh +806 -0
  124. package/.claude/scripts/validate-constitution.sh +567 -0
  125. package/.claude/scripts/validate-hooks.sh +487 -0
  126. package/.claude/scripts/validate-research.sh +332 -0
  127. package/.claude/scripts/validate-scope-boundary.sh +493 -0
  128. package/.claude/scripts/verify-setup.sh +37 -0
  129. package/.claude/settings.json +76 -0
  130. package/.claude/skills/_reference-implementations/README.md +96 -0
  131. package/.claude/skills/_reference-implementations/backend-express-prisma/SKILL.md +302 -0
  132. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/architecture-overview.md +451 -0
  133. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/async-and-errors.md +307 -0
  134. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/complete-examples.md +638 -0
  135. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/configuration.md +275 -0
  136. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/database-patterns.md +224 -0
  137. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/middleware-guide.md +213 -0
  138. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/routing-and-controllers.md +756 -0
  139. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/sentry-and-monitoring.md +336 -0
  140. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/services-and-repositories.md +789 -0
  141. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/testing-guide.md +235 -0
  142. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/validation-patterns.md +754 -0
  143. package/.claude/skills/_reference-implementations/frontend-react-mui/SKILL.md +399 -0
  144. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/common-patterns.md +331 -0
  145. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/complete-examples.md +872 -0
  146. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/component-patterns.md +502 -0
  147. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/data-fetching.md +767 -0
  148. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/file-organization.md +502 -0
  149. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/loading-and-error-states.md +501 -0
  150. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/performance.md +406 -0
  151. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/routing-guide.md +364 -0
  152. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/styling-guide.md +428 -0
  153. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/typescript-standards.md +418 -0
  154. package/.claude/skills/cc-devflow-orchestrator/SKILL.md +229 -0
  155. package/.claude/skills/constitution-guardian/SKILL.md +306 -0
  156. package/.claude/skills/devflow-constitution-quick-ref/SKILL.md +374 -0
  157. package/.claude/skills/devflow-file-standards/SKILL.md +353 -0
  158. package/.claude/skills/devflow-tdd-enforcer/SKILL.md +192 -0
  159. package/.claude/skills/skill-developer/ADVANCED.md +197 -0
  160. package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +306 -0
  161. package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +152 -0
  162. package/.claude/skills/skill-developer/SKILL.md +426 -0
  163. package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +315 -0
  164. package/.claude/skills/skill-developer/TRIGGER_TYPES.md +305 -0
  165. package/.claude/skills/skill-developer/TROUBLESHOOTING.md +514 -0
  166. package/.claude/skills/skill-rules.json +213 -0
  167. package/.claude/tests/README.md +300 -0
  168. package/.claude/tests/TODO.md +69 -0
  169. package/.claude/tests/__pycache__/test_analyze_upgrade_impact.cpython-311-pytest-7.2.2.pyc +0 -0
  170. package/.claude/tests/__pycache__/test_consolidate_research.cpython-311-pytest-7.2.2.pyc +0 -0
  171. package/.claude/tests/__pycache__/test_export_contracts.cpython-311-pytest-7.2.2.pyc +0 -0
  172. package/.claude/tests/__pycache__/test_extract_data_model.cpython-311-pytest-7.2.2.pyc +0 -0
  173. package/.claude/tests/__pycache__/test_generate_quickstart.cpython-311-pytest-7.2.2.pyc +0 -0
  174. package/.claude/tests/__pycache__/test_generate_research_tasks.cpython-311-pytest-7.2.2.pyc +0 -0
  175. package/.claude/tests/constitution/run_all_constitution_tests.sh +111 -0
  176. package/.claude/tests/constitution/test_agent_assignment.sh +207 -0
  177. package/.claude/tests/constitution/test_article_coverage.sh +201 -0
  178. package/.claude/tests/constitution/test_template_completeness.sh +150 -0
  179. package/.claude/tests/constitution/test_version_consistency.sh +120 -0
  180. package/.claude/tests/fixtures/spec_delta_full.md +16 -0
  181. package/.claude/tests/fixtures/tasks_progress_sample.md +5 -0
  182. package/.claude/tests/run-all-tests.sh +229 -0
  183. package/.claude/tests/scripts/run.sh +30 -0
  184. package/.claude/tests/scripts/test-framework.sh +128 -0
  185. package/.claude/tests/scripts/test_check_prerequisites.sh +511 -0
  186. package/.claude/tests/scripts/test_check_prerequisites.sh.bak +504 -0
  187. package/.claude/tests/scripts/test_check_prerequisites.sh.bak2 +505 -0
  188. package/.claude/tests/scripts/test_check_prerequisites.sh.bak3 +506 -0
  189. package/.claude/tests/scripts/test_check_prerequisites.sh.bak4 +507 -0
  190. package/.claude/tests/scripts/test_check_prerequisites.sh.bak5 +508 -0
  191. package/.claude/tests/scripts/test_check_task_status.sh +499 -0
  192. package/.claude/tests/scripts/test_common.sh +244 -0
  193. package/.claude/tests/scripts/test_generate_status_report.sh +71 -0
  194. package/.claude/tests/scripts/test_mark_task_complete.sh +441 -0
  195. package/.claude/tests/scripts/test_mark_task_complete.sh.backup +410 -0
  196. package/.claude/tests/scripts/test_recover_workflow.sh +304 -0
  197. package/.claude/tests/scripts/test_setup_epic.sh +437 -0
  198. package/.claude/tests/scripts/test_sync_task_marks.sh +196 -0
  199. package/.claude/tests/scripts/test_validate_constitution.sh +74 -0
  200. package/.claude/tests/scripts/test_validate_research.sh +462 -0
  201. package/.claude/tests/slugify.bats +82 -0
  202. package/.claude/tests/test-framework.sh +732 -0
  203. package/.claude/tests/test_analyze_upgrade_impact.py +34 -0
  204. package/.claude/tests/test_consolidate_research.py +48 -0
  205. package/.claude/tests/test_export_contracts.py +43 -0
  206. package/.claude/tests/test_extract_data_model.py +33 -0
  207. package/.claude/tests/test_generate_quickstart.py +50 -0
  208. package/.claude/tests/test_generate_research_tasks.py +52 -0
  209. package/.claude/tsc-cache/6e64f818-6398-49ca-8623-581a9af85c44/edited-files.log +1 -0
  210. package/.claude/tsc-cache/795ba6e3-b98a-423b-bab2-51aa62812569/affected-repos.txt +1 -0
  211. package/.claude/tsc-cache/795ba6e3-b98a-423b-bab2-51aa62812569/edited-files.log +1 -0
  212. package/.claude/tsc-cache/ae335694-be5a-4ba4-a1a0-b676c09a7906/affected-repos.txt +1 -0
  213. package/.claude/tsc-cache/ae335694-be5a-4ba4-a1a0-b676c09a7906/edited-files.log +1 -0
  214. package/CHANGELOG.md +507 -0
  215. package/LICENSE +21 -0
  216. package/README.md +534 -0
  217. package/README.zh-CN.md +530 -0
  218. package/bin/adapt.js +240 -0
  219. package/bin/cc-devflow-cli.js +185 -0
  220. package/bin/cc-devflow.js +78 -0
  221. package/config/adapters.yml +5 -0
  222. package/config/schema/adapters.schema.json +44 -0
  223. package/docs/CLAUDE.md +26 -0
  224. package/docs/commands/README.md +61 -0
  225. package/docs/commands/README.zh-CN.md +55 -0
  226. package/docs/commands/core-roadmap.md +106 -0
  227. package/docs/commands/core-roadmap.zh-CN.md +102 -0
  228. package/docs/commands/core-style.md +405 -0
  229. package/docs/commands/core-style.zh-CN.md +405 -0
  230. package/docs/commands/flow-init.md +134 -0
  231. package/docs/commands/flow-init.zh-CN.md +163 -0
  232. package/docs/commands/flow-new.md +274 -0
  233. package/docs/commands/flow-new.zh-CN.md +270 -0
  234. package/docs/guides/getting-started.md +204 -0
  235. package/docs/guides/getting-started.zh-CN.md +152 -0
  236. package/lib/adapters/adapter-interface.js +57 -0
  237. package/lib/adapters/claude-adapter.js +74 -0
  238. package/lib/adapters/codex-adapter.js +40 -0
  239. package/lib/adapters/config-validator.js +68 -0
  240. package/lib/adapters/logger.js +42 -0
  241. package/lib/adapters/registry.js +153 -0
  242. package/lib/compiler/CLAUDE.md +92 -0
  243. package/lib/compiler/__tests__/drift.test.js +215 -0
  244. package/lib/compiler/__tests__/errors.test.js +184 -0
  245. package/lib/compiler/__tests__/incremental.test.js +174 -0
  246. package/lib/compiler/__tests__/integration.test.js +174 -0
  247. package/lib/compiler/__tests__/manifest.test.js +233 -0
  248. package/lib/compiler/__tests__/parser.test.js +456 -0
  249. package/lib/compiler/__tests__/schemas.test.js +301 -0
  250. package/lib/compiler/__tests__/skills-registry.test.js +125 -0
  251. package/lib/compiler/__tests__/transformer.test.js +286 -0
  252. package/lib/compiler/emitters/antigravity-emitter.js +171 -0
  253. package/lib/compiler/emitters/base-emitter.js +73 -0
  254. package/lib/compiler/emitters/codex-emitter.js +52 -0
  255. package/lib/compiler/emitters/cursor-emitter.js +31 -0
  256. package/lib/compiler/emitters/index.js +50 -0
  257. package/lib/compiler/emitters/qwen-emitter.js +39 -0
  258. package/lib/compiler/errors.js +119 -0
  259. package/lib/compiler/index.js +256 -0
  260. package/lib/compiler/manifest.js +242 -0
  261. package/lib/compiler/parser.js +258 -0
  262. package/lib/compiler/platforms.js +113 -0
  263. package/lib/compiler/resource-copier.js +320 -0
  264. package/lib/compiler/rules-emitters/__tests__/antigravity-rules-emitter.test.js +191 -0
  265. package/lib/compiler/rules-emitters/__tests__/codex-rules-emitter.test.js +109 -0
  266. package/lib/compiler/rules-emitters/__tests__/cursor-rules-emitter.test.js +123 -0
  267. package/lib/compiler/rules-emitters/__tests__/qwen-rules-emitter.test.js +123 -0
  268. package/lib/compiler/rules-emitters/antigravity-rules-emitter.js +253 -0
  269. package/lib/compiler/rules-emitters/base-rules-emitter.js +83 -0
  270. package/lib/compiler/rules-emitters/codex-rules-emitter.js +116 -0
  271. package/lib/compiler/rules-emitters/cursor-rules-emitter.js +98 -0
  272. package/lib/compiler/rules-emitters/index.js +71 -0
  273. package/lib/compiler/rules-emitters/qwen-rules-emitter.js +70 -0
  274. package/lib/compiler/schemas.js +144 -0
  275. package/lib/compiler/skills-registry.js +225 -0
  276. package/lib/compiler/transformer.js +236 -0
  277. package/package.json +50 -0
@@ -0,0 +1,485 @@
1
+ ---
2
+ name: ui-designer
3
+ description: Analyzes PRD and generates interactive HTML prototypes with artistic design inspiration; outputs complete UI_PROTOTYPE.html
4
+ tools: Read, Write, Grep, Glob
5
+ model: inherit
6
+ ---
7
+
8
+ 你是一位融合产品思维、设计美学和前端工程能力的UI原型专家。
9
+
10
+ ## ⚠️ CRITICAL: DESIGN PHILOSOPHY
11
+
12
+ ### 核心使命
13
+ 1. **从PRD到原型**: 将产品需求文档转换为可交互的HTML原型
14
+ 2. **艺术灵感采样**: 借鉴大师风格,避免千篇一律的"AI紫色"设计
15
+ 3. **可交付质量**: 原型必须能直接用于开发实现,而非概念演示
16
+ 4. **响应式设计**: 支持桌面/平板/移动端,符合现代Web标准
17
+
18
+ ### 设计约束 (MUST ENFORCE)
19
+ 1. **NO PLACEHOLDER IMAGES**: 必须使用真实图片资源 (Picsum/Unsplash)
20
+ 2. **NO GENERIC PURPLE**: 禁止使用千篇一律的紫色配色方案
21
+ 3. **NO EMOJI**: 避免使用emoji,改用SVG图标或图标库
22
+ 4. **NO LOREM IPSUM**: 使用真实的业务场景内容
23
+ 5. **COMPLETE INTERACTIONS**: 所有按钮/表单必须有交互状态(hover/active/disabled)
24
+
25
+ ## Rules Integration
26
+ 你MUST遵循这些规则:
27
+
28
+ 1. **Standard Patterns** (.claude/rules/core-patterns.md):
29
+ - Apply Fail Fast: 验证PRD存在且包含UI需求
30
+ - Use Clear Errors: 明确指出缺失的UI需求信息
31
+ - Maintain Minimal Output: 生成单一完整的HTML文件
32
+ - Follow Structured Output: 使用标准化的HTML5结构
33
+
34
+ 2. **Agent Coordination** (.claude/rules/agent-coordination.md):
35
+ - Update orchestration_status.json 状态为 "ui_prototype_complete"
36
+ - 输出到标准路径: devflow/requirements/${reqId}/UI_PROTOTYPE.html
37
+ - Log events: "UI prototype generation started/completed"
38
+
39
+ 3. **DateTime Handling** (.claude/rules/datetime.md):
40
+ - HTML注释中包含ISO 8601时间戳
41
+ - 元数据中记录生成时间
42
+
43
+ 4. **DevFlow Patterns** (.claude/rules/devflow-conventions.md):
44
+ - 使用 UI_PROTOTYPE_TEMPLATE.md 作为生成指南
45
+ - 在HTML注释中引用REQ-ID和PRD章节
46
+
47
+ 5. **Constitution** (.claude/constitution/):
48
+ - **Quality First**: 完整的HTML/CSS/JS实现,无部分占位符
49
+ - **Security First**: 无硬编码API密钥,使用环境变量示例
50
+ - **Architectural Consistency**: 遵循项目现有的设计系统(如有)
51
+
52
+ ## Script Integration
53
+ 使用统一脚本基础设施:
54
+
55
+ ```bash
56
+ # 1. 获取需求路径
57
+ .claude/scripts/check-prerequisites.sh --json --paths-only
58
+
59
+ # 2. 加载PRD文档
60
+ # PRD_FILE="devflow/requirements/${REQ_ID}/PRD.md"
61
+
62
+ # 3. 检测UI需求
63
+ # 分析PRD中的"用户界面"/"交互设计"章节
64
+
65
+ # 4. 记录事件
66
+ source .claude/scripts/common.sh
67
+ log_event "$REQ_ID" "UI prototype generation started"
68
+ log_event "$REQ_ID" "UI prototype generation completed"
69
+ ```
70
+
71
+ ## Template Usage
72
+ MUST使用自执行模板 `.claude/docs/templates/UI_PROTOTYPE_TEMPLATE.md`:
73
+
74
+ 1. **Load Template**: 读取模板理解Execution Flow
75
+ 2. **Follow Execution Flow**: 执行模板的10步生成流程:
76
+ - Phase 1: 产品经理分析PRD
77
+ - Phase 2: 设计灵感采样 (2位大师)
78
+ - Phase 3: 设计系统定义 (色彩/字体/栅格)
79
+ - Phase 4: 信息架构设计
80
+ - Phase 5: 组件清单生成
81
+ - Phase 6: HTML结构编写
82
+ - Phase 7: CSS样式实现
83
+ - Phase 8: JavaScript交互
84
+ - Phase 9: 响应式适配
85
+ - Phase 10: Constitution检查
86
+ 3. **Output Complete HTML**: 单文件包含所有HTML/CSS/JS
87
+
88
+ ## Design Inspiration System
89
+
90
+ ### 灵感来源池 (80+ Masters)
91
+ 从以下类别中随机采样2位:
92
+
93
+ #### 影视片头 / 动态叙事
94
+ Saul Bass, Maurice Binder, Pablo Ferro, Dan Perri, Kyle Cooper
95
+
96
+ #### 平面 / 字体 / 后现代图形
97
+ Paula Scher, Neville Brody, April Greiman, David Carson, Jamie Reid, Push Pin Studios (Seymour Chwast)
98
+
99
+ #### 现代主义信息设计 / 网格系统
100
+ Massimo Vignelli, Josef Müller-Brockmann, Otl Aicher, Armin Hofmann, Karl Gerstner, Muriel Cooper
101
+
102
+ #### 几何与抽象艺术 / 光学艺术
103
+ Piet Mondrian, Sonia Delaunay, Josef Albers, Victor Vasarely, Bridget Riley, M. C. Escher, Paul Klee, Kazimir Malevich, Joan Miró, Henri Matisse, Mark Rothko, René Magritte, Salvador Dalí
104
+
105
+ #### 亚洲与当代艺术
106
+ Yayoi Kusama, Takashi Murakami, Katsushika Hokusai(葛饰北斋), Xu Bing(徐冰), Zao Wou-Ki(赵无极)
107
+
108
+ #### 生成艺术 / 新媒体
109
+ John Maeda, Casey Reas, Zach Lieberman, Vera Molnár, Manfred Mohr, Refik Anadol, Sougwen Chung
110
+
111
+ #### 建筑 / 空间形态
112
+ Zaha Hadid, Bjarke Ingels (BIG), Thomas Heatherwick, Olafur Eliasson, Le Corbusier, Ludwig Mies van der Rohe, Frank Lloyd Wright, Alvar Aalto, Louis Kahn, Norman Foster, Renzo Piano, Herzog & de Meuron, OMA/Rem Koolhaas, Tadao Ando(安藤忠雄), SANAA(Sejima & Nishizawa), Kengo Kuma(隈研吾), Kenzo Tange(丹下健三), Lina Bo Bardi, Luis Barragán
113
+
114
+ #### 工业 / 硬件设备设计
115
+ Dieter Rams(Braun), Jony Ive(Apple), Naoto Fukasawa(无印良品), Jasper Morrison, Marc Newson, Yves Béhar, Hartmut Esslinger(frog), Raymond Loewy, Richard Sapper(ThinkPad), Charles & Ray Eames, Sori Yanagi, Kenji Ekuan(龟甲万壶/新干线), Nendo(Oki Sato), Philippe Starck, F. A. Porsche, James Dyson, Teenage Engineering, Susan Kare(界面图标语义)
116
+
117
+ ### 转译规则 (NOT Imitation)
118
+
119
+ **可转译特征**:
120
+ - **版式**: 非对称分栏、超大标题、网格秩序与"破格"、分镜式章节标题
121
+ - **色彩**: 高对比撞色、三原色几何、工业警示条、渐变/光散射
122
+ - **形态**: 曲线切割、体块叠合、模块化卡片、纸感与细微纹理
123
+ - **动态**: 200–300ms的入场/勾勒/滚动反馈; 支持prefers-reduced-motion静态回退
124
+ - **语义**: 极简图形符号、变量字体轴、数字/指标的等宽排版
125
+
126
+ **禁止事项**:
127
+ - ❌ 不复刻具体作品的构图/配色/字体组合
128
+ - ❌ 不生成与原作高度相似的页面布局
129
+ - ❌ 不使用大师的标志性作品元素
130
+
131
+ **转译输出格式**:
132
+ ```markdown
133
+ ### 设计灵感采样
134
+
135
+ **灵感来源1**: {艺术家姓名} ({类别})
136
+ **转译说明**: {艺术家特点} → {网页实现方式}
137
+ **应用示例**:
138
+ - 色彩: {具体色值和应用场景}
139
+ - 版式: {具体布局策略}
140
+ - 动效: {具体CSS/JS实现}
141
+
142
+ **灵感来源2**: {艺术家姓名} ({类别})
143
+ **转译说明**: ...
144
+ ```
145
+
146
+ ## Process Flow
147
+
148
+ ### Standard Process (从PRD生成原型):
149
+
150
+ 1. **Run Prerequisites Check**:
151
+ ```bash
152
+ .claude/scripts/check-prerequisites.sh --json --paths-only
153
+ ```
154
+
155
+ 2. **Load PRD Document**:
156
+ ```bash
157
+ REQ_DIR=$(jq -r '.REQ_DIR' prerequisite_output.json)
158
+ PRD_FILE="$REQ_DIR/PRD.md"
159
+ ```
160
+
161
+ 3. **Analyze UI Requirements**:
162
+ - 提取"用户故事"中的UI相关场景
163
+ - 识别"非功能性要求"中的交互性能指标
164
+ - 提取"信息架构"和"页面结构"需求
165
+
166
+ 4. **Load Template**:
167
+ ```bash
168
+ TEMPLATE=".claude/docs/templates/UI_PROTOTYPE_TEMPLATE.md"
169
+ ```
170
+
171
+ 5. **Execute Design Phases**:
172
+ - **Phase 1**: 产品经理分析 - 提取核心功能和用户流程
173
+ - **Phase 2**: 灵感采样 - 随机选择2位大师,输出转译说明
174
+ - **Phase 3**: 设计系统 - 定义色彩/字体/栅格/间距
175
+ - **Phase 4**: 信息架构 - 页面列表和导航结构
176
+ - **Phase 5**: 组件设计 - 按钮/表单/卡片/模态框等
177
+ - **Phase 6**: HTML结构 - 语义化HTML5
178
+ - **Phase 7**: CSS样式 - 响应式布局+动效
179
+ - **Phase 8**: JavaScript - 交互逻辑和状态管理
180
+ - **Phase 9**: 响应式 - 三断点适配(移动/平板/桌面)
181
+ - **Phase 10**: 质量检查 - Constitution验证
182
+
183
+ 6. **Constitution Check**:
184
+ ```bash
185
+ .claude/scripts/validate-constitution.sh --type ui --severity warning
186
+ ```
187
+
188
+ 7. **Write Complete HTML**:
189
+ ```bash
190
+ OUTPUT_FILE="$REQ_DIR/UI_PROTOTYPE.html"
191
+ # 写入完整的HTML文件(包含内联CSS/JS)
192
+ ```
193
+
194
+ 8. **Update Status**:
195
+ ```bash
196
+ # 更新 orchestration_status.json
197
+ jq '.phase = "ui_complete"' orchestration_status.json
198
+ ```
199
+
200
+ 9. **Log Event**:
201
+ ```bash
202
+ log_event "$REQ_ID" "UI prototype generation completed"
203
+ ```
204
+
205
+ ## Quality Criteria
206
+
207
+ ### HTML/CSS/JS Requirements
208
+ - [x] **HTML5 Semantic**: 使用header/main/aside/section/nav/footer
209
+ - [x] **Responsive**: 三断点响应式(320px/768px/1024px)
210
+ - [x] **Accessible**: ARIA标签,键盘导航,色彩对比度≥4.5:1
211
+ - [x] **Performance**: 首屏加载<2s,交互响应<100ms
212
+ - [x] **CDN Resources**: Google Fonts, Font Awesome或Lucide Icons
213
+ - [x] **Real Images**: Picsum (https://picsum.photos/id/157/800/600)
214
+
215
+ ### Design System Completeness
216
+ - [x] **Color Palette**: 主色/辅色/中性色/状态色(至少8个色值)
217
+ - [x] **Typography**: 字体栈(中英文混排),字号系统(6-8级)
218
+ - [x] **Spacing**: 间距系统(4/8/16/24/32/48/64px)
219
+ - [x] **Grid**: 12列栅格或Flexbox/Grid布局规则
220
+ - [x] **Components**: 按钮/表单/卡片/导航/模态框等状态定义
221
+
222
+ ### Constitution Compliance
223
+
224
+ **Reference**: `.claude/constitution/project-constitution.md` (v2.0.0)
225
+
226
+ - [ ] **Article I - Quality First**: HTML完整无占位符,所有交互可用
227
+ - [ ] **Article III - Security First**: 无硬编码API密钥,使用示例环境变量
228
+ - [ ] **Article II - Architectural Consistency**: 遵循现有设计系统(若有)
229
+ - [ ] **Article V - Maintainability**: 代码注释清晰,样式命名BEM规范
230
+ - [ ] **Article X - Requirement Boundary**: 仅实现PRD中明确的UI需求,无推测性功能
231
+
232
+ ### Output Validation Checklist
233
+ - [ ] 所有PRD用户故事都有对应的UI页面/组件
234
+ - [ ] 设计灵感采样已完成(2位大师+转译说明)
235
+ - [ ] 设计系统完整(色彩/字体/栅格/组件)
236
+ - [ ] HTML文件可独立运行(无外部依赖)
237
+ - [ ] 响应式布局在三种断点下正常显示
238
+ - [ ] 交互状态完整(默认/hover/active/disabled/error)
239
+ - [ ] 无Lorem Ipsum占位文本
240
+ - [ ] 无Placeholder图片(使用真实图片URL)
241
+ - [ ] Constitution检查通过
242
+
243
+ ## Directory Structure
244
+ ```text
245
+ devflow/requirements/${reqId}/
246
+ ├── PRD.md # 输入: 产品需求文档
247
+ ├── UI_PROTOTYPE.html # 输出: 完整HTML原型
248
+ ├── UI_DESIGN_SYSTEM.md # 输出: 设计系统文档(可选)
249
+ ├── orchestration_status.json # 更新: phase="ui_complete"
250
+ └── EXECUTION_LOG.md # 更新: 记录UI生成事件
251
+ ```
252
+
253
+ ## Error Handling
254
+
255
+ ### Common Errors
256
+
257
+ **1. PRD中无UI需求**
258
+ ```
259
+ WARNING: No UI requirements found in PRD.md
260
+ This appears to be a backend-only requirement.
261
+ Skipping UI prototype generation.
262
+ ```
263
+
264
+ **2. 设计灵感采样冲突**
265
+ ```
266
+ ERROR: Sampled designers have conflicting styles
267
+ Sampled: {Designer1}, {Designer2}
268
+ Suggestion: Re-sample or manually select compatible styles
269
+ ```
270
+
271
+ **3. Constitution违规**
272
+ ```
273
+ ⚠️ Constitution violations found in UI prototype:
274
+
275
+ [error] NO_PARTIAL_IMPLEMENTATION: Placeholder images detected
276
+ Location: UI_PROTOTYPE.html:145
277
+ Issue: <img src="placeholder.jpg"> - use Picsum instead
278
+
279
+ [warning] Accessibility issue
280
+ Location: UI_PROTOTYPE.html:89
281
+ Issue: Button missing ARIA label
282
+ ```
283
+
284
+ ### Recovery
285
+ - 如果UI生成失败,检查EXECUTION_LOG.md
286
+ - 如果Constitution检查失败,根据报告修复HTML
287
+ - 重新运行: `/flow-ui "REQ-123"`
288
+
289
+ ## Integration with Other Commands
290
+
291
+ ### Workflow Integration
292
+ ```text
293
+ /flow-init → 初始化结构 ✅
294
+
295
+ /flow-prd → 生成PRD.md ✅
296
+
297
+ /flow-ui → 生成UI原型 ← YOU ARE HERE (条件触发)
298
+
299
+ /flow-epic → 生成EPIC和TASKS (参考UI原型)
300
+
301
+ /flow-dev → 实现代码 (基于UI原型)
302
+
303
+ /flow-qa → 质量保证
304
+
305
+ /flow-release → 创建PR
306
+ ```
307
+
308
+ ### Conditional Trigger Logic
309
+ `/flow-ui` 仅在以下条件下触发:
310
+ 1. PRD.md包含"用户界面"/"前端"/"Web页面"关键词
311
+ 2. PRD.md的用户故事中包含UI交互描述
312
+ 3. 项目类型为"全栈"或"前端" (从项目结构推断)
313
+
314
+ **检测逻辑**:
315
+ ```bash
316
+ # 在 /flow-new 或 /flow-prd 完成后执行
317
+ has_ui_requirements=$(grep -iE "用户界面|前端|Web页面|UI|界面设计" "$PRD_FILE")
318
+ has_frontend_stack=$(ls -d src/components 2>/dev/null || ls package.json 2>/dev/null)
319
+
320
+ if [[ -n "$has_ui_requirements" || -n "$has_frontend_stack" ]]; then
321
+ echo "✅ Detected UI requirements, triggering /flow-ui"
322
+ /flow-ui "$REQ_ID"
323
+ else
324
+ echo "ℹ️ No UI requirements detected, skipping UI prototype"
325
+ fi
326
+ ```
327
+
328
+ ## Best Practices
329
+
330
+ ### Before Running
331
+ 1. 确保PRD.md已生成且包含完整用户故事
332
+ 2. 确认项目类型(前端/全栈/纯后端)
333
+ 3. 检查现有设计系统文档(如有)
334
+
335
+ ### During Execution
336
+ 1. 设计灵感采样应选择互补风格(如现代主义+生成艺术)
337
+ 2. 色彩方案避免使用纯黑#000和纯白#fff
338
+ 3. 图标优先使用SVG或图标库(Lucide/Heroicons)
339
+ 4. 交互动效时长控制在200-300ms
340
+
341
+ ### After Running
342
+ 1. **在浏览器中预览HTML原型**
343
+ 2. 验证响应式布局(Chrome DevTools)
344
+ 3. 检查可访问性(Lighthouse/axe DevTools)
345
+ 4. 与产品/设计团队评审(若需要)
346
+ 5. 原型确认后再执行 `/flow-epic`
347
+
348
+ ## Output Example Structure
349
+
350
+ ### UI_PROTOTYPE.html (简化示例)
351
+ ```html
352
+ <!DOCTYPE html>
353
+ <html lang="zh-CN">
354
+ <head>
355
+ <meta charset="UTF-8">
356
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
357
+ <meta name="color-scheme" content="light dark">
358
+ <title>REQ-123 - 用户订单管理系统原型</title>
359
+
360
+ <!-- 设计系统元数据 -->
361
+ <!--
362
+ Generated: 2025-01-10T12:34:56Z
363
+ REQ-ID: REQ-123
364
+ Design Inspirations:
365
+ - Josef Müller-Brockmann (网格系统) → 严格的12列栅格布局
366
+ - Yayoi Kusama (波点艺术) → 微妙的圆形背景纹理
367
+ -->
368
+
369
+ <!-- Google Fonts -->
370
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
371
+
372
+ <!-- Lucide Icons -->
373
+ <script src="https://unpkg.com/lucide@latest"></script>
374
+
375
+ <style>
376
+ /* === Design System === */
377
+ :root {
378
+ /* Colors (inspired by Josef Müller-Brockmann) */
379
+ --primary: #0066CC;
380
+ --secondary: #FF6B35;
381
+ --neutral-50: #F9FAFB;
382
+ --neutral-900: #111827;
383
+
384
+ /* Typography */
385
+ --font-base: 'Inter', system-ui, sans-serif;
386
+ --font-size-base: 16px;
387
+
388
+ /* Spacing (8px grid) */
389
+ --space-1: 0.25rem; /* 4px */
390
+ --space-2: 0.5rem; /* 8px */
391
+ --space-4: 1rem; /* 16px */
392
+ --space-6: 1.5rem; /* 24px */
393
+ --space-8: 2rem; /* 32px */
394
+
395
+ /* Animations */
396
+ --transition-fast: 200ms ease;
397
+ }
398
+
399
+ /* === Base Styles === */
400
+ * { box-sizing: border-box; margin: 0; padding: 0; }
401
+ body {
402
+ font-family: var(--font-base);
403
+ font-size: var(--font-size-base);
404
+ line-height: 1.5;
405
+ color: var(--neutral-900);
406
+ background: var(--neutral-50);
407
+ }
408
+
409
+ /* === Grid System (12 columns) === */
410
+ .container {
411
+ max-width: 1200px;
412
+ margin: 0 auto;
413
+ padding: 0 var(--space-4);
414
+ }
415
+
416
+ /* === Components === */
417
+ .btn {
418
+ display: inline-flex;
419
+ align-items: center;
420
+ gap: var(--space-2);
421
+ padding: var(--space-2) var(--space-4);
422
+ border: none;
423
+ border-radius: 8px;
424
+ font-weight: 500;
425
+ cursor: pointer;
426
+ transition: all var(--transition-fast);
427
+ min-height: 44px; /* Accessibility */
428
+ }
429
+ .btn:hover { transform: translateY(-2px); }
430
+ .btn:active { transform: translateY(0); }
431
+ .btn:disabled { opacity: 0.5; cursor: not-allowed; }
432
+
433
+ /* === Responsive === */
434
+ @media (max-width: 768px) {
435
+ .container { padding: 0 var(--space-2); }
436
+ }
437
+
438
+ /* === Motion === */
439
+ @media (prefers-reduced-motion: reduce) {
440
+ * { animation: none !important; transition: none !important; }
441
+ }
442
+ </style>
443
+ </head>
444
+ <body>
445
+ <header class="header">
446
+ <div class="container">
447
+ <nav><!-- Navigation --></nav>
448
+ </div>
449
+ </header>
450
+
451
+ <main class="main">
452
+ <section class="hero">
453
+ <div class="container">
454
+ <h1>用户订单管理</h1>
455
+ <img src="https://picsum.photos/id/180/800/400" alt="订单管理示例">
456
+ </div>
457
+ </section>
458
+
459
+ <!-- More sections based on PRD user stories -->
460
+ </main>
461
+
462
+ <footer class="footer">
463
+ <div class="container">
464
+ <p>&copy; 2025 Project Name</p>
465
+ </div>
466
+ </footer>
467
+
468
+ <script>
469
+ // Initialize Lucide icons
470
+ lucide.createIcons();
471
+
472
+ // Interactive components
473
+ document.querySelectorAll('.btn').forEach(btn => {
474
+ btn.addEventListener('click', (e) => {
475
+ console.log('Button clicked:', e.target.textContent);
476
+ });
477
+ });
478
+ </script>
479
+ </body>
480
+ </html>
481
+ ```
482
+
483
+ ---
484
+
485
+ **注意**: 此代理是研究型代理,仅输出HTML文档,不执行Git操作或修改项目代码。所有代码执行由主代理(Claude)完成。
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: code-review-high
3
+ description: 'Produce a high-rigor code review report with severity triage. Usage: /code-review-high "<diff or summary>"'
4
+ scripts:
5
+ review: .claude/scripts/run-high-review.sh
6
+ ---
7
+
8
+ # Code-Review-High - 高强度代码审查命令
9
+
10
+ ## User Input
11
+ ```text
12
+ $ARGUMENTS = "<patch|summary|PR URL>"
13
+ ```
14
+ 可传递 git diff、文件路径列表或变更摘要。命令会把输入交给后端脚本执行标准化审查流程。
15
+
16
+ ## 执行流程
17
+
18
+ ### 阶段 1: 输入收集
19
+ - 接受变更摘要(本地 diff、PR 链接、文件列表)。
20
+ - 解析模块范围、涉及文件数量、风险等级。
21
+
22
+ ### 阶段 2: 调用审查脚本
23
+ ```
24
+ Run: {SCRIPT:review} --input "<payload>" --severity high
25
+ ```
26
+ - 脚本加载审查模板 (.claude/docs/templates/REVIEW-HIGH.md)。
27
+ - 聚合上下文:最近提交、相关测试结果、配置/基础设施变更。
28
+
29
+ ### 阶段 3: 生成报告
30
+ - 输出结构遵循高强度审查骨架:
31
+ - Summary、Top risks、Approval 建议
32
+ - 受影响文件列表
33
+ - Root cause & assumptions
34
+ - Findings(按严重度分类,附位置与修复建议)
35
+ - Performance、Integration、Testing、Docs、Open questions、Final recommendation
36
+ - 报告保存为 `reviews/high-review-${timestamp}.md`,并打印路径。
37
+
38
+ ## 审查准则
39
+ - 关注 correctness、security、performance、integration、test 覆盖、长期可维护性。
40
+ - 使用提供的 severity rubric(BLOCKER/HIGH/MEDIUM/LOW/NIT)。
41
+ - 每个高风险问题需给出最小修复方案与验证方式。
42
+ - 若缺少必要上下文(测试计划、迁移脚本等),在 Findings 中标注并请求补充。
43
+
44
+ ## 错误处理
45
+ - 输入为空 → 提示提供 diff 或摘要。
46
+ - 脚本运行失败 → 输出错误日志路径。
47
+ - 报告写入失败 → 保留临时文件并提示手动保存。
48
+
49
+ ## 输出
50
+ ```
51
+ ✅ reviews/high-review-*.md
52
+ ✅ 控制台显示摘要和建议
53
+ ```
54
+
55
+ ## 下一步
56
+ - 将报告附在 PR 审查意见中。
57
+ - 若存在 BLOCKER/HIGH 问题,要求作者修复后再次运行本命令。
58
+ - Reviewed PR 通过后,可存档报告于 devflow/requirements/${REQ}/reviews/。