sillyspec 3.20.2 → 3.20.3

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 (208) hide show
  1. package/.claude/skills/sillyspec-archive/SKILL.md +1 -5
  2. package/.claude/skills/sillyspec-auto/SKILL.md +2 -8
  3. package/.claude/skills/sillyspec-brainstorm/SKILL.md +1 -28
  4. package/.claude/skills/sillyspec-commit/SKILL.md +3 -4
  5. package/.claude/skills/sillyspec-continue/SKILL.md +4 -5
  6. package/.claude/skills/sillyspec-doctor/SKILL.md +3 -12
  7. package/.claude/skills/sillyspec-execute/SKILL.md +2 -15
  8. package/.claude/skills/sillyspec-explore/SKILL.md +1 -14
  9. package/.claude/skills/sillyspec-plan/SKILL.md +36 -5
  10. package/.claude/skills/sillyspec-propose/SKILL.md +0 -4
  11. package/.claude/skills/sillyspec-quick/SKILL.md +1 -5
  12. package/.claude/skills/sillyspec-resume/SKILL.md +66 -23
  13. package/.claude/skills/sillyspec-scan/SKILL.md +1 -5
  14. package/.claude/skills/sillyspec-state/SKILL.md +8 -8
  15. package/.claude/skills/sillyspec-status/SKILL.md +1 -5
  16. package/.claude/skills/sillyspec-verify/SKILL.md +1 -5
  17. package/.claude/skills/sillyspec-workspace/SKILL.md +3 -11
  18. package/.sillyspec/changes/archive/2026-04-08-derive-state/design.md +97 -0
  19. package/.sillyspec/changes/archive/2026-04-08-derive-state/plan.md +51 -0
  20. package/.sillyspec/changes/archive/2026-04-08-derive-state/proposal.md +29 -0
  21. package/.sillyspec/changes/archive/2026-04-08-derive-state/requirements.md +34 -0
  22. package/.sillyspec/changes/archive/2026-04-08-derive-state/tasks.md +13 -0
  23. package/.sillyspec/changes/archive/2026-04-08-derive-state/verify-result.md +43 -0
  24. package/.sillyspec/changes/auto-mode/design.md +50 -0
  25. package/.sillyspec/changes/auto-mode/proposal.md +19 -0
  26. package/.sillyspec/changes/auto-mode/requirements.md +21 -0
  27. package/.sillyspec/changes/auto-mode/tasks.md +7 -0
  28. package/.sillyspec/changes/brainstorm-archive/2026-04-05-dashboard-design.md +206 -0
  29. package/.sillyspec/changes/brainstorm-archive/2026-04-05-unified-docs-design.md +199 -0
  30. package/.sillyspec/changes/dashboard/design.md +219 -0
  31. package/.sillyspec/changes/dashboard/design.md.braindraft +206 -0
  32. package/.sillyspec/changes/run-command-design/design.md +1230 -0
  33. package/.sillyspec/changes/unified-docs-design/design.md +199 -0
  34. package/.sillyspec/docs/sillyspec/scan/.gitkeep +0 -0
  35. package/.sillyspec/knowledge/INDEX.md +8 -0
  36. package/.sillyspec/knowledge/uncategorized.md +3 -0
  37. package/.sillyspec/plans/2026-04-05-dashboard.md +737 -0
  38. package/.sillyspec/projects/sillyspec.yaml +3 -0
  39. package/README.md +11 -13
  40. package/SKILL.md +40 -44
  41. package/dist/steps/brainstorm/01-load-context.md +30 -0
  42. package/dist/steps/brainstorm/02-reuse-check.md +6 -0
  43. package/dist/steps/brainstorm/03-prototype-analysis.md +11 -0
  44. package/dist/steps/brainstorm/04-module-split.md +23 -0
  45. package/dist/steps/brainstorm/05-dialog-explore.md +8 -0
  46. package/dist/steps/brainstorm/06-propose-approaches.md +3 -0
  47. package/dist/steps/brainstorm/07-present-design.md +3 -0
  48. package/dist/steps/brainstorm/08-write-design.md +21 -0
  49. package/dist/steps/brainstorm/09-self-review.md +15 -0
  50. package/dist/steps/brainstorm/10-user-confirm.md +3 -0
  51. package/dist/steps/brainstorm/11-output-spec.md +7 -0
  52. package/dist/steps/brainstorm/manifest.yaml +26 -0
  53. package/dist/steps/execute/01-load-context.md +41 -0
  54. package/dist/steps/execute/02-scan-conventions.md +47 -0
  55. package/dist/steps/execute/03-skill-mcp.md +19 -0
  56. package/dist/steps/execute/04-assign-task.md +22 -0
  57. package/dist/steps/execute/04b-prompt-template.md +54 -0
  58. package/dist/steps/execute/05-write-test.md +7 -0
  59. package/dist/steps/execute/06-write-code.md +8 -0
  60. package/dist/steps/execute/07-run-test.md +26 -0
  61. package/dist/steps/execute/08-fix-issues.md +28 -0
  62. package/dist/steps/execute/09-next-task.md +33 -0
  63. package/dist/steps/execute/manifest.yaml +28 -0
  64. package/dist/steps/plan/01-load-context.md +22 -0
  65. package/dist/steps/plan/02-anchor-confirm.md +1 -0
  66. package/dist/steps/plan/03-expand-tasks.md +33 -0
  67. package/dist/steps/plan/04-mark-order.md +15 -0
  68. package/dist/steps/plan/05-e2e-planning.md +17 -0
  69. package/dist/steps/plan/06-self-check.md +16 -0
  70. package/dist/steps/plan/07-save.md +1 -0
  71. package/dist/steps/plan/manifest.yaml +18 -0
  72. package/dist/steps/scan/01-env-detect.md +51 -0
  73. package/dist/steps/scan/02-tech-stack.md +16 -0
  74. package/dist/steps/scan/03-conventions.md +16 -0
  75. package/dist/steps/scan/04-structure.md +19 -0
  76. package/dist/steps/scan/05-quality.md +18 -0
  77. package/dist/steps/scan/06-complete.md +49 -0
  78. package/dist/steps/scan/manifest.yaml +16 -0
  79. package/dist/steps/verify/01-load-specs.md +28 -0
  80. package/dist/steps/verify/02-check-tasks.md +1 -0
  81. package/dist/steps/verify/03-check-design.md +6 -0
  82. package/dist/steps/verify/04-run-tests.md +7 -0
  83. package/dist/steps/verify/05-e2e-tests.md +27 -0
  84. package/dist/steps/verify/05b-e2e-fix.md +33 -0
  85. package/dist/steps/verify/06-code-quality.md +25 -0
  86. package/dist/steps/verify/07-lint-check.md +27 -0
  87. package/dist/steps/verify/08-output-report.md +14 -0
  88. package/dist/steps/verify/manifest.yaml +22 -0
  89. package/package.json +1 -7
  90. package/packages/dashboard/dist/assets/{index-Bq_Z2hne.js → index-D1EVTLmc.js} +1264 -1264
  91. package/packages/dashboard/dist/assets/index-DGe8CqeP.css +1 -0
  92. package/packages/dashboard/dist/index.html +2 -2
  93. package/packages/dashboard/package-lock.json +6 -6
  94. package/packages/dashboard/server/executor.js +1 -1
  95. package/packages/dashboard/server/index.js +18 -98
  96. package/packages/dashboard/server/parser.js +71 -139
  97. package/packages/dashboard/server/watcher.js +6 -14
  98. package/packages/dashboard/src/App.vue +185 -418
  99. package/packages/dashboard/src/components/ActionBar.vue +1 -10
  100. package/packages/dashboard/src/components/CommandPalette.vue +1 -5
  101. package/packages/dashboard/src/components/DocPreview.vue +8 -105
  102. package/packages/dashboard/src/components/DocTree.vue +19 -75
  103. package/packages/dashboard/src/components/PipelineStage.vue +2 -22
  104. package/packages/dashboard/src/components/PipelineView.vue +5 -32
  105. package/packages/dashboard/src/components/ProjectOverview.vue +139 -113
  106. package/packages/dashboard/src/components/StageBadge.vue +3 -17
  107. package/packages/dashboard/src/components/StepCard.vue +2 -7
  108. package/packages/dashboard/src/composables/useDashboard.js +0 -28
  109. package/src/derive.js +147 -0
  110. package/src/index.js +40 -688
  111. package/src/init.js +63 -119
  112. package/src/migrate.js +7 -7
  113. package/src/progress.js +248 -1474
  114. package/src/run.js +302 -3008
  115. package/src/setup.js +64 -2
  116. package/src/stages/archive.js +17 -123
  117. package/src/stages/brainstorm.js +48 -454
  118. package/src/stages/doctor.js +46 -99
  119. package/src/stages/execute.js +59 -420
  120. package/src/stages/index.js +18 -12
  121. package/src/stages/plan.js +189 -492
  122. package/src/stages/propose.js +11 -70
  123. package/src/stages/quick.js +13 -52
  124. package/src/stages/scan.js +68 -485
  125. package/src/stages/status.js +1 -1
  126. package/src/stages/verify.js +16 -203
  127. package/src/step.js +543 -0
  128. package/.claude/skills/sillyspec-knowledge/SKILL.md +0 -270
  129. package/.husky/pre-push +0 -13
  130. package/CLAUDE.md +0 -18
  131. package/docs/brainstorm-plan-contract.md +0 -64
  132. package/docs/plan-execute-contract.md +0 -123
  133. package/docs/platform-scan-protocol.md +0 -298
  134. package/docs/revision-mode.md +0 -115
  135. package/docs/sillyspec/file-lifecycle/known-implementation-gaps.md +0 -99
  136. package/docs/sillyspec/file-lifecycle/platform-workflows-sync.md +0 -218
  137. package/docs/sillyspec/file-lifecycle/stage-artifacts.md +0 -167
  138. package/docs/sillyspec/file-lifecycle/storage-and-state.md +0 -148
  139. package/docs/sillyspec/file-lifecycle/worktree-and-guard.md +0 -193
  140. package/docs/sillyspec/file-lifecycle.md +0 -125
  141. package/docs/workflow-contract-regression.md +0 -106
  142. package/docs/worktree-isolation.md +0 -252
  143. package/packages/dashboard/dist/assets/index-O2W5RV4z.css +0 -1
  144. package/packages/dashboard/dist/prototype-dashboard.html +0 -836
  145. package/packages/dashboard/dist/prototype-overview.html +0 -256
  146. package/packages/dashboard/public/prototype-dashboard.html +0 -836
  147. package/packages/dashboard/public/prototype-overview.html +0 -256
  148. package/packages/dashboard/src/components/HResizeHandle.vue +0 -48
  149. package/packages/dashboard/src/components/ProjectCard.vue +0 -187
  150. package/packages/dashboard/src/components/VResizeHandle.vue +0 -61
  151. package/packages/dashboard/src/composables/useLayout.js +0 -131
  152. package/src/brainstorm-postcheck.js +0 -158
  153. package/src/change-list.js +0 -52
  154. package/src/change-risk-profile.js +0 -352
  155. package/src/classify-change.js +0 -73
  156. package/src/constants.js +0 -70
  157. package/src/contract-matrix.js +0 -278
  158. package/src/db.js +0 -201
  159. package/src/endpoint-extractor.js +0 -315
  160. package/src/hooks/claude-pre-tool-use.cjs +0 -125
  161. package/src/hooks/worktree-guard.js +0 -761
  162. package/src/knowledge-match.js +0 -130
  163. package/src/modules.js +0 -482
  164. package/src/scan-postcheck.js +0 -383
  165. package/src/stage-contract.js +0 -700
  166. package/src/stages/brainstorm-auto.js +0 -229
  167. package/src/stages/explore.js +0 -34
  168. package/src/stages/knowledge.js +0 -498
  169. package/src/stages/plan-postcheck.js +0 -513
  170. package/src/sync.js +0 -497
  171. package/src/task-review.js +0 -346
  172. package/src/workflow.js +0 -785
  173. package/src/worktree-apply.js +0 -549
  174. package/src/worktree.js +0 -932
  175. package/templates/workflows/archive-impact.yaml +0 -79
  176. package/templates/workflows/scan-docs.yaml +0 -132
  177. package/test/brainstorm-plan-contract.test.mjs +0 -273
  178. package/test/check-syntax.mjs +0 -26
  179. package/test/cli-top-level-aliases.test.mjs +0 -174
  180. package/test/contract-artifacts.test.mjs +0 -323
  181. package/test/decision-supersede.test.mjs +0 -277
  182. package/test/knowledge-match.test.mjs +0 -231
  183. package/test/plan-execute-contract.test.mjs +0 -330
  184. package/test/plan-optimization.test.mjs +0 -572
  185. package/test/platform-artifacts.test.mjs +0 -190
  186. package/test/platform-failure-samples.test.mjs +0 -199
  187. package/test/platform-recovery-chain.test.mjs +0 -179
  188. package/test/platform-recovery.test.mjs +0 -167
  189. package/test/platform-scan-p0.test.mjs +0 -175
  190. package/test/revision-v1.test.mjs +0 -1145
  191. package/test/run-sanitize-project-name.test.mjs +0 -51
  192. package/test/run-scan-postcheck-fail.test.mjs +0 -64
  193. package/test/run-scan-project-parse.test.mjs +0 -200
  194. package/test/run-tests.mjs +0 -48
  195. package/test/scan-docs-yaml-placeholders.test.mjs +0 -84
  196. package/test/scan-knowledge.test.mjs +0 -175
  197. package/test/scan-paths.test.mjs +0 -68
  198. package/test/scan-postcheck-project-priority.test.mjs +0 -85
  199. package/test/scan-postcheck.test.mjs +0 -197
  200. package/test/scan-workflow-anyfailed-block.test.mjs +0 -52
  201. package/test/spec-dir.test.mjs +0 -206
  202. package/test/stage-contract-failed-post-check.test.mjs +0 -102
  203. package/test/stage-contract.test.mjs +0 -299
  204. package/test/stage-definitions.test.mjs +0 -39
  205. package/test/wait-gates.test.mjs +0 -501
  206. package/test/workflow-spec-base.test.mjs +0 -142
  207. package/test/worktree-guard.test.mjs +0 -136
  208. package/test/worktree-native-overlay.test.mjs +0 -188
