sillyspec 2.4.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 +63 -0
- package/.claude/commands/sillyspec/brainstorm.md +463 -0
- package/.claude/commands/sillyspec/continue.md +44 -0
- package/.claude/commands/sillyspec/execute.md +255 -0
- package/.claude/commands/sillyspec/explore.md +88 -0
- package/.claude/commands/sillyspec/export.md +53 -0
- package/.claude/commands/sillyspec/init.md +166 -0
- package/.claude/commands/sillyspec/plan.md +238 -0
- package/.claude/commands/sillyspec/propose.md +234 -0
- package/.claude/commands/sillyspec/quick.md +62 -0
- package/.claude/commands/sillyspec/resume.md +100 -0
- package/.claude/commands/sillyspec/scan.md +672 -0
- package/.claude/commands/sillyspec/status.md +122 -0
- package/.claude/commands/sillyspec/verify.md +141 -0
- package/.claude/commands/sillyspec/workspace.md +122 -0
- package/README.md +158 -0
- package/SKILL.md +46 -0
- package/adapters/adapters.sh +172 -0
- package/bin/sillyspec.js +2 -0
- package/commands/sillyspec/archive.md +62 -0
- package/commands/sillyspec/brainstorm.md +462 -0
- package/commands/sillyspec/continue.md +41 -0
- package/commands/sillyspec/execute.md +254 -0
- package/commands/sillyspec/explore.md +85 -0
- package/commands/sillyspec/export.md +51 -0
- package/commands/sillyspec/init.md +163 -0
- package/commands/sillyspec/plan.md +237 -0
- package/commands/sillyspec/propose.md +233 -0
- package/commands/sillyspec/quick.md +59 -0
- package/commands/sillyspec/resume.md +99 -0
- package/commands/sillyspec/scan.md +671 -0
- package/commands/sillyspec/status.md +119 -0
- package/commands/sillyspec/verify.md +140 -0
- package/commands/sillyspec/workspace.md +120 -0
- package/package.json +14 -0
- package/scripts/init.sh +2 -0
- package/scripts/install.ps1 +316 -0
- package/scripts/scan-preprocess.sh +378 -0
- package/scripts/validate-all.sh +50 -0
- package/scripts/validate-plan.sh +44 -0
- package/scripts/validate-proposal.sh +87 -0
- package/scripts/validate-scan.sh +90 -0
- package/src/index.js +560 -0
- package/src/init.js +269 -0
- package/templates/archive.md +58 -0
- package/templates/brainstorm.md +458 -0
- package/templates/continue.md +39 -0
- package/templates/execute.md +250 -0
- package/templates/explore.md +83 -0
- package/templates/export.md +48 -0
- package/templates/init.md +161 -0
- package/templates/plan.md +233 -0
- package/templates/propose.md +229 -0
- package/templates/quick.md +57 -0
- package/templates/resume.md +95 -0
- package/templates/scan.md +667 -0
- package/templates/status.md +117 -0
- package/templates/verify.md +136 -0
- package/templates/workspace.md +117 -0
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 查看项目进度和状态
|
|
3
|
+
argument-hint: ""
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
你现在是 SillySpec 的状态检查器。
|
|
9
|
+
|
|
10
|
+
## 流程
|
|
11
|
+
|
|
12
|
+
### 0: 检查工作区模式
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
cat .sillyspec/config.yaml 2>/dev/null
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
**如果是工作区模式:**
|
|
19
|
+
|
|
20
|
+
1. 读取 config.yaml 获取子项目列表
|
|
21
|
+
2. 对每个子项目执行 Step 1-5 的检查(在子项目目录下)
|
|
22
|
+
3. 检查共享规范:
|
|
23
|
+
```bash
|
|
24
|
+
ls .sillyspec/shared/ 2>/dev/null
|
|
25
|
+
```
|
|
26
|
+
4. 检查工作区概览:
|
|
27
|
+
```bash
|
|
28
|
+
ls .sillyspec/workspace/ 2>/dev/null
|
|
29
|
+
```
|
|
30
|
+
5. 输出汇总:
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
🏢 工作区状态
|
|
34
|
+
|
|
35
|
+
📦 子项目:
|
|
36
|
+
|
|
37
|
+
✅ frontend ./frontend
|
|
38
|
+
📋 项目:已初始化
|
|
39
|
+
📂 代码库:已扫描(7 份文档)
|
|
40
|
+
🔄 进行中:1 个变更
|
|
41
|
+
- [user-auth] Phase 3 (Execute) — tasks 5/8
|
|
42
|
+
✅ 已归档:3 个变更
|
|
43
|
+
|
|
44
|
+
⚠️ backend ./backend
|
|
45
|
+
📋 项目:已初始化
|
|
46
|
+
📂 代码库:未扫描
|
|
47
|
+
🔄 进行中:0 个变更
|
|
48
|
+
|
|
49
|
+
📄 共享规范:2 份
|
|
50
|
+
- api-contract.md
|
|
51
|
+
- data-models.md
|
|
52
|
+
|
|
53
|
+
💡 下一步:
|
|
54
|
+
- 扫描 backend:/sillyspec:scan backend
|
|
55
|
+
- 继续开发:/sillyspec:continue
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
然后结束,不执行下面的单项目流程。
|
|
59
|
+
|
|
60
|
+
**如果不是工作区模式:** 继续下面的单项目流程。
|
|
61
|
+
|
|
62
|
+
### 1. 项目基础
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
cat .sillyspec/PROJECT.md 2>/dev/null || echo "未初始化"
|
|
66
|
+
ls .sillyspec/codebase/ 2>/dev/null | head -10
|
|
67
|
+
cat .sillyspec/REQUIREMENTS.md 2>/dev/null | head -20
|
|
68
|
+
cat .sillyspec/ROADMAP.md 2>/dev/null
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### 2. 进行中的变更
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
ls .sillyspec/changes/ 2>/dev/null | grep -v archive
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
对每个进行中的变更,检查文件完成度:
|
|
78
|
+
- proposal.md ✅/❌
|
|
79
|
+
- design.md ✅/❌
|
|
80
|
+
- specs/requirements.md ✅/❌
|
|
81
|
+
- tasks.md — X/Y 完成
|
|
82
|
+
- 对应计划 .sillyspec/plans/ ✅/❌
|
|
83
|
+
|
|
84
|
+
### 3. 归档历史
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
ls .sillyspec/changes/archive/ 2>/dev/null | wc -l
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### 4. 中断状态
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
cat .sillyspec/HANDOFF.json 2>/dev/null
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### 5. 代码库文档
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
ls .sillyspec/codebase/ 2>/dev/null
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### 6. 输出
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
📊 SillySpec 状态
|
|
106
|
+
|
|
107
|
+
📋 项目:xxx(已初始化 / 未初始化)
|
|
108
|
+
📂 代码库:已扫描(7 份文档)/ 未扫描
|
|
109
|
+
|
|
110
|
+
🔄 进行中:N 个变更
|
|
111
|
+
- [change-1] Phase 3 (Execute) — tasks 5/8
|
|
112
|
+
- [change-2] Phase 2 (Propose) — 缺少 design.md
|
|
113
|
+
|
|
114
|
+
✅ 已归档:N 个变更
|
|
115
|
+
📝 设计文档:N 份
|
|
116
|
+
📝 实现计划:N 份
|
|
117
|
+
|
|
118
|
+
💡 下一步:/sillyspec:continue
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## 绝对规则
|
|
122
|
+
- 不修改任何文件
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 验证实现 — 对照规范检查 + 测试套件
|
|
3
|
+
argument-hint: "[可选:指定验证范围]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
你现在是 SillySpec 的验证器。
|
|
7
|
+
|
|
8
|
+
## 🛑 流程控制(必须先执行)
|
|
9
|
+
|
|
10
|
+
**在开始任何工作之前,先调用 SillySpec CLI 检查当前状态:**
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
sillyspec status --json
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
**根据 CLI 返回的 phase 决定是否允许执行 verify:**
|
|
17
|
+
- `phase: "verify"` → ✅ 可以继续
|
|
18
|
+
- 其他 phase → ❌ 不允许跳步,提示用户运行 `sillyspec next` 获取正确步骤
|
|
19
|
+
|
|
20
|
+
**不要跳过状态检查。不要自己推断阶段。以 CLI 为准。**
|
|
21
|
+
|
|
22
|
+
## 流程
|
|
23
|
+
|
|
24
|
+
### 1. 加载规范
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
LATEST=$(ls -d .sillyspec/changes/*/ | grep -v archive | tail -1)
|
|
28
|
+
cat "$LATEST/proposal.md"
|
|
29
|
+
cat "$LATEST/design.md"
|
|
30
|
+
cat "$LATEST/tasks.md"
|
|
31
|
+
cat "$LATEST/specs/requirements.md" 2>/dev/null
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### 1.5 锚定确认(必须完成)
|
|
35
|
+
|
|
36
|
+
读取相关规范文件。对于存在的文件,确认理解;对于不存在的文件,标注跳过:
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
已读取并理解:
|
|
40
|
+
- [x] proposal.md — 变更动机和范围(如果存在)
|
|
41
|
+
- [x] design.md — 技术方案和文件变更(如果存在)
|
|
42
|
+
- [x] tasks.md — 实现清单(如果存在)
|
|
43
|
+
- [x] specs/requirements.md — 需求和场景(如果存在)
|
|
44
|
+
|
|
45
|
+
所有可用上下文已加载,开始验证。
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**文件不存在不是错误**。只确认实际存在的文件。不准跳过此步骤。
|
|
49
|
+
|
|
50
|
+
### 2. 逐项检查 tasks.md
|
|
51
|
+
|
|
52
|
+
对每个 checkbox 报告状态:
|
|
53
|
+
- ✅ 已完成 / ❌ 未完成 / ⚠️ 部分完成
|
|
54
|
+
|
|
55
|
+
### 3. 对照 design.md
|
|
56
|
+
|
|
57
|
+
- 架构决策是否遵循?
|
|
58
|
+
- 文件变更清单是否一致?
|
|
59
|
+
- 数据模型是否符合?
|
|
60
|
+
- API 设计是否符合?
|
|
61
|
+
|
|
62
|
+
### 4. 运行完整测试套件(fresh run)
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
# 根据项目技术栈运行
|
|
66
|
+
pnpm test 2>/dev/null || npm test 2>/dev/null || pytest 2>/dev/null || go test ./... 2>/dev/null
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
记录通过/失败数量。如有失败,分析原因。
|
|
70
|
+
|
|
71
|
+
### 5. 代码质量扫描
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
# 搜索技术债务标记
|
|
75
|
+
grep -r "TODO\|FIXME\|HACK\|XXX" src/ lib/ app/ --include="*.ts" --include="*.tsx" --include="*.py" --include="*.js" 2>/dev/null | head -20
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### 6. 输出验证报告
|
|
79
|
+
|
|
80
|
+
```markdown
|
|
81
|
+
# SillySpec 验证报告
|
|
82
|
+
|
|
83
|
+
## 任务完成度
|
|
84
|
+
- [x] Task 1: xxx ✅
|
|
85
|
+
- [x] Task 2: xxx ✅
|
|
86
|
+
- [ ] Task 3: xxx ❌ 未实现
|
|
87
|
+
完成度:2/3
|
|
88
|
+
|
|
89
|
+
## 设计一致性
|
|
90
|
+
- ✅ 架构决策遵循
|
|
91
|
+
- ⚠️ API 返回格式与 design.md 略有差异(缺少 error 字段)
|
|
92
|
+
|
|
93
|
+
## 测试结果
|
|
94
|
+
- passed: 42, failed: 3
|
|
95
|
+
|
|
96
|
+
## 技术债务标记
|
|
97
|
+
- src/auth/login.ts:15 // TODO: add rate limiting
|
|
98
|
+
- src/auth/login.ts:45 // FIXME: token expiry
|
|
99
|
+
|
|
100
|
+
## 结论
|
|
101
|
+
⚠️ PASS WITH NOTES
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## 脚本校验(硬验证)
|
|
105
|
+
|
|
106
|
+
在输出验证报告之前,运行综合校验脚本:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
bash scripts/validate-all.sh
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
将脚本输出纳入验证报告中的"设计一致性"部分。
|
|
113
|
+
|
|
114
|
+
### 7. 最后说:
|
|
115
|
+
|
|
116
|
+
**用 CLI 验证并获取下一步:**
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
sillyspec status --json
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
展示结果给用户,然后:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
sillyspec next
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
将 CLI 返回的命令推荐给用户。**不要自己编建议。**
|
|
129
|
+
|
|
130
|
+
### 8. 更新 STATE.md
|
|
131
|
+
|
|
132
|
+
verify 完成后,**必须自动更新** `.sillyspec/STATE.md`:
|
|
133
|
+
|
|
134
|
+
- 当前阶段改为 `verify ✅` 或 `verify ⚠️`
|
|
135
|
+
- 下一步改为 `/sillyspec:archive`(PASS 时)或 `修复后重新 /sillyspec:verify`
|
|
136
|
+
- 如果是子阶段,更新阶段进度;如果全部阶段完成,下一步改为 `/sillyspec:archive`
|
|
137
|
+
- 历史记录追加时间 + 验证结果
|
|
138
|
+
|
|
139
|
+
## 绝对规则
|
|
140
|
+
- 不修改任何代码
|
|
141
|
+
- 只做检查和报告
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 工作区管理 — 初始化、管理多项目工作区,查看子项目状态
|
|
3
|
+
argument-hint: "[可选:add/remove/status/info]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
你现在是 SillySpec 的工作区管理器。
|
|
9
|
+
|
|
10
|
+
## 用户指令
|
|
11
|
+
$ARGUMENTS
|
|
12
|
+
|
|
13
|
+
## 核心流程
|
|
14
|
+
|
|
15
|
+
### Step 1: 检查工作区配置
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
cat .sillyspec/config.yaml 2>/dev/null
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
如果不存在 → 这是一个尚未配置工作区的项目。询问用户是否要初始化工作区。
|
|
22
|
+
|
|
23
|
+
### Step 2: 解析指令
|
|
24
|
+
|
|
25
|
+
根据 `$ARGUMENTS` 或默认行为:
|
|
26
|
+
|
|
27
|
+
- **无参数 / `status`** → 显示工作区状态
|
|
28
|
+
- **`add`** → 添加子项目
|
|
29
|
+
- **`remove`** → 移除子项目
|
|
30
|
+
- **`info`** → 显示某个子项目详情
|
|
31
|
+
- 无参数且 config.yaml 不存在 → 初始化工作区
|
|
32
|
+
|
|
33
|
+
### Step 3: 执行对应操作
|
|
34
|
+
|
|
35
|
+
#### 3a. 初始化工作区(config.yaml 不存在时)
|
|
36
|
+
|
|
37
|
+
1. 询问工作区名称(默认用当前目录名)
|
|
38
|
+
2. 逐个添加子项目:
|
|
39
|
+
- 询问子项目名称(如 `frontend`、`backend`)
|
|
40
|
+
- 询问子项目路径(相对于工作区根目录,如 `./frontend`)
|
|
41
|
+
- 询问子项目角色描述(如 `前端 - Vue3 + TypeScript`)
|
|
42
|
+
- 验证路径存在
|
|
43
|
+
- 问是否继续添加
|
|
44
|
+
3. 询问共享规范文件
|
|
45
|
+
4. 生成 `.sillyspec/config.yaml`
|
|
46
|
+
5. 创建 `.sillyspec/shared/` 目录
|
|
47
|
+
|
|
48
|
+
#### 3b. 添加子项目(`add`)
|
|
49
|
+
|
|
50
|
+
1. 询问名称、路径、角色
|
|
51
|
+
2. 验证路径存在
|
|
52
|
+
3. 更新 `.sillyspec/config.yaml` 中的 `projects` 字段
|
|
53
|
+
4. Git 提交
|
|
54
|
+
|
|
55
|
+
#### 3c. 移除子项目(`remove`)
|
|
56
|
+
|
|
57
|
+
1. 显示当前所有子项目列表
|
|
58
|
+
2. 询问要移除哪个
|
|
59
|
+
3. 从 config.yaml 中删除对应条目
|
|
60
|
+
4. Git 提交
|
|
61
|
+
|
|
62
|
+
#### 3d. 工作区状态(`status`,默认)
|
|
63
|
+
|
|
64
|
+
读取 config.yaml,对每个子项目检查:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# 对每个子项目
|
|
68
|
+
cd <子项目路径>
|
|
69
|
+
ls .sillyspec/ 2>/dev/null
|
|
70
|
+
cat .sillyspec/PROJECT.md 2>/dev/null
|
|
71
|
+
ls .sillyspec/codebase/ 2>/dev/null | wc -l
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
输出格式:
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
🏢 工作区:<workspace-name>
|
|
78
|
+
|
|
79
|
+
📦 子项目(N 个):
|
|
80
|
+
✅ frontend ./frontend 前端 - Vue3 + TypeScript 已扫描(7 份文档)
|
|
81
|
+
⚠️ backend ./backend 后端 - Node.js 已初始化(未扫描)
|
|
82
|
+
❌ miniprogram ./miniprogram 小程序 - Taro 未初始化
|
|
83
|
+
|
|
84
|
+
📄 共享规范:2 份
|
|
85
|
+
- api-contract.md
|
|
86
|
+
- data-models.md
|
|
87
|
+
|
|
88
|
+
💡 操作:
|
|
89
|
+
/sillyspec:workspace add — 添加子项目
|
|
90
|
+
/sillyspec:workspace remove — 移除子项目
|
|
91
|
+
/sillyspec:init — 初始化子项目
|
|
92
|
+
/sillyspec:scan — 扫描子项目
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
#### 3e. 子项目详情(`info <name>`)
|
|
96
|
+
|
|
97
|
+
显示指定子项目的详细信息,包括 PROJECT.md、REQUIREMENTS.md 内容摘要、代码库文档列表。
|
|
98
|
+
|
|
99
|
+
### Step 4: config.yaml 格式
|
|
100
|
+
|
|
101
|
+
保持标准格式:
|
|
102
|
+
|
|
103
|
+
```yaml
|
|
104
|
+
projects:
|
|
105
|
+
<name>:
|
|
106
|
+
path: <relative-path>
|
|
107
|
+
role: <description>
|
|
108
|
+
|
|
109
|
+
shared:
|
|
110
|
+
- <filename.md>
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### 最后说:
|
|
114
|
+
|
|
115
|
+
> 工作区已更新。
|
|
116
|
+
> 下一步:对子项目运行 `/sillyspec:init` 或 `/sillyspec:scan`。
|
|
117
|
+
|
|
118
|
+
## 绝对规则
|
|
119
|
+
- 不修改子项目目录下的任何文件
|
|
120
|
+
- config.yaml 必须是合法 YAML
|
|
121
|
+
- 子项目路径必须是相对于工作区根目录的相对路径
|
|
122
|
+
- 路径必须验证存在性
|
package/README.md
ADDED
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
# SillySpec v2.3 — 规范驱动开发工具包
|
|
2
|
+
|
|
3
|
+
> 融合 Superpowers + OpenSpec + GSD,从"你说要啥"到"代码能跑"的完整流程。
|
|
4
|
+
> Claude Code / Cursor / Codex / OpenCode / OpenClaw 都能用。
|
|
5
|
+
>
|
|
6
|
+
> 📖 **在线文档**:https://sillyspec.ppdmq.top/
|
|
7
|
+
|
|
8
|
+
## 安装
|
|
9
|
+
|
|
10
|
+
需要 Node.js >= 18。所有平台一条命令:
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npx sillyspec init
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
> 📦 首次运行自动安装 CLI,之后 `sillyspec status`/`sillyspec next` 等命令也可直接使用。
|
|
17
|
+
|
|
18
|
+
**指定工具:**
|
|
19
|
+
```bash
|
|
20
|
+
npx sillyspec init --tool claude
|
|
21
|
+
npx sillyspec init --tool cursor
|
|
22
|
+
npx sillyspec init --tool openclaw
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**工作区模式(多项目):**
|
|
26
|
+
```bash
|
|
27
|
+
npx sillyspec init --workspace
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**指定目录:**
|
|
31
|
+
```bash
|
|
32
|
+
npx sillyspec init --dir /path/to/project
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### 支持的 AI 工具
|
|
36
|
+
|
|
37
|
+
| 工具 | `--tool` 参数 | 输出目录 | 格式 |
|
|
38
|
+
|---|---|---|---|
|
|
39
|
+
| Claude Code (commands) | `claude` | `.claude/commands/sillyspec/` | slash commands |
|
|
40
|
+
| Claude Code (skills) | `claude_skills` | `.claude/skills/sillyspec-<name>/` | SKILL.md |
|
|
41
|
+
| Cursor | `cursor` | `.cursor/commands/` | custom commands |
|
|
42
|
+
| Codex | `codex` | `~/.agents/skills/sillyspec-<name>/` | SKILL.md |
|
|
43
|
+
| OpenCode | `opencode` | `.opencode/skills/sillyspec-<name>/` | SKILL.md |
|
|
44
|
+
| OpenClaw | `openclaw` | `.openclaw/skills/sillyspec-<name>/` | SKILL.md |
|
|
45
|
+
|
|
46
|
+
安装后重新打开终端,启动 Claude Code:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
claude --dangerously-skip-permissions
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
> 💡 **推荐使用跳过权限模式。** SillySpec 的命令会频繁执行 `git commit`、文件读写、校验脚本等操作,停下来 50 次批准会失去意义。这是 GSD 和 OpenSpec 的预期使用方式。
|
|
53
|
+
|
|
54
|
+
## 入口选择
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
绿地项目(空目录):/sillyspec:init
|
|
58
|
+
棕地项目(有代码):/sillyspec:scan
|
|
59
|
+
随时自由思考: /sillyspec:explore "想法"
|
|
60
|
+
大模块(多页面): /sillyspec:brainstorm(直接贴原型图)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## 完整工作流
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
绿地:init → brainstorm → propose → plan → execute → verify → archive
|
|
67
|
+
棕地:scan → brainstorm → propose → plan → execute → verify → archive
|
|
68
|
+
大模块:brainstorm(多图) → 拆分 → MASTER.md → stage-1 全流程 → stage-2 全流程 → ... → archive
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### 也可以跳过
|
|
72
|
+
|
|
73
|
+
- 小 bug:`/sillyspec:quick "修复 xxx"`
|
|
74
|
+
- 不确定要做什么:`/sillyspec:explore "想法"`
|
|
75
|
+
- 中断恢复:`/sillyspec:resume`
|
|
76
|
+
- 不知道下一步:`/sillyspec:continue`
|
|
77
|
+
|
|
78
|
+
## 命令列表
|
|
79
|
+
|
|
80
|
+
### 核心流程
|
|
81
|
+
|
|
82
|
+
| 命令 | 用途 |
|
|
83
|
+
|---|---|
|
|
84
|
+
| `/sillyspec:init` | 绿地项目:深度提问→需求→路线图 |
|
|
85
|
+
| `/sillyspec:scan` | 棕地项目:交互式引导扫描,生成代码库文档 |
|
|
86
|
+
| `/sillyspec:brainstorm` | 需求探索:支持原型图分析,大模块自动拆分 |
|
|
87
|
+
| `/sillyspec:propose` | 生成规范:proposal+design+tasks |
|
|
88
|
+
| `/sillyspec:plan` | 实现计划:精确文件路径+代码 |
|
|
89
|
+
| `/sillyspec:execute` | TDD 执行:子代理并行+两阶段审查 |
|
|
90
|
+
| `/sillyspec:verify` | 验证:对照规范+测试套件 |
|
|
91
|
+
| `/sillyspec:archive` | 归档:规范沉淀 |
|
|
92
|
+
|
|
93
|
+
### 辅助工具
|
|
94
|
+
|
|
95
|
+
| 命令 | 用途 |
|
|
96
|
+
|---|---|
|
|
97
|
+
| `/sillyspec:status` | 查看进度 |
|
|
98
|
+
| `/sillyspec:continue` | 自动下一步 |
|
|
99
|
+
| `/sillyspec:explore` | 自由思考:画图、讨论、调研 |
|
|
100
|
+
| `/sillyspec:quick` | 快速模式:跳过完整流程 |
|
|
101
|
+
| `/sillyspec:handoff` | 保存状态,下班走人 |
|
|
102
|
+
| `/sillyspec:resume` | 恢复工作:支持大模块阶段进度 |
|
|
103
|
+
| `/sillyspec:workspace` | 工作区管理:多项目子项目 |
|
|
104
|
+
| `/sillyspec:export` | 导出成功方案为可复用模板 |
|
|
105
|
+
|
|
106
|
+
## 可靠性保障
|
|
107
|
+
|
|
108
|
+
SillySpec 不仅仅是 prompt,还有硬校验:
|
|
109
|
+
|
|
110
|
+
- **锚定确认** — propose/plan/execute/verify 执行前必须逐个确认读过规范文件
|
|
111
|
+
- **Hard Gate 自检** — 关键命令生成文件后强制自检格式,不通过则修正
|
|
112
|
+
- **校验脚本** — shell 脚本可自动化验证 AI 输出(validate-proposal/plan/scan/all)
|
|
113
|
+
- **框架隐形规则扫描** — scan 阶段自动检测多租户/逻辑删除/审计字段/实体基类,写入 CONVENTIONS.md
|
|
114
|
+
- **实体继承规范扫描** — 新建表时必须包含基类所有字段,防止 Unknown column
|
|
115
|
+
- **归档确认** — archive 操作前展示内容等待用户确认
|
|
116
|
+
|
|
117
|
+
## 防幻觉机制
|
|
118
|
+
|
|
119
|
+
| 环节 | 机制 |
|
|
120
|
+
|---|---|
|
|
121
|
+
| scan | 强制扫描数据库 schema + 框架隐形规则 + 实体基类字段 |
|
|
122
|
+
| brainstorm | 必须读 ARCHITECTURE.md 数据模型,支持原型图分析 |
|
|
123
|
+
| execute | 写代码前强制读现有源码,禁止编造方法调用 |
|
|
124
|
+
| 全流程 | shell 校验脚本兜底 |
|
|
125
|
+
|
|
126
|
+
## 目录结构
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
sillyspec/
|
|
130
|
+
├── cli/ # Node.js CLI(npx sillyspec)
|
|
131
|
+
│ ├── bin/sillyspec.js # 入口
|
|
132
|
+
│ ├── src/
|
|
133
|
+
│ │ ├── index.js # status/next/check/init 命令
|
|
134
|
+
│ │ └── init.js # init 逻辑 + 工具适配器
|
|
135
|
+
│ └── templates/ # 内置命令模板
|
|
136
|
+
├── commands/sillyspec/ # slash commands(Claude Code)
|
|
137
|
+
├── templates/ # 纯 prompt 模板(工具无关)
|
|
138
|
+
├── adapters/
|
|
139
|
+
│ └── adapters.sh # 多工具格式转换函数(bash 版,已废弃)
|
|
140
|
+
├── scripts/
|
|
141
|
+
│ ├── init.sh # init 入口(转发给 CLI)
|
|
142
|
+
│ ├── validate-proposal.sh # 校验 propose 输出
|
|
143
|
+
│ ├── validate-plan.sh # 校验 plan 输出
|
|
144
|
+
│ ├── validate-scan.sh # 校验 scan 输出
|
|
145
|
+
│ └── validate-all.sh # 综合校验
|
|
146
|
+
├── 操作文档.md # 详细操作指南
|
|
147
|
+
└── README.md
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
## 致谢
|
|
151
|
+
|
|
152
|
+
- [Superpowers](https://github.com/obra/superpowers) — 工程纪律
|
|
153
|
+
- [OpenSpec](https://github.com/Fission-AI/OpenSpec) — 需求管理
|
|
154
|
+
- [GSD](https://github.com/gsd-build/get-shit-done) — 上下文工程
|
|
155
|
+
|
|
156
|
+
## License
|
|
157
|
+
|
|
158
|
+
MIT
|
package/SKILL.md
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sillyspec
|
|
3
|
+
description: "规范驱动开发工具包。绿地项目用 /sillyspec:init,棕地项目用 /sillyspec:scan。可用命令:init、scan、explore、brainstorm、propose、plan、execute、verify、archive、status、handoff、resume、continue、quick、workspace。"
|
|
4
|
+
version: "2.0.0"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# SillySpec v2.0
|
|
8
|
+
|
|
9
|
+
融合 Superpowers + OpenSpec + GSD,14 个真实 slash commands。
|
|
10
|
+
|
|
11
|
+
## 入口选择
|
|
12
|
+
|
|
13
|
+
| 项目类型 | 首选命令 |
|
|
14
|
+
|---|---|
|
|
15
|
+
| 全新项目(空目录) | `/sillyspec:init` |
|
|
16
|
+
| 已有代码的项目 | `/sillyspec:scan` |
|
|
17
|
+
| 多项目工作区 | `/sillyspec:workspace` |
|
|
18
|
+
| 随时自由思考 | `/sillyspec:explore` |
|
|
19
|
+
|
|
20
|
+
## 完整工作流
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
绿地:init → brainstorm → propose → plan → execute → verify → archive
|
|
24
|
+
棕地:scan → brainstorm → propose → plan → execute → verify → archive
|
|
25
|
+
工作区:workspace → (init/scan per project) → brainstorm → ...
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## 15 个命令
|
|
29
|
+
|
|
30
|
+
| 命令 | 用途 |
|
|
31
|
+
|---|---|
|
|
32
|
+
| `/sillyspec:init` | 绿地项目初始化 |
|
|
33
|
+
| `/sillyspec:scan` | 棕地项目扫描(7 份文档) |
|
|
34
|
+
| `/sillyspec:explore` | 自由思考模式 |
|
|
35
|
+
| `/sillyspec:brainstorm` | 需求探索 |
|
|
36
|
+
| `/sillyspec:propose` | 生成规范 |
|
|
37
|
+
| `/sillyspec:plan` | 实现计划 |
|
|
38
|
+
| `/sillyspec:execute` | TDD 执行 |
|
|
39
|
+
| `/sillyspec:verify` | 验证 |
|
|
40
|
+
| `/sillyspec:archive` | 归档 |
|
|
41
|
+
| `/sillyspec:status` | 查看进度 |
|
|
42
|
+
| `/sillyspec:continue` | 自动下一步 |
|
|
43
|
+
| `/sillyspec:handoff` | 保存状态 |
|
|
44
|
+
| `/sillyspec:resume` | 恢复工作 |
|
|
45
|
+
| `/sillyspec:quick` | 快速模式 |
|
|
46
|
+
| `/sillyspec:workspace` | 多项目工作区管理(add/remove/status) |
|