@xenonbyte/da-vinci-workflow 0.1.10 → 0.1.12

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.
@@ -0,0 +1,85 @@
1
+ # Web 应用提示词模板
2
+
3
+ 适用于浏览器中的产品型界面,或带有 app surface 的 Web 产品。
4
+
5
+ 建议搭配:
6
+
7
+ - `docs/zh-CN/visual-assist-presets/web-app.md`
8
+
9
+ 适合这种需求:
10
+
11
+ - responsive 层级
12
+ - marketing surface 与 product surface 的区分
13
+ - 明确处理 empty、loading、error、authenticated states
14
+
15
+ ## 如何选择
16
+
17
+ - `Simple redesign` 适合产品表面不大、主要页面不多、状态分支有限的项目。
18
+ - `Complex redesign` 适合同时混合 marketing、auth、onboarding、app surface、dialogs、drawers 和大量状态的项目。
19
+ - `Design-only` 适合先把设计链路和绑定做完,但暂时不改代码。
20
+ - `Continue` 适合已经有 `.da-vinci/` 工件,需要继续推进的项目。
21
+
22
+ ## Simple Redesign
23
+
24
+ ```text
25
+ $da-vinci use redesign-from-code to redesign this existing web product.
26
+
27
+ Existing code is the behavior source of truth, not the layout truth.
28
+ Preserve current business logic, routes, permissions, integrations, validations, and state transitions unless explicitly required otherwise.
29
+ Inventory the current product surfaces and important states before Pencil work.
30
+ Use the Visual Assist preferences declared in DA-VINCI.md.
31
+ Do not pass design checkpoint if the result is a generic SaaS card grid or a recolor of the old interface.
32
+ Persist project-local Pencil files under .da-vinci/designs/.
33
+ ```
34
+
35
+ ## Complex Redesign
36
+
37
+ ```text
38
+ $da-vinci use redesign-from-code to redesign this existing web product.
39
+
40
+ Existing code is the behavior source of truth, not the layout truth.
41
+ Preserve current business logic, routes, permissions, integrations, validations, and state transitions unless explicitly required otherwise.
42
+ Inventory responsive product surfaces, marketing surfaces, authenticated areas, settings pages, dialogs, drawers, overlays, and materially different states before broad Pencil work.
43
+ Separate marketing-style surfaces from product-workflow surfaces when they require different visual treatment.
44
+ Decompose complex pages into subpages, overlays, materially different states, and implementation surfaces.
45
+ Use the Visual Assist preferences declared in DA-VINCI.md.
46
+ Treat the resolved primary visual adapter as the first-pass design lead.
47
+ Use Pencil guides only as responsive layout constraints, not as the design direction.
48
+ Do not start with broad multi-screen scaffolding.
49
+ Design 1-3 anchor surfaces first, review screenshots, then expand.
50
+ Do not pass design checkpoint if the result is a generic SaaS card grid, repeated placeholder scaffolds, or a recolor of the old interface.
51
+ Persist project-local Pencil files under .da-vinci/designs/.
52
+ ```
53
+
54
+ ## Design-Only
55
+
56
+ ```text
57
+ $da-vinci use redesign-from-code to redesign this existing web product.
58
+
59
+ Existing code is the behavior source of truth, not the layout truth.
60
+ Preserve current behavior, routes, permissions, integrations, and state transitions.
61
+ Inventory product surfaces, marketing surfaces, overlays, and important states.
62
+ Decompose complex pages into real design surfaces before Pencil work.
63
+ Use the Visual Assist preferences declared in DA-VINCI.md.
64
+ If the product is complex, design 1-3 anchor surfaces first, review screenshots, then expand.
65
+ Stop after DA-VINCI.md, design-registry.md, page-map.md, proposal.md, specs, design.md, pencil-design.md, pencil-bindings.md, and tasks.md.
66
+ Do not start code changes yet.
67
+ ```
68
+
69
+ ## Continue
70
+
71
+ ```text
72
+ $da-vinci use continue for this existing web-product redesign workflow.
73
+
74
+ Use the existing Da Vinci artifacts in this project.
75
+ Do not restart discovery unless an artifact is missing or clearly wrong.
76
+ Keep the registered project-local Pencil source under .da-vinci/designs/ as the design source of truth.
77
+ If the redesign is complex, continue from the approved anchor surfaces instead of restarting broad scaffolding.
78
+ Continue into the next unfinished stage and do not stop at tasks.md when the active intent is full-delivery.
79
+ ```
80
+
81
+ ## 什么时候先走 Intake
82
+
83
+ - 产品混合了很多 surface 类型和真相源
84
+ - 外部参考让第一条工作流请求变复杂
85
+ - 第一条提示词仍然很难一次说对
@@ -204,9 +204,18 @@ adapter 的解析顺序建议固定为:
204
204
  当 visual adapter 生效时:
