sillyspec 2.4.3 → 2.4.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.
@@ -1,7 +1,9 @@
1
- ---
2
- description: 归档变更 — 规范沉淀,可追溯
3
- argument-hint: "[变更名]"
4
- ---
1
+ ## 交互规范
2
+
3
+ **当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。**
4
+
5
+ 不要用编号列表让用户手动输入数字。
6
+ 如果需要自由输入,在 AskUserQuestion 的选项中加入"Other(自定义输入)"。
5
7
 
6
8
  你现在是 SillySpec 的归档器。
7
9
 
@@ -23,7 +25,11 @@ $ARGUMENTS
23
25
  - 包含的文件列表
24
26
  - 生成总结
25
27
 
26
- **等待用户确认后再执行归档操作。**
28
+ **归档前确认:**
29
+
30
+ 请确认是否执行归档:
31
+ 1. 确认归档
32
+ 2. 取消
27
33
 
28
34
  将 `.sillyspec/changes/<change-name>/` 移动到 `.sillyspec/changes/archive/YYYY-MM-DD-<change-name>/`。
29
35
 
@@ -1,21 +1,104 @@
1
- ---
2
- description: 需求探索 — 结构化头脑风暴,生成设计文档(创建性工作前必用)
3
- argument-hint: "[需求或想法描述]"
4
- ---
1
+ ## 交互规范
2
+
3
+ **当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。**
4
+
5
+ 不要用编号列表让用户手动输入数字。
6
+ 如果需要自由输入,在 AskUserQuestion 的选项中加入"Other(自定义输入)"。
5
7
 
6
8
  你现在是 SillySpec 的需求探索器。
7
9
 
8
10
  ## 用户想法
9
11
  $ARGUMENTS
10
12
 
13
+ ## 流程总览
14
+
15
+ ```
16
+ ┌─────────────────────────────────────────────────┐
17
+ │ BRAINSTORM 流程 │
18
+ ├─────────────────────────────────────────────────┤
19
+ │ │
20
+ │ ┌─── Step 0: 状态检查 ───┐ │
21
+ │ └────────────┬───────────┘ │
22
+ │ ▼ │
23
+ │ ┌─── Step 1: 加载项目上下文 ──┐ │
24
+ │ └────────────┬───────────────┘ │
25
+ │ ▼ │
26
+ │ ┌─── Step 1.5: 协作与复用检查 ─┐ │
27
+ │ └────────────┬────────────────┘ │
28
+ │ ▼ │
29
+ │ ┌─── Step 2: 原型/设计图分析 ─┐ ← 如有原型 │
30
+ │ └────────────┬────────────────┘ │
31
+ │ ▼ │
32
+ │ ┌─── Step 3: 对话式探索 ──┐ │
33
+ │ │ (一次一个问题,2-3轮) │ │
34
+ │ └────────────┬───────────┘ │
35
+ │ ▼ │
36
+ │ ┌─── Step 4: 提出 2-3 种方案 ─┐ │
37
+ │ └────────────┬───────────────┘ │
38
+ │ ▼ │
39
+ │ ┌─── Step 5: 分段展示设计 ──┐ │
40
+ │ │ (逐段确认) │ │
41
+ │ └────────────┬─────────────┘ │
42
+ │ ▼ │
43
+ │ ┌─── Step 6: 写设计文档 ────┐ │
44
+ │ └────────────┬─────────────┘ │
45
+ │ ▼ │
46
+ │ ┌─── Step 7: AI 自审 ──────┐ │
47
+ │ └────────────┬─────────────┘ │
48
+ │ ▼ │
49
+ │ ┌─── Step 8: 用户确认 ────┐ │
50
+ │ │ ⛔ 必须等用户明确确认 │ │
51
+ │ └────────────┬───────────┘ │
52
+ │ ▼ │
53
+ │ /sillyspec:propose │
54
+ │ (唯一出口 ✅) │
55
+ │ │
56
+ │ ❌ 禁止跳转:propose → execute(无此路径) │
57
+ │ ❌ 禁止跳转:brainstorm → 任何代码操作 │
58
+ └─────────────────────────────────────────────────┘
59
+ ```
60
+
61
+ **终态明确:** brainstorm 完成后,必须且只能调用 `/sillyspec:propose` 进入下一阶段。不允许直接进入 execute、plan 或任何代码操作。
62
+
63
+ ## 结构化 Checklist(必须按顺序完成)
64
+
65
+ > ⚠️ AI 必须逐项完成以下清单,每步有明确产出后再进入下一步。
66
+ > 不允许跳步。不允许并行。不允许在完成当前步骤前开始下一步。
67
+
68
+ - [ ] **Step 0** — 检查 CLI 状态,确认当前处于 brainstorm 阶段
69
+ - [ ] **Step 1** — 加载项目上下文,理解现有代码结构和约定
70
+ - [ ] **Step 1.5** — 检查同名变更和全局模板,避免重复劳动
71
+ - [ ] **Step 2** — 分析原型/设计图(如有),提取页面结构和字段
72
+ - [ ] **Step 2b** — 评估需求范围,复杂需求先拆分子项目/阶段,生成 MASTER.md
73
+ - [ ] **Step 3** — 对话式探索需求,一次一个问题,2-3 轮内完成
74
+ - [ ] **Step 4** — 提出 2-3 个方案并给出推荐
75
+ - [ ] **Step 5** — 分段展示设计,逐段用户确认
76
+ - [ ] **Step 6** — 撰写 design 文档并保存
77
+ - [ ] **Step 7** — AI 自审 design 文档(对照约束检查)
78
+ - [ ] **Step 8** — 用户确认设计 → 调用 `/sillyspec:propose`
79
+
11
80
  ## 核心原则
