cc-devflow 4.1.5 → 4.2.0

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 (112) hide show
  1. package/.claude/CLAUDE.md +87 -1091
  2. package/.claude/commands/core/architecture.md +32 -2
  3. package/.claude/commands/core/guidelines.md +27 -2
  4. package/.claude/commands/core/roadmap.md +33 -4
  5. package/.claude/commands/core/style.md +53 -263
  6. package/.claude/commands/flow/CLAUDE.md +28 -0
  7. package/.claude/commands/flow/archive.md +2 -2
  8. package/.claude/commands/flow/checklist.md +9 -251
  9. package/.claude/commands/flow/clarify.md +9 -127
  10. package/.claude/commands/flow/constitution.md +1 -1
  11. package/.claude/commands/flow/context.md +1 -1
  12. package/.claude/commands/flow/dev.md +19 -395
  13. package/.claude/commands/flow/ideate.md +13 -13
  14. package/.claude/commands/flow/init.md +19 -30
  15. package/.claude/commands/flow/new.md +12 -268
  16. package/.claude/commands/flow/quality.md +10 -153
  17. package/.claude/commands/flow/release.md +18 -81
  18. package/.claude/commands/flow/restart.md +15 -16
  19. package/.claude/commands/flow/spec.md +14 -164
  20. package/.claude/commands/flow/status.md +12 -12
  21. package/.claude/commands/flow/update.md +4 -4
  22. package/.claude/commands/flow/upgrade.md +6 -6
  23. package/.claude/commands/flow/verify.md +19 -78
  24. package/.claude/commands/flow/workspace.md +1 -1
  25. package/.claude/docs/guides/INIT_TROUBLESHOOTING.md +7 -7
  26. package/.claude/docs/guides/NEW_TROUBLESHOOTING.md +44 -96
  27. package/.claude/docs/guides/ROADMAP_TROUBLESHOOTING.md +1 -1
  28. package/.claude/docs/guides/TASK_COMPLETION_MARKING.md +5 -5
  29. package/.claude/docs/templates/ATTEMPT_TEMPLATE.md +1 -1
  30. package/.claude/docs/templates/BACKLOG_TEMPLATE.md +3 -3
  31. package/.claude/docs/templates/CLARIFICATION_REPORT_TEMPLATE.md +5 -5
  32. package/.claude/docs/templates/ERROR_LOG_TEMPLATE.md +2 -2
  33. package/.claude/docs/templates/INIT_FLOW_TEMPLATE.md +3 -3
  34. package/.claude/docs/templates/NEW_ORCHESTRATION_TEMPLATE.md +33 -64
  35. package/.claude/docs/templates/RESEARCH_TEMPLATE.md +3 -3
  36. package/.claude/docs/templates/ROADMAP_DIALOGUE_TEMPLATE.md +2 -2
  37. package/.claude/docs/templates/ROADMAP_TEMPLATE.md +2 -2
  38. package/.claude/docs/templates/STYLE_TEMPLATE.md +3 -3
  39. package/.claude/docs/templates/UI_PROTOTYPE_TEMPLATE.md +8 -9
  40. package/.claude/guides/workflow-guides/flow-orchestrator.md +31 -265
  41. package/.claude/hooks/CLAUDE.md +1 -1
  42. package/.claude/hooks/checklist-gate.js +4 -4
  43. package/.claude/hooks/inject-agent-context.ts +2 -2
  44. package/.claude/scripts/calculate-checklist-completion.sh +2 -2
  45. package/.claude/scripts/check-prerequisites.sh +2 -2
  46. package/.claude/scripts/checklist-errors.sh +4 -4
  47. package/.claude/scripts/flow-quality-full.sh +5 -5
  48. package/.claude/scripts/flow-quality-quick.sh +4 -4
  49. package/.claude/scripts/flow-workspace-init.sh +2 -2
  50. package/.claude/scripts/generate-clarification-report.sh +4 -4
  51. package/.claude/scripts/recover-workflow.sh +70 -73
  52. package/.claude/scripts/run-quality-gates.sh +1 -1
  53. package/.claude/scripts/setup-epic.sh +2 -2
  54. package/.claude/scripts/setup-ralph-loop.sh +2 -2
  55. package/.claude/scripts/validate-research.sh +1 -1
  56. package/.claude/scripts/verify-setup.sh +1 -1
  57. package/.claude/skills/cc-devflow-orchestrator/SKILL.md +113 -108
  58. package/.claude/skills/workflow/CLAUDE.md +24 -0
  59. package/.claude/skills/workflow/flow-dev/CLAUDE.md +14 -76
  60. package/.claude/skills/workflow/flow-dev/SKILL.md +58 -60
  61. package/.claude/skills/workflow/flow-dev/context.jsonl +4 -8
  62. package/.claude/skills/workflow/flow-init/SKILL.md +46 -144
  63. package/.claude/skills/workflow/flow-init/assets/RESEARCH_TEMPLATE.md +1 -1
  64. package/.claude/skills/workflow/flow-init/context.jsonl +3 -3
  65. package/.claude/skills/workflow/flow-init/scripts/check-prerequisites.sh +1 -1
  66. package/.claude/skills/workflow/flow-init/scripts/validate-research.sh +1 -1
  67. package/.claude/skills/workflow/flow-release/SKILL.md +23 -56
  68. package/.claude/skills/workflow/flow-release/context.jsonl +5 -7
  69. package/.claude/skills/workflow/flow-spec/CLAUDE.md +15 -101
  70. package/.claude/skills/workflow/flow-spec/SKILL.md +40 -511
  71. package/.claude/skills/workflow/flow-spec/context.jsonl +5 -7
  72. package/.claude/skills/workflow/flow-verify/CLAUDE.md +10 -0
  73. package/.claude/skills/workflow/flow-verify/SKILL.md +53 -0
  74. package/.claude/skills/workflow/flow-verify/context.jsonl +5 -0
  75. package/.claude/skills/workflow.yaml +72 -267
  76. package/CHANGELOG.md +72 -0
  77. package/README.md +96 -69
  78. package/README.zh-CN.md +95 -67
  79. package/bin/cc-devflow-cli.js +154 -0
  80. package/bin/harness.js +22 -0
  81. package/docs/commands/README.md +34 -38
  82. package/docs/commands/README.zh-CN.md +34 -36
  83. package/docs/commands/core-roadmap.md +2 -2
  84. package/docs/commands/core-roadmap.zh-CN.md +2 -2
  85. package/docs/commands/core-style.md +29 -381
  86. package/docs/commands/core-style.zh-CN.md +29 -381
  87. package/docs/commands/flow-init.md +10 -10
  88. package/docs/commands/flow-init.zh-CN.md +11 -11
  89. package/docs/commands/flow-new.md +25 -260
  90. package/docs/commands/flow-new.zh-CN.md +26 -257
  91. package/docs/guides/getting-started.md +16 -15
  92. package/docs/guides/getting-started.zh-CN.md +10 -12
  93. package/lib/compiler/__tests__/manifest.test.js +156 -0
  94. package/lib/compiler/__tests__/parser.test.js +21 -0
  95. package/lib/compiler/index.js +17 -1
  96. package/lib/compiler/manifest.js +68 -6
  97. package/lib/compiler/parser.js +5 -0
  98. package/lib/harness/CLAUDE.md +21 -0
  99. package/lib/harness/cli.js +208 -0
  100. package/lib/harness/index.js +16 -0
  101. package/lib/harness/operations/dispatch.js +285 -0
  102. package/lib/harness/operations/init.js +48 -0
  103. package/lib/harness/operations/janitor.js +74 -0
  104. package/lib/harness/operations/pack.js +100 -0
  105. package/lib/harness/operations/plan.js +29 -0
  106. package/lib/harness/operations/release.js +83 -0
  107. package/lib/harness/operations/resume.js +44 -0
  108. package/lib/harness/operations/verify.js +163 -0
  109. package/lib/harness/planner.js +141 -0
  110. package/lib/harness/schemas.js +108 -0
  111. package/lib/harness/store.js +240 -0
  112. package/package.json +9 -1