205
205
 
206
206
  - 在 Pencil 设计前或设计过程中,用它来增强构图和层级判断
207
+ - 解析出来的主 adapter 应该成为首轮设计的 art direction 主导,而不是只登记在 `design-registry.md` 里
207
208
  - 页面命名和状态覆盖仍然要服从 `page-map.md`
208
209
  - 最终 presentation 真相仍然落在 Pencil `.pen` 数据里,而不是 adapter 的文字建议里
209
210
 
211
+ 面对复杂重设计时,还要额外遵守:
212
+
213
+ - 不要一开始就批量搭很多空 screen
214
+ - 先做 1 到 3 个 anchor surface
215
+ - 每个 anchor surface 都要先做成完整构图,再扩展更多页面
216
+ - 每做完一个 anchor surface 都先截图审查,再决定是否 clone 变体或继续扩展
217
+ - 如果结果仍然大量是占位块或重复模板,直接把 `design checkpoint` 判成 `BLOCK`,不要在坏底稿上继续叠更多页面
218
+
210
219
  把结果记录到 `pencil-design.md`。
211
220
 
212
221
  推荐字段:
@@ -236,6 +245,15 @@ If it is unavailable, fall back to native Da Vinci design rules and continue.
236
245
  Persist project-local Pencil files under .da-vinci/designs/.
237
246
  ```
238
247
 
248
+ 如果是复杂 Android 或多 surface 项目,建议再额外加上:
249
+
250
+ ```text
251
+ Use frontend-skill explicitly as the primary visual reasoning source.
252
+ Use Pencil guides only as layout constraints, not as the design direction.
253
+ Do not start with broad multi-screen scaffolding.
254
+ Design 1-3 anchor surfaces first, review screenshots, then expand.
255
+ ```
256
+
239
257
  ## adapter 选择建议
240
258
 
241
259
  - `frontend-skill`
@@ -9,12 +9,17 @@
9
9
  - 清晰的作用范围
10
10
  - 默认不阻塞工作流
11
11
 
12
+ 建议搭配:
13
+
14
+ - `docs/zh-CN/prompt-presets/`
15
+
12
16
  如果项目对设计质量要求很高,或者之前结果很普通、很丑、太像旧 UI:
13
17
 
14
18
  - 仍然先选对应场景模板
15
19
  - 把 `frontend-skill` 提到第一位
16
20
  - 视情况把 `Require Adapter` 改成 `true`
17
21
  - 在大规模 Pencil 设计前先把 design checkpoint 门槛抬高
22
+ - 改成 anchor-first:先做 1 到 3 个 anchor surface,截图审查通过后再扩展
18
23
 
19
24
  可用模板:
20
25
 
@@ -29,3 +34,4 @@
29
34
  2. 把其中的 `## Visual Assist` 片段复制到 `DA-VINCI.md`
30
35
  3. 只有在项目真的有不同视觉偏向时才调整 adapter 顺序
31
36
  4. 除非确实“没有某个本地 skill 就不能继续”,否则保持 `Require Adapter: false`
37
+ 5. 如果是复杂重设计,不要只复制 preset 就开画;还要配合 anchor-first 的 Pencil 生成策略
@@ -64,10 +64,11 @@ $da-vinci use greenfield-brainstorm to turn product brainstorming into a page ma
64
64
  4. 写入 `specs/<capability>/spec.md`
