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.
- package/.claude/CLAUDE.md +83 -0
- package/.claude/agents/architecture-designer.md +443 -0
- package/.claude/agents/bug-analyzer.md +382 -0
- package/.claude/agents/checklist-agent.md +175 -0
- package/.claude/agents/clarify-analyst.md +50 -0
- package/.claude/agents/code-reviewer.md +71 -0
- package/.claude/agents/codex-analyzer.md +39 -0
- package/.claude/agents/compatibility-checker.md +580 -0
- package/.claude/agents/consistency-checker.md +532 -0
- package/.claude/agents/impact-analyzer.md +441 -0
- package/.claude/agents/planner.md +230 -0
- package/.claude/agents/prd-writer.md +320 -0
- package/.claude/agents/project-guidelines-generator.md +1329 -0
- package/.claude/agents/qa-tester.md +313 -0
- package/.claude/agents/release-manager.md +295 -0
- package/.claude/agents/security-reviewer.md +314 -0
- package/.claude/agents/style-guide-generator.md +458 -0
- package/.claude/agents/tech-architect.md +516 -0
- package/.claude/agents/ui-designer.md +485 -0
- package/.claude/commands/code-review-high.md +58 -0
- package/.claude/commands/core-architecture.md +429 -0
- package/.claude/commands/core-guidelines.md +486 -0
- package/.claude/commands/core-roadmap.md +439 -0
- package/.claude/commands/core-style.md +293 -0
- package/.claude/commands/flow-archive.md +245 -0
- package/.claude/commands/flow-checklist.md +260 -0
- package/.claude/commands/flow-clarify.md +136 -0
- package/.claude/commands/flow-constitution.md +82 -0
- package/.claude/commands/flow-dev.md +134 -0
- package/.claude/commands/flow-epic.md +150 -0
- package/.claude/commands/flow-fix.md +104 -0
- package/.claude/commands/flow-ideate.md +214 -0
- package/.claude/commands/flow-init.md +313 -0
- package/.claude/commands/flow-new.md +394 -0
- package/.claude/commands/flow-prd.md +131 -0
- package/.claude/commands/flow-qa.md +93 -0
- package/.claude/commands/flow-release.md +92 -0
- package/.claude/commands/flow-restart.md +98 -0
- package/.claude/commands/flow-status.md +64 -0
- package/.claude/commands/flow-tech.md +142 -0
- package/.claude/commands/flow-ui.md +189 -0
- package/.claude/commands/flow-update.md +111 -0
- package/.claude/commands/flow-upgrade.md +115 -0
- package/.claude/commands/flow-verify.md +96 -0
- package/.claude/commands/problem-analyzer.md +60 -0
- package/.claude/config/quality-rules.yml +161 -0
- package/.claude/docs/SPEC_KIT_CONSTITUTION_ANALYSIS.md +426 -0
- package/.claude/docs/design/consistency-conflict-detection-algorithms.md +658 -0
- package/.claude/docs/design/intent-driven-input-design.md +380 -0
- package/.claude/docs/design/prd-version-management-design.md +437 -0
- package/.claude/docs/guides/INIT_TROUBLESHOOTING.md +117 -0
- package/.claude/docs/guides/NEW_TROUBLESHOOTING.md +151 -0
- package/.claude/docs/guides/ROADMAP_TROUBLESHOOTING.md +188 -0
- package/.claude/docs/guides/TASK_COMPLETION_MARKING.md +338 -0
- package/.claude/docs/templates/ARCHITECTURE_TEMPLATE.md +633 -0
- package/.claude/docs/templates/BACKLOG_TEMPLATE.md +261 -0
- package/.claude/docs/templates/CHECKLIST_TEMPLATE.md +52 -0
- package/.claude/docs/templates/CLARIFICATION_REPORT_TEMPLATE.md +206 -0
- package/.claude/docs/templates/CODE_REVIEW_TEMPLATE.md +71 -0
- package/.claude/docs/templates/EPIC_TEMPLATE.md +805 -0
- package/.claude/docs/templates/INIT_FLOW_TEMPLATE.md +213 -0
- package/.claude/docs/templates/INTENT_CLARIFICATION_TEMPLATE.md +57 -0
- package/.claude/docs/templates/NEW_ORCHESTRATION_TEMPLATE.md +148 -0
- package/.claude/docs/templates/PRD_TEMPLATE.md +562 -0
- package/.claude/docs/templates/RESEARCH_TEMPLATE.md +276 -0
- package/.claude/docs/templates/REVIEW-HIGH.md +57 -0
- package/.claude/docs/templates/ROADMAP_DIALOGUE_TEMPLATE.md +198 -0
- package/.claude/docs/templates/ROADMAP_TEMPLATE.md +310 -0
- package/.claude/docs/templates/STYLE_TEMPLATE.md +1266 -0
- package/.claude/docs/templates/TASKS_TEMPLATE.md +523 -0
- package/.claude/docs/templates/TECH_DESIGN_TEMPLATE.md +1019 -0
- package/.claude/docs/templates/UI_PROTOTYPE_TEMPLATE.md +1436 -0
- package/.claude/guides/agent-guides/agent-coordination-guide.md +459 -0
- package/.claude/guides/project-guidelines-system.md +463 -0
- package/.claude/guides/technical-guides/datetime-handling-guide.md +563 -0
- package/.claude/guides/technical-guides/git-github-guide.md +642 -0
- package/.claude/guides/technical-guides/test-execution-guide.md +618 -0
- package/.claude/guides/workflow-guides/bug-fix-orchestrator.md +217 -0
- package/.claude/guides/workflow-guides/flow-orchestrator.md +282 -0
- package/.claude/hooks/checklist-gate.js +397 -0
- package/.claude/hooks/error-handling-reminder.sh +12 -0
- package/.claude/hooks/error-handling-reminder.ts +459 -0
- package/.claude/hooks/post-tool-use-tracker.sh +280 -0
- package/.claude/hooks/pre-tool-use-guardrail.sh +36 -0
- package/.claude/hooks/pre-tool-use-guardrail.ts +342 -0
- package/.claude/hooks/skill-activation-prompt.sh +36 -0
- package/.claude/hooks/skill-activation-prompt.ts +214 -0
- package/.claude/hooks/state/skills-used-test-guard.json +3 -0
- package/.claude/rules/devflow-conventions.md +305 -0
- package/.claude/rules/project-constitution.md +748 -0
- package/.claude/schemas/constitution.schema.json +43 -0
- package/.claude/scripts/analyze-upgrade-impact.sh +200 -0
- package/.claude/scripts/archive-requirement.sh +351 -0
- package/.claude/scripts/calculate-checklist-completion.sh +243 -0
- package/.claude/scripts/calculate-quarter.sh +206 -0
- package/.claude/scripts/check-dependencies.sh +409 -0
- package/.claude/scripts/check-prerequisites.sh +232 -0
- package/.claude/scripts/check-task-status.sh +264 -0
- package/.claude/scripts/checklist-errors.sh +131 -0
- package/.claude/scripts/common.sh +570 -0
- package/.claude/scripts/consolidate-research.sh +182 -0
- package/.claude/scripts/create-requirement.sh +426 -0
- package/.claude/scripts/export-contracts.sh +117 -0
- package/.claude/scripts/extract-data-model.sh +78 -0
- package/.claude/scripts/generate-clarification-questions.sh +377 -0
- package/.claude/scripts/generate-clarification-report.sh +463 -0
- package/.claude/scripts/generate-quickstart.sh +146 -0
- package/.claude/scripts/generate-research-tasks.sh +157 -0
- package/.claude/scripts/generate-status-report.sh +523 -0
- package/.claude/scripts/generate-tech-analysis.sh +46 -0
- package/.claude/scripts/locate-requirement-in-roadmap.sh +233 -0
- package/.claude/scripts/manage-constitution.sh +602 -0
- package/.claude/scripts/mark-task-complete.sh +198 -0
- package/.claude/scripts/populate-research-tasks.sh +259 -0
- package/.claude/scripts/recover-workflow.sh +460 -0
- package/.claude/scripts/run-clarify-scan.sh +601 -0
- package/.claude/scripts/run-high-review.sh +62 -0
- package/.claude/scripts/run-problem-analysis.sh +68 -0
- package/.claude/scripts/setup-epic.sh +173 -0
- package/.claude/scripts/sync-roadmap-progress.sh +300 -0
- package/.claude/scripts/sync-task-marks.sh +199 -0
- package/.claude/scripts/test-clarify-scan.sh +515 -0
- package/.claude/scripts/update-agent-context.sh +806 -0
- package/.claude/scripts/validate-constitution.sh +567 -0
- package/.claude/scripts/validate-hooks.sh +487 -0
- package/.claude/scripts/validate-research.sh +332 -0
- package/.claude/scripts/validate-scope-boundary.sh +493 -0
- package/.claude/scripts/verify-setup.sh +37 -0
- package/.claude/settings.json +76 -0
- package/.claude/skills/_reference-implementations/README.md +96 -0
- package/.claude/skills/_reference-implementations/backend-express-prisma/SKILL.md +302 -0
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/architecture-overview.md +451 -0
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/async-and-errors.md +307 -0
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/complete-examples.md +638 -0
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/configuration.md +275 -0
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/database-patterns.md +224 -0
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/middleware-guide.md +213 -0
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/routing-and-controllers.md +756 -0
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/sentry-and-monitoring.md +336 -0
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/services-and-repositories.md +789 -0
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/testing-guide.md +235 -0
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/validation-patterns.md +754 -0
- package/.claude/skills/_reference-implementations/frontend-react-mui/SKILL.md +399 -0
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/common-patterns.md +331 -0
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/complete-examples.md +872 -0
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/component-patterns.md +502 -0
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/data-fetching.md +767 -0
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/file-organization.md +502 -0
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/loading-and-error-states.md +501 -0
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/performance.md +406 -0
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/routing-guide.md +364 -0
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/styling-guide.md +428 -0
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/typescript-standards.md +418 -0
- package/.claude/skills/cc-devflow-orchestrator/SKILL.md +229 -0
- package/.claude/skills/constitution-guardian/SKILL.md +306 -0
- package/.claude/skills/devflow-constitution-quick-ref/SKILL.md +374 -0
- package/.claude/skills/devflow-file-standards/SKILL.md +353 -0
- package/.claude/skills/devflow-tdd-enforcer/SKILL.md +192 -0
- package/.claude/skills/skill-developer/ADVANCED.md +197 -0
- package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +306 -0
- package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +152 -0
- package/.claude/skills/skill-developer/SKILL.md +426 -0
- package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +315 -0
- package/.claude/skills/skill-developer/TRIGGER_TYPES.md +305 -0
- package/.claude/skills/skill-developer/TROUBLESHOOTING.md +514 -0
- package/.claude/skills/skill-rules.json +213 -0
- package/.claude/tests/README.md +300 -0
- package/.claude/tests/TODO.md +69 -0
- package/.claude/tests/__pycache__/test_analyze_upgrade_impact.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/__pycache__/test_consolidate_research.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/__pycache__/test_export_contracts.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/__pycache__/test_extract_data_model.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/__pycache__/test_generate_quickstart.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/__pycache__/test_generate_research_tasks.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/constitution/run_all_constitution_tests.sh +111 -0
- package/.claude/tests/constitution/test_agent_assignment.sh +207 -0
- package/.claude/tests/constitution/test_article_coverage.sh +201 -0
- package/.claude/tests/constitution/test_template_completeness.sh +150 -0
- package/.claude/tests/constitution/test_version_consistency.sh +120 -0
- package/.claude/tests/fixtures/spec_delta_full.md +16 -0
- package/.claude/tests/fixtures/tasks_progress_sample.md +5 -0
- package/.claude/tests/run-all-tests.sh +229 -0
- package/.claude/tests/scripts/run.sh +30 -0
- package/.claude/tests/scripts/test-framework.sh +128 -0
- package/.claude/tests/scripts/test_check_prerequisites.sh +511 -0
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak +504 -0
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak2 +505 -0
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak3 +506 -0
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak4 +507 -0
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak5 +508 -0
- package/.claude/tests/scripts/test_check_task_status.sh +499 -0
- package/.claude/tests/scripts/test_common.sh +244 -0
- package/.claude/tests/scripts/test_generate_status_report.sh +71 -0
- package/.claude/tests/scripts/test_mark_task_complete.sh +441 -0
- package/.claude/tests/scripts/test_mark_task_complete.sh.backup +410 -0
- package/.claude/tests/scripts/test_recover_workflow.sh +304 -0
- package/.claude/tests/scripts/test_setup_epic.sh +437 -0
- package/.claude/tests/scripts/test_sync_task_marks.sh +196 -0
- package/.claude/tests/scripts/test_validate_constitution.sh +74 -0
- package/.claude/tests/scripts/test_validate_research.sh +462 -0
- package/.claude/tests/slugify.bats +82 -0
- package/.claude/tests/test-framework.sh +732 -0
- package/.claude/tests/test_analyze_upgrade_impact.py +34 -0
- package/.claude/tests/test_consolidate_research.py +48 -0
- package/.claude/tests/test_export_contracts.py +43 -0
- package/.claude/tests/test_extract_data_model.py +33 -0
- package/.claude/tests/test_generate_quickstart.py +50 -0
- package/.claude/tests/test_generate_research_tasks.py +52 -0
- package/.claude/tsc-cache/6e64f818-6398-49ca-8623-581a9af85c44/edited-files.log +1 -0
- package/.claude/tsc-cache/795ba6e3-b98a-423b-bab2-51aa62812569/affected-repos.txt +1 -0
- package/.claude/tsc-cache/795ba6e3-b98a-423b-bab2-51aa62812569/edited-files.log +1 -0
- package/.claude/tsc-cache/ae335694-be5a-4ba4-a1a0-b676c09a7906/affected-repos.txt +1 -0
- package/.claude/tsc-cache/ae335694-be5a-4ba4-a1a0-b676c09a7906/edited-files.log +1 -0
- package/CHANGELOG.md +507 -0
- package/LICENSE +21 -0
- package/README.md +534 -0
- package/README.zh-CN.md +530 -0
- package/bin/adapt.js +240 -0
- package/bin/cc-devflow-cli.js +185 -0
- package/bin/cc-devflow.js +78 -0
- package/config/adapters.yml +5 -0
- package/config/schema/adapters.schema.json +44 -0
- package/docs/CLAUDE.md +26 -0
- package/docs/commands/README.md +61 -0
- package/docs/commands/README.zh-CN.md +55 -0
- package/docs/commands/core-roadmap.md +106 -0
- package/docs/commands/core-roadmap.zh-CN.md +102 -0
- package/docs/commands/core-style.md +405 -0
- package/docs/commands/core-style.zh-CN.md +405 -0
- package/docs/commands/flow-init.md +134 -0
- package/docs/commands/flow-init.zh-CN.md +163 -0
- package/docs/commands/flow-new.md +274 -0
- package/docs/commands/flow-new.zh-CN.md +270 -0
- package/docs/guides/getting-started.md +204 -0
- package/docs/guides/getting-started.zh-CN.md +152 -0
- package/lib/adapters/adapter-interface.js +57 -0
- package/lib/adapters/claude-adapter.js +74 -0
- package/lib/adapters/codex-adapter.js +40 -0
- package/lib/adapters/config-validator.js +68 -0
- package/lib/adapters/logger.js +42 -0
- package/lib/adapters/registry.js +153 -0
- package/lib/compiler/CLAUDE.md +92 -0
- package/lib/compiler/__tests__/drift.test.js +215 -0
- package/lib/compiler/__tests__/errors.test.js +184 -0
- package/lib/compiler/__tests__/incremental.test.js +174 -0
- package/lib/compiler/__tests__/integration.test.js +174 -0
- package/lib/compiler/__tests__/manifest.test.js +233 -0
- package/lib/compiler/__tests__/parser.test.js +456 -0
- package/lib/compiler/__tests__/schemas.test.js +301 -0
- package/lib/compiler/__tests__/skills-registry.test.js +125 -0
- package/lib/compiler/__tests__/transformer.test.js +286 -0
- package/lib/compiler/emitters/antigravity-emitter.js +171 -0
- package/lib/compiler/emitters/base-emitter.js +73 -0
- package/lib/compiler/emitters/codex-emitter.js +52 -0
- package/lib/compiler/emitters/cursor-emitter.js +31 -0
- package/lib/compiler/emitters/index.js +50 -0
- package/lib/compiler/emitters/qwen-emitter.js +39 -0
- package/lib/compiler/errors.js +119 -0
- package/lib/compiler/index.js +256 -0
- package/lib/compiler/manifest.js +242 -0
- package/lib/compiler/parser.js +258 -0
- package/lib/compiler/platforms.js +113 -0
- package/lib/compiler/resource-copier.js +320 -0
- package/lib/compiler/rules-emitters/__tests__/antigravity-rules-emitter.test.js +191 -0
- package/lib/compiler/rules-emitters/__tests__/codex-rules-emitter.test.js +109 -0
- package/lib/compiler/rules-emitters/__tests__/cursor-rules-emitter.test.js +123 -0
- package/lib/compiler/rules-emitters/__tests__/qwen-rules-emitter.test.js +123 -0
- package/lib/compiler/rules-emitters/antigravity-rules-emitter.js +253 -0
- package/lib/compiler/rules-emitters/base-rules-emitter.js +83 -0
- package/lib/compiler/rules-emitters/codex-rules-emitter.js +116 -0
- package/lib/compiler/rules-emitters/cursor-rules-emitter.js +98 -0
- package/lib/compiler/rules-emitters/index.js +71 -0
- package/lib/compiler/rules-emitters/qwen-rules-emitter.js +70 -0
- package/lib/compiler/schemas.js +144 -0
- package/lib/compiler/skills-registry.js +225 -0
- package/lib/compiler/transformer.js +236 -0
- 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>© 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/。
|