@@ -29,6 +29,36 @@ architecture-designer (research, no dialogue)
29
29
  ARCHITECTURE.md (4 diagrams)
30
30
  ```
31
31
 
32
+ ## Harness Engineering 增强(Long-running Session Protocol)
33
+
34
+ 为防止跨上下文窗口后出现“图表半生成、ADR 丢失、误判已完成”,执行分为 Initializer 与 Worker 两类会话。
35
+
36
+ ### Phase 0: Initializer Session(首次或 --force)
37
+
38
+ 先建立/刷新架构任务工件(不要一次性生成整份文档):
39
+ - `devflow/.core-harness/architecture/checklist.json`
40
+ - 列出 4 张图、ADR、NFR、演进路径等验收项,默认 `passes=false`
41
+ - `devflow/.core-harness/architecture/progress.md`
42
+ - 记录本次修改、风险、下一步
43
+ - `devflow/.core-harness/architecture/init.md`
44
+ - 固定启动流程(读取 ROADMAP、读取最近进展、执行 Mermaid 冒烟验证)
45
+
46
+ ### Worker Session(增量交付)
47
+
48
+ 每个窗口只处理一个子目标,例如:
49
+ - 只完成一张 Mermaid 图并自检语法
50
+ - 只补齐 ADR 与对应图表映射
51
+ - 只修复依赖图节点/边一致性问题
52
+
53
+ 会话收尾要求:
54
+ 1. 运行当前文档校验(占位符、图表数量、语法)
55
+ 2. 更新 checklist 的 `passes` 字段
56
+ 3. 写入 progress/handoff,明确下一窗口优先任务
57
+
58
+ ### Done Gate
59
+
60
+ `checklist.json` 全绿 + Phase 4 校验通过,才可输出成功报告。
61
+
32
62
  ## 执行流程
33
63
 
34
64
  ### Phase 1: Prerequisites Check
@@ -328,9 +358,9 @@ Else:
328
358
  无需单独运行 /core-architecture
329
359
  ```