65
65
  5. 定义 `page-map.md`
66
66
  6. 解析请求的 visual adapter,并把结果记到 `design-registry.md`
67
- 7. 建立或登记 Pencil 设计源
68
- 8. 完成页面绑定
69
- 9. 生成任务
70
- 10. 实现并验证
67
+ 7. 建立或登记项目内 Pencil 设计源
68
+ 8. 先做 1 到 3 个 anchor surface,并完成截图审查,再扩展更多页面
69
+ 9. 完成页面绑定
70
+ 10. 生成任务
71
+ 11. 实现并验证
71
72
 
72
73
  ## 3. `redesign-from-code`
73
74
 
@@ -91,9 +92,10 @@ $da-vinci use redesign-from-code to inventory the current app, identify current
91
92
  5. 当范围过大时,把工作拆成多个 `specs/<slice>/spec.md`
92
93
  6. 重建或细化 `page-map.md`,把 subpage、overlay、重要 state 一起拆出来
93
94
  7. 创建新的或更新后的 Pencil 页面,基于重新构图而不是旧 UI 换皮,并优先持久化到 `.da-vinci/designs/`
94
- 8. 绑定路由和 Pencil 页面
95
- 9. 生成和 redesign slice 对齐的任务
96
- 10. 实现并验证
95
+ 8. 运行 `design-source checkpoint`,确认登记的项目内 `.pen` 路径、当前 Pencil 设计源和 shell 可见文件是一致的
96
+ 9. 绑定路由和 Pencil 页面
97
+ 10. 生成和 redesign slice 对齐的任务
98
+ 11. 实现并验证
97
99
 
98
100
  ### 复杂 Android 页面示例
99
101
 
@@ -103,6 +105,9 @@ $da-vinci use redesign-from-code to redesign this existing Android app.
103
105
  Existing code is the behavior source of truth, not the layout truth.
104
106
  Inventory activities, fragments, tabs, dialogs, bottom sheets, nested flows, and important states.
105
107
  Decompose complex screens into separate design surfaces before Pencil work.
108
+ Use frontend-skill explicitly as the primary visual reasoning source.
109
+ Do not start with broad multi-screen scaffolding.
110
+ Design 1-3 anchor surfaces first, review screenshots, then expand.
106
111
  Do not pass design checkpoint if the result is just a skin-swap of the old UI.
107
112
  ```
108
113
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xenonbyte/da-vinci-workflow",
3
- "version": "0.1.10",
3
+ "version": "0.1.12",
4
4
  "description": "Requirement-to-design-to-code workflow skill for Codex, Claude, and Gemini",
5
5
  "bin": {
6
6
  "da-vinci": "bin/da-vinci.js"
@@ -230,12 +230,14 @@ Use this structure:
230
230
  ## Active Design Sources
231
231
  - `.pen` file path
232
232
  - whether it lives under `.da-vinci/designs/`
233
+ - whether the path is workflow-generated or external
233
234
  - status
234
235
  - purpose
235
236
 
236
237
  ## Preferred Design Source
237
238
  - Which `.pen` file is authoritative
238
239
  - Why that file should be preferred over live-only or external sources
240
+ - whether the active Pencil editor matches that same path
239
241
 
240
242
  ## Visual Adapter Resolution
241
243
  - Requested adapters
@@ -252,7 +254,8 @@ Use this structure:
252
254
  ## Notes
253
255
  - Why a source is active
254
256
  - Whether a source is safe to iterate
255
- - Whether local export is still pending
257
+ - Whether shell-visible filesystem persistence exists
258
+ - Whether the file had to be reconstructed from MCP-readable document data
256
259
  ```
257
260
 
258
261
  Use this artifact whenever a project can have one or more Pencil sources.
@@ -434,14 +437,21 @@ Use this structure:
434
437
  ## Source
435
438
  - `.pen` file path