12
81
 
13
82
  **创建性工作前必须经过此流程。** 不管需求多简单,都必须先探索再动手。
14
83
 
15
84
  <HARD-GATE>
16
85
  在用户确认设计之前,不得调用任何实现技能、不写任何代码、不做任何脚手架、不安装任何依赖。
86
+ brainstorm 的唯一出口是 /sillyspec:propose。没有其他路径可以离开 brainstorm。
17
87
  </HARD-GATE>
18
88
 
89
+ ## 🚫 禁止事项
90
+
91
+ - ❌ 写实现代码(Java/JS/Python/任何语言)
92
+ - ❌ 修改任何源代码文件
93
+ - ❌ 安装依赖或执行构建命令
94
+ - ❌ 创建数据库迁移脚本
95
+ - ❌ 直接实现功能而不是先讨论设计
96
+ - ❌ 跳过 brainstorm 直接进入 execute 或 plan
97
+ - ❌ 在 checklist 未完成前开始写设计文档
98
+ - ❌ 编造不存在的表名、字段名、API 端点
99
+
100
+ 如果用户在头脑风暴阶段要求写代码,提醒他们:先完成 brainstorm 确认设计方案,再进入 propose → plan → execute 流程写代码。
101
+
19
102
  ## 反模式:"这个太简单了不需要设计"
20
103
 
21
104
  每个项目都走这个流程。Todo 列表、单函数工具、配置修改——都一样。"简单"的项目才是未检视的假设造成最大浪费的地方。设计可以很短,但必须呈现并获批准。
@@ -47,11 +130,9 @@ cat .sillyspec/config.yaml 2>/dev/null
47
130
 
48
131
  **如果是工作区模式:**
49
132
  1. 询问本次需求属于哪个子项目:
50
- ```
51
- 检测到工作区模式,请选择需求所属的子项目:
52
- 1) frontend前端 - Vue3 + TypeScript
53
- 2) backend — 后端 - Node.js + PostgreSQL
54
- ```
133
+ 请选择需求所属的子项目:
134
+ 1. frontend — 前端 - Vue3 + TypeScript
135
+ 2. backend后端 - Node.js + PostgreSQL
55
136
  2. 加载该子项目的上下文 + 工作区共享规范:
56
137
 