330
360
 
331
- ### 在 /flow-init 中的使用
361
+ ### 在 /flow:init 中的使用
332
362
  ```
333
- /flow-init 可以读取 ARCHITECTURE.md 获取上下文:
363
+ /flow:init 可以读取 ARCHITECTURE.md 获取上下文:
334
364
  - 查看需求在架构中的位置
335
365
  - 了解相关模块和依赖
336
366
  - 参考 ADR 做技术决策
@@ -35,6 +35,31 @@ description: 'Generate project-specific development guidelines skills (frontend/
35
35
  /core-guidelines --dry-run
36
36
  ```
37
37
 
38
+ ## Harness Engineering 增强(Eval-Driven + Incremental)
39
+
40
+ `/core-guidelines` 容易出现两类失败:一次生成过大导致中断、未验证触发规则就标记完成。为此引入双阶段协议。
41
+
42
+ ### Step 0: Initializer Session
43
+
44
+ 创建会话工件:
45
+ - `devflow/.core-harness/guidelines/skill-checklist.json`
46
+ - Frontend/Backend 分别列出验收项:触发规则、关键资源文件、示例质量、约束合规,默认 `passes=false`
47
+ - `devflow/.core-harness/guidelines/progress.md`
48
+ - `devflow/.core-harness/guidelines/session-handoff.md`
49
+
50
+ ### Worker Session
51
+
52
+ - 一次只处理一个 skill(frontend 或 backend),禁止同窗口双线并发重写
53
+ - 每次只完成一个最小闭环:`生成/更新 → 触发验证 → 示例验证 → 勾选 passes`
54
+ - 结束前必须写 handoff,明确下一窗口要做的单一目标
55
+
56
+ ### Eval Gate(禁止“看起来差不多”)
57
+
58
+ 只有当以下检查全部通过才标记对应 skill 完成:
59
+ 1. `skill-rules.json` 触发范围正确,且前后端互不污染
60
+ 2. SKILL + resources 无占位符/虚构路径
61
+ 3. 至少 1 个真实文件路径触发测试通过(frontend 与 backend 各自独立)
62
+
38
63
  ---
39
64
 
40
65
  ## Process
@@ -466,8 +491,8 @@ Choice: [user input]
466
491
 
467
492
  ## Related Commands
468
493
 
469
- - `/flow-init` - Initialize new requirement (can call /core-guidelines)
470
- - `/flow-tech` - Technical design (analyzes tech stack similarly)
494
+ - `/flow:init` - Initialize new requirement (can call /core-guidelines)
495
+ - `/flow:spec` - Unified specification and technical planning
471
496
 
472
497
  ---
473
498
 
@@ -102,6 +102,35 @@ guides:
102
102
  - **roadmap-planner (Agent)**: 根据上下文生成文档,无对话
103
103
  - **architecture-designer (Agent)**: 生成架构图,无对话
104
104
 