436
439
  - project-local persisted path under `.da-vinci/designs/` when available
440
+ - whether the active Pencil editor matched that same path
437
441
  - Active pages
438
442
 
439
443
  ## Visual Adapter Use
440
444
  - Resolved primary adapter
441
445
  - Secondary helpers
446
+ - Whether the primary adapter actively led the first-pass composition
442
447
  - How it affected composition, hierarchy, or motion guidance
443
448
  - Whether native Da Vinci fallback was used
444
449
 
450
+ ## Anchor Surfaces
451
+ - Which 1-3 anchor screens were designed first
452
+ - Screenshot review status for each anchor
453
+ - Whether broad multi-screen expansion is approved yet
454
+
445
455
  ## Page Mapping
446
456
  - Requirement -> Pencil page
447
457
 
@@ -459,7 +469,7 @@ Use this structure:
459
469
 
460
470
  ## Implementation Notes
461
471
  - Important layout or styling constraints to preserve in code
462
- - Persistence notes if the live Pencil source has not yet been exported locally
472
+ - Persistence notes if the project-local `.pen` file had to be reconstructed from MCP-readable document data
463
473
  ```
464
474
 
465
475
  Recommended path:
@@ -506,6 +516,7 @@ Use this structure:
506
516
  ## Source
507
517
  - `.pen` file path
508
518
  - project-local persisted path under `.da-vinci/designs/` when available
519
+ - whether the active Pencil editor matched that same path
509
520
 
510
521
  ## Bindings
511
522
  - implementation page or route -> Pencil page or screen
@@ -516,7 +527,7 @@ Use this structure:
516
527
  ## Notes
517
528
  - intentional deviations
518
529
  - pages without Pencil coverage yet
519
- - whether bindings depend on a live-only source that still needs local export
530
+ - whether bindings depend on a live-only source that still needs reconciliation
520
531
  ```
521
532
 
522
533
  Use this artifact whenever implementation must trace back to Pencil pages.
@@ -94,9 +94,12 @@ Check:
94
94
  - major layout strategy matches the design artifact
95
95
  - Pencil names and artifact names are aligned enough to implement from
96
96
  - Pencil pages follow the current `DA-VINCI.md` visual contract
97
+ - if visual adapters were requested, the resolved primary adapter clearly shaped the first design pass instead of being recorded only as metadata
98
+ - complex redesigns have 1-3 fully composed anchor surfaces reviewed before broad multi-screen expansion
97
99
  - each page has a clear visual anchor or primary working surface
98
100
  - section hierarchy is readable without relying on decorative chrome
99
101
  - the design does not collapse into generic card-grid or border-heavy filler UI
102
+ - the design is not placeholder-heavy or built from repeated empty templates masquerading as finished screens
100
103
  - motion ideas, if present, improve hierarchy or affordance instead of adding noise
101
104
  - complex pages with multiple fragments, subpages, overlays, or materially different states are decomposed clearly enough to design and implement from
102
105
  - `redesign-from-code` output is a fresh composition driven by page responsibility and state, not a skin-swap of the old UI
@@ -107,6 +110,31 @@ Result meanings:
107
110
  - `WARN`: minor design gaps exist, but the visual direction is still coherent
108
111
  - `BLOCK`: design is not ready to drive implementation, or the result is generic, cluttered, or materially below the intended visual bar
109
112
 
