@xenonbyte/da-vinci-workflow 0.1.4 → 0.1.6
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/CHANGELOG.md +42 -0
- package/CHANGELOG.zh-CN.md +44 -0
- package/README.md +86 -8
- package/README.zh-CN.md +293 -0
- package/SKILL.md +35 -1
- package/SKILL.zh-CN.md +339 -0
- package/commands/claude/da-vinci.md +7 -3
- package/commands/claude/dv/breakdown.md +1 -1
- package/commands/claude/dv/build.md +1 -1
- package/commands/claude/dv/continue.md +24 -0
- package/commands/claude/dv/design.md +1 -1
- package/commands/claude/dv/intake.md +26 -0
- package/commands/claude/dv/prompt.md +24 -0
- package/commands/claude/dv/tasks.md +1 -1
- package/commands/claude/dv/verify.md +1 -1
- package/commands/codex/prompts/da-vinci.md +5 -0
- package/commands/codex/prompts/dv-continue.md +24 -0
- package/commands/codex/prompts/dv-intake.md +27 -0
- package/commands/codex/prompts/dv-prompt.md +24 -0
- package/commands/gemini/da-vinci.toml +6 -1
- package/commands/gemini/dv/breakdown.toml +1 -1
- package/commands/gemini/dv/build.toml +1 -1
- package/commands/gemini/dv/continue.toml +24 -0
- package/commands/gemini/dv/design.toml +1 -1
- package/commands/gemini/dv/intake.toml +26 -0
- package/commands/gemini/dv/prompt.toml +24 -0
- package/commands/gemini/dv/tasks.toml +1 -1
- package/commands/gemini/dv/verify.toml +1 -1
- package/docs/mode-use-cases.md +13 -0
- package/docs/prompt-entrypoints.md +144 -0
- package/docs/workflow-examples.md +27 -0
- package/docs/zh-CN/commands/claude/da-vinci.md +27 -0
- package/docs/zh-CN/commands/claude/dv/breakdown.md +21 -0
- package/docs/zh-CN/commands/claude/dv/build.md +17 -0
- package/docs/zh-CN/commands/claude/dv/continue.md +24 -0
- package/docs/zh-CN/commands/claude/dv/design.md +20 -0
- package/docs/zh-CN/commands/claude/dv/intake.md +26 -0
- package/docs/zh-CN/commands/claude/dv/prompt.md +24 -0
- package/docs/zh-CN/commands/claude/dv/tasks.md +19 -0
- package/docs/zh-CN/commands/claude/dv/verify.md +16 -0
- package/docs/zh-CN/commands/codex/prompts/da-vinci.md +29 -0
- package/docs/zh-CN/commands/codex/prompts/dv-breakdown.md +19 -0
- package/docs/zh-CN/commands/codex/prompts/dv-build.md +13 -0
- package/docs/zh-CN/commands/codex/prompts/dv-continue.md +24 -0
- package/docs/zh-CN/commands/codex/prompts/dv-design.md +14 -0
- package/docs/zh-CN/commands/codex/prompts/dv-intake.md +27 -0
- package/docs/zh-CN/commands/codex/prompts/dv-prompt.md +24 -0
- package/docs/zh-CN/commands/codex/prompts/dv-tasks.md +16 -0
- package/docs/zh-CN/commands/codex/prompts/dv-verify.md +15 -0
- package/docs/zh-CN/mode-use-cases.md +145 -0
- package/docs/zh-CN/prompt-entrypoints.md +133 -0
- package/docs/zh-CN/workflow-examples.md +145 -0
- package/examples/greenfield-spec-markupflow/DA-VINCI.zh-CN.md +49 -0
- package/examples/greenfield-spec-markupflow/README.zh-CN.md +44 -0
- package/examples/greenfield-spec-markupflow/design-brief.zh-CN.md +24 -0
- package/examples/greenfield-spec-markupflow/design-registry.zh-CN.md +15 -0
- package/examples/greenfield-spec-markupflow/design.zh-CN.md +32 -0
- package/examples/greenfield-spec-markupflow/page-map.zh-CN.md +19 -0
- package/examples/greenfield-spec-markupflow/pencil-bindings.zh-CN.md +13 -0
- package/examples/greenfield-spec-markupflow/pencil-design.zh-CN.md +29 -0
- package/examples/greenfield-spec-markupflow/proposal.zh-CN.md +33 -0
- package/examples/greenfield-spec-markupflow/specs/marketing-site/spec.zh-CN.md +37 -0
- package/examples/greenfield-spec-markupflow/tasks.zh-CN.md +30 -0
- package/examples/greenfield-spec-markupflow/verification.zh-CN.md +38 -0
- package/lib/install.js +103 -31
- package/openspec/changes/da-vinci-v2-1-workflow/README.md +9 -0
- package/openspec/changes/da-vinci-v2-1-workflow/README.zh-CN.md +9 -0
- package/openspec/changes/da-vinci-v2-1-workflow/design.md +122 -0
- package/openspec/changes/da-vinci-v2-1-workflow/design.zh-CN.md +122 -0
- package/openspec/changes/da-vinci-v2-1-workflow/proposal.md +37 -0
- package/openspec/changes/da-vinci-v2-1-workflow/proposal.zh-CN.md +37 -0
- package/openspec/changes/da-vinci-v2-1-workflow/specs/workflow/spec.md +50 -0
- package/openspec/changes/da-vinci-v2-1-workflow/specs/workflow/spec.zh-CN.md +50 -0
- package/openspec/changes/da-vinci-v2-1-workflow/tasks.md +31 -0
- package/openspec/changes/da-vinci-v2-1-workflow/tasks.zh-CN.md +31 -0
- package/openspec/config.yaml +11 -0
- package/package.json +6 -1
- package/references/checkpoints.md +4 -0
- package/references/platform-adapters.md +30 -1
- package/references/prompt-recipes.md +181 -0
- package/references/zh-CN/artifact-templates.md +163 -0
- package/references/zh-CN/checkpoints.md +123 -0
- package/references/zh-CN/design-inputs.md +66 -0
- package/references/zh-CN/modes.md +69 -0
- package/references/zh-CN/page-mapping.md +43 -0
- package/references/zh-CN/pencil-design-to-code.md +65 -0
- package/references/zh-CN/platform-adapters.md +73 -0
- package/references/zh-CN/prompt-recipes.md +161 -0
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# Checkpoints 说明
|
|
2
|
+
|
|
3
|
+
> 中文配套文档。若与英文原文存在差异,请以 `references/checkpoints.md` 为准。
|
|
4
|
+
|
|
5
|
+
Da Vinci 使用 checkpoint 作为执行护栏,而不是审批节点。
|
|
6
|
+
|
|
7
|
+
## 执行策略
|
|
8
|
+
|
|
9
|
+
- `PASS`:自动继续
|
|
10
|
+
- `WARN`:记录并继续
|
|
11
|
+
- `BLOCK`:只有在无法从现有工件、本地上下文或代码库解决时才停止
|
|
12
|
+
|
|
13
|
+
默认 delivery intent:
|
|
14
|
+
|
|
15
|
+
- 若用户未明确说明,默认视为 `full-delivery`
|
|
16
|
+
- 在 `full-delivery` 下,checkpoint 不应成为停止理由,只负责判断能否安全继续
|
|
17
|
+
|
|
18
|
+
恢复规则:
|
|
19
|
+
|
|
20
|
+
- 当工件已存在且流程中断后,应通过 `continue` 从当前工件真相恢复,而不是重新 discovery
|
|
21
|
+
|
|
22
|
+
## `discovery checkpoint`
|
|
23
|
+
|
|
24
|
+
运行时机:
|
|
25
|
+
|
|
26
|
+
- `brainstorm.md`
|
|
27
|
+
- `project-inventory.md`
|
|
28
|
+
- `design-brief.md`
|
|
29
|
+
|
|
30
|
+
检查:
|
|
31
|
+
|
|
32
|
+
- mode 是否正确
|
|
33
|
+
- 起始材料是否足够稳定
|
|
34
|
+
- 产品形态和视觉方向是否已知
|
|
35
|
+
- 页面候选是否足够进入 `page-map.md`
|
|
36
|
+
- open questions 是否被记录
|
|
37
|
+
|
|
38
|
+
## `spec checkpoint`
|
|
39
|
+
|
|
40
|
+
运行时机:
|
|
41
|
+
|
|
42
|
+
- requirements 和 page scope 定义完成后
|
|
43
|
+
|
|
44
|
+
检查:
|
|
45
|
+
|
|
46
|
+
- scope 是否完整
|
|
47
|
+
- flows 是否被命名
|
|
48
|
+
- states 是否覆盖
|
|
49
|
+
- acceptance 是否可测
|
|
50
|
+
- `redesign-from-code` 的 spec 是否过粗
|
|
51
|
+
|
|
52
|
+
## `design checkpoint`
|
|
53
|
+
|
|
54
|
+
运行时机:
|
|
55
|
+
|
|
56
|
+
- Pencil 页面存在后
|
|
57
|
+
|
|
58
|
+
检查:
|
|
59
|
+
|
|
60
|
+
- 所需页面是否都存在
|
|
61
|
+
- 关键 sections 是否存在
|
|
62
|
+
- 重要 states 是否体现或被明确延后
|
|
63
|
+
- 视觉策略是否与 `DA-VINCI.md` 一致
|
|
64
|
+
|
|
65
|
+
## `mapping checkpoint`
|
|
66
|
+
|
|
67
|
+
运行时机:
|
|
68
|
+
|
|
69
|
+
- `design-registry.md` 和 `pencil-bindings.md` 完成后
|
|
70
|
+
|
|
71
|
+
检查:
|
|
72
|
+
|
|
73
|
+
- 正确的 `.pen` 源是否已登记
|
|
74
|
+
- 每个实现页面是否有 Pencil 页面或明确例外
|
|
75
|
+
- 共享区域是否绑定清楚
|
|
76
|
+
|
|
77
|
+
## `task checkpoint`
|
|
78
|
+
|
|
79
|
+
运行时机:
|
|
80
|
+
|
|
81
|
+
- 实现开始前
|
|
82
|
+
|
|
83
|
+
检查:
|
|
84
|
+
|
|
85
|
+
- 顶层任务组是否存在
|
|
86
|
+
- 是否覆盖 spec 和 Pencil
|
|
87
|
+
- 是否覆盖集成与验证
|
|
88
|
+
- 顺序是否按依赖排列
|
|
89
|
+
|
|
90
|
+
在 `full-delivery` 下:
|
|
91
|
+
|
|
92
|
+
- `PASS` 应立即进入 Task Group 1
|
|
93
|
+
- `WARN` 通常也应继续
|
|
94
|
+
- 只有 `BLOCK` 才允许停止
|
|
95
|
+
|
|
96
|
+
## `execution checkpoint`
|
|
97
|
+
|
|
98
|
+
运行时机:
|
|
99
|
+
|
|
100
|
+
- 每个顶层任务组完成后
|
|
101
|
+
|
|
102
|
+
检查:
|
|
103
|
+
|
|
104
|
+
- 代码是否仍符合 spec
|
|
105
|
+
- 代码是否仍符合 Pencil 结构
|
|
106
|
+
- 是否出现重大 scope drift
|
|
107
|
+
|
|
108
|
+
## 报告格式
|
|
109
|
+
|
|
110
|
+
推荐格式:
|
|
111
|
+
|
|
112
|
+
```md
|
|
113
|
+
## Checkpoint
|
|
114
|
+
- Type:
|
|
115
|
+
- Status:
|
|
116
|
+
|
|
117
|
+
## Findings
|
|
118
|
+
- Key point 1
|
|
119
|
+
- Key point 2
|
|
120
|
+
|
|
121
|
+
## Next Step
|
|
122
|
+
- Continue or update artifacts
|
|
123
|
+
```
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# 设计输入
|
|
2
|
+
|
|
3
|
+
> 中文配套文档。若与英文原文存在差异,请以 `references/design-inputs.md` 为准。
|
|
4
|
+
|
|
5
|
+
在收集产品形态、UI 方向和设计偏好时使用本文。
|
|
6
|
+
|
|
7
|
+
## 先检查视觉契约
|
|
8
|
+
|
|
9
|
+
优先检查 `DA-VINCI.md`:
|
|
10
|
+
|
|
11
|
+
- 存在时,把它视为项目视觉契约
|
|
12
|
+
- 不存在时,在大范围生成 Pencil 页面前先生成它
|
|
13
|
+
- 不要按页面逐个重新发明视觉语言
|
|
14
|
+
|
|
15
|
+
## 最低输入集
|
|
16
|
+
|
|
17
|
+
至少收集或推断:
|
|
18
|
+
|
|
19
|
+
1. form factor
|
|
20
|
+
- desktop software
|
|
21
|
+
- web app
|
|
22
|
+
- tablet
|
|
23
|
+
- mobile app
|
|
24
|
+
|
|
25
|
+
2. visual direction
|
|
26
|
+
- minimal
|
|
27
|
+
- dense workspace
|
|
28
|
+
- brand-forward
|
|
29
|
+
- enterprise
|
|
30
|
+
- editorial
|
|
31
|
+
- utility-first
|
|
32
|
+
|
|
33
|
+
3. preference details
|
|
34
|
+
- dark / light
|
|
35
|
+
- high / low density
|
|
36
|
+
- strong / restrained branding
|
|
37
|
+
|
|
38
|
+
4. constraints
|
|
39
|
+
- 现有设计系统
|
|
40
|
+
- 现有品牌
|
|
41
|
+
- 现有布局外壳
|
|
42
|
+
- 响应式优先级
|
|
43
|
+
|
|
44
|
+
## 推断顺序
|
|
45
|
+
|
|
46
|
+
1. `DA-VINCI.md`
|
|
47
|
+
2. 现有工件
|
|
48
|
+
3. 现有代码库
|
|
49
|
+
4. 用户陈述
|
|
50
|
+
5. 直接澄清
|
|
51
|
+
|
|
52
|
+
## 何时提问
|
|
53
|
+
|
|
54
|
+
只有当答案会明显改变 Pencil 输出时再问简短问题。
|
|
55
|
+
|
|
56
|
+
典型问题:
|
|
57
|
+
|
|
58
|
+
- desktop software 还是 web app
|
|
59
|
+
- dark 还是 light
|
|
60
|
+
- 高密度生产力 UI 还是宽松 marketing UI
|
|
61
|
+
|
|
62
|
+
## 记录位置
|
|
63
|
+
|
|
64
|
+
稳定结论写入 `design-brief.md`。
|
|
65
|
+
|
|
66
|
+
如果项目之前没有 `DA-VINCI.md`,则基于稳定输入生成它,作为项目视觉基线。
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# 工作流模式
|
|
2
|
+
|
|
3
|
+
> 中文配套文档。若与英文原文存在差异,请以 `references/modes.md` 为准。
|
|
4
|
+
|
|
5
|
+
当 Da Vinci 需要决定如何开始时,使用这些 mode 定义。
|
|
6
|
+
|
|
7
|
+
## `greenfield-spec`
|
|
8
|
+
|
|
9
|
+
适用:
|
|
10
|
+
|
|
11
|
+
- 新项目
|
|
12
|
+
- 需求已经足够清晰
|
|
13
|
+
|
|
14
|
+
起始工件:
|
|
15
|
+
|
|
16
|
+
- `design-brief.md`
|
|
17
|
+
- `proposal.md`
|
|
18
|
+
- `specs/<capability>/spec.md`
|
|
19
|
+
- `page-map.md`
|
|
20
|
+
|
|
21
|
+
## `greenfield-brainstorm`
|
|
22
|
+
|
|
23
|
+
适用:
|
|
24
|
+
|
|
25
|
+
- 新项目
|
|
26
|
+
- 需求来自多轮 brainstorming
|
|
27
|
+
|
|
28
|
+
起始工件:
|
|
29
|
+
|
|
30
|
+
- `brainstorm.md`
|
|
31
|
+
- `design-brief.md`
|
|
32
|
+
- `proposal.md`
|
|
33
|
+
- `specs/<capability>/spec.md`
|
|
34
|
+
- `page-map.md`
|
|
35
|
+
|
|
36
|
+
## `redesign-from-code`
|
|
37
|
+
|
|
38
|
+
适用:
|
|
39
|
+
|
|
40
|
+
- 已有项目有 routes、pages、UI
|
|
41
|
+
- 目标是大范围 UI 重设计
|
|
42
|
+
|
|
43
|
+
起始工件:
|
|
44
|
+
|
|
45
|
+
- `project-inventory.md`
|
|
46
|
+
- `design-registry.md`
|
|
47
|
+
- `proposal.md`
|
|
48
|
+
- `specs/<capability-or-slice>/spec.md`
|
|
49
|
+
- `page-map.md`
|
|
50
|
+
|
|
51
|
+
说明:
|
|
52
|
+
|
|
53
|
+
- 保留一个总体 `proposal.md`
|
|
54
|
+
- 保留一个项目级 `page-map.md`
|
|
55
|
+
- 当重设计范围较广时,`specs/` 应按 redesign slice 拆分
|
|
56
|
+
|
|
57
|
+
## `feature-change`
|
|
58
|
+
|
|
59
|
+
适用:
|
|
60
|
+
|
|
61
|
+
- 已有项目
|
|
62
|
+
- 只改系统的一部分
|
|
63
|
+
|
|
64
|
+
起始工件:
|
|
65
|
+
|
|
66
|
+
- `proposal.md`
|
|
67
|
+
- `specs/<capability>/spec.md`
|
|
68
|
+
- 受影响的 `design-registry.md`
|
|
69
|
+
- `page-map.md` 的受影响部分
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# 页面映射
|
|
2
|
+
|
|
3
|
+
> 中文配套文档。若与英文原文存在差异,请以 `references/page-mapping.md` 为准。
|
|
4
|
+
|
|
5
|
+
当工作流需要把 requirements、Pencil 页面和实现页面连接起来时,使用本文。
|
|
6
|
+
|
|
7
|
+
## 基本规则
|
|
8
|
+
|
|
9
|
+
- `page-map.md` 是实现页面的真相源
|
|
10
|
+
- `design-registry.md` 是可用 `.pen` 源的真相源
|
|
11
|
+
- `pencil-bindings.md` 是实现页面到 Pencil 页面的真相源
|
|
12
|
+
|
|
13
|
+
## 映射规则
|
|
14
|
+
|
|
15
|
+
- 为每个实现页面定义一个 canonical page name
|
|
16
|
+
- 能做到时,为每个实现页面绑定一个 canonical Pencil page
|
|
17
|
+
- 若多个实现页面共享一个 Pencil 页面,要记录原因
|
|
18
|
+
- 若一个实现页面需要多个 Pencil screen,要记录子页或状态拆分
|
|
19
|
+
|
|
20
|
+
## 最低绑定形式
|
|
21
|
+
|
|
22
|
+
页面映射示例:
|
|
23
|
+
|
|
24
|
+
```md
|
|
25
|
+
- `/settings/billing` -> `Billing Settings Screen`
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
共享区域示例:
|
|
29
|
+
|
|
30
|
+
```md
|
|
31
|
+
- `App sidebar` -> `Navigation Shell`
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## 何时应视为 blocker
|
|
35
|
+
|
|
36
|
+
以下情况说明绑定不足:
|
|
37
|
+
|
|
38
|
+
- 没有活跃 `.pen` 源
|
|
39
|
+
- 实现页面没有 Pencil 页面
|
|
40
|
+
- Pencil 页面无法追溯到 route 或页面职责
|
|
41
|
+
- 共享布局区域没有定义,继续实现会导致大量猜测
|
|
42
|
+
|
|
43
|
+
此时应在 `mapping checkpoint` 停下并更新工件。
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# 从 Pencil 设计到代码
|
|
2
|
+
|
|
3
|
+
> 中文配套文档。若与英文原文存在差异,请以 `references/pencil-design-to-code.md` 为准。
|
|
4
|
+
|
|
5
|
+
当实现必须遵循 Pencil 数据时,使用本文。
|
|
6
|
+
|
|
7
|
+
## 优先级
|
|
8
|
+
|
|
9
|
+
遵循这个顺序:
|
|
10
|
+
|
|
11
|
+
1. requirements 工件决定 behavior
|
|
12
|
+
2. Pencil 数据决定 presentation
|
|
13
|
+
3. screenshots 只做视觉校验
|
|
14
|
+
|
|
15
|
+
不要只从外观推断行为。
|
|
16
|
+
|
|
17
|
+
## 通过 Pencil 读取什么
|
|
18
|
+
|
|
19
|
+
MCP 可用时,优先读取:
|
|
20
|
+
|
|
21
|
+
- active `.pen` 文件
|
|
22
|
+
- 目标页面 frame
|
|
23
|
+
- 子 section 层级
|
|
24
|
+
- 文本内容
|
|
25
|
+
- layout direction
|
|
26
|
+
- gap / padding
|
|
27
|
+
- width / height 策略
|
|
28
|
+
- fill / stroke / corner
|
|
29
|
+
- 主要视觉分组
|
|
30
|
+
|
|
31
|
+
优先读结构,截图是次要手段。
|
|
32
|
+
|
|
33
|
+
## Pencil 到前端的默认映射
|
|
34
|
+
|
|
35
|
+
- vertical frame -> column flex
|
|
36
|
+
- horizontal frame -> row flex
|
|
37
|
+
- gap -> `gap-*`
|
|
38
|
+
- padding -> `p-*`
|
|
39
|
+
- fill -> 背景样式
|
|
40
|
+
- text nodes -> 语义化标题、正文、标签、按钮
|
|
41
|
+
|
|
42
|
+
如果项目使用 Tailwind:
|
|
43
|
+
|
|
44
|
+
- 先保布局和间距
|
|
45
|
+
- 再保排版层级
|
|
46
|
+
- 最后再处理装饰效果
|
|
47
|
+
|
|
48
|
+
## 实现纪律
|
|
49
|
+
|
|
50
|
+
基于 Pencil 编码时:
|
|
51
|
+
|
|
52
|
+
- 保持 section 顺序
|
|
53
|
+
- 保持内容层级
|
|
54
|
+
- 保持 CTA 位置
|
|
55
|
+
- 只有在结构稳定时才抽复用组件
|
|
56
|
+
- 不要为了实现方便把设计结构压平到失真
|
|
57
|
+
|
|
58
|
+
## 验证
|
|
59
|
+
|
|
60
|
+
完成前至少比较:
|
|
61
|
+
|
|
62
|
+
- 主要 sections
|
|
63
|
+
- headline 和 CTA 层级
|
|
64
|
+
- panel grouping
|
|
65
|
+
- 所有有意偏离的部分
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# 平台适配
|
|
2
|
+
|
|
3
|
+
> 中文配套文档。若与英文原文存在差异,请以 `references/platform-adapters.md` 为准。
|
|
4
|
+
|
|
5
|
+
在不同平台上指导用户调用 Da Vinci 时,使用本文。
|
|
6
|
+
|
|
7
|
+
## Codex
|
|
8
|
+
|
|
9
|
+
主入口:
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
$da-vinci <request>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
辅助入口:
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
/prompts:dv-intake
|
|
19
|
+
/prompts:dv-prompt
|
|
20
|
+
/prompts:dv-continue
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
适用于:
|
|
24
|
+
|
|
25
|
+
- requirement breakdown
|
|
26
|
+
- Pencil 设计规划
|
|
27
|
+
- design-to-code implementation
|
|
28
|
+
- 不知道怎么写第一条提示词时的入口辅助
|
|
29
|
+
|
|
30
|
+
## Claude
|
|
31
|
+
|
|
32
|
+
主入口:
|
|
33
|
+
|
|
34
|
+
```text
|
|
35
|
+
/da-vinci <request>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
辅助入口:
|
|
39
|
+
|
|
40
|
+
```text
|
|
41
|
+
/dv:intake
|
|
42
|
+
/dv:prompt
|
|
43
|
+
/dv:continue
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Gemini
|
|
47
|
+
|
|
48
|
+
主入口:
|
|
49
|
+
|
|
50
|
+
```text
|
|
51
|
+
/da-vinci <request>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
辅助入口:
|
|
55
|
+
|
|
56
|
+
```text
|
|
57
|
+
/dv:intake
|
|
58
|
+
/dv:prompt
|
|
59
|
+
/dv:continue
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## 跨平台共同规则
|
|
63
|
+
|
|
64
|
+
以下语义应保持一致:
|
|
65
|
+
|
|
66
|
+
- artifact names
|
|
67
|
+
- checkpoint names
|
|
68
|
+
- drift policy
|
|
69
|
+
- requirement / design / code 契约
|
|
70
|
+
- mode names
|
|
71
|
+
- prompt helper 的语义
|
|
72
|
+
|
|
73
|
+
不同平台可以有不同命令语法,但工作流语义不能漂移。
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# 提示词配方
|
|
2
|
+
|
|
3
|
+
> 中文配套文档。若与英文原文存在差异,请以 `references/prompt-recipes.md` 为准。
|
|
4
|
+
|
|
5
|
+
当用户需要帮助启动或恢复 Da Vinci,但不知道该写什么提示词时,使用本文档。
|
|
6
|
+
|
|
7
|
+
## 三个入口动作
|
|
8
|
+
|
|
9
|
+
- `intake`
|
|
10
|
+
- 选择最合适的 mode,并生成第一条主提示词
|
|
11
|
+
- `prompt`
|
|
12
|
+
- 直接生成场景化提示词
|
|
13
|
+
- `continue`
|
|
14
|
+
- 检查现有工件,并生成继续提示词
|
|
15
|
+
|
|
16
|
+
## 固定规则
|
|
17
|
+
|
|
18
|
+
- `intake` 和 `continue` 通常应该输出主工作流提示词
|
|
19
|
+
- 不要默认把 `intake` 或 `continue` 直接导向 `build`
|
|
20
|
+
- 只有在 tasks、设计绑定和实现就绪都很明确时,才直接使用 `build`
|
|
21
|
+
- `continue` 应优先沿用现有工件真相,而不是重新开始 discovery
|
|
22
|
+
|
|
23
|
+
## 提示词里必须说清楚的真相源
|
|
24
|
+
|
|
25
|
+
高质量提示词应明确:
|
|
26
|
+
|
|
27
|
+
1. behavior source of truth
|
|
28
|
+
- 现有代码
|
|
29
|
+
- 正式 spec
|
|
30
|
+
- 已批准 requirements
|
|
31
|
+
|
|
32
|
+
2. design source of truth
|
|
33
|
+
- Pencil `.pen`
|
|
34
|
+
- HTML 参考稿
|
|
35
|
+
- Figma 导出
|
|
36
|
+
- `DA-VINCI.md`
|
|
37
|
+
|
|
38
|
+
3. delivery intent
|
|
39
|
+
- `plan-only`
|
|
40
|
+
- `design-only`
|
|
41
|
+
- `full-delivery`
|
|
42
|
+
|
|
43
|
+
4. conflict rule
|
|
44
|
+
- 当代码和设计冲突时,以谁为准
|
|
45
|
+
|
|
46
|
+
5. coverage expectations
|
|
47
|
+
- states
|
|
48
|
+
- subpages
|
|
49
|
+
- dialogs
|
|
50
|
+
- sheets
|
|
51
|
+
- nested flows
|
|
52
|
+
|
|
53
|
+
## `intake` 输出结构
|
|
54
|
+
|
|
55
|
+
通常应输出:
|
|
56
|
+
|
|
57
|
+
- 推荐 mode
|
|
58
|
+
- 推荐 delivery intent
|
|
59
|
+
- 一条主执行提示词
|
|
60
|
+
- 必要时的一条更保守版本
|
|
61
|
+
- 必要时的一条 continue 提示词
|
|
62
|
+
- 会明显影响结果的缺失信息
|
|
63
|
+
|
|
64
|
+
## `prompt` 输出结构
|
|
65
|
+
|
|
66
|
+
通常应输出:
|
|
67
|
+
|
|
68
|
+
- 一条主提示词
|
|
69
|
+
- 必要时的一条保守版本
|
|
70
|
+
- 必要时的一条 continue 版本
|
|
71
|
+
|
|
72
|
+
## `continue` 输出结构
|
|
73
|
+
|
|
74
|
+
先检查:
|
|
75
|
+
|
|
76
|
+
- `DA-VINCI.md`
|
|
77
|
+
- `.da-vinci/project-inventory.md`
|
|
78
|
+
- `.da-vinci/design-registry.md`
|
|
79
|
+
- `.da-vinci/page-map.md`
|
|
80
|
+
- `.da-vinci/changes/<change-id>/` 下的当前工件
|
|
81
|
+
|
|
82
|
+
再输出:
|
|
83
|
+
|
|
84
|
+
- 当前工作流状态判断
|
|
85
|
+
- 薄弱或缺失的工件
|
|
86
|
+
- 一条主继续提示词
|
|
87
|
+
- 必要时的一条保守继续版本
|
|
88
|
+
|
|
89
|
+
## Mode 选择启发式
|
|
90
|
+
|
|
91
|
+
- `greenfield-spec`
|
|
92
|
+
- 新项目
|
|
93
|
+
- 需求已清晰
|
|
94
|
+
|
|
95
|
+
- `greenfield-brainstorm`
|
|
96
|
+
- 新项目
|
|
97
|
+
- 输入仍然发散或矛盾
|
|
98
|
+
|
|
99
|
+
- `redesign-from-code`
|
|
100
|
+
- 已有项目
|
|
101
|
+
- 当前代码是行为真相
|
|
102
|
+
- 目标是大范围 UI 重设计
|
|
103
|
+
|
|
104
|
+
- `feature-change`
|
|
105
|
+
- 已有项目
|
|
106
|
+
- 目标是局部修改
|
|
107
|
+
|
|
108
|
+
## 场景配方:已有项目全局换 UI
|
|
109
|
+
|
|
110
|
+
推荐:
|
|
111
|
+
|
|
112
|
+
- mode:`redesign-from-code`
|
|
113
|
+
- behavior truth:现有代码
|
|
114
|
+
- design truth:HTML、Pencil 或其他视觉参考
|
|
115
|
+
- delivery intent:通常为 `full-delivery`
|
|
116
|
+
|
|
117
|
+
提示词应明确:
|
|
118
|
+
|
|
119
|
+
- 保留现有行为
|
|
120
|
+
- 保留 state transition 和集成
|
|
121
|
+
- inventory 所有页面和状态
|
|
122
|
+
- 按可实施的 redesign slice 拆分
|
|
123
|
+
- 记录代码和设计参考之间的差异
|
|
124
|
+
|
|
125
|
+
## 场景配方:现有代码 + HTML 参考稿
|
|
126
|
+
|
|
127
|
+
提示词应明确:
|
|
128
|
+
|
|
129
|
+
- 代码是行为真相
|
|
130
|
+
- HTML 目录只是 presentation 参考
|
|
131
|
+
- 冲突时保留行为,并记录差异
|
|
132
|
+
- 要仔细覆盖 states、subpages、dialogs、overlays
|
|
133
|
+
|
|
134
|
+
## 场景配方:盘点后继续
|
|
135
|
+
|
|
136
|
+
如果项目已经有:
|
|
137
|
+
|
|
138
|
+
- `project-inventory.md`
|
|
139
|
+
- `page-map.md`
|
|
140
|
+
- 初步的 proposal 或 specs
|
|
141
|
+
|
|
142
|
+
那么 `continue` 通常应该生成一条提示词:
|
|
143
|
+
|
|
144
|
+
- 以当前工件为工作基线
|
|
145
|
+
- 补齐设计绑定
|
|
146
|
+
- 进入 tasks
|
|
147
|
+
- 若 delivery intent 为 `full-delivery`,继续到实现
|
|
148
|
+
|
|
149
|
+
## 场景配方:任务后继续
|
|
150
|
+
|
|
151
|
+
如果项目已经有:
|
|
152
|
+
|
|
153
|
+
- `tasks.md`
|
|
154
|
+
- 合法的 spec slices
|
|
155
|
+
- 设计绑定或明确的设计缺口记录
|
|
156
|
+
|
|
157
|
+
那么 `continue` 通常应该:
|
|
158
|
+
|
|
159
|
+
- 从当前 task checkpoint 恢复
|
|
160
|
+
- 若无真实 blocker,立即开始实现
|
|
161
|
+
- 在每个顶层任务组后继续执行 execution checkpoint
|