sillyspec 3.20.2 → 3.20.4
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/.claude/skills/sillyspec-archive/SKILL.md +21 -21
- package/.claude/skills/sillyspec-auto/SKILL.md +83 -83
- package/.claude/skills/sillyspec-brainstorm/SKILL.md +44 -44
- package/.claude/skills/sillyspec-commit/SKILL.md +106 -106
- package/.claude/skills/sillyspec-continue/SKILL.md +45 -45
- package/.claude/skills/sillyspec-doctor/SKILL.md +31 -31
- package/.claude/skills/sillyspec-execute/SKILL.md +30 -30
- package/.claude/skills/sillyspec-explore/SKILL.md +109 -109
- package/.claude/skills/sillyspec-knowledge/SKILL.md +269 -269
- package/.claude/skills/sillyspec-plan/SKILL.md +21 -21
- package/.claude/skills/sillyspec-propose/SKILL.md +21 -21
- package/.claude/skills/sillyspec-quick/SKILL.md +21 -21
- package/.claude/skills/sillyspec-resume/SKILL.md +68 -68
- package/.claude/skills/sillyspec-scan/SKILL.md +21 -21
- package/.claude/skills/sillyspec-state/SKILL.md +54 -54
- package/.claude/skills/sillyspec-status/SKILL.md +21 -21
- package/.claude/skills/sillyspec-verify/SKILL.md +21 -21
- package/.claude/skills/sillyspec-workspace/SKILL.md +157 -157
- package/.husky/pre-push +13 -13
- package/CLAUDE.md +18 -18
- package/README.md +198 -188
- package/SKILL.md +90 -91
- package/bin/sillyspec.js +2 -2
- package/docs/brainstorm-plan-contract.md +64 -64
- package/docs/plan-execute-contract.md +123 -123
- package/docs/platform-scan-protocol.md +298 -298
- package/docs/revision-mode.md +115 -115
- package/docs/sillyspec/file-lifecycle/known-implementation-gaps.md +99 -99
- package/docs/sillyspec/file-lifecycle/platform-workflows-sync.md +218 -218
- package/docs/sillyspec/file-lifecycle/stage-artifacts.md +167 -167
- package/docs/sillyspec/file-lifecycle/storage-and-state.md +148 -148
- package/docs/sillyspec/file-lifecycle/worktree-and-guard.md +211 -193
- package/docs/sillyspec/file-lifecycle.md +125 -125
- package/docs/workflow-contract-regression.md +106 -106
- package/docs/worktree-isolation.md +252 -252
- package/package.json +40 -40
- package/packages/dashboard/dist/assets/index-Bq_Z2hne.js +7446 -7446
- package/packages/dashboard/dist/assets/index-O2W5RV4z.css +1 -1
- package/packages/dashboard/dist/index.html +16 -16
- package/packages/dashboard/index.html +15 -15
- package/packages/dashboard/package-lock.json +2384 -2384
- package/packages/dashboard/package.json +25 -25
- package/packages/dashboard/server/executor.js +86 -86
- package/packages/dashboard/server/index.js +588 -588
- package/packages/dashboard/server/parser.js +526 -526
- package/packages/dashboard/server/watcher.js +344 -344
- package/packages/dashboard/src/App.vue +558 -558
- package/packages/dashboard/src/components/ActionBar.vue +93 -93
- package/packages/dashboard/src/components/CommandPalette.vue +96 -96
- package/packages/dashboard/src/components/DetailPanel.vue +137 -137
- package/packages/dashboard/src/components/LogStream.vue +65 -65
- package/packages/dashboard/src/components/PipelineStage.vue +95 -95
- package/packages/dashboard/src/components/PipelineView.vue +156 -156
- package/packages/dashboard/src/components/ProjectList.vue +210 -210
- package/packages/dashboard/src/components/StageBadge.vue +67 -67
- package/packages/dashboard/src/components/StepCard.vue +94 -94
- package/packages/dashboard/src/components/detail/DocsDetail.vue +48 -48
- package/packages/dashboard/src/components/detail/GitDetail.vue +61 -61
- package/packages/dashboard/src/components/detail/TechDetail.vue +43 -43
- package/packages/dashboard/src/composables/useDashboard.js +170 -170
- package/packages/dashboard/src/composables/useKeyboard.js +119 -119
- package/packages/dashboard/src/composables/useWebSocket.js +129 -129
- package/packages/dashboard/src/main.js +8 -8
- package/packages/dashboard/src/style.css +132 -132
- package/packages/dashboard/vite.config.js +18 -18
- package/src/brainstorm-postcheck.js +158 -158
- package/src/change-list.js +52 -52
- package/src/change-risk-profile.js +352 -352
- package/src/classify-change.js +73 -73
- package/src/constants.js +70 -70
- package/src/contract-matrix.js +278 -278
- package/src/db.js +201 -201
- package/src/endpoint-extractor.js +315 -315
- package/src/hooks/claude-pre-tool-use.cjs +125 -125
- package/src/hooks/worktree-guard.js +653 -653
- package/src/index.js +922 -900
- package/src/init.js +431 -431
- package/src/knowledge-match.js +130 -130
- package/src/migrate.js +117 -117
- package/src/modules.js +482 -482
- package/src/progress.js +1734 -1734
- package/src/run.js +3465 -3358
- package/src/scan-postcheck.js +387 -383
- package/src/setup.js +398 -398
- package/src/stage-contract.js +700 -700
- package/src/stages/archive.js +160 -160
- package/src/stages/brainstorm-auto.js +229 -229
- package/src/stages/brainstorm.js +645 -645
- package/src/stages/doctor.js +365 -365
- package/src/stages/execute.js +625 -625
- package/src/stages/explore.js +34 -34
- package/src/stages/index.js +29 -29
- package/src/stages/knowledge.js +498 -498
- package/src/stages/plan-postcheck.js +511 -513
- package/src/stages/plan.js +582 -582
- package/src/stages/propose.js +174 -174
- package/src/stages/quick.js +82 -82
- package/src/stages/scan.js +558 -558
- package/src/stages/status.js +65 -65
- package/src/stages/verify.js +322 -322
- package/src/sync.js +497 -497
- package/src/task-review.js +346 -346
- package/src/workflow.js +785 -785
- package/src/worktree-apply.js +549 -549
- package/src/worktree-deps.js +185 -0
- package/src/worktree.js +982 -932
- package/templates/workflows/archive-impact.yaml +79 -79
- package/templates/workflows/scan-docs.yaml +132 -132
- package/test/brainstorm-plan-contract.test.mjs +273 -273
- package/test/check-syntax.mjs +26 -26
- package/test/contract-artifacts.test.mjs +323 -323
- package/test/decision-supersede.test.mjs +277 -277
- package/test/knowledge-match.test.mjs +231 -231
- package/test/plan-execute-contract.test.mjs +330 -330
- package/test/plan-optimization.test.mjs +572 -572
- package/test/platform-artifacts.test.mjs +166 -166
- package/test/platform-failure-samples.test.mjs +199 -199
- package/test/platform-recovery-chain.test.mjs +167 -167
- package/test/platform-recovery.test.mjs +136 -136
- package/test/platform-scan-p0.test.mjs +168 -168
- package/test/revision-v1.test.mjs +1145 -1145
- package/test/run-scan-project-parse.test.mjs +200 -200
- package/test/run-tests.mjs +48 -48
- package/test/scan-knowledge.test.mjs +175 -175
- package/test/scan-paths.test.mjs +68 -68
- package/test/scan-postcheck.test.mjs +197 -197
- package/test/spec-dir.test.mjs +206 -206
- package/test/stage-contract.test.mjs +299 -299
- package/test/stage-definitions.test.mjs +39 -39
- package/test/wait-gates.test.mjs +496 -496
- package/test/worktree-deps-provision.test.mjs +148 -0
- package/test/worktree-guard.test.mjs +71 -71
- package/test/worktree-native-overlay.test.mjs +188 -188
package/README.md
CHANGED
|
@@ -1,188 +1,198 @@
|
|
|
1
|
-
<p align="center">
|
|
2
|
-
<img src="logo.jpg" width="
|
|
3
|
-
</p>
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
>
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
>
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
-
| Codex | `codex` |
|
|
47
|
-
| OpenCode | `opencode` |
|
|
48
|
-
| OpenClaw | `openclaw` | `.openclaw/skills/sillyspec
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
|
91
|
-
|
|
92
|
-
| `/sillyspec:
|
|
93
|
-
| `/sillyspec:
|
|
94
|
-
| `/sillyspec:
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
|
104
|
-
|
|
105
|
-
| `/sillyspec:state` |
|
|
106
|
-
| `/sillyspec:
|
|
107
|
-
| `/sillyspec:
|
|
108
|
-
| `/sillyspec:
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
sillyspec
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
sillyspec run <stage>
|
|
119
|
-
sillyspec
|
|
120
|
-
sillyspec
|
|
121
|
-
sillyspec
|
|
122
|
-
sillyspec init
|
|
123
|
-
sillyspec
|
|
124
|
-
sillyspec
|
|
125
|
-
sillyspec
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
##
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
- **
|
|
133
|
-
-
|
|
134
|
-
- **
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
│
|
|
175
|
-
├──
|
|
176
|
-
├──
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="logo.jpg" width="96" />
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<h1 align="center">SillySpec</h1>
|
|
6
|
+
|
|
7
|
+
<p align="center">规范驱动开发工具包 · 流程状态机,让 AI 严格按步骤来</p>
|
|
8
|
+
|
|
9
|
+
<p align="center">
|
|
10
|
+
融合 Superpowers + OpenSpec + GSD,从「你说要啥」到「代码能跑」的完整流程<br>
|
|
11
|
+
兼容 Claude Code / Cursor / Codex / OpenCode / OpenClaw / Gemini
|
|
12
|
+
</p>
|
|
13
|
+
|
|
14
|
+
<p align="center">
|
|
15
|
+
📖 <a href="https://sillyspec.ppdmq.top/">在线文档</a> · 🐙 <a href="https://github.com/q512426816/sillyspec">GitHub</a>
|
|
16
|
+
</p>
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
> 💡 **核心理念:Code is Cheap, Context is Expensive.**
|
|
21
|
+
>
|
|
22
|
+
> 文档是核心资产,代码是文档的产物。没有文档就没有代码——文档是 AI 的记忆,是团队协作的基础,是后续维护的唯一依据。
|
|
23
|
+
|
|
24
|
+
## 它解决什么问题
|
|
25
|
+
|
|
26
|
+
AI agent(Claude Code / Cursor 等)直接上手编码时,容易跳过需求澄清、方案设计、任务拆解这些关键步骤,产出偏离预期、且无法审计。
|
|
27
|
+
|
|
28
|
+
SillySpec 把一个变更的完整生命周期固化为一组**强制阶段**——每个阶段都有明确的入口契约、产物文件名和门禁校验,AI 必须按状态机推进,不能跳步、不能偷工。进度、决策、产物全部持久化到 SQLite,可审计、可回溯、可断点恢复。
|
|
29
|
+
|
|
30
|
+
## 快速开始
|
|
31
|
+
|
|
32
|
+
需要 Node.js >= 18,一条命令完成初始化:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npx sillyspec init
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
首次运行会自动安装 CLI,并检测你正在使用的 AI 工具。之后 `/sillyspec:brainstorm`、`sillyspec progress show` 等命令即可直接使用。
|
|
39
|
+
|
|
40
|
+
**指定 AI 工具:**
|
|
41
|
+
|
|
42
|
+
| 工具 | `--tool` | 产物位置 |
|
|
43
|
+
|---|---|---|
|
|
44
|
+
| Claude Code(推荐) | `claude` | `.claude/skills/sillyspec-*/` |
|
|
45
|
+
| Cursor | `cursor` | `.cursor/skills/sillyspec-*/` |
|
|
46
|
+
| OpenAI Codex | `codex` | `AGENTS.md` |
|
|
47
|
+
| OpenCode | `opencode` | `INSTRUCTIONS.md` |
|
|
48
|
+
| OpenClaw | `openclaw` | `.openclaw/skills/sillyspec-*/` |
|
|
49
|
+
| Gemini | `gemini` | `GEMINI.md` |
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
npx sillyspec init --tool claude # 指定工具
|
|
53
|
+
npx sillyspec init --workspace # 多项目工作区模式
|
|
54
|
+
npx sillyspec init --dir /path/to/x # 指定项目目录
|
|
55
|
+
npx sillyspec init --interactive # 完整引导
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
> 💡 启动 AI 时推荐使用跳过权限模式(如 `claude --dangerously-skip-permissions`)。SillySpec 会频繁执行 git、文件读写、校验脚本等操作,逐个批准会打断节奏——这也是 GSD / OpenSpec 的预期使用方式。
|
|
59
|
+
|
|
60
|
+
## 从哪里开始
|
|
61
|
+
|
|
62
|
+
| 场景 | 命令 |
|
|
63
|
+
|---|---|
|
|
64
|
+
| 全自动,一句话到代码 | `/sillyspec:auto <需求描述>` |
|
|
65
|
+
| 全新项目(空目录) | `/sillyspec:init` |
|
|
66
|
+
| 已有代码的项目 | `/sillyspec:scan` |
|
|
67
|
+
| 多项目工作区 | `/sillyspec:workspace` |
|
|
68
|
+
| 随时自由思考 | `/sillyspec:explore "想法"` |
|
|
69
|
+
|
|
70
|
+
## 完整工作流
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
绿地:init → brainstorm → plan → execute → [verify] → archive
|
|
74
|
+
棕地:scan → brainstorm → plan → execute → verify → archive
|
|
75
|
+
全自动:auto(自动推进全部阶段,支持用户确认门控)
|
|
76
|
+
大模块:brainstorm(多图)→ 拆分 → MASTER.md → 逐 stage 全流程 → archive
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**也可以跳过完整流程:**
|
|
80
|
+
|
|
81
|
+
- 小改动:`/sillyspec:quick "修复 xxx"`
|
|
82
|
+
- 不确定做什么:`/sillyspec:explore`
|
|
83
|
+
- 中断恢复:`/sillyspec:resume`
|
|
84
|
+
- 不知道下一步:`/sillyspec:continue`
|
|
85
|
+
|
|
86
|
+
## 命令一览
|
|
87
|
+
|
|
88
|
+
### 核心流程
|
|
89
|
+
|
|
90
|
+
| 命令 | 用途 |
|
|
91
|
+
|---|---|
|
|
92
|
+
| `/sillyspec:init` | 绿地项目:深度提问 → 需求文档 → 路线图 |
|
|
93
|
+
| `/sillyspec:scan` | 棕地项目:扫描代码库,生成 7 份架构文档 + 模块映射 |
|
|
94
|
+
| `/sillyspec:brainstorm` | 需求探索 + 规范生成:产出 design.md + tasks.md |
|
|
95
|
+
| `/sillyspec:plan` | 实现计划:文件路径 + 任务描述 + Wave 拓扑分组 |
|
|
96
|
+
| `/sillyspec:execute` | TDD 执行:子代理并行 + worktree 隔离 |
|
|
97
|
+
| `/sillyspec:verify` | 验证:对照规范 + 测试套件 + 代码审查 + E2E |
|
|
98
|
+
| `/sillyspec:archive` | 归档:规范沉淀到 knowledge/ |
|
|
99
|
+
| `/sillyspec:auto` | 全自动推进全部阶段 |
|
|
100
|
+
|
|
101
|
+
### 辅助工具
|
|
102
|
+
|
|
103
|
+
| 命令 | 用途 |
|
|
104
|
+
|---|---|
|
|
105
|
+
| `/sillyspec:status` · `/sillyspec:state` | 查看进度 / 当前工作状态 |
|
|
106
|
+
| `/sillyspec:continue` | 自动判断并执行下一步 |
|
|
107
|
+
| `/sillyspec:explore` | 自由思考:画图、讨论、调研 |
|
|
108
|
+
| `/sillyspec:quick` | 快速模式:跳过完整流程 |
|
|
109
|
+
| `/sillyspec:resume` | 恢复工作(支持大模块阶段进度) |
|
|
110
|
+
| `/sillyspec:doctor` | 项目自检与状态修复 |
|
|
111
|
+
| `/sillyspec:commit` | 智能提交 |
|
|
112
|
+
| `/sillyspec:workspace` | 多项目工作区管理 |
|
|
113
|
+
| `/sillyspec:export` | 导出成功方案为可复用模板 |
|
|
114
|
+
|
|
115
|
+
## CLI 命令
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
sillyspec run <stage> 执行阶段(auto/brainstorm/plan/execute/verify/archive/scan/quick/explore)
|
|
119
|
+
sillyspec run <stage> --done 完成当前步骤并推进到下一步
|
|
120
|
+
sillyspec run <stage> --status 查看阶段进度
|
|
121
|
+
sillyspec progress show 显示当前项目状态
|
|
122
|
+
sillyspec init 初始化(零交互,自动检测工具)
|
|
123
|
+
sillyspec setup 安装推荐 MCP 工具(交互式)
|
|
124
|
+
sillyspec setup --list 查看已安装 MCP 状态
|
|
125
|
+
sillyspec doctor 全量自检 + 修复进度
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## 核心特性
|
|
129
|
+
|
|
130
|
+
- **规范驱动** — 所有代码产出先有设计文档支撑,文档是 AI 的记忆
|
|
131
|
+
- **阶段状态机** — 以 stage + step 粒度强制流转,gate-status + progress.db 双轨记录状态
|
|
132
|
+
- **TDD 强制** — execute 阶段先写测试再写实现
|
|
133
|
+
- **子代理并行** — 同一 Wave 内任务并行执行,加快交付
|
|
134
|
+
- **Worktree 隔离** — execute 在独立 git worktree 中工作,不污染主分支
|
|
135
|
+
- **拓扑排序 Wave** — plan 阶段按蓝图依赖关系自动重排 Wave 分组
|
|
136
|
+
- **进度持久化** — SQLite(sql.js WASM)持久化,支持断点恢复
|
|
137
|
+
- **模块文档** — 模块级知识库,AI 执行时按需加载相关上下文
|
|
138
|
+
- **E2E 验证** — 内置 E2E 测试流程,支持 Playwright / 浏览器 MCP,跨会话自动修复
|
|
139
|
+
- **平台同步** — 可选对接 SillyHub,文档同步 + 团队审批
|
|
140
|
+
|
|
141
|
+
## 可靠性保障
|
|
142
|
+
|
|
143
|
+
SillySpec 不只是 prompt,还有硬校验兜底:
|
|
144
|
+
|
|
145
|
+
- **锚定确认** — 各阶段执行前必须逐个确认读过规范文件
|
|
146
|
+
- **Hard Gate 自检** — 关键命令生成文件后强制自检格式,不通过则修正
|
|
147
|
+
- **postcheck 识别偷懒** — 自动识别占位符、fallback、未分析等 AI 偷懒模式
|
|
148
|
+
- **校验脚本** — shell 脚本自动化验证 AI 输出(validate-proposal/plan/scan/all)
|
|
149
|
+
- **归档确认** — archive 操作前展示内容等待用户确认
|
|
150
|
+
|
|
151
|
+
## 防幻觉机制
|
|
152
|
+
|
|
153
|
+
| 环节 | 机制 |
|
|
154
|
+
|---|---|
|
|
155
|
+
| scan | 强制扫描代码库结构 / 约定 / 集成 / 测试 / 债务,生成 7 份文档 |
|
|
156
|
+
| brainstorm | 必须读 ARCHITECTURE.md 数据模型,支持原型图分析 |
|
|
157
|
+
| execute | 写代码前强制读现有源码,禁止编造方法调用 |
|
|
158
|
+
| 全流程 | postcheck + 校验脚本兜底 |
|
|
159
|
+
|
|
160
|
+
## MCP 增强
|
|
161
|
+
|
|
162
|
+
通过 `sillyspec setup` 一键安装 MCP 工具,增强 AI 能力:
|
|
163
|
+
|
|
164
|
+
- **Context7** — 查询最新库文档和 API 参考
|
|
165
|
+
- **grep.app** — 搜索开源代码实现
|
|
166
|
+
- **Chrome DevTools** — 浏览器自动化,支持 E2E 验证
|
|
167
|
+
|
|
168
|
+
## 目录结构
|
|
169
|
+
|
|
170
|
+
```
|
|
171
|
+
sillyspec/
|
|
172
|
+
├── bin/sillyspec.js # CLI 入口(shebang)
|
|
173
|
+
├── src/
|
|
174
|
+
│ ├── index.js # 命令分发
|
|
175
|
+
│ ├── run.js # 阶段状态机引擎
|
|
176
|
+
│ ├── init.js / setup.js # 初始化 + MCP 工具安装
|
|
177
|
+
│ ├── progress.js / db.js # SQLite 进度存储
|
|
178
|
+
│ ├── sync.js # SillyHub 平台同步
|
|
179
|
+
│ ├── workflow.js # 工作流编排 + postcheck
|
|
180
|
+
│ ├── worktree*.js # worktree 隔离执行
|
|
181
|
+
│ ├── hooks/ # worktree 守卫等钩子
|
|
182
|
+
│ └── stages/ # 各阶段定义(scan/brainstorm/plan/execute/verify/...)
|
|
183
|
+
├── templates/workflows/ # 工作流定义(scan-docs / archive-impact)
|
|
184
|
+
├── test/ # 原生 node:test 测试套件
|
|
185
|
+
├── packages/dashboard/ # 独立可视化面板子包
|
|
186
|
+
├── SKILL.md # 技能描述
|
|
187
|
+
└── README.md
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
## 致谢
|
|
191
|
+
|
|
192
|
+
- [Superpowers](https://github.com/obra/superpowers) — 工程纪律
|
|
193
|
+
- [OpenSpec](https://github.com/Fission-AI/OpenSpec) — 需求管理
|
|
194
|
+
- [GSD](https://github.com/gsd-build/get-shit-done) — 上下文工程
|
|
195
|
+
|
|
196
|
+
## License
|
|
197
|
+
|
|
198
|
+
MIT
|
package/SKILL.md
CHANGED
|
@@ -1,91 +1,90 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: sillyspec
|
|
3
|
-
description: "规范驱动开发工具包。绿地用 /sillyspec:init,棕地用 /sillyspec:scan,全自动用 /sillyspec:auto。完整流程:scan → brainstorm → plan → execute → verify → archive。支持 TDD、子代理并行、worktree 隔离、E2E 验证。兼容 Claude Code / Cursor / Codex / OpenCode / OpenClaw。"
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
|
17
|
-
|
|
|
18
|
-
|
|
|
19
|
-
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
| `/sillyspec:
|
|
35
|
-
| `/sillyspec:
|
|
36
|
-
| `/sillyspec:
|
|
37
|
-
| `/sillyspec:
|
|
38
|
-
| `/sillyspec:
|
|
39
|
-
| `/sillyspec:
|
|
40
|
-
| `/sillyspec:
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
| `/sillyspec:
|
|
48
|
-
| `/sillyspec:
|
|
49
|
-
| `/sillyspec:
|
|
50
|
-
| `/sillyspec:
|
|
51
|
-
| `/sillyspec:
|
|
52
|
-
| `/sillyspec:
|
|
53
|
-
| `/sillyspec:
|
|
54
|
-
| `/sillyspec:
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
sillyspec run
|
|
61
|
-
sillyspec run
|
|
62
|
-
sillyspec run
|
|
63
|
-
sillyspec run
|
|
64
|
-
sillyspec run
|
|
65
|
-
sillyspec run
|
|
66
|
-
sillyspec run
|
|
67
|
-
sillyspec run
|
|
68
|
-
sillyspec
|
|
69
|
-
sillyspec
|
|
70
|
-
sillyspec
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
- **
|
|
80
|
-
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
sillyspec setup
|
|
90
|
-
|
|
91
|
-
```
|
|
1
|
+
---
|
|
2
|
+
name: sillyspec
|
|
3
|
+
description: "规范驱动开发工具包。绿地用 /sillyspec:init,棕地用 /sillyspec:scan,全自动用 /sillyspec:auto。完整流程:scan → brainstorm → plan → execute → verify → archive。支持 TDD、子代理并行、worktree 隔离、E2E 验证。兼容 Claude Code / Cursor / Codex / OpenCode / OpenClaw。"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# SillySpec
|
|
7
|
+
|
|
8
|
+
从"你说要啥"到"代码能跑"的规范驱动开发工具包。
|
|
9
|
+
Claude Code / Cursor / Codex / OpenCode / OpenClaw 通用。
|
|
10
|
+
|
|
11
|
+
## 快速开始
|
|
12
|
+
|
|
13
|
+
| 场景 | 命令 |
|
|
14
|
+
|---|---|
|
|
15
|
+
| 全自动流程 | `/sillyspec:auto <需求描述>` |
|
|
16
|
+
| 全新项目(空目录) | `/sillyspec:init` |
|
|
17
|
+
| 已有代码的项目 | `/sillyspec:scan` |
|
|
18
|
+
| 多项目工作区 | `/sillyspec:workspace` |
|
|
19
|
+
| 自由思考 | `/sillyspec:explore` |
|
|
20
|
+
|
|
21
|
+
## 完整工作流
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
绿地:init → brainstorm → plan → execute → verify → archive
|
|
25
|
+
棕地:scan → brainstorm → plan → execute → verify → archive
|
|
26
|
+
全自动:auto(自动推进全部阶段,支持用户确认门控)
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## 核心命令
|
|
30
|
+
|
|
31
|
+
| 命令 | 用途 |
|
|
32
|
+
|---|---|
|
|
33
|
+
| `/sillyspec:auto` | 全自动推进全部流程 |
|
|
34
|
+
| `/sillyspec:init` | 绿地项目初始化 |
|
|
35
|
+
| `/sillyspec:scan` | 棕地项目扫描(生成 7 份文档) |
|
|
36
|
+
| `/sillyspec:brainstorm` | 需求探索 + 生成设计文档 |
|
|
37
|
+
| `/sillyspec:plan` | 编写实现计划(Wave 分组 + 拓扑排序) |
|
|
38
|
+
| `/sillyspec:execute` | TDD 执行 + 子代理并行 |
|
|
39
|
+
| `/sillyspec:verify` | 验证(测试 + 代码审查 + E2E) |
|
|
40
|
+
| `/sillyspec:archive` | 归档变更 |
|
|
41
|
+
|
|
42
|
+
## 辅助命令
|
|
43
|
+
|
|
44
|
+
| 命令 | 用途 |
|
|
45
|
+
|---|---|
|
|
46
|
+
| `/sillyspec:status` | 查看项目进度和状态 |
|
|
47
|
+
| `/sillyspec:continue` | 自动判断并执行下一步 |
|
|
48
|
+
| `/sillyspec:explore` | 自由思考模式 |
|
|
49
|
+
| `/sillyspec:quick` | 快速任务,跳过完整流程 |
|
|
50
|
+
| `/sillyspec:resume` | 恢复工作 |
|
|
51
|
+
| `/sillyspec:doctor` | 项目自检 |
|
|
52
|
+
| `/sillyspec:commit` | 智能提交 |
|
|
53
|
+
| `/sillyspec:export` | 导出成功方案为可复用模板 |
|
|
54
|
+
| `/sillyspec:workspace` | 多项目工作区管理 |
|
|
55
|
+
|
|
56
|
+
## CLI 命令
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
sillyspec run auto 全自动推进全部流程
|
|
60
|
+
sillyspec run scan 执行代码扫描阶段
|
|
61
|
+
sillyspec run brainstorm 执行需求探索阶段
|
|
62
|
+
sillyspec run plan 执行实现计划阶段
|
|
63
|
+
sillyspec run execute 执行开发阶段(子代理并行 + worktree 隔离)
|
|
64
|
+
sillyspec run verify 执行验证阶段
|
|
65
|
+
sillyspec run archive 执行归档阶段
|
|
66
|
+
sillyspec run quick 快速任务
|
|
67
|
+
sillyspec run explore 自由探索
|
|
68
|
+
sillyspec progress show 显示当前项目状态
|
|
69
|
+
sillyspec setup 安装推荐 MCP 工具
|
|
70
|
+
sillyspec init 初始化(零交互,自动检测工具)
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## 核心特性
|
|
74
|
+
|
|
75
|
+
- **规范驱动** — 所有代码产出先有设计文档支撑,文档是 AI 的记忆
|
|
76
|
+
- **TDD 强制** — execute 阶段强制先写测试再写实现
|
|
77
|
+
- **子代理并行** — 同一 Wave 内任务并行执行,加快交付
|
|
78
|
+
- **Worktree 隔离** — execute 在独立 worktree 中工作,不污染主分支
|
|
79
|
+
- **拓扑排序 Wave** — plan 阶段根据蓝图依赖关系自动重排 Wave 分组
|
|
80
|
+
- **E2E 验证** — 内置 E2E 测试流程,支持 Playwright / 浏览器 MCP
|
|
81
|
+
- **模块文档** — 支持模块级知识库,AI 执行时按需加载相关模块上下文
|
|
82
|
+
- **进度管理** — SQLite 持久化进度,断点恢复
|
|
83
|
+
- **MCP 增强** — 一键安装 Context7、grep.app、Chrome DevTools
|
|
84
|
+
|
|
85
|
+
## MCP 工具
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
sillyspec setup 安装全部推荐 MCP
|
|
89
|
+
sillyspec setup --list 查看已安装 MCP 状态
|
|
90
|
+
```
|
package/bin/sillyspec.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import '../src/index.js';
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import '../src/index.js';
|