sillyspec 2.4.4 → 2.5.0
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/commands/sillyspec/archive.md +14 -56
- package/.claude/commands/sillyspec/brainstorm.md +81 -483
- package/.claude/commands/sillyspec/continue.md +20 -30
- package/.claude/commands/sillyspec/execute.md +54 -173
- package/.claude/commands/sillyspec/explore.md +15 -68
- package/.claude/commands/sillyspec/export.md +10 -39
- package/.claude/commands/sillyspec/init.md +20 -127
- package/.claude/commands/sillyspec/plan.md +36 -187
- package/.claude/commands/sillyspec/propose.md +36 -186
- package/.claude/commands/sillyspec/quick.md +13 -48
- package/.claude/commands/sillyspec/resume.md +22 -79
- package/.claude/commands/sillyspec/scan.md +100 -511
- package/.claude/commands/sillyspec/status.md +16 -96
- package/.claude/commands/sillyspec/verify.md +22 -86
- package/.claude/commands/sillyspec/workspace.md +22 -95
- package/.sillyspec/config.yaml +13 -0
- package/package.json +7 -2
- package/src/index.js +2 -2
- package/src/init.js +232 -63
- package/templates/archive.md +14 -56
- package/templates/brainstorm.md +81 -483
- package/templates/continue.md +20 -30
- package/templates/execute.md +54 -173
- package/templates/explore.md +15 -68
- package/templates/export.md +10 -39
- package/templates/init.md +20 -127
- package/templates/plan.md +36 -187
- package/templates/propose.md +36 -186
- package/templates/quick.md +13 -48
- package/templates/resume.md +22 -79
- package/templates/scan.md +100 -511
- package/templates/status.md +16 -96
- package/templates/verify.md +22 -86
- package/templates/workspace.md +22 -95
package/templates/propose.md
CHANGED
|
@@ -1,229 +1,79 @@
|
|
|
1
|
-
|
|
1
|
+
## 交互规范
|
|
2
|
+
**当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。**
|
|
2
3
|
|
|
3
|
-
##
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
## 核心约束(必须遵守)
|
|
5
|
+
- ❌ 写实现代码
|
|
6
|
+
- ❌ tasks.md 写具体步骤(只列任务名)
|
|
7
|
+
- ❌ 编造表名、字段名、API 端点(必须来自 ARCHITECTURE.md 或明确标注"新增")
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
**在开始任何工作之前,先调用 SillySpec CLI 检查当前状态:**
|
|
9
|
+
## 状态检查(必须先执行)
|
|
11
10
|
|
|
12
11
|
```bash
|
|
13
12
|
sillyspec status --json
|
|
14
13
|
```
|
|
15
14
|
|
|
16
|
-
|
|
17
|
-
-
|
|
18
|
-
- 其他 phase → ❌ 不允许跳步,提示用户运行 `sillyspec next` 获取正确步骤
|
|
15
|
+
- `phase: "propose"` → ✅ 继续
|
|
16
|
+
- 其他 phase → 提示 `sillyspec next`
|
|
19
17
|
|
|
20
|
-
|
|
18
|
+
## 变更名称
|
|
19
|
+
$ARGUMENTS
|
|
21
20
|
|
|
22
|
-
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 流程
|
|
23
24
|
|
|
24
|
-
|
|
25
|
+
### 1. 加载上下文
|
|
25
26
|
|
|
26
27
|
```bash
|
|
27
|
-
#
|
|
28
|
-
if [[ "$ARGUMENTS" == */stage-* ]]; then
|
|
29
|
-
MASTER_NAME="${ARGUMENTS%%/*}"
|
|
30
|
-
STAGE_NAME="${ARGUMENTS#*/}"
|
|
31
|
-
MASTER_DIR=".sillyspec/changes/$MASTER_NAME"
|
|
32
|
-
CHANGE_DIR="$MASTER_DIR/stages/$STAGE_NAME"
|
|
33
|
-
else
|
|
34
|
-
CHANGE_DIR=".sillyspec/changes/$ARGUMENTS"
|
|
35
|
-
fi
|
|
36
|
-
|
|
37
|
-
# 如果存在 MASTER.md,读取主变更上下文
|
|
38
|
-
cat .sillyspec/changes/*/MASTER.md 2>/dev/null
|
|
39
|
-
|
|
40
|
-
# 最新设计文档
|
|
28
|
+
cat .sillyspec/changes/*/MASTER.md 2>/dev/null # 子阶段变更
|
|
41
29
|
ls -t .sillyspec/specs/*.md | head -1
|
|
42
|
-
|
|
43
|
-
cat .sillyspec/REQUIREMENTS.md 2>/dev/null
|
|
44
|
-
# 代码库约定(棕地)
|
|
45
|
-
cat .sillyspec/codebase/CONVENTIONS.md 2>/dev/null
|
|
46
|
-
cat .sillyspec/codebase/ARCHITECTURE.md 2>/dev/null
|
|
47
|
-
# 已有变更(排除子阶段)
|
|
30
|
+
cat .sillyspec/{REQUIREMENTS}.md .sillyspec/codebase/{CONVENTIONS,ARCHITECTURE}.md 2>/dev/null
|
|
48
31
|
ls .sillyspec/changes/ | grep -v archive
|
|
49
32
|
```
|
|
50
33
|
|
|
51
|
-
|
|
52
|
-
- 读取 MASTER.md 获取整体方向和技术决策
|
|
53
|
-
- 读取 MASTER.md 中"经验记录"章节(前面阶段的踩坑经验)
|
|
54
|
-
- 读取前面已完成阶段的设计文件(保持一致性)
|
|
55
|
-
- 读取该阶段对应的原型分析结果
|
|
56
|
-
- 规范文件保存到 `changes/<变更名>/stages/<stage-N>/`
|
|
57
|
-
|
|
58
|
-
如果是普通变更,照原流程执行。
|
|
34
|
+
**子阶段变更(如 `name/stage-1`):** 读 MASTER.md 获取方向 + 前序经验 + 原型分析。规范保存到 `changes/<name>/stages/<stage-N>/`。
|
|
59
35
|
|
|
60
|
-
|
|
36
|
+
无设计文档 → 提示先 `/sillyspec:brainstorm`。
|
|
61
37
|
|
|
62
38
|
### 1.5 锚定确认(必须完成)
|
|
63
39
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
```
|
|
67
|
-
已读取并理解:
|
|
68
|
-
- [x] proposal.md — 变更动机和范围(如果存在)
|
|
69
|
-
- [ ] design.md — 不存在(正常,将在本阶段生成)
|
|
70
|
-
- [ ] specs/requirements.md — 不存在(正常,将在本阶段生成)
|
|
71
|
-
|
|
72
|
-
所有可用上下文已加载,开始执行。
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
**文件不存在不是错误**。只确认实际存在的文件。不准跳过此步骤。
|
|
40
|
+
确认实际存在的文件。
|
|
76
41
|
|
|
77
42
|
### 2. 探索现有代码
|
|
78
43
|
|
|
79
|
-
|
|
44
|
+
理解相关模块当前实现,识别影响范围。
|
|
80
45
|
|
|
81
46
|
### 3. 生成规范文件
|
|
82
47
|
|
|
83
|
-
创建 `.sillyspec/changes/$ARGUMENTS
|
|
48
|
+
创建 `.sillyspec/changes/$ARGUMENTS/`:
|
|
84
49
|
|
|
85
|
-
**`proposal.md
|
|
86
|
-
```markdown
|
|
87
|
-
# [change-name]
|
|
50
|
+
**`proposal.md`:** 动机、变更范围、不在范围内、可量化成功标准
|
|
88
51
|
|
|
89
|
-
|
|
90
|
-
为什么做这件事
|
|
52
|
+
**`specs/requirements.md`:** 功能需求(REQ-001 格式)、Given/When/Then 用户场景、非功能需求
|
|
91
53
|
|
|
92
|
-
|
|
93
|
-
受影响的核心区域
|
|
94
|
-
|
|
95
|
-
## 不在范围内
|
|
96
|
-
明确排除的内容
|
|
97
|
-
|
|
98
|
-
## 成功标准
|
|
99
|
-
- [ ] 可量化的标准 1
|
|
100
|
-
- [ ] 可量化的标准 2
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
**`specs/requirements.md`** — 需求清单:
|
|
104
|
-
```markdown
|
|
105
|
-
# 需求
|
|
106
|
-
|
|
107
|
-
## 功能需求
|
|
108
|
-
- [ ] REQ-001: 用户可以用邮箱注册
|
|
109
|
-
- [ ] REQ-002: 注册后自动发送验证邮件
|
|
110
|
-
|
|
111
|
-
## 用户场景
|
|
112
|
-
### 场景 1: 新用户注册
|
|
113
|
-
Given: 用户在注册页面
|
|
114
|
-
When: 填写邮箱和密码并提交
|
|
115
|
-
Then: 收到验证邮件,账户处于待验证状态
|
|
116
|
-
|
|
117
|
-
### 场景 2: 邮箱验证
|
|
118
|
-
Given: 用户收到验证邮件
|
|
119
|
-
When: 点击验证链接
|
|
120
|
-
Then: 账户激活,跳转到登录页
|
|
121
|
-
|
|
122
|
-
## 非功能需求
|
|
123
|
-
- 注册接口响应 < 500ms
|
|
124
|
-
- 密码使用 bcrypt 哈希
|
|
125
|
-
```
|
|
54
|
+
**`design.md`:** 架构决策及理由、文件变更清单表格、数据模型、API 设计
|
|
126
55
|
|
|
127
|
-
**`
|
|
128
|
-
```markdown
|
|
129
|
-
# 技术设计
|
|
130
|
-
|
|
131
|
-
## 架构决策
|
|
132
|
-
- 使用 JWT 存储 session(而非 server-side session)
|
|
133
|
-
- 理由:支持未来微服务拆分
|
|
134
|
-
|
|
135
|
-
## 文件变更清单
|
|
136
|
-
| 操作 | 文件 | 说明 |
|
|
137
|
-
|---|---|---|
|
|
138
|
-
| 新建 | `src/lib/auth.ts` | 认证核心逻辑 |
|
|
139
|
-
| 新建 | `src/app/api/auth/register/route.ts` | 注册接口 |
|
|
140
|
-
| 修改 | `prisma/schema.prisma` | 添加 User 模型 |
|
|
141
|
-
|
|
142
|
-
## 数据模型
|
|
143
|
-
[Prisma schema 或数据库表设计]
|
|
144
|
-
|
|
145
|
-
## API 设计
|
|
146
|
-
POST /api/auth/register
|
|
147
|
-
Request: { email: string, password: string }
|
|
148
|
-
Response: { userId: string, message: "verification email sent" }
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
**`tasks.md`** — 实现清单:
|
|
152
|
-
```markdown
|
|
153
|
-
# 实现清单
|
|
154
|
-
|
|
155
|
-
## 准备
|
|
156
|
-
- [ ] Task 0: 配置开发环境(依赖、环境变量)
|
|
157
|
-
|
|
158
|
-
## 实现
|
|
159
|
-
- [ ] Task 1: 数据库模型(User 表)
|
|
160
|
-
- [ ] Task 2: 注册 API
|
|
161
|
-
- [ ] Task 3: 邮件发送服务
|
|
162
|
-
- [ ] Task 4: 邮箱验证流程
|
|
163
|
-
|
|
164
|
-
## 收尾
|
|
165
|
-
- [ ] Task 5: 错误处理和边界情况
|
|
166
|
-
- [ ] Task 6: 集成测试
|
|
167
|
-
```
|
|
56
|
+
**`tasks.md`:** 准备 → 实现 → 收尾的任务列表(每个 task 标注文件路径)
|
|
168
57
|
|
|
169
58
|
### 4. 展示关键文件
|
|
170
59
|
|
|
171
|
-
展示 proposal.md 和 design.md 给用户审阅。tasks.md
|
|
172
|
-
|
|
173
|
-
### 5. 自检门控(Hard Gate)
|
|
174
|
-
|
|
175
|
-
在展示文件给用户之前,**必须自检**:
|
|
176
|
-
|
|
177
|
-
- [ ] proposal.md 是否包含"动机"、"变更范围"、"不在范围内"、"成功标准"四个章节?
|
|
178
|
-
- [ ] design.md 是否包含"文件变更清单"表格?
|
|
179
|
-
- [ ] specs/requirements.md 是否包含 Given/When/Then 格式的用户场景?
|
|
180
|
-
- [ ] tasks.md 是否每个 task 都有文件路径?
|
|
60
|
+
展示 proposal.md 和 design.md 给用户审阅。tasks.md 只展示任务列表。
|
|
181
61
|
|
|
182
|
-
|
|
62
|
+
### 5. 自检门控
|
|
183
63
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
```bash
|
|
189
|
-
bash scripts/validate-proposal.sh .sillyspec/changes/$ARGUMENTS
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
- 脚本返回 0 → 自检通过,继续展示文件
|
|
193
|
-
- 脚本返回非 0 → 根据错误提示修正文件,重新运行脚本
|
|
194
|
-
|
|
195
|
-
### 7. 最后说:
|
|
196
|
-
|
|
197
|
-
**用 CLI 验证并获取下一步:**
|
|
64
|
+
- [ ] proposal.md 含"动机、变更范围、不在范围内、成功标准"?
|
|
65
|
+
- [ ] design.md 含"文件变更清单"表格?
|
|
66
|
+
- [ ] requirements.md 含 Given/When/Then 用户场景?
|
|
67
|
+
- [ ] tasks.md 每个 task 有文件路径?
|
|
198
68
|
|
|
199
69
|
```bash
|
|
200
|
-
sillyspec
|
|
70
|
+
bash scripts/validate-proposal.sh .sillyspec/changes/$ARGUMENTS 2>/dev/null
|
|
201
71
|
```
|
|
202
72
|
|
|
203
|
-
|
|
204
|
-
> 规范已生成到 `.sillyspec/changes/$ARGUMENTS/`。
|
|
205
|
-
>
|
|
206
|
-
> 审阅 `proposal.md`(为什么做)和 `design.md`(怎么做)。
|
|
207
|
-
> 下一步:
|
|
73
|
+
### 6. 完成
|
|
208
74
|
|
|
209
75
|
```bash
|
|
210
|
-
sillyspec next
|
|
76
|
+
sillyspec status --json && sillyspec next
|
|
211
77
|
```
|
|
212
78
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
### 8. 更新 STATE.md
|
|
216
|
-
|
|
217
|
-
propose 完成后,**必须自动更新** `.sillyspec/STATE.md`:
|
|
218
|
-
|
|
219
|
-
- 当前阶段改为 `propose ✅`
|
|
220
|
-
- 下一步改为 `/sillyspec:plan`
|
|
221
|
-
- 历史记录追加时间 + propose 完成
|
|
222
|
-
- 如果是子阶段(stages/ 下),更新阶段进度
|
|
223
|
-
|
|
224
|
-
## 绝对规则
|
|
225
|
-
- 不写实现代码
|
|
226
|
-
- tasks.md 只列任务名,不写具体步骤
|
|
227
|
-
- 必须包含可量化的成功标准
|
|
228
|
-
- 用户场景用 Given/When/Then 格式
|
|
229
|
-
- **禁止编造不存在的表名、字段名、API 端点。** design.md 中引用的数据库对象必须来自 ARCHITECTURE.md 的数据模型章节,或明确标注为"新增"
|
|
79
|
+
更新 `.sillyspec/STATE.md`:阶段改为 `propose ✅`,下一步 `/sillyspec:plan`。
|
package/templates/quick.md
CHANGED
|
@@ -1,57 +1,22 @@
|
|
|
1
|
-
|
|
1
|
+
## 交互规范
|
|
2
|
+
**当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。**
|
|
2
3
|
|
|
3
|
-
|
|
4
|
+
## 核心约束(必须遵守)
|
|
5
|
+
- ❌ 不写测试(底线是仍然要写测试)
|
|
6
|
+
- ❌ 修改无关文件
|
|
7
|
+
- ❌ 跳过测试因为"任务太简单"
|
|
4
8
|
|
|
5
9
|
## 任务
|
|
6
10
|
$ARGUMENTS
|
|
7
11
|
|
|
8
|
-
|
|
9
|
-
- bug 修复
|
|
10
|
-
- 改颜色、改文案、调样式
|
|
11
|
-
- 加一行日志
|
|
12
|
-
- 不需要规范管理的零碎任务
|
|
12
|
+
---
|
|
13
13
|
|
|
14
14
|
## 流程
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
cat .sillyspec/codebase/CONVENTIONS.md 2>/dev/null
|
|
23
|
-
cat .sillyspec/codebase/ARCHITECTURE.md 2>/dev/null
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
### 3. TDD 执行
|
|
27
|
-
|
|
28
|
-
- 写失败测试 → 确认失败
|
|
29
|
-
- 写最少代码 → 确认通过
|
|
30
|
-
- 重构(如需要)
|
|
31
|
-
|
|
32
|
-
### 4. 运行相关测试
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
pnpm test 2>/dev/null || npm test 2>/dev/null || pytest 2>/dev/null
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
确保没有引入回归。
|
|
39
|
-
|
|
40
|
-
### 5. Git commit
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
git add -A
|
|
44
|
-
git commit -m "fix: $ARGUMENTS"
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
### 最后说:
|
|
48
|
-
|
|
49
|
-
> ✅ 完成:$ARGUMENTS
|
|
50
|
-
> 修改文件:xxx, yyy
|
|
51
|
-
> 新增测试:zzz
|
|
52
|
-
> 提交:abc1234
|
|
16
|
+
1. **理解任务:** 模糊则问一个问题确认
|
|
17
|
+
2. **加载最小上下文:** `cat .sillyspec/codebase/{CONVENTIONS,ARCHITECTURE}.md 2>/dev/null`
|
|
18
|
+
3. **TDD 执行:** 🔴 写失败测试 → 🟢 写最少代码 → 🔵 重构
|
|
19
|
+
4. **运行相关测试:** `pnpm test 2>/dev/null || npm test 2>/dev/null || pytest 2>/dev/null`
|
|
20
|
+
5. **Git commit:** `git add -A && git commit -m "fix: $ARGUMENTS"`
|
|
53
21
|
|
|
54
|
-
|
|
55
|
-
- 仍然要写测试(这是底线)
|
|
56
|
-
- 如果任务比预期复杂 → 停下来建议用完整流程
|
|
57
|
-
- 不修改无关文件
|
|
22
|
+
如果任务比预期复杂 → 停下来建议用完整流程。
|
package/templates/resume.md
CHANGED
|
@@ -1,104 +1,47 @@
|
|
|
1
1
|
## 交互规范
|
|
2
|
-
|
|
3
2
|
**当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。**
|
|
4
3
|
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
## 核心约束(必须遵守)
|
|
5
|
+
- ❌ 直接说"没有记录"(无 STATE.md 时应自动探测)
|
|
6
|
+
- ❌ 修改任何文件(只读展示,但探测后可创建 STATE.md)
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
---
|
|
9
9
|
|
|
10
10
|
## 流程
|
|
11
11
|
|
|
12
|
-
### 1
|
|
12
|
+
### Step 1: 读取 STATE.md
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
15
|
cat .sillyspec/STATE.md 2>/dev/null
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
直接从 STATE.md 中提取并展示:
|
|
21
|
-
|
|
22
|
-
> 🔄 工作状态恢复
|
|
23
|
-
>
|
|
24
|
-
> **当前变更**:<名称>
|
|
25
|
-
> **当前阶段**:<阶段名> <状态>
|
|
26
|
-
> **下一步**:<命令>
|
|
27
|
-
>
|
|
28
|
-
> **阶段进度**(大模块):
|
|
29
|
-
> | 阶段 | 状态 |
|
|
30
|
-
> |---|---|
|
|
31
|
-
> | stage-1 列表页 | ✅ |
|
|
32
|
-
> | stage-2 表单页 | 🔄 execute (2/6) |
|
|
33
|
-
> | stage-3 详情页 | ⬜ |
|
|
34
|
-
>
|
|
35
|
-
> **关键决策**:
|
|
36
|
-
> - xxx
|
|
37
|
-
>
|
|
38
|
-
> **下一步命令**:
|
|
39
|
-
> `/sillyspec:execute reward-punishment/stage-2`
|
|
40
|
-
|
|
41
|
-
**不需要执行 Git 操作或文件探测。** STATE.md 已经包含所有信息。
|
|
18
|
+
**有 STATE.md:** 提取并展示当前变更、阶段、进度、下一步命令、阶段进度表、关键决策。AskUserQuestion:直接继续 / 查看更多细节。
|
|
42
19
|
|
|
43
|
-
|
|
44
|
-
1. 直接继续执行下一步
|
|
45
|
-
2. 查看更多细节
|
|
46
|
-
|
|
47
|
-
### 3. 如果没有 STATE.md
|
|
48
|
-
|
|
49
|
-
**不要直接说"没有记录"。** 自动探测项目状态:
|
|
20
|
+
**无 STATE.md:** 自动探测:
|
|
50
21
|
|
|
51
22
|
```bash
|
|
52
|
-
# 检查主变更
|
|
53
23
|
ls .sillyspec/changes/*/MASTER.md 2>/dev/null
|
|
54
|
-
|
|
55
|
-
# 检查活跃变更
|
|
56
|
-
ls .d .sillyspec/changes/*/ | grep -v archive | grep -v stages | tail -1 2>/dev/null
|
|
57
|
-
|
|
58
|
-
# 检查子阶段
|
|
24
|
+
ls -d .sillyspec/changes/*/ | grep -v archive | grep -v stages | tail -1 2>/dev/null
|
|
59
25
|
ls .sillyspec/changes/*/stages/*/proposal.md 2>/dev/null
|
|
60
|
-
|
|
61
|
-
# 检查代码库文档
|
|
62
|
-
ls .sillyspec/codebase/*.md 2>/dev/null
|
|
63
|
-
|
|
64
|
-
# 检查计划文件
|
|
65
|
-
ls -t .sillyspec/plans/*.md | head -1 2>/dev/null
|
|
66
|
-
|
|
67
|
-
# 检查需求/路线图
|
|
68
|
-
cat .sillyspec/REQUIREMENTS.md 2>/dev/null
|
|
69
|
-
cat .sillyspec/ROADMAP.md 2>/dev/null
|
|
26
|
+
ls .sillyspec/codebase/*.md .sillyspec/plans/*.md .sillyspec/{REQUIREMENTS,ROADMAP}.md 2>/dev/null
|
|
70
27
|
```
|
|
71
28
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
检查各阶段状态并输出阶段进度表(同步骤 2 格式)。
|
|
75
|
-
|
|
76
|
-
同时**创建 STATE.md**,将探测到的信息写入,后续命令执行时会自动更新。
|
|
77
|
-
|
|
78
|
-
#### 如果是普通变更(无 MASTER.md)
|
|
79
|
-
|
|
80
|
-
根据探测结果推断:
|
|
29
|
+
**探测结果推断:**
|
|
81
30
|
|
|
82
31
|
| 探测到的文件 | 推断阶段 | 建议操作 |
|
|
83
32
|
|---|---|---|
|
|
84
|
-
|
|
|
85
|
-
| 有 SCAN-RAW.md
|
|
86
|
-
|
|
|
87
|
-
| 有
|
|
88
|
-
| 有
|
|
89
|
-
|
|
|
90
|
-
|
|
|
91
|
-
| tasks.md 全部完成 | 待验证 | `/sillyspec:verify` |
|
|
92
|
-
|
|
93
|
-
**扫描中断检测逻辑:**
|
|
94
|
-
- 有 `SCAN-RAW.md` → 说明深度扫描预处理已完成,检查 7 份文档缺哪些
|
|
95
|
-
- 有部分 codebase 文档(如只有 STACK 和 STRUCTURE)→ 说明快扫或深扫中断
|
|
96
|
-
- 缺失的文档列表直接展示给用户,告知 `/sillyspec:scan` 会自动跳过已存在的文档
|
|
33
|
+
| 无 .sillyspec/ 内容 | 未开始 | `/sillyspec:init` 或 `/sillyspec:scan` |
|
|
34
|
+
| 有 SCAN-RAW.md 或 codebase 文档不全 | 扫描中断 | `/sillyspec:scan`(断点续扫) |
|
|
35
|
+
| codebase 7 份齐全无 changes/ | 已扫描未开始需求 | `/sillyspec:brainstorm` |
|
|
36
|
+
| 有 REQUIREMENTS.md 无 changes/ | 绿地有需求 | `/sillyspec:propose` |
|
|
37
|
+
| changes/ 有 proposal 无 tasks | 待计划 | `/sillyspec:plan` |
|
|
38
|
+
| tasks.md 有未完成 checkbox | 执行中 | `/sillyspec:execute` |
|
|
39
|
+
| tasks.md 全完成 | 待验证 | `/sillyspec:verify` |
|
|
97
40
|
|
|
98
|
-
**同时创建 STATE.md
|
|
41
|
+
**同时创建 STATE.md 记录推断状态。**
|
|
99
42
|
|
|
100
|
-
###
|
|
43
|
+
### 关键原则
|
|
101
44
|
|
|
102
|
-
-
|
|
103
|
-
-
|
|
104
|
-
-
|
|
45
|
+
- STATE.md 是唯一恢复数据源(不需要 HANDOFF.json)
|
|
46
|
+
- STATE.md 不需要 Git 提交(可加入 `.gitignore`)
|
|
47
|
+
- 每次命令执行完自动更新
|