sillyspec 3.7.14 → 3.7.15
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 +77 -0
- package/.claude/skills/sillyspec-brainstorm/SKILL.md +591 -0
- package/.claude/skills/sillyspec-continue/SKILL.md +44 -0
- package/.claude/skills/sillyspec-execute/SKILL.md +233 -0
- package/.claude/skills/sillyspec-explore/SKILL.md +96 -0
- package/.claude/skills/sillyspec-export/SKILL.md +53 -0
- package/.claude/skills/sillyspec-init/SKILL.md +171 -0
- package/.claude/skills/sillyspec-plan/SKILL.md +263 -0
- package/.claude/skills/sillyspec-propose/SKILL.md +248 -0
- package/.claude/skills/sillyspec-quick/SKILL.md +102 -0
- package/.claude/skills/sillyspec-resume/SKILL.md +111 -0
- package/{templates/scan.md → .claude/skills/sillyspec-scan/SKILL.md} +22 -60
- package/.claude/skills/sillyspec-state/SKILL.md +54 -0
- package/.claude/skills/sillyspec-status/SKILL.md +131 -0
- package/.claude/skills/sillyspec-verify/SKILL.md +146 -0
- package/.claude/skills/sillyspec-workspace/SKILL.md +149 -0
- package/.sillyspec/changes/run-command-design/design.md +1230 -0
- package/.sillyspec/docs/sillyspec/scan/.gitkeep +0 -0
- package/.sillyspec/knowledge/INDEX.md +8 -0
- package/.sillyspec/knowledge/uncategorized.md +3 -0
- package/.sillyspec/projects/sillyspec.yaml +3 -0
- package/package.json +1 -1
- package/packages/dashboard/dist/assets/index-Bx0cgoK_.js +7446 -0
- package/packages/dashboard/dist/assets/index-DbkUSsNO.css +1 -0
- package/packages/dashboard/dist/index.html +2 -2
- package/packages/dashboard/package-lock.json +220 -0
- package/packages/dashboard/package.json +8 -5
- package/packages/dashboard/server/index.js +91 -3
- package/packages/dashboard/server/parser.js +252 -28
- package/packages/dashboard/src/App.vue +54 -8
- package/packages/dashboard/src/components/ActionBar.vue +23 -39
- package/packages/dashboard/src/components/CommandPalette.vue +40 -65
- package/packages/dashboard/src/components/DetailPanel.vue +68 -53
- package/packages/dashboard/src/components/DocPreview.vue +137 -20
- package/packages/dashboard/src/components/DocTree.vue +48 -26
- package/packages/dashboard/src/components/LogStream.vue +12 -32
- package/packages/dashboard/src/components/PipelineStage.vue +8 -8
- package/packages/dashboard/src/components/PipelineView.vue +35 -43
- package/packages/dashboard/src/components/ProjectList.vue +51 -77
- package/packages/dashboard/src/components/ProjectOverview.vue +178 -0
- package/packages/dashboard/src/components/StageBadge.vue +13 -13
- package/packages/dashboard/src/components/StepCard.vue +11 -11
- package/packages/dashboard/src/components/detail/DocsDetail.vue +48 -0
- package/packages/dashboard/src/components/detail/GitDetail.vue +61 -0
- package/packages/dashboard/src/components/detail/TechDetail.vue +43 -0
- package/packages/dashboard/src/main.js +4 -1
- package/packages/dashboard/src/style.css +14 -14
- package/src/index.js +55 -8
- package/src/init.js +66 -196
- package/src/migrate.js +1 -18
- package/src/progress.js +279 -281
- package/src/run.js +320 -0
- package/src/setup.js +1 -9
- package/src/stages/brainstorm.js +210 -0
- package/src/stages/execute.js +190 -0
- package/src/stages/index.js +22 -0
- package/src/stages/plan.js +118 -0
- package/src/stages/propose.js +115 -0
- package/src/stages/verify.js +98 -0
- package/packages/dashboard/dist/assets/index-hNnQCobe.css +0 -1
- package/packages/dashboard/dist/assets/index-qgPzQGjk.js +0 -17
- package/templates/archive.md +0 -121
- package/templates/brainstorm.md +0 -246
- package/templates/commit.md +0 -123
- package/templates/continue.md +0 -32
- package/templates/execute.md +0 -314
- package/templates/explore.md +0 -60
- package/templates/export.md +0 -21
- package/templates/init.md +0 -61
- package/templates/plan.md +0 -157
- package/templates/progress-format.md +0 -90
- package/templates/propose.md +0 -73
- package/templates/quick.md +0 -135
- package/templates/resume-dialog.md +0 -55
- package/templates/resume.md +0 -53
- package/templates/scan-quick.md +0 -49
- package/templates/skills/playwright-e2e/SKILL.md +0 -340
- package/templates/status.md +0 -72
- package/templates/verify.md +0 -253
- package/templates/workspace-sync.md +0 -89
- package/templates/workspace.md +0 -67
- /package/.sillyspec/{docs/sillyspec/brainstorm → changes/brainstorm-archive}/2026-04-05-dashboard-design.md +0 -0
- /package/.sillyspec/{docs/sillyspec/brainstorm → changes/brainstorm-archive}/2026-04-05-unified-docs-design.md +0 -0
- /package/.sillyspec/{specs/2026-04-05-dashboard-design.md → changes/dashboard/design.md.braindraft} +0 -0
- /package/.sillyspec/{specs/2026-04-05-unified-docs-design.md → changes/unified-docs-design/design.md} +0 -0
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sillyspec:workspace
|
|
3
|
+
description: 工作区管理 — 初始化、管理多项目工作区,查看子项目状态
|
|
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
|
+
### Step 1: 检查工作区配置
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
ls .sillyspec/projects/*.yaml 2>/dev/null | grep -q .
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
如果不存在 → 这是一个尚未配置工作区的项目。询问用户:
|
|
29
|
+
1. 初始化工作区
|
|
30
|
+
2. 跳过
|
|
31
|
+
|
|
32
|
+
### Step 2: 解析指令
|
|
33
|
+
|
|
34
|
+
根据 `$ARGUMENTS` 或默认行为:
|
|
35
|
+
|
|
36
|
+
- **无参数 / `status`** → 显示工作区状态
|
|
37
|
+
- **`add`** → 添加子项目
|
|
38
|
+
- **`remove`** → 移除子项目
|
|
39
|
+
- **`info`** → 显示某个子项目详情
|
|
40
|
+
- 无参数且 projects/*.yaml 不存在 → 初始化工作区
|
|
41
|
+
|
|
42
|
+
### Step 3: 执行对应操作
|
|
43
|
+
|
|
44
|
+
#### 3a. 初始化工作区(projects/ 不存在时)
|
|
45
|
+
|
|
46
|
+
1. 询问工作区名称(默认用当前目录名)
|
|
47
|
+
2. 逐个添加子项目:
|
|
48
|
+
- 询问子项目名称(如 `frontend`、`backend`)
|
|
49
|
+
- 询问子项目路径(相对于工作区根目录,如 `./frontend`)
|
|
50
|
+
- 询问子项目角色描述(如 `前端 - Vue3 + TypeScript`)
|
|
51
|
+
- 询问仓库地址(可选)
|
|
52
|
+
- 验证路径存在
|
|
53
|
+
添加完后询问:
|
|
54
|
+
> 1. 继续添加子项目
|
|
55
|
+
> 2. 完成,配置共享规范
|
|
56
|
+
3. 询问共享规范文件
|
|
57
|
+
4. 为每个子项目创建 `.sillyspec/projects/<name>.yaml`:
|
|
58
|
+
```yaml
|
|
59
|
+
name: <name>
|
|
60
|
+
path: <relative-path>
|
|
61
|
+
status: active
|
|
62
|
+
role: <description>
|
|
63
|
+
repo: <repo-url> # 可选
|
|
64
|
+
```
|
|
65
|
+
5. 创建 `.sillyspec/shared/` 目录
|
|
66
|
+
|
|
67
|
+
#### 3b. 添加子项目(`add`)
|
|
68
|
+
|
|
69
|
+
1. 询问名称、路径、角色
|
|
70
|
+
2. 验证路径存在
|
|
71
|
+
3. 创建/更新 `.sillyspec/projects/<name>.yaml`
|
|
72
|
+
4. Git 提交
|
|
73
|
+
|
|
74
|
+
#### 3c. 移除子项目(`remove`)
|
|
75
|
+
|
|
76
|
+
1. 显示当前所有子项目列表
|
|
77
|
+
2. 询问要移除哪个:
|
|
78
|
+
> 1. (列出子项目名称)
|
|
79
|
+
> 2. 取消
|
|
80
|
+
3. 删除 `.sillyspec/projects/<name>.yaml`
|
|
81
|
+
4. Git 提交
|
|
82
|
+
|
|
83
|
+
#### 3d. 工作区状态(`status`,默认)
|
|
84
|
+
|
|
85
|
+
读取所有 `projects/*.yaml`,对每个子项目检查:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
# 读取子项目列表
|
|
89
|
+
for f in .sillyspec/projects/*.yaml; do
|
|
90
|
+
[ -f "$f" ] || continue
|
|
91
|
+
proj_name=$(basename "$f" .yaml)
|
|
92
|
+
proj_path=$(grep '^path:' "$f" | head -1 | sed 's/^path:[[:space:]]*//')
|
|
93
|
+
proj_role=$(grep '^role:' "$f" | head -1 | sed 's/^role:[[:space:]]*//')
|
|
94
|
+
# 检查子项目状态
|
|
95
|
+
cd "$proj_path"
|
|
96
|
+
ls .sillyspec/ 2>/dev/null
|
|
97
|
+
cat .sillyspec/PROJECT.md 2>/dev/null
|
|
98
|
+
ls docs/${proj_name}/scan/ 2>/dev/null | wc -l
|
|
99
|
+
cd -
|
|
100
|
+
done
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
输出格式:
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
🏢 工作区:<workspace-name>
|
|
107
|
+
|
|
108
|
+
📦 子项目(N 个):
|
|
109
|
+
✅ frontend ./frontend 前端 - Vue3 + TypeScript 已扫描(7 份文档)
|
|
110
|
+
⚠️ backend ./backend 后端 - Node.js 已初始化(未扫描)
|
|
111
|
+
❌ miniprogram ./miniprogram 小程序 - Taro 未初始化
|
|
112
|
+
|
|
113
|
+
📄 共享规范:2 份
|
|
114
|
+
- api-contract.md
|
|
115
|
+
- data-models.md
|
|
116
|
+
|
|
117
|
+
💡 操作:
|
|
118
|
+
/sillyspec:workspace add — 添加子项目
|
|
119
|
+
/sillyspec:workspace remove — 移除子项目
|
|
120
|
+
/sillyspec:init — 初始化子项目
|
|
121
|
+
/sillyspec:scan — 扫描子项目
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
#### 3e. 子项目详情(`info <name>`)
|
|
125
|
+
|
|
126
|
+
显示指定子项目的详细信息,包括 PROJECT.md、REQUIREMENTS.md 内容摘要、扫描文档列表。
|
|
127
|
+
|
|
128
|
+
### Step 4: projects/*.yaml 格式
|
|
129
|
+
|
|
130
|
+
每个子项目对应 `.sillyspec/projects/<name>.yaml`:
|
|
131
|
+
|
|
132
|
+
```yaml
|
|
133
|
+
name: frontend
|
|
134
|
+
path: ./frontend
|
|
135
|
+
status: active
|
|
136
|
+
role: 前端 - Vue3 + TypeScript
|
|
137
|
+
repo: https://github.com/xxx/frontend.git # 可选
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### 最后说:
|
|
141
|
+
|
|
142
|
+
> 工作区已更新。
|
|
143
|
+
> 下一步:对子项目运行 `/sillyspec:init` 或 `/sillyspec:scan`。
|
|
144
|
+
|
|
145
|
+
## 绝对规则
|
|
146
|
+
- 不修改子项目目录下的任何文件
|
|
147
|
+
- projects/*.yaml 必须是合法 YAML
|
|
148
|
+
- 子项目路径必须是相对于工作区根目录的相对路径
|
|
149
|
+
- 路径必须验证存在性
|