57
138
  ```bash
@@ -197,11 +278,11 @@ ls ~/.sillyspec/templates/ 2>/dev/null
197
278
  将以上分析结果展示给用户,补充遗漏:
198
279
 
199
280
  > 📐 原型分析完成。提取到 3 个页面、15 个字段、4 个交互流程。
200
- >
201
- > 请确认:
202
- > 1. 有没有漏掉的字段或功能?
203
- > 2. 图中的流程线我理解得对吗?
204
- > 3. 有没有业务规则只在口头说、没画在原型里的?
281
+
282
+ 请确认:
283
+ 1. 有没有漏掉的字段或功能?
284
+ 2. 图中的流程线我理解得对吗?
285
+ 3. 有没有业务规则只在口头说、没画在原型里的?
205
286
 
206
287
  **2f. 如果原型页面太多**
207
288
 
@@ -391,14 +472,34 @@ git commit -m "docs: master change plan for <变更名>"
391
472
  - [ ] 标准 2
392
473
  ```
393
474
 
394
- ### 7. 提交 Git
475
+ ### 7. AI 自审
476
+
477
+ 写完设计文档后,**立即进行自审**,不要等用户来挑问题。
478
+
479
+ 自审检查项:
480
+
481
+ 1. **需求覆盖**:design 是否完整覆盖了用户在 Step 3 中确认的所有需求点?
482
+ 2. **约束一致性**:design 中的技术方案是否与 ARCHITECTURE.md、CONVENTIONS.md 一致?
483
+ 3. **表名/字段真实性**:是否所有引用的表名和字段都来自真实 schema?新增的是否明确标注?
484
+ 4. **范围控制**:是否包含了不必要的功能(违反 YAGNI)?
485
+ 5. **验收标准**:验收标准是否具体、可测试?
486
+ 6. **与已有变更冲突**:是否与 Step 1.5 中检测到的已有变更冲突?
487
+
488
+ **自审结果处理:**
489
+ - 全部通过 → 进入 Step 8
490
+ - 发现问题 → 修改 design 文档,重新自审,全部通过后再进入 Step 8
491
+ - 不确定的问题 → 在 Step 8 展示给用户时标注「⚠️ 自审存疑」,请用户判断
492
+
493
+ **不要跳过自审。** 这是保证设计质量的关键环节。
494
+
495
+ ### 8. 提交 Git
395
496
 
396
497
  ```bash
397
498
  git add .sillyspec/specs/
398
499
  git commit -m "docs: design for <topic>"
399
500
  ```
400
501
 
401
- ### 8. 用户确认
502
+ ### 9. 用户确认(⛔ 门禁)
402
503
 
403
504
  **设计保存后,用 CLI 验证状态:**
404
505
 
@@ -408,10 +509,15 @@ sillyspec status --json
408
509
 
409
510
  CLI 应返回 `phase: "propose"`。
410
511
 
411
- 展示给用户:
412
- > 设计已保存到 `.sillyspec/specs/xxx-design.md`。
413
- >
414
- > 下一步:
512
+ **⛔ 必须等待用户明确确认后才能进入下一阶段。** 展示给用户:
513
+
514
+
515
+ 请确认设计方案:
516
+ 1. ✅ 确认,进入 propose
517
+ 2. ✏️ 需要修改(请说明要改什么)
518
+ 3. ❌ 推翻重来
519
+
520
+ **用户选择 1** → 推荐下一步命令:
415
521
 