105
+ ## Harness Engineering 增强(OpenAI + Anthropic 实践融合)
106
+
107
+ 为避免长会话中的“半成品漂移 / 提前宣布完成 / 上下文断片”,`/core-roadmap` 强制采用双阶段执行。
108
+
109
+ ### Stage -1: Initializer Session(只做地基,不做全量生成)
110
+
111
+ 在首次运行或 `--regenerate` 时先建立可恢复工件:
112
+ - `devflow/.core-harness/roadmap/feature-checklist.json`
113
+ - 结构化列出路线图必须产物(愿景、里程碑、依赖图、容量评估、季度分配等),默认 `passes=false`
114
+ - `devflow/.core-harness/roadmap/progress.md`
115
+ - 记录每次会话完成内容、未决问题、下一步
116
+ - `devflow/.core-harness/roadmap/session-handoff.md`
117
+ - 给下一窗口的启动指令(从哪个 Stage 继续、先做什么验证)
118
+
119
+ ### Worker Session(增量推进,每次只完成一个最小目标)
120
+
121
+ 每个窗口必须遵守:
122
+ 1. 启动先读状态:`pwd` → `progress.md` → `feature-checklist.json` → 最近 git log(若仓库可用)
123
+ 2. 先做冒烟检查:确认现有 `ROADMAP.md/BACKLOG.md/ARCHITECTURE.md` 不是损坏状态
124
+ 3. 只推进一个最小单元:
125
+ - 一个 Stage 的信息收集,或
126
+ - 一个 RM 依赖簇的整理,或
127
+ - 一次时间线冲突修复
128
+ 4. 结束前必须更新工件:勾选 `passes`、写入 progress/handoff、明确下一步
129
+
130
+ ### 完成判定(禁止“口头完成”)
131
+
132
+ 只有 `feature-checklist.json` 全部 `passes=true`,且 Stage 8 输出文件全部存在并通过校验,才允许宣告完成。
133
+
105
134
  ---
106
135
 
107
136
  ## 执行流程骨架
@@ -268,9 +297,9 @@ guides:
268
297
 
269
298
  下一步建议:
270
299
  1. 审查路线图
271
- 2. 开始首个需求: /flow-init "REQ-XXX|{RM-title}"
300
+ 2. 开始首个需求: /flow:init "REQ-XXX|{RM-title}"
272
301
  3. 定期更新: /core-roadmap --regenerate
273
- 4. 监控进度: /flow-status --all
302
+ 4. 监控进度: /flow:status --all
274
303
 
275
304
  → 详见 {TEMPLATE:dialogue} Stage 8
276
305
  ```
@@ -425,10 +454,10 @@ grep "Status: Completed" devflow/ROADMAP.md | wc -l
425
454
 
426
455
  ```
427
456
  # 选择当前季度的第一个 RM-ID
428
- /flow-init "REQ-XXX|{RM-title}"
457
+ /flow:init "REQ-XXX|{RM-title}"
429
458
 
430
459
  # 或查看所有状态
431
- /flow-status --all
460
+ /flow:status --all
432
461
  ```
433
462
 
434
463
  ---
@@ -5,289 +5,79 @@ scripts:
5
5
  validate_constitution: .claude/scripts/validate-constitution.sh
6
6
  ---
7
7
 
8
- # Flow-Style - 设计风格指南生成命令
8
+ # /core-style - 项目设计风格指南
9
9
 
10
10
  ## User Input
11
11
  ```text
12
12
  $ARGUMENTS = "[--update]"