@@ -1,256 +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>Dashboard 概览区域原型</title>
7
- <style>
8
- * {
9
- margin: 0;
10
- padding: 0;
11
- box-sizing: border-box;
12
- }
13
- body {
14
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
15
- background: #F5F5F7;
16
- height: 100vh;
17
- display: flex;
18
- flex-direction: column;
19
- }
20
- /* 概览区域 - 40% */
21
- .overview-section {
22
- height: 40%;
23
- background: #FFFFFF;
24
- border-bottom: 2px solid #2A3040;
25
- padding: 16px 24px;
26
- display: flex;
27
- flex-direction: column;
28
- }
29
- .section-header {
30
- display: flex;
31
- justify-content: space-between;
32
- align-items: center;
33
- margin-bottom: 16px;
34
- }
35
- .section-title {
36
- font-size: 18px;
37
- font-weight: 600;
38
- color: #1A1A1A;
39
- }
40
- .section-actions {
41
- display: flex;
42
- gap: 8px;
43
- }
44
- .btn {
45
- padding: 6px 12px;
46
- border-radius: 6px;
47
- border: none;
48
- cursor: pointer;
49
- font-size: 13px;
50
- font-weight: 500;
51
- }
52
- .btn-primary {
53
- background: #D97706;
54
- color: white;
55
- }
56
- .btn-secondary {
57
- background: #E5E7EB;
58
- color: #374151;
59
- }
60
- /* 水平滚动卡片容器 */
61
- .cards-container {
62
- flex: 1;
63
- display: flex;
64
- gap: 16px;
65
- overflow-x: auto;
66
- overflow-y: hidden;
67
- padding-bottom: 8px;
68
- }
69
- .cards-container::-webkit-scrollbar {
70
- height: 8px;
71
- }
72
- .cards-container::-webkit-scrollbar-track {
73
- background: #F3F4F6;
74
- border-radius: 4px;
75
- }
76
- .cards-container::-webkit-scrollbar-thumb {
77
- background: #D1D5DB;
78
- border-radius: 4px;
79
- }
80
- /* 项目卡片 */
81
- .project-card {
82
- width: 280px;
83
- height: 120px;
84
- background: white;
85
- border: 2px solid #E5E7EB;
86
- border-radius: 12px;
87
- padding: 16px;
88
- display: flex;
89
- flex-direction: column;
90
- justify-content: space-between;
91
- cursor: pointer;
92
- transition: all 0.2s;
93
- flex-shrink: 0;
94
- }
95
- .project-card:hover {
96
- border-color: #D97706;
97
- box-shadow: 0 4px 12px rgba(217, 119, 6, 0.15);
98
- }
99
- .project-card.selected {
100
- border-color: #D97706;
101
- box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.2);
102
- }
103
- .card-header {
104
- display: flex;
105
- justify-content: space-between;
106
- align-items: flex-start;
107
- }
108
- .project-name {
109
- font-size: 16px;
110
- font-weight: 600;
111
- color: #1A1A1A;
112
- }
113
- .last-active {
114
- font-size: 11px;
115
- color: #9CA3AF;
116
- }
117
- .stage-badge {
118
- display: inline-block;
119
- padding: 4px 10px;
120
- border-radius: 12px;
121
- font-size: 12px;
122
- font-weight: 500;
123
- }
124
- .stage-badge.in-progress {
125
- background: #DBEAFE;
126
- color: #1D4ED8;
127
- }
128
- .stage-badge.completed {
129
- background: #D1FAE5;
130
- color: #047857;
131
- }
132
- .stage-badge.pending {
133
- background: #F3F4F6;
134
- color: #6B7280;
135
- }
136
- .progress-section {
137
- display: flex;
138
- align-items: center;
139
- gap: 8px;
140
- }
141
- .progress-bar {
142
- flex: 1;
143
- height: 6px;
144
- background: #E5E7EB;
145
- border-radius: 3px;
146
- overflow: hidden;
147
- }
148
- .progress-fill {
149
- height: 100%;
150
- border-radius: 3px;
151
- transition: width 0.3s;
152
- }
153
- .progress-fill.in-progress { background: #3B82F6; }
154
- .progress-fill.completed { background: #10B981; }
155
- .progress-fill.pending { background: #9CA3AF; }
156
- .progress-text {
157
- font-size: 12px;
158
- font-weight: 600;
159
- color: #374151;
160
- }
161
- /* 详情区域 - 60% */
162
- .detail-section {
163
- flex: 1;
164
- background: #FAFAFA;
165
- padding: 24px;
166
- display: flex;
167
- align-items: center;
168
- justify-content: center;
169
- color: #9CA3AF;
170
- font-size: 14px;
171
- }
172
- </style>
173
- </head>
174
- <body>
175
- <!-- 概览区域 -->
176
- <div class="overview-section">
177
- <div class="section-header">
178
- <h1 class="section-title">项目概览</h1>
179
- <div class="section-actions">
180
- <button class="btn btn-secondary">刷新</button>
181
- <button class="btn btn-primary">添加项目</button>
182
- </div>
183
- </div>
184
- <div class="cards-container">
185
- <!-- 项目卡片 1 - 进行中 -->
186
- <div class="project-card selected">
187
- <div class="card-header">
188
- <span class="project-name">sillyspec</span>
189
- <span class="last-active">2分钟前</span>
190
- </div>
191
- <div>
192
- <span class="stage-badge in-progress">需求探索</span>
193
- </div>
194
- <div class="progress-section">
195
- <div class="progress-bar">
196
- <div class="progress-fill in-progress" style="width: 40%"></div>
197
- </div>
198
- <span class="progress-text">40%</span>
199
- </div>
200
- </div>
201
- <!-- 项目卡片 2 - 进行中 -->
202
- <div class="project-card">
203
- <div class="card-header">
204
- <span class="project-name">my-blog</span>
205
- <span class="last-active">15分钟前</span>
206
- </div>
207
- <div>
208
- <span class="stage-badge in-progress">实现计划</span>
209
- </div>
210
- <div class="progress-section">
211
- <div class="progress-bar">
212
- <div class="progress-fill in-progress" style="width: 75%"></div>
213
- </div>
214
- <span class="progress-text">75%</span>
215
- </div>
216
- </div>
217
- <!-- 项目卡片 3 - 已完成 -->
218
- <div class="project-card">
219
- <div class="card-header">
220
- <span class="project-name">user-service</span>
221
- <span class="last-active">1小时前</span>
222
- </div>
223
- <div>
224
- <span class="stage-badge completed">验证确认</span>
225
- </div>
226
- <div class="progress-section">
227
- <div class="progress-bar">
228
- <div class="progress-fill completed" style="width: 100%"></div>
229
- </div>
230
- <span class="progress-text">100%</span>
231
- </div>
232
- </div>
233
- <!-- 项目卡片 4 - 未开始 -->
234
- <div class="project-card">
235
- <div class="card-header">
236
- <span class="project-name">payment-api</span>
237
- <span class="last-active">昨天</span>
238
- </div>
239
- <div>
240
- <span class="stage-badge pending">未开始</span>
241
- </div>
242
- <div class="progress-section">
243
- <div class="progress-bar">
244
- <div class="progress-fill pending" style="width: 0%"></div>
245
- </div>
246
- <span class="progress-text">0%</span>
247
- </div>
248
- </div>
249
- </div>
250
- </div>
251
- <!-- 详情区域 -->
252
- <div class="detail-section">
253
- 点击上方卡片查看项目详情
254
- </div>
255
- </body>
256
- </html>