113
+ Automatic failures:
114
+
115
+ - if broad Pencil generation starts before anchor surfaces are compositionally stable, treat the design checkpoint as `BLOCK`
116
+ - if more than roughly 20% of a screen's primary content area is unresolved placeholder scaffolding, treat the design checkpoint as `BLOCK`
117
+ - if multiple screens are effectively the same scaffold with title changes, treat the design checkpoint as `BLOCK`
118
+
119
+ ## `design-source checkpoint`
120
+
121
+ Run after `design-registry.md` resolves the preferred project-local `.pen` path and after active Pencil work exists, but before mapping is treated as safe.
122
+
123
+ Check:
124
+
125
+ - `design-registry.md` records one specific preferred project-local `.pen` path
126
+ - the preferred `.pen` path is workflow-owned state, not a hand-wavy placeholder
127
+ - the active Pencil editor path matches the preferred project-local `.pen` path, or the mismatch has been reconciled explicitly
128
+ - if the workflow created or edited Pencil work, the preferred project-local `.pen` file exists as a shell-visible file
129
+ - if Pencil MCP only exposed a live document, the workflow reconstructed and wrote the registered project-local `.pen` file from MCP-readable document data before continuing
130
+ - `design-registry.md`, `pencil-design.md`, and `pencil-bindings.md` describe the same active project-local `.pen` source clearly enough to map and implement from
131
+
132
+ Result meanings:
133
+
134
+ - `PASS`: safe to continue into mapping
135
+ - `WARN`: the workflow is intentionally staying on an older but still shell-visible baseline, or no new Pencil edits have happened yet
136
+ - `BLOCK`: the registered `.pen` path, the active Pencil work, and the shell-visible project-local file do not agree well enough to treat the design source as traceable
137
+
110
138
  ## `mapping checkpoint`
111
139
 
112
140
  Run after `design-registry.md` and `pencil-bindings.md`.
@@ -114,6 +142,9 @@ Run after `design-registry.md` and `pencil-bindings.md`.
114
142
  Check:
115
143
 
116
144
  - the correct `.pen` source is identified
145
+ - the preferred `.pen` path in `design-registry.md` is workflow-owned and specific, not hand-wavy
146
+ - the active Pencil editor path matches the preferred project-local `.pen` path, or the project-local file has been reconstructed explicitly
147
+ - the preferred project-local `.pen` file exists as a shell-visible file when the workflow created or edited Pencil work
117
148
  - each implementation page has a Pencil page or an explicit exception
118
149
  - shared layouts and shared regions are bound clearly enough to implement from
119
150
  - route names and Pencil names are traceable
@@ -123,7 +154,7 @@ Result meanings:
123
154
 
124
155
  - `PASS`: safe to generate implementation tasks
125
156
  - `WARN`: some bindings are weak, but implementation can continue carefully
126
- - `BLOCK`: implementation would guess too much without fixing bindings
157
+ - `BLOCK`: implementation would guess too much without fixing bindings, or the workflow edited Pencil work without producing the required project-local `.pen` source
127
158
 
128
159
  ## `task checkpoint`
129
160
 
@@ -154,12 +185,14 @@ Examples of `WARN`, not `BLOCK`:
154
185
 
155
186
  - an additional follow-up spec may be needed for currently untouched behavior
156
187
  - some legacy or out-of-scope surfaces remain intentionally excluded
157
- - the active Pencil source should also be saved or exported for stronger repository traceability
188
+ - the project intentionally remains on an older but still shell-visible `.pen` baseline while a new design pass is deferred
158
189
 
159
190
  Examples of `BLOCK`:
160
191
 
161
192
  - the implementation would invent new behavior that has no spec support
162
193
  - page-to-Pencil bindings are too weak to know which redesign screen to follow
194
+ - `design-registry.md` points to a project-local `.pen` path, but the workflow actually edited a different live editor document and did not reconcile the mismatch
195
+ - the workflow created or edited Pencil pages but no shell-visible `.pen` file exists under the registered project-local path
163
196
  - required permissions, environment access, or protected files are unavailable
164
197
  - the implementation would overwrite the project baseline in a destructive way without an explicit go-ahead
165
198
 
@@ -12,6 +12,31 @@ Check for `DA-VINCI.md` first, then check whether the project already has persis
12
12
  - if it does not exist, generate it from the best stable inputs before broad Pencil page generation
13
13
  - avoid re-deriving the visual language page by page
14
14
 
