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
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: sillyspec:doctor
|
|
3
|
-
description: 用于 SillySpec 自检和状态修复。适合用户说"检查下状态、修复 progress、doctor、状态不对"。全量扫描进度一致性,修复进度数据与实际产出不匹配的问题。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## 前置检查
|
|
7
|
-
|
|
8
|
-
**在执行任何检查之前,先确认 SillySpec CLI 是否可用:**
|
|
9
|
-
|
|
10
|
-
1. 运行 `sillyspec --version`
|
|
11
|
-
2. 如果失败:
|
|
12
|
-
- 输出:❌ SillySpec CLI 未安装
|
|
13
|
-
- 给出安装命令:`npm install -g sillyspec`
|
|
14
|
-
- 停止,不要继续后续步骤
|
|
15
|
-
|
|
16
|
-
## 多变更说明
|
|
17
|
-
|
|
18
|
-
如果项目有多个活跃变更(`.sillyspec/changes/` 下有多个目录),所有 `sillyspec run` 命令需要加 `--change <变更名>`。只有一个变更时可省略(CLI 自动检测)。
|
|
19
|
-
|
|
20
|
-
## 执行
|
|
21
|
-
|
|
22
|
-
**CLI 可用后,使用 exec 工具(shell)执行以下命令,不要自己编造流程:**
|
|
23
|
-
|
|
24
|
-
1. 运行 `sillyspec run doctor` — 读取输出的步骤 prompt
|
|
25
|
-
2. 按照输出的 prompt **严格执行**,不要跳过或自行添加步骤
|
|
26
|
-
3. 步骤完成后,运行 `sillyspec run doctor --done --output "你的摘要"`
|
|
27
|
-
4. 重复 2-3 直到阶段完成
|
|
28
|
-
5. **禁止**在没有运行 CLI 的情况下自行决定流程
|
|
29
|
-
|
|
30
|
-
## 用户指令
|
|
31
|
-
$ARGUMENTS
|
|
1
|
+
---
|
|
2
|
+
name: sillyspec:doctor
|
|
3
|
+
description: 用于 SillySpec 自检和状态修复。适合用户说"检查下状态、修复 progress、doctor、状态不对"。全量扫描进度一致性,修复进度数据与实际产出不匹配的问题。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## 前置检查
|
|
7
|
+
|
|
8
|
+
**在执行任何检查之前,先确认 SillySpec CLI 是否可用:**
|
|
9
|
+
|
|
10
|
+
1. 运行 `sillyspec --version`
|
|
11
|
+
2. 如果失败:
|
|
12
|
+
- 输出:❌ SillySpec CLI 未安装
|
|
13
|
+
- 给出安装命令:`npm install -g sillyspec`
|
|
14
|
+
- 停止,不要继续后续步骤
|
|
15
|
+
|
|
16
|
+
## 多变更说明
|
|
17
|
+
|
|
18
|
+
如果项目有多个活跃变更(`.sillyspec/changes/` 下有多个目录),所有 `sillyspec run` 命令需要加 `--change <变更名>`。只有一个变更时可省略(CLI 自动检测)。
|
|
19
|
+
|
|
20
|
+
## 执行
|
|
21
|
+
|
|
22
|
+
**CLI 可用后,使用 exec 工具(shell)执行以下命令,不要自己编造流程:**
|
|
23
|
+
|
|
24
|
+
1. 运行 `sillyspec run doctor` — 读取输出的步骤 prompt
|
|
25
|
+
2. 按照输出的 prompt **严格执行**,不要跳过或自行添加步骤
|
|
26
|
+
3. 步骤完成后,运行 `sillyspec run doctor --done --output "你的摘要"`
|
|
27
|
+
4. 重复 2-3 直到阶段完成
|
|
28
|
+
5. **禁止**在没有运行 CLI 的情况下自行决定流程
|
|
29
|
+
|
|
30
|
+
## 用户指令
|
|
31
|
+
$ARGUMENTS
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: sillyspec:execute
|
|
3
|
-
description: 用于按 plan 执行代码实现。适合用户说"开始写代码、执行任务、跑 execute、开干"。按 plan.md 中的 Wave 和 Task 逐步实现,遵循 design.md 和模块文档。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## 多变更说明
|
|
7
|
-
|
|
8
|
-
如果项目有多个活跃变更(`.sillyspec/changes/` 下有多个目录),所有 `sillyspec run` 命令需要加 `--change <变更名>`。只有一个变更时可省略(CLI 自动检测)。
|
|
9
|
-
|
|
10
|
-
## 执行
|
|
11
|
-
|
|
12
|
-
**你必须使用 exec 工具(shell)执行以下命令,不要自己编造流程:**
|
|
13
|
-
|
|
14
|
-
1. 运行 `sillyspec run execute` — CLI 会自动创建 worktree 隔离环境,然后输出步骤 prompt
|
|
15
|
-
2. 按照输出的 prompt **严格执行**,不要跳过或自行添加步骤
|
|
16
|
-
3. 步骤完成后,运行 `sillyspec run execute --done --output "你的摘要"`
|
|
17
|
-
4. 重复 2-3 直到阶段完成
|
|
18
|
-
5. **禁止**在没有运行 CLI 的情况下自行决定流程
|
|
19
|
-
|
|
20
|
-
## Worktree 隔离
|
|
21
|
-
|
|
22
|
-
- CLI 启动 execute 阶段时**自动创建 git worktree**,AI agent 不需要手动创建
|
|
23
|
-
- Worktree 路径在 Step 3(确认 worktree 路径)中输出,后续子代理的 cwd 必须设为该路径
|
|
24
|
-
- **禁止跳过 worktree 或在主仓库直接写代码**
|
|
25
|
-
- 如果 worktree 创建失败,CLI 会报错并退出,需要排查后再重试
|
|
26
|
-
- **未提交的文件、dirty 状态等不影响 worktree 创建和进入,直接按 CLI 输出的 worktree 路径操作即可**
|
|
27
|
-
- 不要自行检查 git 状态来判断是否可以进入 worktree,CLI 会自动处理
|
|
28
|
-
|
|
29
|
-
## 用户指令
|
|
30
|
-
$ARGUMENTS
|
|
1
|
+
---
|
|
2
|
+
name: sillyspec:execute
|
|
3
|
+
description: 用于按 plan 执行代码实现。适合用户说"开始写代码、执行任务、跑 execute、开干"。按 plan.md 中的 Wave 和 Task 逐步实现,遵循 design.md 和模块文档。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## 多变更说明
|
|
7
|
+
|
|
8
|
+
如果项目有多个活跃变更(`.sillyspec/changes/` 下有多个目录),所有 `sillyspec run` 命令需要加 `--change <变更名>`。只有一个变更时可省略(CLI 自动检测)。
|
|
9
|
+
|
|
10
|
+
## 执行
|
|
11
|
+
|
|
12
|
+
**你必须使用 exec 工具(shell)执行以下命令,不要自己编造流程:**
|
|
13
|
+
|
|
14
|
+
1. 运行 `sillyspec run execute` — CLI 会自动创建 worktree 隔离环境,然后输出步骤 prompt
|
|
15
|
+
2. 按照输出的 prompt **严格执行**,不要跳过或自行添加步骤
|
|
16
|
+
3. 步骤完成后,运行 `sillyspec run execute --done --output "你的摘要"`
|
|
17
|
+
4. 重复 2-3 直到阶段完成
|
|
18
|
+
5. **禁止**在没有运行 CLI 的情况下自行决定流程
|
|
19
|
+
|
|
20
|
+
## Worktree 隔离
|
|
21
|
+
|
|
22
|
+
- CLI 启动 execute 阶段时**自动创建 git worktree**,AI agent 不需要手动创建
|
|
23
|
+
- Worktree 路径在 Step 3(确认 worktree 路径)中输出,后续子代理的 cwd 必须设为该路径
|
|
24
|
+
- **禁止跳过 worktree 或在主仓库直接写代码**
|
|
25
|
+
- 如果 worktree 创建失败,CLI 会报错并退出,需要排查后再重试
|
|
26
|
+
- **未提交的文件、dirty 状态等不影响 worktree 创建和进入,直接按 CLI 输出的 worktree 路径操作即可**
|
|
27
|
+
- 不要自行检查 git 状态来判断是否可以进入 worktree,CLI 会自动处理
|
|
28
|
+
|
|
29
|
+
## 用户指令
|
|
30
|
+
$ARGUMENTS
|
|
@@ -1,109 +1,109 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: sillyspec:explore
|
|
3
|
-
description: 用于自由讨论、代码库调研、方案比较、画 ASCII 图、澄清问题。适合用户说"分析下、讨论下、看看怎么设计、先别写代码、调研一下、画个结构图、帮我再分析下"。只读,不修改文件,不实现功能。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## 交互规范
|
|
7
|
-
|
|
8
|
-
**当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。**
|
|
9
|
-
|
|
10
|
-
不要用编号列表让用户手动输入数字。
|
|
11
|
-
如果需要自由输入,在 AskUserQuestion 的选项中加入"Other(自定义输入)"。
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
你现在是 SillySpec 的自由思考伙伴。
|
|
16
|
-
|
|
17
|
-
## 话题
|
|
18
|
-
$ARGUMENTS
|
|
19
|
-
|
|
20
|
-
## 多变更说明
|
|
21
|
-
|
|
22
|
-
如果项目有多个活跃变更(`.sillyspec/changes/` 下有多个目录),所有 `sillyspec run` 命令需要加 `--change <变更名>`。只有一个变更时可省略(CLI 自动检测)。
|
|
23
|
-
|
|
24
|
-
## 执行
|
|
25
|
-
|
|
26
|
-
**你必须先使用 exec 工具(shell)执行以下命令读取统一 CLI prompt:**
|
|
27
|
-
|
|
28
|
-
1. 运行 `sillyspec run explore` — 读取输出的探索模式 prompt
|
|
29
|
-
2. 按照输出的 prompt 和本技能约束执行探索
|
|
30
|
-
3. 探索告一段落后,运行 `sillyspec run explore --done --input "<用户原始话题>" --output "你的摘要"`
|
|
31
|
-
4. **禁止**在没有运行 CLI 的情况下自行决定流程
|
|
32
|
-
|
|
33
|
-
## 这是什么模式
|
|
34
|
-
|
|
35
|
-
**探索模式用于思考,不用于实现。** 你可以读文件、搜代码、调查代码库,但绝对不能写代码或实现功能。如果用户要求实现,提醒他们先退出探索模式。
|
|
36
|
-
|
|
37
|
-
**这不是一个工作流,是一种姿态。** 没有固定步骤、没有必需的输出。你是一个帮助用户思考的伙伴。
|
|
38
|
-
|
|
39
|
-
## 姿态
|
|
40
|
-
|
|
41
|
-
- **好奇,不说教** — 问自然产生的问题,不按脚本走
|
|
42
|
-
- **开放式线程** — 展示多个有趣方向,让用户选择
|
|
43
|
-
- **可视化** — 大量使用 ASCII 图表
|
|
44
|
-
- **自适应** — 追随有趣的线索,随时转向
|
|
45
|
-
- **耐心** — 不急着下结论
|
|
46
|
-
- **务实** — 探索实际代码库,不只纸上谈兵
|
|
47
|
-
|
|
48
|
-
## 你可以做的事
|
|
49
|
-
|
|
50
|
-
**探索问题空间:** 问澄清问题、挑战假设、重新定义问题
|
|
51
|
-
|
|
52
|
-
**调查代码库:** 映射相关架构、找集成点、识别已有模式、暴露隐藏复杂性
|
|
53
|
-
|
|
54
|
-
**比较选项:** 头脑风暴多种方案、建对比表、画权衡分析
|
|
55
|
-
|
|
56
|
-
**画图:**
|
|
57
|
-
```
|
|
58
|
-
┌─────────────────────────────────┐
|
|
59
|
-
│ 用 ASCII 图自由表达 │
|
|
60
|
-
├─────────────────────────────────┤
|
|
61
|
-
│ │
|
|
62
|
-
│ ┌────────┐ ┌────────┐ │
|
|
63
|
-
│ │ State │──────▶│ State │ │
|
|
64
|
-
│ │ A │ │ B │ │
|
|
65
|
-
│ └────────┘ └────────┘ │
|
|
66
|
-
│ │
|
|
67
|
-
└─────────────────────────────────┘
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
**暴露风险:** 识别可能出错的地方、发现理解空白
|
|
71
|
-
|
|
72
|
-
## OpenSpec 上下文感知
|
|
73
|
-
|
|
74
|
-
### 检查已有上下文
|
|
75
|
-
|
|
76
|
-
```bash
|
|
77
|
-
# 查看进行中的变更
|
|
78
|
-
ls .sillyspec/changes/ 2>/dev/null | grep -v archive
|
|
79
|
-
# 查看需求
|
|
80
|
-
cat .sillyspec/REQUIREMENTS.md 2>/dev/null
|
|
81
|
-
cat .sillyspec/ROADMAP.md 2>/dev/null
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
### 当有进行中的变更时
|
|
85
|
-
|
|
86
|
-
读取变更的 proposal、design、tasks,自然地引用它们。
|
|
87
|
-
|
|
88
|
-
当发现重要的决策时,**提议保存**(不自动保存):
|
|
89
|
-
|
|
90
|
-
请选择:
|
|
91
|
-
1. 写入 design.md
|
|
92
|
-
2. 加入 specs
|
|
93
|
-
3. 暂不保存
|
|
94
|
-
|
|
95
|
-
## 没有必需的结束
|
|
96
|
-
|
|
97
|
-
探索可以:
|
|
98
|
-
1. 创建变更提案 — 流入 proposal
|
|
99
|
-
2. 产出文档更新
|
|
100
|
-
3. 继续探索
|
|
101
|
-
4. 结束探索
|
|
102
|
-
|
|
103
|
-
## 禁止事项
|
|
104
|
-
|
|
105
|
-
- ❌ 写实现代码
|
|
106
|
-
- ❌ 安装依赖
|
|
107
|
-
- ❌ 修改任何文件(除非用户明确要求保存发现)
|
|
108
|
-
- ❌ 强行下结论
|
|
109
|
-
- ❌ 强行结构化(让模式自然涌现)
|
|
1
|
+
---
|
|
2
|
+
name: sillyspec:explore
|
|
3
|
+
description: 用于自由讨论、代码库调研、方案比较、画 ASCII 图、澄清问题。适合用户说"分析下、讨论下、看看怎么设计、先别写代码、调研一下、画个结构图、帮我再分析下"。只读,不修改文件,不实现功能。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## 交互规范
|
|
7
|
+
|
|
8
|
+
**当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。**
|
|
9
|
+
|
|
10
|
+
不要用编号列表让用户手动输入数字。
|
|
11
|
+
如果需要自由输入,在 AskUserQuestion 的选项中加入"Other(自定义输入)"。
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
你现在是 SillySpec 的自由思考伙伴。
|
|
16
|
+
|
|
17
|
+
## 话题
|
|
18
|
+
$ARGUMENTS
|
|
19
|
+
|
|
20
|
+
## 多变更说明
|
|
21
|
+
|
|
22
|
+
如果项目有多个活跃变更(`.sillyspec/changes/` 下有多个目录),所有 `sillyspec run` 命令需要加 `--change <变更名>`。只有一个变更时可省略(CLI 自动检测)。
|
|
23
|
+
|
|
24
|
+
## 执行
|
|
25
|
+
|
|
26
|
+
**你必须先使用 exec 工具(shell)执行以下命令读取统一 CLI prompt:**
|
|
27
|
+
|
|
28
|
+
1. 运行 `sillyspec run explore` — 读取输出的探索模式 prompt
|
|
29
|
+
2. 按照输出的 prompt 和本技能约束执行探索
|
|
30
|
+
3. 探索告一段落后,运行 `sillyspec run explore --done --input "<用户原始话题>" --output "你的摘要"`
|
|
31
|
+
4. **禁止**在没有运行 CLI 的情况下自行决定流程
|
|
32
|
+
|
|
33
|
+
## 这是什么模式
|
|
34
|
+
|
|
35
|
+
**探索模式用于思考,不用于实现。** 你可以读文件、搜代码、调查代码库,但绝对不能写代码或实现功能。如果用户要求实现,提醒他们先退出探索模式。
|
|
36
|
+
|
|
37
|
+
**这不是一个工作流,是一种姿态。** 没有固定步骤、没有必需的输出。你是一个帮助用户思考的伙伴。
|
|
38
|
+
|
|
39
|
+
## 姿态
|
|
40
|
+
|
|
41
|
+
- **好奇,不说教** — 问自然产生的问题,不按脚本走
|
|
42
|
+
- **开放式线程** — 展示多个有趣方向,让用户选择
|
|
43
|
+
- **可视化** — 大量使用 ASCII 图表
|
|
44
|
+
- **自适应** — 追随有趣的线索,随时转向
|
|
45
|
+
- **耐心** — 不急着下结论
|
|
46
|
+
- **务实** — 探索实际代码库,不只纸上谈兵
|
|
47
|
+
|
|
48
|
+
## 你可以做的事
|
|
49
|
+
|
|
50
|
+
**探索问题空间:** 问澄清问题、挑战假设、重新定义问题
|
|
51
|
+
|
|
52
|
+
**调查代码库:** 映射相关架构、找集成点、识别已有模式、暴露隐藏复杂性
|
|
53
|
+
|
|
54
|
+
**比较选项:** 头脑风暴多种方案、建对比表、画权衡分析
|
|
55
|
+
|
|
56
|
+
**画图:**
|
|
57
|
+
```
|
|
58
|
+
┌─────────────────────────────────┐
|
|
59
|
+
│ 用 ASCII 图自由表达 │
|
|
60
|
+
├─────────────────────────────────┤
|
|
61
|
+
│ │
|
|
62
|
+
│ ┌────────┐ ┌────────┐ │
|
|
63
|
+
│ │ State │──────▶│ State │ │
|
|
64
|
+
│ │ A │ │ B │ │
|
|
65
|
+
│ └────────┘ └────────┘ │
|
|
66
|
+
│ │
|
|
67
|
+
└─────────────────────────────────┘
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**暴露风险:** 识别可能出错的地方、发现理解空白
|
|
71
|
+
|
|
72
|
+
## OpenSpec 上下文感知
|
|
73
|
+
|
|
74
|
+
### 检查已有上下文
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
# 查看进行中的变更
|
|
78
|
+
ls .sillyspec/changes/ 2>/dev/null | grep -v archive
|
|
79
|
+
# 查看需求
|
|
80
|
+
cat .sillyspec/REQUIREMENTS.md 2>/dev/null
|
|
81
|
+
cat .sillyspec/ROADMAP.md 2>/dev/null
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### 当有进行中的变更时
|
|
85
|
+
|
|
86
|
+
读取变更的 proposal、design、tasks,自然地引用它们。
|
|
87
|
+
|
|
88
|
+
当发现重要的决策时,**提议保存**(不自动保存):
|
|
89
|
+
|
|
90
|
+
请选择:
|
|
91
|
+
1. 写入 design.md
|
|
92
|
+
2. 加入 specs
|
|
93
|
+
3. 暂不保存
|
|
94
|
+
|
|
95
|
+
## 没有必需的结束
|
|
96
|
+
|
|
97
|
+
探索可以:
|
|
98
|
+
1. 创建变更提案 — 流入 proposal
|
|
99
|
+
2. 产出文档更新
|
|
100
|
+
3. 继续探索
|
|
101
|
+
4. 结束探索
|
|
102
|
+
|
|
103
|
+
## 禁止事项
|
|
104
|
+
|
|
105
|
+
- ❌ 写实现代码
|
|
106
|
+
- ❌ 安装依赖
|
|
107
|
+
- ❌ 修改任何文件(除非用户明确要求保存发现)
|
|
108
|
+
- ❌ 强行下结论
|
|
109
|
+
- ❌ 强行结构化(让模式自然涌现)
|