@runweave/server-linux-x64 0.1.21 → 0.1.24
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/manifest.json +190 -200
- package/native.tar.gz +0 -0
- package/package.json +1 -1
- package/payload/app-server/build-info.json +4 -4
- package/payload/app-server/index.cjs +46 -25
- package/payload/app-server/index.cjs.map +1 -1
- package/payload/backend/activity-sqlite-worker.cjs +33 -21
- package/payload/backend/build-info.json +4 -4
- package/payload/backend/dev-resources/control.cjs +158 -59
- package/payload/backend/index.cjs +2088 -1755
- package/payload/backend/scheduled-tasks-sqlite-worker.cjs +12 -0
- package/payload/frontend/dist/assets/{_baseUniq-1Km-k-ta.js → _baseUniq-Ba3pSqKA.js} +1 -1
- package/payload/frontend/dist/assets/{access-DUvHn-7g.js → access-C1Ww0gdD.js} +1 -1
- package/payload/frontend/dist/assets/{advanced-2iC4XP-k.js → advanced-BZJuI68m.js} +1 -1
- package/payload/frontend/dist/assets/{appearance-F3ep216f.js → appearance-Btma-0NG.js} +1 -1
- package/payload/frontend/dist/assets/{arc-B_Rv2EgC.js → arc-B44-ZMF9.js} +1 -1
- package/payload/frontend/dist/assets/{architectureDiagram-Q4EWVU46-CAfCOCHn.js → architectureDiagram-Q4EWVU46-CJ7zCB_3.js} +1 -1
- package/payload/frontend/dist/assets/{blockDiagram-DXYQGD6D-Dt_EPk2t.js → blockDiagram-DXYQGD6D-l7dgY79m.js} +1 -1
- package/payload/frontend/dist/assets/{c4Diagram-AHTNJAMY-pJxLy6Ib.js → c4Diagram-AHTNJAMY-aNNQInyV.js} +1 -1
- package/payload/frontend/dist/assets/channel-DVHsGC9c.js +1 -0
- package/payload/frontend/dist/assets/{chunk-4BX2VUAB-XIuvwA5G.js → chunk-4BX2VUAB-2W54u8LL.js} +1 -1
- package/payload/frontend/dist/assets/{chunk-4TB4RGXK-BaJHFe6f.js → chunk-4TB4RGXK-CJuTStu-.js} +1 -1
- package/payload/frontend/dist/assets/{chunk-55IACEB6-CBN94dv8.js → chunk-55IACEB6-DcOWjj1X.js} +1 -1
- package/payload/frontend/dist/assets/{chunk-EDXVE4YY-BTpbJ8AJ.js → chunk-EDXVE4YY-Depu37hh.js} +1 -1
- package/payload/frontend/dist/assets/{chunk-FMBD7UC4-D8EB4vd_.js → chunk-FMBD7UC4-CTzWCktW.js} +1 -1
- package/payload/frontend/dist/assets/{chunk-OYMX7WX6-CVlwUrKx.js → chunk-OYMX7WX6-DryiNt82.js} +1 -1
- package/payload/frontend/dist/assets/{chunk-QZHKN3VN-CaRy6kUM.js → chunk-QZHKN3VN-DVwx49kx.js} +1 -1
- package/payload/frontend/dist/assets/{chunk-YZCP3GAM-D76OSgAi.js → chunk-YZCP3GAM-X1PkQV8g.js} +1 -1
- package/payload/frontend/dist/assets/classDiagram-6PBFFD2Q-CmciHFmk.js +1 -0
- package/payload/frontend/dist/assets/classDiagram-v2-HSJHXN6E-CmciHFmk.js +1 -0
- package/payload/frontend/dist/assets/clone-DxGSjF8z.js +1 -0
- package/payload/frontend/dist/assets/{connection-DbcKyIr4.js → connection-zVFEL2VH.js} +1 -1
- package/payload/frontend/dist/assets/{connections-C-JFI1d6.js → connections-BYoc3Px5.js} +1 -1
- package/payload/frontend/dist/assets/{cose-bilkent-S5V4N54A-C8Ve8zWa.js → cose-bilkent-S5V4N54A-D5JSjBwS.js} +1 -1
- package/payload/frontend/dist/assets/{dagre-KV5264BT-DlutyhBV.js → dagre-KV5264BT-C7wEsUEu.js} +1 -1
- package/payload/frontend/dist/assets/{desktop-hY0qLy1k.js → desktop-DlSOatR2.js} +1 -1
- package/payload/frontend/dist/assets/{diagram-5BDNPKRD-BOWSLJh5.js → diagram-5BDNPKRD-BJVOoWUV.js} +1 -1
- package/payload/frontend/dist/assets/{diagram-G4DWMVQ6-DEJYwBtT.js → diagram-G4DWMVQ6-B-dyOrNQ.js} +1 -1
- package/payload/frontend/dist/assets/{diagram-MMDJMWI5-DCHKtsej.js → diagram-MMDJMWI5-DoTfUnHA.js} +1 -1
- package/payload/frontend/dist/assets/{diagram-TYMM5635-DcWqaORk.js → diagram-TYMM5635-yVeltO6V.js} +1 -1
- package/payload/frontend/dist/assets/{erDiagram-SMLLAGMA-BAnv2QR4.js → erDiagram-SMLLAGMA-BHIOahrf.js} +1 -1
- package/payload/frontend/dist/assets/{flowDiagram-DWJPFMVM-CLJLX_pg.js → flowDiagram-DWJPFMVM-Bnkh3X2r.js} +1 -1
- package/payload/frontend/dist/assets/{ganttDiagram-T4ZO3ILL-CEwNMCO_.js → ganttDiagram-T4ZO3ILL-BRFZUfp9.js} +1 -1
- package/payload/frontend/dist/assets/{gitGraphDiagram-UUTBAWPF-7qYUaW4T.js → gitGraphDiagram-UUTBAWPF-wXS21tDN.js} +1 -1
- package/payload/frontend/dist/assets/{graph-C3pGWAsG.js → graph-Cwj2x7na.js} +1 -1
- package/payload/frontend/dist/assets/{image-DzByFbwW.js → image-CXpMpz27.js} +1 -1
- package/payload/frontend/dist/assets/index-B2PyTNyh.js +1258 -0
- package/payload/frontend/dist/assets/{infoDiagram-42DDH7IO-uykCNcsm.js → infoDiagram-42DDH7IO-BzTeaphH.js} +1 -1
- package/payload/frontend/dist/assets/{ishikawaDiagram-UXIWVN3A-DFjUz1ZP.js → ishikawaDiagram-UXIWVN3A-C_i1EUdW.js} +1 -1
- package/payload/frontend/dist/assets/{journeyDiagram-VCZTEJTY-KlFjvI1y.js → journeyDiagram-VCZTEJTY-B1fcPcA4.js} +1 -1
- package/payload/frontend/dist/assets/{kanban-definition-6JOO6SKY-CWNvauW5.js → kanban-definition-6JOO6SKY-BC5fXbSI.js} +1 -1
- package/payload/frontend/dist/assets/{layout-DEYchOZT.js → layout-dRQexo61.js} +1 -1
- package/payload/frontend/dist/assets/{linear-CxNxQzFY.js → linear-DpsIhjfr.js} +1 -1
- package/payload/frontend/dist/assets/{main-B5vSE7PX.js → main-BFEoEwax.js} +142 -142
- package/payload/frontend/dist/assets/main-BO-hQK7n.css +33 -0
- package/payload/frontend/dist/assets/{min-D_bax_Q3.js → min-Rr06WGlZ.js} +1 -1
- package/payload/frontend/dist/assets/{mindmap-definition-QFDTVHPH-9CPQZB_P.js → mindmap-definition-QFDTVHPH-CAecNSWV.js} +1 -1
- package/payload/frontend/dist/assets/{monitoring-BHrlQuyI.js → monitoring-D9LcExp-.js} +1 -1
- package/payload/frontend/dist/assets/{notifications-C5O4JnTW.js → notifications-BgW6p0Rk.js} +1 -1
- package/payload/frontend/dist/assets/{pieDiagram-DEJITSTG-wRY5e0M8.js → pieDiagram-DEJITSTG-CJgyNjut.js} +1 -1
- package/payload/frontend/dist/assets/{quadrantDiagram-34T5L4WZ-t11sO3Dt.js → quadrantDiagram-34T5L4WZ-C_60Mu33.js} +1 -1
- package/payload/frontend/dist/assets/{record-content-BQpFEpbH.js → record-content-BEOv45kJ.js} +1 -1
- package/payload/frontend/dist/assets/{requirementDiagram-MS252O5E-C0CwyWRr.js → requirementDiagram-MS252O5E-C3HwQcbl.js} +1 -1
- package/payload/frontend/dist/assets/{sankeyDiagram-XADWPNL6-BV_woefX.js → sankeyDiagram-XADWPNL6-RJ6EzD70.js} +1 -1
- package/payload/frontend/dist/assets/{sequenceDiagram-FGHM5R23-Df4He8NT.js → sequenceDiagram-FGHM5R23-QiYuqsIk.js} +1 -1
- package/payload/frontend/dist/assets/{stateDiagram-FHFEXIEX-BEgdIPpz.js → stateDiagram-FHFEXIEX-DscVhCkw.js} +1 -1
- package/payload/frontend/dist/assets/stateDiagram-v2-QKLJ7IA2-CBosnJqY.js +1 -0
- package/payload/frontend/dist/assets/{status-Ce0iPeyb.js → status-TMGwGaid.js} +1 -1
- package/payload/frontend/dist/assets/suiji-BFib0tK9.js +1 -0
- package/payload/frontend/dist/assets/{svg-Bw5hEl7G.js → svg-BR3UkgEE.js} +1 -1
- package/payload/frontend/dist/assets/{tabs-DbtEnTWL.js → tabs-FQPVRwwQ.js} +1 -1
- package/payload/frontend/dist/assets/{timeline-definition-GMOUNBTQ-DwbNhEn4.js → timeline-definition-GMOUNBTQ-CrYFg2HY.js} +1 -1
- package/payload/frontend/dist/assets/{vennDiagram-DHZGUBPP-pAfUF9dm.js → vennDiagram-DHZGUBPP-Do4I-ilO.js} +1 -1
- package/payload/frontend/dist/assets/{wardley-RL74JXVD-DcKkKo7k.js → wardley-RL74JXVD-CA9NRCtl.js} +1 -1
- package/payload/frontend/dist/assets/{wardleyDiagram-NUSXRM2D-B1APfa8B.js → wardleyDiagram-NUSXRM2D-gpCyIXuK.js} +1 -1
- package/payload/frontend/dist/assets/{xychartDiagram-5P7HB3ND-BaKuAJV-.js → xychartDiagram-5P7HB3ND-BN662VL0.js} +1 -1
- package/payload/frontend/dist/build-info.json +4 -4
- package/payload/frontend/dist/companion.html +1 -1
- package/payload/frontend/dist/index.html +3 -3
- package/payload/plugins/toolkit/.codex-plugin/plugin.json +1 -1
- package/payload/plugins/toolkit/skills/architecture-flow-prototyping/SKILL.md +2 -2
- package/payload/plugins/toolkit/skills/visual-plan-review/SKILL.md +45 -0
- package/payload/plugins/toolkit/skills/visual-plan-review/agents/openai.yaml +3 -0
- package/payload/plugins/toolkit/skills/visual-plan-review/references/review-checklist.md +13 -0
- package/payload/plugins/toolkit/skills/visual-plan-review/references/visual-plan-template.html +8 -0
- package/payload/plugins/toolkit-release.json +1 -1
- package/payload/pty-host/index.cjs +147 -33
- package/payload/server/index.cjs +40 -20
- package/payload/frontend/dist/assets/channel-DycidetN.js +0 -1
- package/payload/frontend/dist/assets/classDiagram-6PBFFD2Q-5pjklcgn.js +0 -1
- package/payload/frontend/dist/assets/classDiagram-v2-HSJHXN6E-5pjklcgn.js +0 -1
- package/payload/frontend/dist/assets/clone-CUh1yxwY.js +0 -1
- package/payload/frontend/dist/assets/index-X6z9DRtr.js +0 -448
- package/payload/frontend/dist/assets/main-D4_uoZQa.css +0 -33
- package/payload/frontend/dist/assets/stateDiagram-v2-QKLJ7IA2-DyKoLPVf.js +0 -1
- package/payload/frontend/dist/assets/suiji-CKYE-bFZ.js +0 -1
- package/payload/plugins/toolkit/skills/prototype-first-development/SKILL.md +0 -134
- package/payload/plugins/toolkit/skills/prototype-first-development/references/html-prototype-template/README.md +0 -88
- package/payload/plugins/toolkit/skills/prototype-first-development/references/html-prototype-template/app.js +0 -145
- package/payload/plugins/toolkit/skills/prototype-first-development/references/html-prototype-template/index.html +0 -229
- package/payload/plugins/toolkit/skills/prototype-first-development/references/html-prototype-template/mock-state.json +0 -60
- package/payload/plugins/toolkit/skills/prototype-first-development/references/implementation-plan-handoff-template.md +0 -61
- package/payload/plugins/toolkit/skills/prototype-first-development/references/prototype-workflow-checklist.md +0 -64
|
@@ -1,229 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="zh-CN">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8" />
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
-
<title>原型标题</title>
|
|
7
|
-
<style>
|
|
8
|
-
:root {
|
|
9
|
-
color-scheme: dark;
|
|
10
|
-
--bg: #0b1020;
|
|
11
|
-
--surface: #111827;
|
|
12
|
-
--surface-2: #172033;
|
|
13
|
-
--line: #2b364d;
|
|
14
|
-
--text: #eef2f8;
|
|
15
|
-
--muted: #9aa6bb;
|
|
16
|
-
--accent: #38bdf8;
|
|
17
|
-
--accent-weak: rgba(56, 189, 248, 0.16);
|
|
18
|
-
--success: #34d399;
|
|
19
|
-
--danger: #fb7185;
|
|
20
|
-
--radius: 8px;
|
|
21
|
-
font-family:
|
|
22
|
-
Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
|
|
23
|
-
"Segoe UI", sans-serif;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
* {
|
|
27
|
-
box-sizing: border-box;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
body {
|
|
31
|
-
margin: 0;
|
|
32
|
-
min-height: 100vh;
|
|
33
|
-
background: var(--bg);
|
|
34
|
-
color: var(--text);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
button {
|
|
38
|
-
border: 0;
|
|
39
|
-
color: inherit;
|
|
40
|
-
cursor: pointer;
|
|
41
|
-
font: inherit;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.app {
|
|
45
|
-
min-height: 100vh;
|
|
46
|
-
display: grid;
|
|
47
|
-
grid-template-rows: 52px 1fr;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
.topbar {
|
|
51
|
-
display: flex;
|
|
52
|
-
align-items: center;
|
|
53
|
-
justify-content: space-between;
|
|
54
|
-
gap: 16px;
|
|
55
|
-
padding: 0 18px;
|
|
56
|
-
border-bottom: 1px solid var(--line);
|
|
57
|
-
background: rgba(11, 16, 32, 0.96);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
.title {
|
|
61
|
-
min-width: 0;
|
|
62
|
-
display: flex;
|
|
63
|
-
flex-direction: column;
|
|
64
|
-
gap: 2px;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
.title strong,
|
|
68
|
-
.title span {
|
|
69
|
-
overflow: hidden;
|
|
70
|
-
text-overflow: ellipsis;
|
|
71
|
-
white-space: nowrap;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
.title span {
|
|
75
|
-
color: var(--muted);
|
|
76
|
-
font-size: 12px;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
.toolbar {
|
|
80
|
-
display: flex;
|
|
81
|
-
align-items: center;
|
|
82
|
-
gap: 8px;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
.button {
|
|
86
|
-
min-height: 32px;
|
|
87
|
-
padding: 0 12px;
|
|
88
|
-
border-radius: 7px;
|
|
89
|
-
background: var(--surface-2);
|
|
90
|
-
color: var(--text);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
.button.primary {
|
|
94
|
-
background: var(--accent);
|
|
95
|
-
color: #03111a;
|
|
96
|
-
font-weight: 700;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
.product-shell {
|
|
100
|
-
min-height: 0;
|
|
101
|
-
display: grid;
|
|
102
|
-
grid-template-columns: 220px minmax(0, 1fr);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
.sidebar {
|
|
106
|
-
min-width: 0;
|
|
107
|
-
border-right: 1px solid var(--line);
|
|
108
|
-
background: #080d19;
|
|
109
|
-
padding: 14px;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
.nav-list {
|
|
113
|
-
display: grid;
|
|
114
|
-
gap: 6px;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
.nav-item {
|
|
118
|
-
min-height: 34px;
|
|
119
|
-
width: 100%;
|
|
120
|
-
padding: 0 10px;
|
|
121
|
-
border-radius: 7px;
|
|
122
|
-
background: transparent;
|
|
123
|
-
color: var(--muted);
|
|
124
|
-
text-align: left;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
.nav-item.active {
|
|
128
|
-
background: var(--accent-weak);
|
|
129
|
-
color: var(--text);
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
.main-panel {
|
|
133
|
-
min-width: 0;
|
|
134
|
-
padding: 18px;
|
|
135
|
-
display: grid;
|
|
136
|
-
grid-template-rows: auto 1fr;
|
|
137
|
-
gap: 14px;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
.stage {
|
|
141
|
-
min-height: 0;
|
|
142
|
-
border: 1px solid var(--line);
|
|
143
|
-
border-radius: var(--radius);
|
|
144
|
-
background: var(--surface);
|
|
145
|
-
overflow: hidden;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
.stage-header {
|
|
149
|
-
min-height: 44px;
|
|
150
|
-
display: flex;
|
|
151
|
-
align-items: center;
|
|
152
|
-
justify-content: space-between;
|
|
153
|
-
gap: 12px;
|
|
154
|
-
padding: 0 14px;
|
|
155
|
-
border-bottom: 1px solid var(--line);
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
.stage-header span {
|
|
159
|
-
color: var(--muted);
|
|
160
|
-
font-size: 13px;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
.stage-body {
|
|
164
|
-
padding: 16px;
|
|
165
|
-
display: grid;
|
|
166
|
-
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
|
|
167
|
-
gap: 12px;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
.item {
|
|
171
|
-
min-height: 120px;
|
|
172
|
-
padding: 14px;
|
|
173
|
-
border: 1px solid var(--line);
|
|
174
|
-
border-radius: var(--radius);
|
|
175
|
-
background: #0f172a;
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
.item h2 {
|
|
179
|
-
margin: 0 0 8px;
|
|
180
|
-
font-size: 15px;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
.item p {
|
|
184
|
-
margin: 0;
|
|
185
|
-
color: var(--muted);
|
|
186
|
-
font-size: 13px;
|
|
187
|
-
line-height: 1.5;
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
.prototype-controls {
|
|
191
|
-
display: none;
|
|
192
|
-
border-top: 1px solid var(--line);
|
|
193
|
-
background: #030712;
|
|
194
|
-
padding: 16px;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
.prototype-controls.visible {
|
|
198
|
-
display: block;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
.prototype-controls-inner {
|
|
202
|
-
display: flex;
|
|
203
|
-
flex-wrap: wrap;
|
|
204
|
-
align-items: center;
|
|
205
|
-
gap: 8px;
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
.prototype-controls span {
|
|
209
|
-
color: var(--muted);
|
|
210
|
-
font-size: 12px;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
@media (max-width: 860px) {
|
|
214
|
-
.product-shell {
|
|
215
|
-
grid-template-columns: 1fr;
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
.sidebar {
|
|
219
|
-
border-right: 0;
|
|
220
|
-
border-bottom: 1px solid var(--line);
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
</style>
|
|
224
|
-
</head>
|
|
225
|
-
<body>
|
|
226
|
-
<main id="app" class="app"></main>
|
|
227
|
-
<script type="module" src="./app.js"></script>
|
|
228
|
-
</body>
|
|
229
|
-
</html>
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"title": "原型标题",
|
|
3
|
-
"subtitle": "当前产品区域",
|
|
4
|
-
"navigationLabel": "主要导航",
|
|
5
|
-
"activeViewId": "primary",
|
|
6
|
-
"actions": [
|
|
7
|
-
{
|
|
8
|
-
"id": "secondary",
|
|
9
|
-
"label": "次要操作",
|
|
10
|
-
"primary": false
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
"id": "primary",
|
|
14
|
-
"label": "主要操作",
|
|
15
|
-
"primary": true
|
|
16
|
-
}
|
|
17
|
-
],
|
|
18
|
-
"views": [
|
|
19
|
-
{
|
|
20
|
-
"id": "primary",
|
|
21
|
-
"label": "主视图",
|
|
22
|
-
"title": "主要内容",
|
|
23
|
-
"status": "进行中",
|
|
24
|
-
"items": [
|
|
25
|
-
{
|
|
26
|
-
"title": "核心对象",
|
|
27
|
-
"description": "对象的当前状态、主要字段和可执行动作。"
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
"title": "状态反馈",
|
|
31
|
-
"description": "用户完成操作后可见的状态变化。"
|
|
32
|
-
}
|
|
33
|
-
]
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
"id": "secondary",
|
|
37
|
-
"label": "次视图",
|
|
38
|
-
"title": "关联内容",
|
|
39
|
-
"status": "就绪",
|
|
40
|
-
"items": [
|
|
41
|
-
{
|
|
42
|
-
"title": "关联对象",
|
|
43
|
-
"description": "与当前流程相关的补充信息。"
|
|
44
|
-
}
|
|
45
|
-
]
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
"id": "empty",
|
|
49
|
-
"label": "空状态",
|
|
50
|
-
"title": "暂无内容",
|
|
51
|
-
"status": "待处理",
|
|
52
|
-
"items": [
|
|
53
|
-
{
|
|
54
|
-
"title": "空状态提示",
|
|
55
|
-
"description": "无数据时用户需要看到的反馈和后续入口。"
|
|
56
|
-
}
|
|
57
|
-
]
|
|
58
|
-
}
|
|
59
|
-
]
|
|
60
|
-
}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
# 原型到实施计划交接模板
|
|
2
|
-
|
|
3
|
-
当原型已经冻结,并且用户要求进入计划或实现阶段时,按这个结构整理信息。实际计划落盘时优先结合 `$toolkit:write-plan`。
|
|
4
|
-
|
|
5
|
-
Runweave 仓库默认路径约定:
|
|
6
|
-
|
|
7
|
-
- 原型资产:`docs/prototypes/<feature-slug>/`
|
|
8
|
-
- 实施计划:`docs/plans/YYYY-MM-DD-<feature-slug>.md`
|
|
9
|
-
|
|
10
|
-
## 原型资产
|
|
11
|
-
|
|
12
|
-
- 原型目录:
|
|
13
|
-
- 对应计划路径:
|
|
14
|
-
- 启动命令:
|
|
15
|
-
- 最终截图:
|
|
16
|
-
- 最终截图是否排除 prototype helper:
|
|
17
|
-
- 冻结时间:
|
|
18
|
-
|
|
19
|
-
## 原型结论
|
|
20
|
-
|
|
21
|
-
- 最终采用的交互:
|
|
22
|
-
- 关键用户动作:
|
|
23
|
-
- 关键状态:
|
|
24
|
-
- 产品核心功能:
|
|
25
|
-
- 原型辅助功能:
|
|
26
|
-
- 明确非目标:
|
|
27
|
-
- 被放弃的方向:
|
|
28
|
-
|
|
29
|
-
## 产品行为
|
|
30
|
-
|
|
31
|
-
- 用户可见行为:
|
|
32
|
-
- 输入:
|
|
33
|
-
- 输出:
|
|
34
|
-
- 状态流转:
|
|
35
|
-
- 错误或空状态:
|
|
36
|
-
|
|
37
|
-
## 当前代码核查
|
|
38
|
-
|
|
39
|
-
- 需要读取的前端文件:
|
|
40
|
-
- 需要读取的后端文件:
|
|
41
|
-
- 需要读取的协议或共享类型:
|
|
42
|
-
- 需要读取的存储、运行时或事件流:
|
|
43
|
-
- 已确认支持的能力:
|
|
44
|
-
- 仍缺失的能力:
|
|
45
|
-
|
|
46
|
-
## 实施范围
|
|
47
|
-
|
|
48
|
-
- 前端修改:
|
|
49
|
-
- 后端修改:
|
|
50
|
-
- 协议或类型修改:
|
|
51
|
-
- 文档修改:
|
|
52
|
-
- 明确不实现的原型辅助功能:
|
|
53
|
-
- 明确不实现的说明文字或演示控件:
|
|
54
|
-
- 不做什么:
|
|
55
|
-
|
|
56
|
-
## 验收方式
|
|
57
|
-
|
|
58
|
-
- 浏览器验证:
|
|
59
|
-
- 命令验证:
|
|
60
|
-
- 手工检查:
|
|
61
|
-
- 失败判断:
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
# 原型先行开发检查清单
|
|
2
|
-
|
|
3
|
-
使用这个清单检查一次原型先行流程是否跑完整。不要把它当作普通说明文;它是阶段门禁。
|
|
4
|
-
|
|
5
|
-
## 1. 原型简报
|
|
6
|
-
|
|
7
|
-
- 是否写清楚用户目标、用户动作、关键状态和非目标?
|
|
8
|
-
- 是否写清楚原型要影响的真实产品界面或模块?
|
|
9
|
-
- 是否初步区分了产品核心功能和原型辅助功能?
|
|
10
|
-
- 是否避免一开始就讨论生产代码实现细节?
|
|
11
|
-
|
|
12
|
-
## 2. 可运行原型
|
|
13
|
-
|
|
14
|
-
- 是否生成到 `docs/prototypes/<feature-slug>/`?
|
|
15
|
-
- 是否包含 `README.md`、`index.html`、`app.js`、`mock-state.json`?
|
|
16
|
-
- 是否可以通过 `python3 -m http.server` 打开?
|
|
17
|
-
- 是否只模拟关键路径,没有连接真实后端?
|
|
18
|
-
- 是否把 mock 数据放在 JSON,而不是散落在页面字符串里?
|
|
19
|
-
- 首屏是否像最终产品界面,而不是带说明文字、需求备注或操作教程的草稿?
|
|
20
|
-
- 是否没有把“快捷键说明”“这里展示”“模拟状态”“下一步演示”等非产品文案画进产品 UI?
|
|
21
|
-
- 所有可见按钮、输入、菜单和状态是否都是最终产品计划保留的入口或反馈?
|
|
22
|
-
- 每个按钮、面板、状态标签,以及如存在的事件流或模拟开关,是否都能归类为产品核心功能或原型辅助功能?
|
|
23
|
-
|
|
24
|
-
## 3. 调整循环
|
|
25
|
-
|
|
26
|
-
- 用户反馈时,是否只调整原型,不碰产品代码?
|
|
27
|
-
- 每轮调整是否更新 README 的调整记录?
|
|
28
|
-
- 是否保持函数、状态、样式命名可读?
|
|
29
|
-
- 是否避免引入真实项目组件和复杂依赖?
|
|
30
|
-
- 如需新增演示控件,是否优先放在 README、URL 参数或默认隐藏的 helper 面板,而不是产品画面?
|
|
31
|
-
- 新增的演示控件是否与产品画面视觉隔离,并同步写入“原型辅助功能”表?
|
|
32
|
-
- 新增的产品能力是否同步写入“产品核心功能”表?
|
|
33
|
-
|
|
34
|
-
## 4. 原型冻结
|
|
35
|
-
|
|
36
|
-
- README 是否记录最终采用的交互?
|
|
37
|
-
- README 是否记录放弃的方向和原因?
|
|
38
|
-
- README 是否确认产品核心功能清单?
|
|
39
|
-
- README 是否确认原型辅助功能清单?
|
|
40
|
-
- README 是否确认最终截图不包含原型说明、演示脚手架或不进产品的辅助控件?
|
|
41
|
-
- 浏览器验证重要时,是否保存最终截图?
|
|
42
|
-
- 在 Runweave 仓库中,是否使用 `$toolkit:playwright-cli` 完成浏览器页面复现、修复或验收?
|
|
43
|
-
|
|
44
|
-
## 5. 实施计划
|
|
45
|
-
|
|
46
|
-
- 计划是否引用原型目录?
|
|
47
|
-
- 计划是否区分“原型表达的意图”和“当前代码是否支持”?
|
|
48
|
-
- 计划是否只承接产品核心功能?
|
|
49
|
-
- 原型辅助功能是否明确列为不进入产品实现?
|
|
50
|
-
- 计划是否没有把原型 README、helper 面板或 mock 控制器里的说明内容写成产品需求?
|
|
51
|
-
- 是否先检查真实代码,再写协议、后端、运行时、前端落点?
|
|
52
|
-
- 是否写清验收方式和失败判断?
|
|
53
|
-
|
|
54
|
-
## 6. 产品实现
|
|
55
|
-
|
|
56
|
-
- 是否只在用户明确推进实现后修改产品代码?
|
|
57
|
-
- 是否没有把原型代码直接照搬进生产代码?
|
|
58
|
-
- 是否没有把原型辅助功能误实现进产品?
|
|
59
|
-
- 是否用真实代码现状校准可行性?
|
|
60
|
-
- 是否验证了原型冻结的关键交互?
|
|
61
|
-
|
|
62
|
-
## 偏差处理
|
|
63
|
-
|
|
64
|
-
如果发现已经提前改了产品代码、跳过了原型冻结、没有把模板放在技能引用目录下,或没有区分产品核心功能与原型辅助功能,先停下来修正流程产物,再继续后续阶段。
|