15
+ ## Project-Local `.pen` Path Resolution
16
+
17
+ The preferred `.pen` path in `design-registry.md` is workflow-owned state.
18
+
19
+ - it should be generated and maintained by Da Vinci
20
+ - it should not rely on the user manually typing a path into `design-registry.md`
21
+ - external references may influence source priority, but the project-local path should still be resolved explicitly
22
+
23
+ Use these defaults:
24
+
25
+ 1. `.da-vinci/designs/project-baseline.pen`
26
+ 2. `.da-vinci/designs/<change-id>.pen`
27
+ 3. `.da-vinci/designs/<change-id>/main.pen` only when a nested design bundle is truly needed
28
+
29
+ Before broad Pencil work begins:
30
+
31
+ - resolve the exact project-local path
32
+ - record that path in `design-registry.md`
33
+ - treat that path as the required target for the active design pass
34
+
35
+ If Pencil MCP is currently pointing at a different active editor:
36
+
37
+ - switch to the registered project-local path when possible
38
+ - otherwise reconstruct the project-local `.pen` file from MCP-readable document data before treating the workflow as traceable
39
+
15
40
  ## Minimum Inputs
16
41
 
17
42
  Collect or infer:
@@ -73,11 +98,18 @@ Write stable answers into `design-brief.md`.
73
98
 
74
99
  If `DA-VINCI.md` did not already exist, generate it from those stable answers and save it as the project visual baseline.
75
100
 
76
- If Pencil creates or updates a baseline during the workflow, save or export the `.pen` file into `.da-vinci/designs/` when possible and register that exact path in `design-registry.md`.
101
+ If Pencil creates or updates a baseline during the workflow:
102
+
103
+ - register the exact project-local path in `design-registry.md`
104
+ - verify that the same path is readable through MCP and shell-visible in the project filesystem
105
+ - if Pencil MCP does not materialize the shell-visible file automatically, reconstruct and write the `.pen` file from MCP-readable document data before closing mapping or implementation work
77
106
 
78
107
  If the project requests a visual adapter:
79
108
 
80
109
  - try to resolve it from locally available skills
81
110
  - choose one primary adapter when multiple helpers are available
82
111
  - record the requested adapters, resolved primary adapter, any secondary helpers, and fallback result in `design-registry.md`
112
+ - treat the resolved primary adapter as the design lead for the first Pencil pass, especially for anchor screens and other quality-critical surfaces
113
+ - use Pencil guides or style helpers only as platform and buildability constraints, not as the art-direction source
114
+ - if `Require Adapter: true` and the requested adapter is unavailable, block instead of silently downgrading the visual bar
83
115
  - if no adapter is available, continue with native Da Vinci design rules unless the user explicitly required a specific adapter
@@ -17,7 +17,7 @@ Do not infer behavior from appearance alone.
17
17
  When MCP is available, read:
18
18
 
19
19
  - the preferred project-local `.pen` file under `.da-vinci/designs/` when one is registered
20
- - active `.pen` file
20
+ - the active `.pen` file only after confirming it matches the registered project-local path
21
21
  - target page frame
22
22
  - child section hierarchy
23
23
  - text content
@@ -28,11 +28,19 @@ When MCP is available, read:
28
28
 
29
29
  Prefer structural reads over screenshots.
30
30
 
31
+ If the current active Pencil editor does not match the preferred path in `design-registry.md`:
32
+
33
+ - do not silently continue from the unrelated editor
34
+ - switch to the registered file when possible
35
+ - otherwise reconstruct the registered project-local `.pen` file from MCP-readable document data before implementation depends on it
36
+
31
37
  ## Visual Adapter Use
32
38
 
33
39
  If the project resolved a visual adapter:
34
40
 
35
- - use it to refine composition, hierarchy, spacing discipline, and motion suggestions before or during Pencil design work
41
+ - use it to lead early composition, hierarchy, spacing discipline, and motion suggestions before or during Pencil design work
42
+ - on complex redesigns, apply it first to 1-3 anchor surfaces before expanding the rest of the screen set
43
+ - do not let Pencil guides, generic style packs, or repeated scaffolding override the resolved primary adapter's role in the first-pass art direction
36
44
  - do not let it override behavior, route truth, or page-state truth
37
45
  - treat it as a presentation-quality assistant, not as a replacement for Pencil or requirements
38
46