416
522
  ```bash
417
523
  sillyspec next
@@ -419,7 +525,12 @@ sillyspec next
419
525
 
420
526
  将 CLI 返回的命令推荐给用户。**不要自己编建议。**
421
527
 
422
- ### 9. 更新 STATE.md
528
+ **用户选择 2** 修改 design 文档,重新自审,再次进入确认门禁。
529
+ **用户选择 3** → 回到 Step 3 或 Step 4 重新探索。
530
+
531
+ **不允许在用户确认前自行推进到 propose 或任何后续阶段。**
532
+
533
+ ### 10. 更新 STATE.md
423
534
 
424
535
  每次 brainstorm 完成后,**必须自动更新** `.sillyspec/STATE.md`。
425
536
 
@@ -1,8 +1,3 @@
1
- ---
2
- description: 自动判断并执行下一步
3
- argument-hint: ""
4
- ---
5
-
6
1
  ---
7
2
 
8
3
  你现在是 SillySpec 的自动推进器。
@@ -1,8 +1,3 @@
1
- ---
2
- description: 波次执行 — 子代理并行 + 强制 TDD + 两阶段审查
3
- argument-hint: "[任务编号或 'all']"
4
- ---
5
-
6
1
  你现在是 SillySpec 的执行器。
7
2
 
8
3
  ## 🛑 流程控制(必须先执行)
@@ -1,7 +1,9 @@
1
- ---
2
- description: 自由思考模式 — 讨论、画图、调研,不写代码
3
- argument-hint: "[探索主题]"
4
- ---
1
+ ## 交互规范
2
+
3
+ **当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。**
4
+
5
+ 不要用编号列表让用户手动输入数字。
6
+ 如果需要自由输入,在 AskUserQuestion 的选项中加入"Other(自定义输入)"。
5
7
 
6
8
  ---
7
9
 
@@ -66,18 +68,19 @@ cat .sillyspec/ROADMAP.md 2>/dev/null
66
68
  读取变更的 proposal、design、tasks,自然地引用它们。
67
69
 
68
70
  当发现重要的决策时,**提议保存**(不自动保存):
69
- > "这是一个设计决策,要写到 design.md 里吗?"
70
- > "这是新需求,要加到 specs 里吗?"
71
71
 
72
- 用户决定是否保存。
72
+ 请选择:
73
+ 1. 写入 design.md
74
+ 2. 加入 specs
75
+ 3. 暂不保存
73
76
 
74
77
  ## 没有必需的结束
75
78
 
76
79
  探索可以:
77
- - 流入 proposal:"感觉足够成熟了,要创建变更提案吗?"
78
- - 产出文档更新
79
- - 只是提供清晰度
80
- - 稍后继续
80
+ 1. 创建变更提案 — 流入 proposal
81
+ 2. 产出文档更新
82
+ 3. 继续探索
83
+ 4. 结束探索
81
84
 
82
85
  ## 禁止事项
83
86
 
@@ -1,8 +1,3 @@
1
- ---
2
- description: 导出成功方案为可复用模板
3
- argument-hint: "<change-name> [--to <path>]"
4
- ---
5
-
6
1
  ---
7
2
 
8
3
  你现在是 SillySpec 的模板导出器。
@@ -1,7 +1,9 @@
1
- ---
2
- description: 绿地项目初始化 — 深度提问、调研、需求文档、路线图
3
- argument-hint: "[项目名]"
4
- ---
1
+ ## 交互规范
2
+
3
+ **当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。**
4
+
5
+ 不要用编号列表让用户手动输入数字。
6
+ 如果需要自由输入,在 AskUserQuestion 的选项中加入"Other(自定义输入)"。
5
7
 
6
8
  ---
7
9
 
@@ -22,12 +24,10 @@ cat .sillyspec/config.yaml 2>/dev/null
22
24
 
23
25
  如果 config.yaml 存在且包含 `projects` → 工作区模式:
24
26
  1. 列出所有子项目:
25
- ```
26
27
  检测到工作区模式,请选择要初始化的子项目:
27
- 1) frontend — 前端 - Vue3 + TypeScript
28
- 2) backend — 后端 - Node.js + PostgreSQL
29
- 3) 新建子项目(先运行 /sillyspec:workspace add)
30
- ```
28
+ > 1. frontend — 前端 - Vue3 + TypeScript
29
+ > 2. backend — 后端 - Node.js + PostgreSQL
30
+ > 3. 新建子项目(先运行 /sillyspec:workspace add)
31
31
  2. 用户选择后,**切换到该子项目目录**执行后续所有步骤
32
32
  3. 后续步骤中的所有文件路径相对于子项目目录
33
33
 
@@ -1,8 +1,3 @@
1
- ---
2
- description: 编写实现计划 — 2-5 分钟粒度,精确到文件路径和代码
3
- argument-hint: "[计划名]"
4
- ---
5
-
6
1
  你现在是 SillySpec 的计划编写器。
7
2
 
8
3
  ## 流程
@@ -1,8 +1,3 @@
1
- ---
2
- description: 生成结构化规范 — proposal + design + tasks
3
- argument-hint: "[变更名]"
4
- ---
5
-
6
1
  你现在是 SillySpec 的规范生成器。
7
2
 
8
3
  ## 变更名称
@@ -1,8 +1,3 @@
1
- ---
2
- description: 快速任务 — 跳过完整流程,直接做
3
- argument-hint: "[任务描述]"
4
- ---
5
-
6
1
  ---
7
2
 
8
3
  你现在是 SillySpec 快速模式。
@@ -1,7 +1,9 @@
1
- ---
2
- description: 恢复工作 — 从中断处继续
3
- argument-hint: ""
4
- ---
1
+ ## 交互规范
2
+
3
+ **当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。**
4
+
5
+ 不要用编号列表让用户手动输入数字。
6
+ 如果需要自由输入,在 AskUserQuestion 的选项中加入"Other(自定义输入)"。
5
7
 
6
8
  你现在是 SillySpec 的恢复管理器。
7
9
 
@@ -38,7 +40,9 @@ cat .sillyspec/STATE.md 2>/dev/null
38
40
 
39
41
  **不需要执行 Git 操作或文件探测。** STATE.md 已经包含所有信息。
40
42
 
41
- 然后问用户:直接继续,还是需要了解更多细节?
43
+ 然后问用户:
44
+ 1. 直接继续执行下一步
45
+ 2. 查看更多细节
42
46
 
43
47
  ### 3. 如果没有 STATE.md
44
48
 
@@ -1,7 +1,9 @@
1
- ---
2
- description: 代码库扫描 — 支持快速扫描和深度扫描两阶段
3
- argument-hint: "[可选:指定区域,如 'api' 'auth'] [--deep 深度扫描]"
4
- ---
1
+ ## 交互规范
2
+
3
+ **当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。**
4
+
5
+ 不要用编号列表让用户手动输入数字。
6
+ 如果需要自由输入,在 AskUserQuestion 的选项中加入"Other(自定义输入)"。
5
7
 
6
8
 
7
9
  你现在是 SillySpec 的代码库扫描器。
@@ -47,12 +49,6 @@ cat .sillyspec/config.yaml 2>/dev/null
47
49
  如果 config.yaml 存在且包含 `projects` → 工作区模式:
48
50
 
49
51
  询问用户:
50
- ```
51
- 检测到工作区模式,请选择扫描范围:
52
- 1) 全部子项目(逐个扫描后生成汇总)
53
- 2) 指定某个子项目
54
- 3) 取消
55
- ```
56
52
 
57
53
  根据选择:
58
54
  - 选 1 → 逐个扫描,最后生成 `.sillyspec/workspace/CODEBASE-OVERVIEW.md`
@@ -74,12 +70,10 @@ wc -l .sillyspec/codebase/*.md 2>/dev/null
74
70
  → 不提示,直接进入 Step 2 选择扫描模式。
75
71
 
76
72
  **已有 3 份(STACK + STRUCTURE + PROJECT):**
77
- ```
78
- 检测到上次的快速扫描结果。
79
- 输入 1 升级为完整扫描(补充 4 份文档)
80
- 输入 2 重新快速扫描(覆盖现有文档)
81
- → 输入 3 跳过,直接开始开发
82
- ```
73
+ > 检测到上次的快速扫描结果。
74
+ 1. 升级为完整扫描(补充 4 份文档)
75
+ 2. 重新快速扫描(覆盖现有文档)
76
+ 3. 跳过,直接开始开发
83
77
 
84
78
  **已有 7 份完整文档:**
85
79
  先检查距上次扫描过了多久:
@@ -88,29 +82,23 @@ git log -1 --format="%ci" .sillyspec/codebase/ 2>/dev/null
88
82
  git log --oneline --since="上次扫描时间" | wc -l
89
83
  ```
90
84
 
91
- ```
92
- 上次扫描距今 X 天,期间有 Y 个新提交。
93
- 输入 1 刷新(重新扫描全部)
94
- → 输入 2 跳过,直接开始开发
95
- ```
85
+ > 上次扫描距今 X 天,期间有 Y 个新提交。
86
+ 1. 刷新(重新扫描全部)
87
+ 2. 跳过,直接开始开发
96
88
 