13
13
  ```
14
- `--update` 表示更新现有 STYLE.md,缺省表示生成新的风格指南。
15
14
 
16
- ## 命令格式
17
- ```text
18
- /core-style # 生成新的设计风格指南
19
- /core-style --update # 更新现有设计风格指南
20
- ```
21
-
22
- ## 触发原则
23
- - **项目初始化时**:在 `/core-roadmap` 之后,或作为独立命令运行
24
- - **设计风格变更时**:通过 `--update` 参数更新现有风格指南
25
- - **项目级别**:类似 `/core-roadmap`,为整个项目建立设计标准(SSOT)
26
-
27
- ## 核心理念
28
- > "设计系统是视觉语言的语法,代码是语法的实现。无语法,则无一致性。"
29
-
30
- STYLE.md 是项目的**设计真理源(SSOT)**,后续所有 UI 相关工作必须遵循:
31
- - `/flow-ui` 生成的 UI_PROTOTYPE.html 必须严格遵循 STYLE.md
32
- - `/flow-dev` 前端开发代码必须严格遵循 STYLE.md
33
-
34
- ## 执行流程
35
-
36
- ### 阶段 1: Entry Gate & 项目类型检测
37
- ```
38
- 1. 检测现有风格指南
39
- → 检查 devflow/STYLE.md 是否存在
40
- → 如存在且无 --update 参数 → WARN 并询问是否覆盖
41
- → 如存在且有 --update 参数 → 进入更新模式
42
-
43
- 2. 检测项目类型
44
- → 检查项目特征:
45
- • package.json, src/components/, styles/, public/ 等前端文件
46
- • 判断是新项目(无前端代码)还是现有项目(有前端代码)
47
- → 记录项目类型到 EXECUTION_LOG.md
48
-
49
- 3. 路由选择
50
- → 新项目 → 进入阶段 2(参考设计采集)
51
- → 现有项目 → 进入阶段 3(代码分析)
52
- → 更新模式 → 进入阶段 3(代码分析 + 现有 STYLE.md 合并)
53
- ```
15
+ ## 目标
16
+ 生成或更新 `devflow/STYLE.md`,作为项目设计 SSOT,供 `/flow:spec`、`/flow:dev`、`/flow:verify` 全链路复用。
54
17
 
55
- ### 阶段 2: 参考设计采集与复刻(仅新项目)
56
- ```
57
- 1. 引导用户提供参考设计
58
- 提示用户:
59
- "请提供你想要参考的设计,可以包括:
60
- - 网站 URL(我会抓取并分析)
61
- - 设计截图(PNG/JPG)
62
- - 提取的 HTML + CSS 代码
63
-
64
- 我将帮你复刻这个设计到单 HTML 文件中。"
65
-
66
- 2. 生成参考设计复刻
67
- → 使用提示词:
68
- "Help me rebuild exact same UI design in single html as reference-001.html.
69
- Above is extracted css and design screenshot."
70
- → 生成单 HTML 文件
71
- → 保存到 devflow/research/style_reference_designs/reference-001.html
72
- → 如有截图,保存到 devflow/research/style_reference_designs/reference-001.png
73
-
74
- 3. 用户微调循环
75
- → 提示用户打开 HTML 文件查看效果:
76
- "请打开 devflow/research/style_reference_designs/reference-001.html 查看效果。
77
-
78
- 你满意吗?如果不满意,请告诉我需要调整的地方:
79
- - 颜色(如:主色调太鲜艳,改为更柔和的蓝色)
80
- - 字体(如:标题字体太粗,改为 medium weight)
81
- - 间距(如:卡片间距太小,增加到 24px)
82
- - 组件样式(如:按钮圆角太大,改为 4px)
83
- - 其他..."
84
- → 根据用户反馈调整 HTML
85
- → 生成新版本:reference-002.html, reference-003.html, ...
86
- → 重复此循环,直到用户满意
87
-
88
- 4. 确认最终版本
89
- → 用户确认满意后,询问:
90
- "请确认这是最终版本吗?(y/n)"
91
- → 用户确认后,复制最终版本为 reference-final.html
92
- → 进入阶段 3 生成风格分析
18
+ ## 命令
19
+ ```text
20
+ /core-style # 新建风格指南
21
+ /core-style --update # 更新已有风格指南
93
22
  ```
94
23
 
95
- ### 阶段 3: 风格分析与 STYLE.md 生成
96
- ```
97
- 1. 分析输入源
98
- → 新项目:
99
- • 读取 devflow/research/style_reference_designs/reference-final.html
100
- • 提取颜色、字体、间距、组件样式、动画、阴影等
101
- → 现有项目:
102
- • 使用 Glob 查找前端文件: **/*.{tsx,jsx,vue,svelte,css,scss,sass}
103
- • 使用 Grep 搜索样式定义、Tailwind classes、CSS variables
104
- • 分析组件结构、设计模式
105
- → 更新模式:
106
- • 结合现有 STYLE.md + 最新代码分析
107
- • 保留现有定义,补充新发现的模式
24
+ ## Harness Engineering 增强(多窗口稳定执行)
108
25
 
109
- 2. 生成风格分析文档
110
- → 创建 devflow/research/style_analysis.md
111
- → 结构:
112
- ```
113
- # 设计风格分析
26
+ 为避免风格文档在多轮会话中变成“补丁堆”,执行采用 initializer + incremental worker。
114
27
 
