sillyspec 3.20.5 → 3.20.7
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/CLAUDE.md +23 -0
- package/.claude/skills/sillyspec-archive/SKILL.md +86 -21
- package/.claude/skills/sillyspec-auto/SKILL.md +98 -83
- package/.claude/skills/sillyspec-brainstorm/SKILL.md +78 -44
- package/.claude/skills/sillyspec-doctor/SKILL.md +61 -31
- package/.claude/skills/sillyspec-execute/SKILL.md +90 -30
- package/.claude/skills/sillyspec-explore/SKILL.md +96 -109
- package/.claude/skills/sillyspec-export/SKILL.md +4 -0
- package/.claude/skills/sillyspec-init/SKILL.md +7 -0
- package/.claude/skills/sillyspec-plan/SKILL.md +74 -21
- package/.claude/skills/sillyspec-propose/SKILL.md +61 -21
- package/.claude/skills/sillyspec-quick/SKILL.md +84 -21
- package/.claude/skills/sillyspec-scan/SKILL.md +74 -21
- package/.claude/skills/sillyspec-state/SKILL.md +11 -1
- package/.claude/skills/sillyspec-status/SKILL.md +55 -21
- package/.claude/skills/sillyspec-verify/SKILL.md +82 -21
- package/.claude/skills/sillyspec-workspace/SKILL.md +12 -0
- package/CLAUDE.md +4 -0
- package/docs/sillyspec/file-lifecycle/platform-workflows-sync.md +5 -0
- package/docs/sillyspec/file-lifecycle/stage-artifacts.md +3 -3
- package/docs/sillyspec/file-lifecycle.md +17 -5
- package/docs/worktree-isolation.md +1 -1
- package/package.json +2 -2
- package/src/doctor-diagnostics.js +575 -0
- package/src/hooks/worktree-guard.js +111 -111
- package/src/index.js +158 -86
- package/src/progress.js +68 -0
- package/src/quick-recommend.js +115 -0
- package/src/run.js +272 -51
- package/src/stage-contract.js +23 -5
- package/src/stages/quick.js +36 -26
- package/src/sync.js +14 -3
- package/src/worktree.js +69 -28
- package/test/decision-ref-version.mjs +85 -0
- package/test/platform-scan-p0.test.mjs +18 -7
- package/test/quick-recommend.test.mjs +146 -0
- package/test/stage-contract.test.mjs +5 -3
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Claude Code 指引
|
|
2
|
+
|
|
3
|
+
# SillySpec工具定位
|
|
4
|
+
1. SillySpec 是给 Agent 调用的 CLI 工具,不是给人类直接使用的产品
|
|
5
|
+
2. SillySpec 是管理 Agent 工作流的 CLI 工具,不是处理业务逻辑的工具
|
|
6
|
+
3. 你是 Agent。SillySpec 是你的流程控制器。你通过 CLI 命令告诉它"我在哪",它告诉你"下一步该做什么"。你执行步骤,它校验产出、推进状态。人类用户只在关键决策点介入审批
|
|
7
|
+
|
|
8
|
+
## 文件生命周期文档同步
|
|
9
|
+
每次修改 `src/stages/` 下的阶段定义(prompt、步骤、输出文件名等)或 `src/run.js`、`src/progress.js` 等影响文件生命周期的代码后,**必须同步更新** `docs/sillyspec/file-lifecycle.md`,确保文档与代码一致。
|
|
10
|
+
|
|
11
|
+
### 触发更新的典型改动
|
|
12
|
+
- 新增/删除/重命名阶段步骤
|
|
13
|
+
- 修改步骤 prompt 中的输出文件名(如 verify-result.md)
|
|
14
|
+
- 修改阶段间的流转逻辑(如 archive 归档方式)
|
|
15
|
+
- 新增/删除运行时文件类型(如 gate-status.json)
|
|
16
|
+
- 修改 ProgressManager 的数据存储方式(如 SQLite 表结构变更)
|
|
17
|
+
|
|
18
|
+
### 更新检查清单
|
|
19
|
+
- [ ] 文件名引用一致(prompt 输出的文件名 == validateFileLocations 期望的文件名)
|
|
20
|
+
- [ ] 阶段步骤描述与 `src/stages/*.js` 一致
|
|
21
|
+
- [ ] 归档/清理流程描述与实际代码逻辑一致
|
|
22
|
+
- [ ] 数据库 Schema 描述与 `src/db.js` 一致
|
|
23
|
+
- [ ] 更新文档头部 `updated_at` 时间戳
|
|
@@ -1,21 +1,86 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: sillyspec:archive
|
|
3
|
-
description: 用于归档已验证完成的变更。适合用户说"归档、archive、收尾这个变更"。执行模块影响分析 + 同步模块文档 + 移动到 archive 目录 + 更新 ROADMAP。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
##
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
1
|
+
---
|
|
2
|
+
name: sillyspec:archive
|
|
3
|
+
description: 用于归档已验证完成的变更。适合用户说"归档、archive、收尾这个变更"。执行模块影响分析 + 同步模块文档 + 移动到 archive 目录 + 更新 ROADMAP。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## 何时使用
|
|
7
|
+
|
|
8
|
+
- 用户说"归档、archive、收尾这个变更"
|
|
9
|
+
- verify 已通过,把变更包归档沉淀
|
|
10
|
+
- 5 步:任务完成度检查 → 模块影响分析 → 同步模块文档 → 确认归档 → 更新路线图
|
|
11
|
+
|
|
12
|
+
## 多变更说明
|
|
13
|
+
|
|
14
|
+
项目有多个活跃变更(`.sillyspec/changes/` 下有多个目录)时,所有 `sillyspec run` 命令需加 `--change <变更名>` 指定操作目标;只有一个变更时可省略(CLI 自动检测)。
|
|
15
|
+
|
|
16
|
+
## 步骤生命周期(所有阶段通用)
|
|
17
|
+
|
|
18
|
+
> `sillyspec archive` 是 `sillyspec run archive` 的顶层别名,两者等价。
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
sillyspec run archive # 输出当前步骤 prompt
|
|
22
|
+
sillyspec run archive --done --output "摘要" # 完成当前步骤
|
|
23
|
+
sillyspec run archive --status # 查看阶段进度
|
|
24
|
+
sillyspec run archive --skip # 跳过可选步骤
|
|
25
|
+
sillyspec run archive --reset # 重置阶段(从头开始)
|
|
26
|
+
sillyspec run archive --reopen --from-step N # 重新打开已完成阶段修订(N=序号或名称)
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## 通用参数(所有阶段适用)
|
|
30
|
+
|
|
31
|
+
| 参数 | 说明 |
|
|
32
|
+
|---|---|
|
|
33
|
+
| `--change <名>` | 指定变更名(多活跃变更必填,单变更可省略自动检测) |
|
|
34
|
+
| `--spec-dir <path>` | 指定规范目录(默认 `<项目>/.sillyspec`) |
|
|
35
|
+
| `--non-interactive` | CI/脚本下禁用交互式 prompt |
|
|
36
|
+
| `--skip-approval` | 跳过审批/校验门控(需明确意图) |
|
|
37
|
+
| `--json` | 输出 JSON(程序化读取) |
|
|
38
|
+
|
|
39
|
+
## archive 特有
|
|
40
|
+
|
|
41
|
+
### `--confirm`(确认归档步骤必填)
|
|
42
|
+
|
|
43
|
+
第 4 步「确认归档」由 CLI 执行目录移动,**必须带 `--confirm`**:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
sillyspec run archive --done --confirm --output "确认归档"
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
不带 `--confirm` 时 CLI 回退步骤为 pending 并提示,不会误归档。
|
|
50
|
+
|
|
51
|
+
### 归档前硬校验
|
|
52
|
+
|
|
53
|
+
CLI 移动目录前会校验 `plan.md` 存在——缺失则 `exit(1)` 阻断(目录尚未移动,可补全后重试)。移动后校验 `design.md` / `module-impact.md`(缺失只告警,因目录已移动)。
|
|
54
|
+
|
|
55
|
+
### 模块文档同步(第 3 步)
|
|
56
|
+
|
|
57
|
+
第 3 步「sync-module-docs」会更新 `_module-map.yaml` + 模块卡片,**必须暂停等用户确认**:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
sillyspec run archive --wait --reason "等待用户确认模块文档同步" --options "确认写入,跳过同步" --output "diff 摘要"
|
|
61
|
+
sillyspec run archive --continue --answer "确认写入"
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
只有用户 `--continue --answer "确认写入"` 后才写入文件。
|
|
65
|
+
|
|
66
|
+
### 归档结果
|
|
67
|
+
|
|
68
|
+
归档后变更目录从 `changes/<名>/` 移到 `changes/archive/YYYY-MM-DD-<名>/`,并从活跃列表注销。后续用 `/sillyspec:commit` 提交。
|
|
69
|
+
|
|
70
|
+
## 阶段流转
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
verify → archive → git commit
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
archive 完成后,运行 `/sillyspec:commit` 提交归档结果(`git add .sillyspec/changes/`)。
|
|
77
|
+
|
|
78
|
+
## 铁律
|
|
79
|
+
|
|
80
|
+
- **必须用 exec 工具(shell)执行 CLI,不要自己编造流程**
|
|
81
|
+
- 不要用 `mv`/`rename` 重命名变更目录,必须由 CLI 的「确认归档」步骤移动
|
|
82
|
+
- 归档不可逆——确认前核对变更名、文件列表、module-impact.md
|
|
83
|
+
- 完成后立即 `--done`,不跳过
|
|
84
|
+
|
|
85
|
+
## 用户指令
|
|
86
|
+
$ARGUMENTS
|
|
@@ -1,83 +1,98 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: sillyspec:auto
|
|
3
|
-
description: 自动模式 — 全流程自动推进(通用版)
|
|
4
|
-
argument-hint: "<需求描述>"
|
|
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
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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
|
-
|
|
1
|
+
---
|
|
2
|
+
name: sillyspec:auto
|
|
3
|
+
description: 自动模式 — 全流程自动推进(通用版)
|
|
4
|
+
argument-hint: "<需求描述>"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 交互规范
|
|
8
|
+
|
|
9
|
+
**当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。** 不要用编号列表让用户手动输入数字。
|
|
10
|
+
|
|
11
|
+
## 用法
|
|
12
|
+
|
|
13
|
+
- `/sillyspec:auto 实现用户登录功能`
|
|
14
|
+
- `/sillyspec:auto 修复搜索结果的排序问题`
|
|
15
|
+
|
|
16
|
+
## 任务
|
|
17
|
+
$ARGUMENTS
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 执行流程
|
|
22
|
+
|
|
23
|
+
你是全流程编排器,按 brainstorm → plan → execute → verify 顺序自动推进。
|
|
24
|
+
|
|
25
|
+
### 启动
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
sillyspec run auto --input "<用户需求>" [--mode <模式>]
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
2. 读取 CLI 输出的 step prompt(含角色描述)
|
|
32
|
+
3. 执行 prompt 中的操作
|
|
33
|
+
4. **记录 CLI 输出中显示的 Change 名称**(如 `Change: 2026-06-02-xxx`)
|
|
34
|
+
|
|
35
|
+
### 步骤循环
|
|
36
|
+
|
|
37
|
+
重复以下循环直到 CLI 输出"全部流程已完成":
|
|
38
|
+
|
|
39
|
+
1. **读取 CLI 输出的 step prompt**
|
|
40
|
+
2. **判断是否需要用户确认:**
|
|
41
|
+
- prompt 含"请用户选择 / 等待用户回答 / 展示给用户 / 用户确认" → **暂停,等用户回复**
|
|
42
|
+
- 纯内部操作 → **直接执行**
|
|
43
|
+
3. **执行 prompt 要求的操作**
|
|
44
|
+
4. **完成后运行:**
|
|
45
|
+
```bash
|
|
46
|
+
sillyspec run auto --done --change <变更名> --output "<你的摘要>"
|
|
47
|
+
```
|
|
48
|
+
- ⚠️ **必须携带 `--change <变更名>`**,变更名来自启动时 CLI 输出的 `Change:` 字段
|
|
49
|
+
- **绝不使用 `--change default`**,除非 CLI 启动时明确显示的 Change 名称就是 `default`
|
|
50
|
+
5. **读取 CLI 输出的下一步 prompt**,回到步骤 1
|
|
51
|
+
|
|
52
|
+
### auto 参数
|
|
53
|
+
|
|
54
|
+
| 参数 | 说明 |
|
|
55
|
+
|---|---|
|
|
56
|
+
| `--input "<需求>"` | 启动时传入用户需求 |
|
|
57
|
+
| `--mode <模式>` | 显式指定流程模式(默认按复杂度自动分类) |
|
|
58
|
+
| `--done --change <名> --output "..."` | 完成当前步骤(必带 --change) |
|
|
59
|
+
| `--spec-dir <path>` | 指定规范目录 |
|
|
60
|
+
| `--non-interactive` | CI/脚本下禁用交互 |
|
|
61
|
+
|
|
62
|
+
## 阶段审核门控
|
|
63
|
+
|
|
64
|
+
**brainstorm 完成后**,评估需求复杂度(基于 design.md 的模块拆分、批量操作、多角色交互特征):
|
|
65
|
+
|
|
66
|
+
| 复杂度 | 审核策略 |
|
|
67
|
+
|--------|---------|
|
|
68
|
+
| 简单(无拆分、无批量) | 不审核,直接进入 plan |
|
|
69
|
+
| 中等(有拆分或批量) | 启动 1 个审核子代理(QA 视角)审查 design.md |
|
|
70
|
+
| 复杂(拆分 + 批量/多角色) | 启动 2-3 个审核子代理多角度审查 |
|
|
71
|
+
|
|
72
|
+
多角度审核子代理分工:
|
|
73
|
+
- **架构师** — 设计合理性、技术选型 trade-off、模块划分
|
|
74
|
+
- **安全专家** — 安全隐患、权限设计、数据校验
|
|
75
|
+
- **QA 专家** — 需求覆盖率、边界场景、验收标准
|
|
76
|
+
|
|
77
|
+
审核流程:暂停提示复杂度 → 用户确认 → 启动子代理读 design/requirements/tasks → 汇总问题 → 询问是否修改 → 需要则修复重审,不需要则进下一阶段。
|
|
78
|
+
|
|
79
|
+
**plan 完成后**,同样评估复杂度启动审核(项目经理审拆解粒度、工程师审可行性、QA 审验收标准)。
|
|
80
|
+
|
|
81
|
+
## 关键规则
|
|
82
|
+
|
|
83
|
+
- 不要跳过任何步骤
|
|
84
|
+
- 不要手动修改进度数据(SQLite 数据库)
|
|
85
|
+
- 不要自动 commit,只 `git add`
|
|
86
|
+
- 不要使用 npx
|
|
87
|
+
- 不要编造不存在的 CLI 子命令
|
|
88
|
+
- 遇到命令报错 → 展示错误,暂停等用户介入
|
|
89
|
+
- **每次 `sillyspec run auto --done` 都必须携带 `--change <变更名>`**(= CLI 首次输出的 Change 名)
|
|
90
|
+
|
|
91
|
+
## 异常处理
|
|
92
|
+
|
|
93
|
+
- 命令执行失败 → 展示错误信息,暂停等待用户指示
|
|
94
|
+
- 用户说"停止"/"暂停" → 立即停止,报告当前进度
|
|
95
|
+
|
|
96
|
+
## 完成条件
|
|
97
|
+
|
|
98
|
+
CLI 输出"全部流程已完成"后,输出完整流程总结,提示用户提交改动(`/sillyspec:commit`)。
|
|
@@ -1,44 +1,78 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: sillyspec:brainstorm
|
|
3
|
-
description: 用于正式开始开发前的需求澄清和技术方案设计。适合用户提出新功能、新模块、架构调整、复杂改造,或说"先做需求分析、输出技术方案、创建变更前先梳理、帮我设计下"
|
|
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
|
-
sillyspec run brainstorm --
|
|
30
|
-
|
|
31
|
-
#
|
|
32
|
-
sillyspec run brainstorm --
|
|
33
|
-
sillyspec run brainstorm --
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
1
|
+
---
|
|
2
|
+
name: sillyspec:brainstorm
|
|
3
|
+
description: 用于正式开始开发前的需求澄清和技术方案设计。适合用户提出新功能、新模块、架构调整、复杂改造,或说"先做需求分析、输出技术方案、创建变更前先梳理、帮我设计下"。产出结构化方案(design/proposal/requirements/tasks 四件套),但不直接写代码。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## 交互规范
|
|
7
|
+
|
|
8
|
+
**当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。** 不要用编号列表让用户手动输入数字。
|
|
9
|
+
|
|
10
|
+
## 何时使用
|
|
11
|
+
|
|
12
|
+
- 用户提出新功能、新模块、架构调整、复杂改造
|
|
13
|
+
- 用户说"先做需求分析、输出技术方案、创建变更前先梳理、帮我设计下"
|
|
14
|
+
- 产出:`design.md` + `proposal.md` + `requirements.md` + `tasks.md`(四件套),不写代码
|
|
15
|
+
|
|
16
|
+
## 多变更说明
|
|
17
|
+
|
|
18
|
+
项目有多个活跃变更(`.sillyspec/changes/` 下有多个目录)时,所有 `sillyspec run` 命令需加 `--change <变更名>` 指定操作目标;只有一个变更时可省略(CLI 自动检测)。建议变更名格式:`YYYY-MM-DD-<简短描述>`。
|
|
19
|
+
|
|
20
|
+
## 步骤生命周期(所有阶段通用)
|
|
21
|
+
|
|
22
|
+
> `sillyspec brainstorm` 是 `sillyspec run brainstorm` 的顶层别名,两者等价。
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
sillyspec run brainstorm # 输出当前步骤 prompt
|
|
26
|
+
sillyspec run brainstorm --done --output "摘要" # 完成当前步骤(--input "用户原话" 记录输入)
|
|
27
|
+
sillyspec run brainstorm --status # 查看阶段进度
|
|
28
|
+
sillyspec run brainstorm --skip # 跳过可选步骤
|
|
29
|
+
sillyspec run brainstorm --reset # 重置阶段(从头开始)
|
|
30
|
+
sillyspec run brainstorm --reopen --from-step N # 重新打开已完成阶段修订(N=序号或名称)
|
|
31
|
+
sillyspec run brainstorm --wait --reason "..." --options "A,B" # 暂停等用户决策
|
|
32
|
+
sillyspec run brainstorm --continue --answer "..." # 恢复等待中的步骤
|
|
33
|
+
sillyspec run brainstorm --done --answer "..." --output "..." # 一步完成 wait+done
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## 通用参数(所有阶段适用)
|
|
37
|
+
|
|
38
|
+
| 参数 | 说明 |
|
|
39
|
+
|---|---|
|
|
40
|
+
| `--change <名>` | 指定变更名(多活跃变更必填,单变更可省略自动检测) |
|
|
41
|
+
| `--spec-dir <path>` | 指定规范目录(默认 `<项目>/.sillyspec`) |
|
|
42
|
+
| `--non-interactive` | CI/脚本下禁用交互式 prompt |
|
|
43
|
+
| `--interactive` | 强制交互(即便 stdin 非 TTY) |
|
|
44
|
+
| `--skip-approval` | 跳过审批/校验门控(需明确意图) |
|
|
45
|
+
| `--json` | 输出 JSON(程序化读取) |
|
|
46
|
+
|
|
47
|
+
## brainstorm 特有:requiresWait 步骤
|
|
48
|
+
|
|
49
|
+
某些步骤(如"对话式探索")需要用户输入。两种方式:
|
|
50
|
+
|
|
51
|
+
- **方式一(推荐)**:AI 自行与用户交互后,一步完成:
|
|
52
|
+
```bash
|
|
53
|
+
sillyspec run brainstorm --done --change <名> --answer "用户回答" --output "需求已澄清"
|
|
54
|
+
```
|
|
55
|
+
- **方式二**:分步——先 `--wait` 记录等待,再 `--continue --answer`,最后 `--done`:
|
|
56
|
+
```bash
|
|
57
|
+
sillyspec run brainstorm --wait --change <名> --reason "等待用户回答" --output "探索问题"
|
|
58
|
+
sillyspec run brainstorm --continue --answer "用户回答" --change <名>
|
|
59
|
+
sillyspec run brainstorm --done --change <名> --output "需求已澄清"
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## 阶段流转
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
scan → brainstorm → plan
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
brainstorm 完成后(四件套齐 + 自审通过),运行 `sillyspec run plan --change <变更名>` 进入实现计划。
|
|
69
|
+
|
|
70
|
+
## 铁律
|
|
71
|
+
|
|
72
|
+
- **必须用 exec 工具(shell)执行 CLI,不要自己编造流程**
|
|
73
|
+
- 只做当前步骤 prompt 描述的操作,不跳过、不自行扩展
|
|
74
|
+
- 产物写入 CLI 输出的 `changeDir` 目录(如 `<changeDir>/design.md`),不要自己拼路径
|
|
75
|
+
- 完成后立即 `--done`,不跳过
|
|
76
|
+
|
|
77
|
+
## 用户指令
|
|
78
|
+
$ARGUMENTS
|
|
@@ -1,31 +1,61 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: sillyspec:doctor
|
|
3
|
-
description: 用于 SillySpec 自检和状态修复。适合用户说"检查下状态、修复 progress、doctor、状态不对"。全量扫描进度一致性,修复进度数据与实际产出不匹配的问题。
|
|
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
|
-
|
|
1
|
+
---
|
|
2
|
+
name: sillyspec:doctor
|
|
3
|
+
description: 用于 SillySpec 自检和状态修复。适合用户说"检查下状态、修复 progress、doctor、状态不对"。全量扫描进度一致性,修复进度数据与实际产出不匹配的问题。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## 何时使用
|
|
7
|
+
|
|
8
|
+
- 用户说"检查下状态、修复 progress、doctor、状态不对"
|
|
9
|
+
- 进度数据与实际产出不匹配时自检修复
|
|
10
|
+
- 5 步:环境检查 → 项目配置 → 数据库完整性 → 状态一致性 → 修复建议
|
|
11
|
+
|
|
12
|
+
## 前置检查
|
|
13
|
+
|
|
14
|
+
**执行任何步骤前,先确认 SillySpec CLI 可用:**
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
sillyspec --version
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
失败则提示 `❌ SillySpec CLI 未安装` + 安装命令 `npm install -g sillyspec`,停止。
|
|
21
|
+
|
|
22
|
+
## 步骤生命周期(所有阶段通用)
|
|
23
|
+
|
|
24
|
+
> `sillyspec doctor` 是 `sillyspec run doctor` 的顶层别名,两者等价。
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
sillyspec run doctor # 输出当前步骤 prompt
|
|
28
|
+
sillyspec run doctor --done --output "摘要" # 完成当前步骤
|
|
29
|
+
sillyspec run doctor --status # 查看阶段进度
|
|
30
|
+
sillyspec run doctor --reset # 重置阶段(从头开始)
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## 通用参数(所有阶段适用)
|
|
34
|
+
|
|
35
|
+
| 参数 | 说明 |
|
|
36
|
+
|---|---|
|
|
37
|
+
| `--spec-dir <path>` | 指定规范目录(默认 `<项目>/.sillyspec`) |
|
|
38
|
+
| `--non-interactive` | CI/脚本下禁用交互式 prompt |
|
|
39
|
+
| `--json` | 输出 JSON(程序化读取) |
|
|
40
|
+
|
|
41
|
+
## doctor 特有
|
|
42
|
+
|
|
43
|
+
doctor 是辅助阶段,用于诊断而非推进流程。配套的轻量诊断命令(不经 run):
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
sillyspec progress show # 查看当前进度
|
|
47
|
+
sillyspec progress check # 状态一致性检查(只报告,不修复)
|
|
48
|
+
sillyspec progress repair # 修复状态元数据(dry-run)
|
|
49
|
+
sillyspec progress repair --apply # 真正修复
|
|
50
|
+
sillyspec progress validate # 校验并修复
|
|
51
|
+
sillyspec worktree doctor [--fix] # worktree 健康检查 + 修复
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## 铁律
|
|
55
|
+
|
|
56
|
+
- **必须用 exec 工具(shell)执行 CLI,不要自己编造流程**
|
|
57
|
+
- doctor 只诊断和建议,修复操作要让用户确认
|
|
58
|
+
- 完成后立即 `--done`,不跳过
|
|
59
|
+
|
|
60
|
+
## 用户指令
|
|
61
|
+
$ARGUMENTS
|