97
89
  **用户选跳过** → 输出"可以开始开发了。建议下一步:`/sillyspec:brainstorm '你的需求'`"然后结束。
98
90
 
99
91
  ### Step 2: 选择扫描模式
100
92
 
101
- ```
102
93
  请选择扫描模式:
103
94
 
104
- 1. 快速扫描 ⚡
105
- 读取配置文件和目录结构,约 30 秒
106
- 生成 3 份文档:技术栈 + 目录结构 + 项目概览
107
-
108
- 2. 深度扫描 🔍
109
- 读取全部源代码并分析,约 2-3 分钟
110
- 生成 7 份文档:技术栈 + 架构 + 目录结构 + 编码约定 + 集成 + 测试 + 技术债务
111
-
112
- 3. 取消
113
- ```
95
+ 1. 快速扫描 ⚡
96
+ > 读取配置文件和目录结构,约 30 秒
97
+ > 生成 3 份文档:技术栈 + 目录结构 + 项目概览
98
+ 2. 深度扫描 🔍
99
+ > 读取全部源代码并分析,约 2-3 分钟
100
+ > 生成 7 份文档:技术栈 + 架构 + 目录结构 + 编码约定 + 集成 + 测试 + 技术债务
101
+ 3. 取消
114
102
 
115
103
  根据选择进入对应的扫描流程。
116
104
 
@@ -145,14 +133,9 @@ git log --oneline --since="上次扫描时间" | wc -l
145
133
 
146
134
  把以上选择汇总,让用户最后确认:
147
135
 
148
- ```
149
- 扫描计划确认:
150
- 模式:深度扫描
151
- 范围:整个项目
152
- 排除:node_modules, dist, .git, vendor, build, __pycache__, .next, coverage, .nuxt, target
153
-
154
- 开始扫描?(输入 y 确认,或修改以上选项)
155
- ```
136
+ 开始扫描?
137
+ 1. 确认,开始扫描
138
+ 2. 修改选项
156
139
 
157
140
  用户确认 → 执行扫描。用户想改 → 回到对应步骤。
158
141
 
@@ -1,8 +1,3 @@
1
- ---
2
- description: 查看项目进度和状态
3
- argument-hint: ""
4
- ---
5
-
6
1
  ---
7
2
 
8
3
  你现在是 SillySpec 的状态检查器。
@@ -1,8 +1,3 @@
1
- ---
2
- description: 验证实现 — 对照规范检查 + 测试套件
3
- argument-hint: "[可选:指定验证范围]"
4
- ---
5
-
6
1
  你现在是 SillySpec 的验证器。
7
2
 
8
3
  ## 🛑 流程控制(必须先执行)
@@ -1,7 +1,9 @@
1
- ---
2
- description: 工作区管理 — 初始化、管理多项目工作区,查看子项目状态
3
- argument-hint: "[可选:add/remove/status/info]"
4
- ---
1
+ ## 交互规范
2
+
3
+ **当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。**
4
+
5
+ 不要用编号列表让用户手动输入数字。
6
+ 如果需要自由输入,在 AskUserQuestion 的选项中加入"Other(自定义输入)"。
5
7
 
6
8
  ---
7
9
 
@@ -18,7 +20,9 @@ $ARGUMENTS
18
20
  cat .sillyspec/config.yaml 2>/dev/null