115
- ## 分析来源
116
- - 参考设计: reference-final.html (新项目)
117
- - 代码分析: src/components/**, styles/** (现有项目)
118
- - 分析时间: YYYY-MM-DD 北京时间
28
+ ### 0. Initializer Session
29
+ - 建立 `devflow/.core-harness/style/` 工件:
30
+ - `checklist.json`: token 体系、组件约束、可访问性、响应式、动效、禁用项等验收项(默认 `passes=false`)
31
+ - `progress.md`: 本轮修改与未决项
32
+ - `session-handoff.md`: 下一轮优先任务与验证命令
119
33
 
120
- ## 颜色提取
121
- - 主色: #XXXXXX (使用频率: XX%)
122
- - 辅色: #XXXXXX (使用频率: XX%)
123
- - 成功色: #XXXXXX
124
- - 警告色: #XXXXXX
125
- - 错误色: #XXXXXX
126
- - 中性色: #XXXXXX, #XXXXXX, ...
34
+ ### 1. Worker Session
35
+ - 每轮只处理一个最小块(例如颜色 token、排版 token、某一类组件约束)
36
+ - 修改后立即做局部验证,不通过则回滚该块后重试
37
+ - 收尾必须同步 checklist/progress/handoff,保持可恢复
127
38
 
128
- ## 字体分析
129
- - 标题字体: Font Family, Weight, Size
130
- - 正文字体: Font Family, Weight, Size
131
- - 代码字体: Font Family (如有)
132
- - 字体组合规律
39
+ ### 2. Done Gate
40
+ - 只有 checklist 全部 `passes=true` 且第 4 步校验通过,才允许输出“STYLE 生成完成”
133
41
 
134
- ## 间距系统
135
- - 基础单位: 4px / 8px / 16px
136
- - 组件间距: 8px, 16px, 24px, 32px
137
- - 布局间距: 48px, 64px, 96px
42
+ ## 执行步骤
138
43
 
139
- ## 组件样式模式
140
- - 按钮: 圆角、阴影、hover 效果、padding
141
- - 卡片: 圆角、阴影、边框、padding
142
- - 输入框: 圆角、边框、focus 效果、padding
143
- - ...
44
+ ### 1. 入口检查
45
+ - 检查 `devflow/STYLE.md` 是否存在。
46
+ - `--update` 且文件已存在时,要求用户确认是否覆盖。
47
+ - 记录执行开始到 `EXECUTION_LOG.md`。
144
48
 
145
- ## 其他设计元素
146
- - 阴影 & 层级: box-shadow 定义
147
- - 动画 & 过渡: transition, animation 定义
148
- - 圆角: border-radius 规律
149
- - 透明度: opacity 使用场景
150
- ```
151
- → EXECUTION_LOG.md 记录分析完成
49
+ ### 2. 采集输入
50
+ - 新项目:引导用户提供参考 URL / 截图 / HTML+CSS。
51
+ - 现有项目:扫描前端代码提取颜色、排版、间距、组件模式。
52
+ - 输出分析材料到 `devflow/research/style_analysis.md`。
152
53
 
153
- 3. 调用 style-guide-generator Agent
154
- Prompt 要求:
155
- 输入: research/style_analysis.md + (reference-final.html 或项目代码)
156
- 输出: devflow/STYLE.md
157
- • 遵循模板: .claude/docs/templates/STYLE_TEMPLATE.md
158
- • 必须包含:
159
- - Overview (设计系统概述)
160
- - Color Palette (完整色板 + Hex/RGB/HSL)
161
- - Typography (字体系统 + weight/size/line-height 组合)
162
- - Spacing System (间距系统 + 使用示例)
163
- - Component Styles (所有组件的详细样式定义)
164
- - Shadows & Elevation (阴影系统 + 层级说明)
165
- - Animations & Transitions (动画 + 过渡效果)
166
- - Border Radius (圆角系统)
167
- - Opacity & Transparency (透明度使用场景)
168
- - Common Tailwind CSS Usage (如适用)
169
- - Example Component Reference Design Code (示例组件代码)
170
- - Design Principles (设计原则,如有)
171
- • Constitution 约束:
172
- - 禁止外链资源(字体、图片等必须本地化或使用 CDN)
173
- - 禁止硬编码敏感数据
174
- - 所有颜色必须提供 Hex 和语义化命名
175
- - 所有示例代码必须可直接复用
54
+ ### 3. 生成 STYLE
55
+ - 使用 `.claude/docs/templates/STYLE_TEMPLATE.md` 生成 `devflow/STYLE.md`。
56
+ - 必须包含语义化 token 与组件级约束。
57
+ - 避免页面级“临时补丁式”描述。
176
58
 
177
- 4. 生成 STYLE.md
178
- Agent 输出 devflow/STYLE.md
179
- 确保文档包含所有必需部分
180
- 确保示例代码完整可执行
181
- ```
59
+ ### 4. 校验与落盘
60
+ - 校验文件存在:
61
+ - `devflow/STYLE.md`
62
+ - `devflow/research/style_analysis.md`
63
+ - 运行宪法检查:
64
+ - `{SCRIPT:validate_constitution} --type style --severity warning`
65
+ - 更新 `devflow/project_status.json` 与 `EXECUTION_LOG.md`。
182
66
 
183
- ### 阶段 4: Exit Gate
184
- ```
185
- 1. 文件完整性检查
186
- 必须存在:
187
- • devflow/STYLE.md
188
- • devflow/research/style_analysis.md
189
- → 新项目还需:
190
- • devflow/research/style_reference_designs/reference-final.html
191
-
192
- 2. 结构检查
193
- → STYLE.md 包含所有必需部分(Overview, Color Palette, Typography, ...)
194
- → 包含至少 3 个完整的示例组件代码
195
- → 所有颜色定义包含 Hex 值和语义化命名
196
- → 所有字体定义包含 weight, size, line-height
197
-
198
- 3. 宪法校验
199
- → {SCRIPT:validate_constitution} --type style --severity warning
200
- → 检查外链资源、硬编码数据等
201
-
202
- 4. 状态更新
203
- → 创建/更新项目级状态文件(如不存在):
204
- devflow/project_status.json:
205
- {
206
- "project_name": "Project Name",
207
- "style_guide_complete": true,
208
- "style_guide_version": "1.0.0",
209
- "last_updated": "YYYY-MM-DD HH:mm 北京时间"
210
- }
211
- → EXECUTION_LOG.md 记录完成事件
212
-
213
- 5. 后续集成提醒
214
- → 输出提示:
215
- "✅ STYLE.md 已生成!
216
-
217
- 后续工作流将自动引用此设计风格指南:
218
- - /flow-ui 将严格遵循 STYLE.md 生成 UI 原型
219
- - /flow-dev 前端开发将严格遵循 STYLE.md
220
-
221
- 下一步建议:
222
- 1. 审阅 devflow/STYLE.md 确保完整性
223
- 2. (可选)运行 /flow-prd 开始需求开发
224
- 3. (可选)运行 /core-roadmap 生成产品路线图"
225
- ```
67
+ ## 与主链集成
68
+ - `/flow:spec`:将 STYLE 约束写入需求验收标准。
69
+ - `/flow:dev`:实现阶段必须遵循 STYLE token/组件规范。
70
+ - `/flow:verify`:质量闸检查样式一致性并产出 gate 结果。
226
71
 
227
72
  ## 输出
73
+ ```text
74
+ ✅ devflow/STYLE.md
75
+ ✅ devflow/research/style_analysis.md
76
+ ✅ devflow/project_status.json (updated)
77
+ ✅ EXECUTION_LOG.md (updated)
228
78
  ```
229
- ✅ devflow/STYLE.md # 项目设计风格指南(SSOT)
230
- ✅ devflow/research/style_analysis.md # 风格分析文档
231
- ✅ devflow/research/style_reference_designs/reference-*.html # 参考设计(新项目)
232
- ✅ devflow/project_status.json # 项目级状态(更新)
233
- ✅ EXECUTION_LOG.md # 执行日志(更新)
234
- ```
235
-
236
- ## 错误处理
237
- - **STYLE.md 已存在且无 --update 参数** → 询问是否覆盖,用户拒绝则退出
238
- - **项目无前端特征且用户未提供参考设计** → 提示用户提供参考设计或确认是纯后端项目
239
- - **参考设计复刻失败** → 要求用户提供更详细的设计信息(HTML/CSS/截图)
240
- - **Agent 生成失败** → 保留 style_analysis.md,提示用户检查后重试
241
- - **宪法校验失败** → 根据 severity 决定是否阻塞(warning 级别仅提示)
242
-
243
- ## 下一步
244
- 1. **审阅 STYLE.md** - 确保设计风格指南完整且符合项目需求
245
- 2. **更新现有组件**(现有项目)- 根据 STYLE.md 调整不一致的组件
246
- 3. **运行 /flow-prd** - 开始需求开发(如适用)
247
- 4. **运行 /core-roadmap** - 生成产品路线图(如适用)
248
-
249
- ## 与其他工作流的集成
250
-
251
- ### /flow-ui 集成
252
- - `/flow-ui` 在阶段 2(设计风格分析)时,优先加载 `devflow/STYLE.md`
253
- - 所有颜色、字体、间距、组件必须严格遵循 STYLE.md
254
- - 仅在 STYLE.md 未覆盖的部分,才使用默认采样策略(80+ 设计大师)
255
-
256
- ### /flow-dev 集成
257
- - `/flow-dev` 在阶段 2(Quickstart 初始化)时,加载 `devflow/STYLE.md`
258
- - 所有前端代码生成必须遵循 STYLE.md 定义的风格
259
- - 特别注意:颜色、字体、间距、组件结构
260
-
261
- ### /flow-verify 集成
262
- - `/flow-verify` 可检查代码是否符合 STYLE.md 定义的风格
263
- - 检查项:颜色使用、字体使用、间距使用、组件结构一致性
264
-
265
- ## 设计哲学
266
- - **SSOT 原则**: STYLE.md 是项目设计的唯一真理源
267
- - **一致性优先**: 所有 UI 相关工作必须遵循 STYLE.md,避免风格碎片化
268
- - **可复用性**: 示例代码必须可直接复用,不是伪代码
269
- - **演进性**: 通过 `--update` 参数支持风格指南的迭代更新
270
- - **用户中心**: 新项目通过参考设计采集 + 微调循环,确保用户满意度
271
-
272
- ## 补充说明
273
-
274
- ### 为什么需要项目级设计风格指南?
275
- 1. **避免风格碎片化**: 每个需求的 UI 可能由不同人开发,STYLE.md 确保一致性
276
- 2. **提高开发效率**: 开发者直接引用 STYLE.md 的定义,无需重复决策
277
- 3. **降低维护成本**: 统一的设计系统减少重复代码和样式冲突
278
- 4. **提升用户体验**: 一致的视觉语言提升产品专业度和可用性
279
-
280
- ### 参考设计微调循环的价值
281
- - **用户满意度**: 允许用户在实际 HTML 中看到效果并迭代调整
282
- - **设计精准度**: 通过多次微调,确保最终风格指南真正符合用户期望
283
- - **避免返工**: 早期确定设计风格,避免后期大规模重构
284
-
285
- ### 现有项目 vs 新项目
286
- - **新项目**: 通过参考设计建立设计系统(主动定义)
287
- - **现有项目**: 通过代码分析提取设计系统(被动提取)
288
- - **更新模式**: 结合现有定义 + 最新代码,持续演进
289
79
 
290
- ### STYLE.md 的演进策略
291
- - **版本控制**: 每次更新增加版本号(记录在 project_status.json)
292
- - **向后兼容**: 更新时保留现有定义,仅补充新模式
293
- - **变更追踪**: 在 EXECUTION_LOG.md 记录每次更新的原因和变更内容
80
+ ## 异常处理
81
+ - STYLE 已存在且用户拒绝覆盖:直接退出,不改动。
82
+ - 输入不足:提示补充参考设计,不进入生成阶段。
83
+ - 生成失败:保留 `style_analysis.md`,提示修正后重试。
@@ -0,0 +1,28 @@
1
+ # flow/
2
+ > L2 | 父级: /Users/dimon/001Area/80-CodeWorld/002-devflow/cc-devflow/.claude/CLAUDE.md
3
+
4
+ 成员清单
5
+ archive.md: 归档需求命令。
6
+ checklist.md: 已废弃命令,统一迁移到 /flow:verify。
7
+ clarify.md: 已废弃命令,默认主链移除独立澄清阶段。
8
+ constitution.md: 宪法规则管理命令。
9
+ context.md: 上下文资产管理命令。
10
+ delta.md: 需求增量变更命令。
11
+ dev.md: 主链开发阶段命令,触发 harness dispatch/resume。
12
+ fix.md: Bug 修复命令。
13
+ ideate.md: 想法到需求命令。
14
+ init.md: 主链初始化命令,触发 harness init/pack。
15
+ new.md: 已废弃命令,迁移到 /flow:init -> /flow:spec -> /flow:dev -> /flow:verify -> /flow:release。
16
+ quality.md: 已废弃命令,统一迁移到 /flow:verify。
17
+ release.md: 主链发布命令,触发 harness release/janitor。
18
+ restart.md: 旧中断恢复命令(迁移过渡保留)。
19
+ spec.md: 主链规格命令,触发 harness plan。
20
+ status.md: 状态查询命令。
21
+ update.md: 任务状态更新命令。
22
+ upgrade.md: 升级分析命令。
23
+ verify.md: 主链验证命令,触发 harness verify。
24
+ workspace.md: 工作区记录命令。
25
+
26
+ 法则: 成员完整·一行一文件·父级链接·技术词前置
27
+
28
+ [PROTOCOL]: 变更时更新此头部,然后检查 CLAUDE.md
@@ -207,7 +207,7 @@ ERROR: 无效的归档原因: cancelled
207
207
  ## 最佳实践
208
208
 
209
209
  ### 何时归档
210
- - ✅ 需求已完成并成功发布 (`/flow-release` 后)
210
+ - ✅ 需求已完成并成功发布 (`/flow:release` 后)
211
211
  - ✅ 需求被明确取消或废弃
212
212
  - ✅ 需求被新需求完全取代
213
213
 
@@ -224,7 +224,7 @@ ERROR: 无效的归档原因: cancelled
224
224
  ## 与其他命令的关系
225
225
 
226
226
  ```text
227
- /flow:init → /flow:spec → /flow:dev → /flow:quality → /flow:release
227
+ /flow:init → /flow:spec → /flow:dev → /flow:verify → /flow:release
228
228
 
229
229
  /flow:archive ← 工作流终点
230
230