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
|
@@ -1,117 +1,37 @@
|
|
|
1
|
-
|
|
1
|
+
## 交互规范
|
|
2
|
+
**当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。**
|
|
3
|
+
|
|
4
|
+
## 核心约束(必须遵守)
|
|
5
|
+
- ❌ 修改任何文件(只读)
|
|
2
6
|
|
|
3
|
-
|
|
7
|
+
---
|
|
4
8
|
|
|
5
9
|
## 流程
|
|
6
10
|
|
|
7
|
-
###
|
|
11
|
+
### Step 1: 检查工作区模式
|
|
8
12
|
|
|
9
13
|
```bash
|
|
10
14
|
cat .sillyspec/config.yaml 2>/dev/null
|
|
11
15
|
```
|
|
12
16
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
1. 读取 config.yaml 获取子项目列表
|
|
16
|
-
2. 对每个子项目执行 Step 1-5 的检查(在子项目目录下)
|
|
17
|
-
3. 检查共享规范:
|
|
18
|
-
```bash
|
|
19
|
-
ls .sillyspec/shared/ 2>/dev/null
|
|
20
|
-
```
|
|
21
|
-
4. 检查工作区概览:
|
|
22
|
-
```bash
|
|
23
|
-
ls .sillyspec/workspace/ 2>/dev/null
|
|
24
|
-
```
|
|
25
|
-
5. 输出汇总:
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
🏢 工作区状态
|
|
17
|
+
**工作区模式:** 读取 config.yaml 子项目列表,对每个子项目检查 PROJECT.md、codebase 文档数、进行中变更、归档数。检查共享规范和工作区概览。输出汇总后结束,不执行单项目流程。
|
|
29
18
|
|
|
30
|
-
|
|
19
|
+
**单项目模式:** 继续 Step 2。
|
|
31
20
|
|
|
32
|
-
|
|
33
|
-
📋 项目:已初始化
|
|
34
|
-
📂 代码库:已扫描(7 份文档)
|
|
35
|
-
🔄 进行中:1 个变更
|
|
36
|
-
- [user-auth] Phase 3 (Execute) — tasks 5/8
|
|
37
|
-
✅ 已归档:3 个变更
|
|
21
|
+
### Step 2-5: 单项目检查
|
|
38
22
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
23
|
+
1. **项目基础:** PROJECT.md、codebase 文档、REQUIREMENTS.md、ROADMAP.md
|
|
24
|
+
2. **进行中变更:** 对每个变更检查 proposal/design/requirements/tasks 完成度
|
|
25
|
+
3. **归档历史:** `ls .sillyspec/changes/archive/ | wc -l`
|
|
26
|
+
4. **代码库文档:** `ls .sillyspec/codebase/`
|
|
43
27
|
|
|
44
|
-
|
|
45
|
-
- api-contract.md
|
|
46
|
-
- data-models.md
|
|
47
|
-
|
|
48
|
-
💡 下一步:
|
|
49
|
-
- 扫描 backend:/sillyspec:scan backend
|
|
50
|
-
- 继续开发:/sillyspec:continue
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
然后结束,不执行下面的单项目流程。
|
|
54
|
-
|
|
55
|
-
**如果不是工作区模式:** 继续下面的单项目流程。
|
|
56
|
-
|
|
57
|
-
### 1. 项目基础
|
|
58
|
-
|
|
59
|
-
```bash
|
|
60
|
-
cat .sillyspec/PROJECT.md 2>/dev/null || echo "未初始化"
|
|
61
|
-
ls .sillyspec/codebase/ 2>/dev/null | head -10
|
|
62
|
-
cat .sillyspec/REQUIREMENTS.md 2>/dev/null | head -20
|
|
63
|
-
cat .sillyspec/ROADMAP.md 2>/dev/null
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
### 2. 进行中的变更
|
|
67
|
-
|
|
68
|
-
```bash
|
|
69
|
-
ls .sillyspec/changes/ 2>/dev/null | grep -v archive
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
对每个进行中的变更,检查文件完成度:
|
|
73
|
-
- proposal.md ✅/❌
|
|
74
|
-
- design.md ✅/❌
|
|
75
|
-
- specs/requirements.md ✅/❌
|
|
76
|
-
- tasks.md — X/Y 完成
|
|
77
|
-
- 对应计划 .sillyspec/plans/ ✅/❌
|
|
78
|
-
|
|
79
|
-
### 3. 归档历史
|
|
80
|
-
|
|
81
|
-
```bash
|
|
82
|
-
ls .sillyspec/changes/archive/ 2>/dev/null | wc -l
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
### 4. 中断状态
|
|
86
|
-
|
|
87
|
-
```bash
|
|
88
|
-
cat .sillyspec/HANDOFF.json 2>/dev/null
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
### 5. 代码库文档
|
|
92
|
-
|
|
93
|
-
```bash
|
|
94
|
-
ls .sillyspec/codebase/ 2>/dev/null
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
### 6. 输出
|
|
28
|
+
### Step 6: 输出
|
|
98
29
|
|
|
99
30
|
```
|
|
100
31
|
📊 SillySpec 状态
|
|
101
|
-
|
|
102
|
-
📋 项目:xxx(已初始化 / 未初始化)
|
|
32
|
+
📋 项目:xxx(已初始化/未初始化)
|
|
103
33
|
📂 代码库:已扫描(7 份文档)/ 未扫描
|
|
104
|
-
|
|
105
34
|
🔄 进行中:N 个变更
|
|
106
|
-
- [change-1] Phase 3 (Execute) — tasks 5/8
|
|
107
|
-
- [change-2] Phase 2 (Propose) — 缺少 design.md
|
|
108
|
-
|
|
109
35
|
✅ 已归档:N 个变更
|
|
110
|
-
📝 设计文档:N 份
|
|
111
|
-
📝 实现计划:N 份
|
|
112
|
-
|
|
113
36
|
💡 下一步:/sillyspec:continue
|
|
114
37
|
```
|
|
115
|
-
|
|
116
|
-
## 绝对规则
|
|
117
|
-
- 不修改任何文件
|
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
## 交互规范
|
|
2
|
+
**当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。**
|
|
2
3
|
|
|
3
|
-
##
|
|
4
|
+
## 核心约束(必须遵守)
|
|
5
|
+
- ❌ 修改任何代码(只做检查和报告)
|
|
6
|
+
- ❌ 跳过状态检查
|
|
7
|
+
- ❌ 自行推进到下一阶段
|
|
4
8
|
|
|
5
|
-
|
|
9
|
+
## 状态检查(必须先执行)
|
|
6
10
|
|
|
7
11
|
```bash
|
|
8
12
|
sillyspec status --json
|
|
9
13
|
```
|
|
10
14
|
|
|
11
|
-
|
|
12
|
-
-
|
|
13
|
-
- 其他 phase → ❌ 不允许跳步,提示用户运行 `sillyspec next` 获取正确步骤
|
|
15
|
+
- `phase: "verify"` → ✅ 继续
|
|
16
|
+
- 其他 phase → 提示 `sillyspec next`
|
|
14
17
|
|
|
15
|
-
|
|
18
|
+
---
|
|
16
19
|
|
|
17
20
|
## 流程
|
|
18
21
|
|
|
@@ -20,53 +23,28 @@ sillyspec status --json
|
|
|
20
23
|
|
|
21
24
|
```bash
|
|
22
25
|
LATEST=$(ls -d .sillyspec/changes/*/ | grep -v archive | tail -1)
|
|
23
|
-
cat "$LATEST/proposal.md"
|
|
24
|
-
cat "$LATEST/design.md"
|
|
25
|
-
cat "$LATEST/tasks.md"
|
|
26
|
-
cat "$LATEST/specs/requirements.md" 2>/dev/null
|
|
26
|
+
cat "$LATEST"/{proposal,design,tasks}.md "$LATEST/specs/requirements.md" 2>/dev/null
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
读取相关规范文件。对于存在的文件,确认理解;对于不存在的文件,标注跳过:
|
|
32
|
-
|
|
33
|
-
```
|
|
34
|
-
已读取并理解:
|
|
35
|
-
- [x] proposal.md — 变更动机和范围(如果存在)
|
|
36
|
-
- [x] design.md — 技术方案和文件变更(如果存在)
|
|
37
|
-
- [x] tasks.md — 实现清单(如果存在)
|
|
38
|
-
- [x] specs/requirements.md — 需求和场景(如果存在)
|
|
39
|
-
|
|
40
|
-
所有可用上下文已加载,开始验证。
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
**文件不存在不是错误**。只确认实际存在的文件。不准跳过此步骤。
|
|
29
|
+
锚定确认实际存在的文件。
|
|
44
30
|
|
|
45
31
|
### 2. 逐项检查 tasks.md
|
|
46
32
|
|
|
47
|
-
对每个 checkbox
|
|
48
|
-
- ✅ 已完成 / ❌ 未完成 / ⚠️ 部分完成
|
|
33
|
+
对每个 checkbox 报告:✅ 已完成 / ❌ 未完成 / ⚠️ 部分完成
|
|
49
34
|
|
|
50
35
|
### 3. 对照 design.md
|
|
51
36
|
|
|
52
|
-
|
|
53
|
-
- 文件变更清单是否一致?
|
|
54
|
-
- 数据模型是否符合?
|
|
55
|
-
- API 设计是否符合?
|
|
37
|
+
架构决策?文件变更一致性?数据模型?API 设计?
|
|
56
38
|
|
|
57
|
-
### 4.
|
|
39
|
+
### 4. 运行测试套件
|
|
58
40
|
|
|
59
41
|
```bash
|
|
60
|
-
# 根据项目技术栈运行
|
|
61
42
|
pnpm test 2>/dev/null || npm test 2>/dev/null || pytest 2>/dev/null || go test ./... 2>/dev/null
|
|
62
43
|
```
|
|
63
44
|
|
|
64
|
-
记录通过/失败数量。如有失败,分析原因。
|
|
65
|
-
|
|
66
45
|
### 5. 代码质量扫描
|
|
67
46
|
|
|
68
47
|
```bash
|
|
69
|
-
# 搜索技术债务标记
|
|
70
48
|
grep -r "TODO\|FIXME\|HACK\|XXX" src/ lib/ app/ --include="*.ts" --include="*.tsx" --include="*.py" --include="*.js" 2>/dev/null | head -20
|
|
71
49
|
```
|
|
72
50
|
|
|
@@ -74,63 +52,21 @@ grep -r "TODO\|FIXME\|HACK\|XXX" src/ lib/ app/ --include="*.ts" --include="*.ts
|
|
|
74
52
|
|
|
75
53
|
```markdown
|
|
76
54
|
# SillySpec 验证报告
|
|
77
|
-
|
|
78
|
-
## 任务完成度
|
|
79
|
-
- [x] Task 1: xxx ✅
|
|
80
|
-
- [x] Task 2: xxx ✅
|
|
81
|
-
- [ ] Task 3: xxx ❌ 未实现
|
|
82
|
-
完成度:2/3
|
|
83
|
-
|
|
55
|
+
## 任务完成度:X/Y
|
|
84
56
|
## 设计一致性
|
|
85
|
-
|
|
86
|
-
- ⚠️ API 返回格式与 design.md 略有差异(缺少 error 字段)
|
|
87
|
-
|
|
88
|
-
## 测试结果
|
|
89
|
-
- passed: 42, failed: 3
|
|
90
|
-
|
|
57
|
+
## 测试结果:passed N, failed N
|
|
91
58
|
## 技术债务标记
|
|
92
|
-
|
|
93
|
-
- src/auth/login.ts:45 // FIXME: token expiry
|
|
94
|
-
|
|
95
|
-
## 结论
|
|
96
|
-
⚠️ PASS WITH NOTES
|
|
59
|
+
## 结论:✅ PASS / ⚠️ PASS WITH NOTES / ❌ FAIL
|
|
97
60
|
```
|
|
98
61
|
|
|
99
|
-
## 脚本校验(硬验证)
|
|
100
|
-
|
|
101
|
-
在输出验证报告之前,运行综合校验脚本:
|
|
102
|
-
|
|
103
|
-
```bash
|
|
104
|
-
bash scripts/validate-all.sh
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
将脚本输出纳入验证报告中的"设计一致性"部分。
|
|
108
|
-
|
|
109
|
-
### 7. 最后说:
|
|
110
|
-
|
|
111
|
-
**用 CLI 验证并获取下一步:**
|
|
112
|
-
|
|
113
62
|
```bash
|
|
114
|
-
|
|
63
|
+
bash scripts/validate-all.sh 2>/dev/null
|
|
115
64
|
```
|
|
116
65
|
|
|
117
|
-
|
|
66
|
+
### 7. 完成
|
|
118
67
|
|
|
119
68
|
```bash
|
|
120
|
-
sillyspec next
|
|
69
|
+
sillyspec status --json && sillyspec next
|
|
121
70
|
```
|
|
122
71
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
### 8. 更新 STATE.md
|
|
126
|
-
|
|
127
|
-
verify 完成后,**必须自动更新** `.sillyspec/STATE.md`:
|
|
128
|
-
|
|
129
|
-
- 当前阶段改为 `verify ✅` 或 `verify ⚠️`
|
|
130
|
-
- 下一步改为 `/sillyspec:archive`(PASS 时)或 `修复后重新 /sillyspec:verify`
|
|
131
|
-
- 如果是子阶段,更新阶段进度;如果全部阶段完成,下一步改为 `/sillyspec:archive`
|
|
132
|
-
- 历史记录追加时间 + 验证结果
|
|
133
|
-
|
|
134
|
-
## 绝对规则
|
|
135
|
-
- 不修改任何代码
|
|
136
|
-
- 只做检查和报告
|
|
72
|
+
更新 `.sillyspec/STATE.md`:阶段改为 `verify ✅` 或 `verify ⚠️`。
|
|
@@ -1,130 +1,57 @@
|
|
|
1
1
|
## 交互规范
|
|
2
|
-
|
|
3
2
|
**当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。**
|
|
4
3
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
你现在是 SillySpec 的工作区管理器。
|
|
4
|
+
## 核心约束(必须遵守)
|
|
5
|
+
- ❌ 修改子项目目录下的任何文件
|
|
6
|
+
- ❌ 写非法 YAML
|
|
7
|
+
- ❌ 使用绝对路径(必须是相对路径)
|
|
11
8
|
|
|
12
9
|
## 用户指令
|
|
13
10
|
$ARGUMENTS
|
|
14
11
|
|
|
15
|
-
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 流程
|
|
16
15
|
|
|
17
|
-
### Step 1:
|
|
16
|
+
### Step 1: 检查配置
|
|
18
17
|
|
|
19
18
|
```bash
|
|
20
19
|
cat .sillyspec/config.yaml 2>/dev/null
|
|
21
20
|
```
|
|
22
21
|
|
|
23
|
-
|
|
24
|
-
1. 初始化工作区
|
|
25
|
-
2. 跳过
|
|
22
|
+
不存在 → 询问是否初始化工作区。
|
|
26
23
|
|
|
27
24
|
### Step 2: 解析指令
|
|
28
25
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
- **`remove`** → 移除子项目
|
|
34
|
-
- **`info`** → 显示某个子项目详情
|
|
35
|
-
- 无参数且 config.yaml 不存在 → 初始化工作区
|
|
26
|
+
- 无参数 / `status` → 显示状态
|
|
27
|
+
- `add` → 添加子项目
|
|
28
|
+
- `remove` → 移除子项目
|
|
29
|
+
- `info <name>` → 子项目详情
|
|
36
30
|
|
|
37
|
-
### Step 3:
|
|
31
|
+
### Step 3: 执行操作
|
|
38
32
|
|
|
39
|
-
|
|
33
|
+
**初始化工作区:** 询问名称 → 逐个添加子项目(名称、路径、角色描述,验证路径存在)→ 共享规范 → 生成 config.yaml + `.sillyspec/shared/`
|
|
40
34
|
|
|
41
|
-
|
|
42
|
-
2. 逐个添加子项目:
|
|
43
|
-
- 询问子项目名称(如 `frontend`、`backend`)
|
|
44
|
-
- 询问子项目路径(相对于工作区根目录,如 `./frontend`)
|
|
45
|
-
- 询问子项目角色描述(如 `前端 - Vue3 + TypeScript`)
|
|
46
|
-
- 验证路径存在
|
|
47
|
-
添加完后询问:
|
|
48
|
-
> 1. 继续添加子项目
|
|
49
|
-
> 2. 完成,配置共享规范
|
|
50
|
-
3. 询问共享规范文件
|
|
51
|
-
4. 生成 `.sillyspec/config.yaml`
|
|
52
|
-
5. 创建 `.sillyspec/shared/` 目录
|
|
35
|
+
**添加/移除子项目:** 更新 config.yaml,Git 提交。
|
|
53
36
|
|
|
54
|
-
|
|
37
|
+
**状态显示:** 读取每个子项目的 `.sillyspec/` 内容(PROJECT.md、codebase 文档数、进行中变更),输出格式:
|
|
55
38
|
|
|
56
|
-
1. 询问名称、路径、角色
|
|
57
|
-
2. 验证路径存在
|
|
58
|
-
3. 更新 `.sillyspec/config.yaml` 中的 `projects` 字段
|
|
59
|
-
4. Git 提交
|
|
60
|
-
|
|
61
|
-
#### 3c. 移除子项目(`remove`)
|
|
62
|
-
|
|
63
|
-
1. 显示当前所有子项目列表
|
|
64
|
-
2. 询问要移除哪个:
|
|
65
|
-
> 1. (列出子项目名称)
|
|
66
|
-
> 2. 取消
|
|
67
|
-
3. 从 config.yaml 中删除对应条目
|
|
68
|
-
4. Git 提交
|
|
69
|
-
|
|
70
|
-
#### 3d. 工作区状态(`status`,默认)
|
|
71
|
-
|
|
72
|
-
读取 config.yaml,对每个子项目检查:
|
|
73
|
-
|
|
74
|
-
```bash
|
|
75
|
-
# 对每个子项目
|
|
76
|
-
cd <子项目路径>
|
|
77
|
-
ls .sillyspec/ 2>/dev/null
|
|
78
|
-
cat .sillyspec/PROJECT.md 2>/dev/null
|
|
79
|
-
ls .sillyspec/codebase/ 2>/dev/null | wc -l
|
|
80
39
|
```
|
|
81
|
-
|
|
82
|
-
输出格式:
|
|
83
|
-
|
|
84
|
-
```
|
|
85
|
-
🏢 工作区:<workspace-name>
|
|
86
|
-
|
|
40
|
+
🏢 工作区:<name>
|
|
87
41
|
📦 子项目(N 个):
|
|
88
|
-
✅ frontend ./frontend
|
|
89
|
-
⚠️ backend ./backend
|
|
90
|
-
❌ miniprogram ./miniprogram 小程序 - Taro 未初始化
|
|
91
|
-
|
|
42
|
+
✅ frontend ./frontend 前端 - Vue3+TS 已扫描(7 份文档)
|
|
43
|
+
⚠️ backend ./backend 后端 - Node.js 已初始化(未扫描)
|
|
92
44
|
📄 共享规范:2 份
|
|
93
|
-
|
|
94
|
-
- data-models.md
|
|
95
|
-
|
|
96
|
-
💡 操作:
|
|
97
|
-
/sillyspec:workspace add — 添加子项目
|
|
98
|
-
/sillyspec:workspace remove — 移除子项目
|
|
99
|
-
/sillyspec:init — 初始化子项目
|
|
100
|
-
/sillyspec:scan — 扫描子项目
|
|
45
|
+
💡 操作:/sillyspec:workspace add | /sillyspec:init | /sillyspec:scan
|
|
101
46
|
```
|
|
102
47
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
显示指定子项目的详细信息,包括 PROJECT.md、REQUIREMENTS.md 内容摘要、代码库文档列表。
|
|
106
|
-
|
|
107
|
-
### Step 4: config.yaml 格式
|
|
108
|
-
|
|
109
|
-
保持标准格式:
|
|
48
|
+
### config.yaml 格式
|
|
110
49
|
|
|
111
50
|
```yaml
|
|
112
51
|
projects:
|
|
113
52
|
<name>:
|
|
114
53
|
path: <relative-path>
|
|
115
54
|
role: <description>
|
|
116
|
-
|
|
117
55
|
shared:
|
|
118
56
|
- <filename.md>
|
|
119
57
|
```
|
|
120
|
-
|
|
121
|
-
### 最后说:
|
|
122
|
-
|
|
123
|
-
> 工作区已更新。
|
|
124
|
-
> 下一步:对子项目运行 `/sillyspec:init` 或 `/sillyspec:scan`。
|
|
125
|
-
|
|
126
|
-
## 绝对规则
|
|
127
|
-
- 不修改子项目目录下的任何文件
|
|
128
|
-
- config.yaml 必须是合法 YAML
|
|
129
|
-
- 子项目路径必须是相对于工作区根目录的相对路径
|
|
130
|
-
- 路径必须验证存在性
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sillyspec",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.5.0",
|
|
4
4
|
"description": "SillySpec CLI — 流程状态机,让 AI 严格按步骤来",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -16,5 +16,10 @@
|
|
|
16
16
|
"cursor",
|
|
17
17
|
"spec-driven"
|
|
18
18
|
],
|
|
19
|
-
"license": "MIT"
|
|
19
|
+
"license": "MIT",
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"@inquirer/prompts": "^7.10.1",
|
|
22
|
+
"chalk": "^5.6.2",
|
|
23
|
+
"ora": "^9.3.0"
|
|
24
|
+
}
|
|
20
25
|
}
|
package/src/index.js
CHANGED
|
@@ -498,7 +498,7 @@ SillySpec CLI — 流程状态机
|
|
|
498
498
|
`);
|
|
499
499
|
}
|
|
500
500
|
|
|
501
|
-
function main() {
|
|
501
|
+
async function main() {
|
|
502
502
|
const args = process.argv.slice(2);
|
|
503
503
|
|
|
504
504
|
if (args.length === 0 || args[0] === 'help' || args[0] === '--help' || args[0] === '-h') {
|
|
@@ -548,7 +548,7 @@ function main() {
|
|
|
548
548
|
cmdCheck(dir, { json });
|
|
549
549
|
break;
|
|
550
550
|
case 'init':
|
|
551
|
-
cmdInit(dir, { tool, workspace });
|
|
551
|
+
await cmdInit(dir, { tool, workspace });
|
|
552
552
|
break;
|
|
553
553
|
default:
|
|
554
554
|
console.error(`❌ 未知命令: ${command}`);
|