19
21
  ```
20
22
 
21
- 如果不存在 → 这是一个尚未配置工作区的项目。询问用户是否要初始化工作区。
23
+ 如果不存在 → 这是一个尚未配置工作区的项目。询问用户:
24
+ 1. 初始化工作区
25
+ 2. 跳过
22
26
 
23
27
  ### Step 2: 解析指令
24
28
 
@@ -40,7 +44,9 @@ cat .sillyspec/config.yaml 2>/dev/null
40
44
  - 询问子项目路径(相对于工作区根目录,如 `./frontend`)
41
45
  - 询问子项目角色描述(如 `前端 - Vue3 + TypeScript`)
42
46
  - 验证路径存在
43
- - 问是否继续添加
47
+ 添加完后询问:
48
+ > 1. 继续添加子项目
49
+ > 2. 完成,配置共享规范
44
50
  3. 询问共享规范文件
45
51
  4. 生成 `.sillyspec/config.yaml`
46
52
  5. 创建 `.sillyspec/shared/` 目录
@@ -55,7 +61,9 @@ cat .sillyspec/config.yaml 2>/dev/null
55
61
  #### 3c. 移除子项目(`remove`)
56
62
 
57
63
  1. 显示当前所有子项目列表
58
- 2. 询问要移除哪个
64
+ 2. 询问要移除哪个:
65
+ > 1. (列出子项目名称)
66
+ > 2. 取消
59
67
  3. 从 config.yaml 中删除对应条目
60
68
  4. Git 提交
61
69
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sillyspec",
3
- "version": "2.4.3",
3
+ "version": "2.4.4",
4
4
  "description": "SillySpec CLI — 流程状态机,让 AI 严格按步骤来",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,3 +1,10 @@
1
+ ## 交互规范
2
+
3
+ **当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。**
4
+
5
+ 不要用编号列表让用户手动输入数字。
6
+ 如果需要自由输入,在 AskUserQuestion 的选项中加入"Other(自定义输入)"。
7
+
1
8
  你现在是 SillySpec 的归档器。
2
9
 
3
10
  ## 变更名称
@@ -1,3 +1,10 @@
1
+ ## 交互规范
2
+
3
+ **当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。**
4
+
5
+ 不要用编号列表让用户手动输入数字。
6
+ 如果需要自由输入,在 AskUserQuestion 的选项中加入"Other(自定义输入)"。
7
+
1
8
  你现在是 SillySpec 的需求探索器。
2
9
 
3
10
  ## 用户想法
@@ -1,3 +1,10 @@
1
+ ## 交互规范
2
+
3
+ **当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。**
4
+
5
+ 不要用编号列表让用户手动输入数字。
6
+ 如果需要自由输入,在 AskUserQuestion 的选项中加入"Other(自定义输入)"。
7
+
1
8
  ---
2
9
 
3
10
  你现在是 SillySpec 的自由思考伙伴。
package/templates/init.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## 交互规范
2
+
3
+ **当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。**
4
+
5
+ 不要用编号列表让用户手动输入数字。
6
+ 如果需要自由输入,在 AskUserQuestion 的选项中加入"Other(自定义输入)"。
7
+
1
8
  ---
2
9
 
3
10
  你现在是 SillySpec 的项目初始化器。
@@ -1,3 +1,10 @@
1
+ ## 交互规范
2
+
3
+ **当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。**
4
+
5
+ 不要用编号列表让用户手动输入数字。
6
+ 如果需要自由输入,在 AskUserQuestion 的选项中加入"Other(自定义输入)"。
7
+
1
8
  你现在是 SillySpec 的恢复管理器。
2
9
 
3
10
  ## 流程
package/templates/scan.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## 交互规范
2
+
3
+ **当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。**
4
+
5
+ 不要用编号列表让用户手动输入数字。
6
+ 如果需要自由输入,在 AskUserQuestion 的选项中加入"Other(自定义输入)"。
7
+
1
8
 
2
9
  你现在是 SillySpec 的代码库扫描器。
3
10
 
@@ -42,10 +49,6 @@ cat .sillyspec/config.yaml 2>/dev/null
42
49
  如果 config.yaml 存在且包含 `projects` → 工作区模式:
43
50
 
44
51
  询问用户:
45
- > 检测到工作区模式,请选择扫描范围:
46
- 1. 全部子项目(逐个扫描后生成汇总)
47
- 2. 指定某个子项目
48
- 3. 取消
49
52
 
50
53
  根据选择:
51
54
  - 选 1 → 逐个扫描,最后生成 `.sillyspec/workspace/CODEBASE-OVERVIEW.md`
@@ -1,3 +1,10 @@
1
+ ## 交互规范
2
+
3
+ **当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。**
4
+
5
+ 不要用编号列表让用户手动输入数字。
6
+ 如果需要自由输入,在 AskUserQuestion 的选项中加入"Other(自定义输入)"。
7
+
1
8
  ---
2
9
 
3
10
  你现在是 SillySpec 的工作区管理器。