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.
Files changed (85) hide show
  1. package/.claude/skills/sillyspec-archive/SKILL.md +77 -0
  2. package/.claude/skills/sillyspec-brainstorm/SKILL.md +591 -0
  3. package/.claude/skills/sillyspec-continue/SKILL.md +44 -0
  4. package/.claude/skills/sillyspec-execute/SKILL.md +233 -0
  5. package/.claude/skills/sillyspec-explore/SKILL.md +96 -0
  6. package/.claude/skills/sillyspec-export/SKILL.md +53 -0
  7. package/.claude/skills/sillyspec-init/SKILL.md +171 -0
  8. package/.claude/skills/sillyspec-plan/SKILL.md +263 -0
  9. package/.claude/skills/sillyspec-propose/SKILL.md +248 -0
  10. package/.claude/skills/sillyspec-quick/SKILL.md +102 -0
  11. package/.claude/skills/sillyspec-resume/SKILL.md +111 -0
  12. package/{templates/scan.md → .claude/skills/sillyspec-scan/SKILL.md} +22 -60
  13. package/.claude/skills/sillyspec-state/SKILL.md +54 -0
  14. package/.claude/skills/sillyspec-status/SKILL.md +131 -0
  15. package/.claude/skills/sillyspec-verify/SKILL.md +146 -0
  16. package/.claude/skills/sillyspec-workspace/SKILL.md +149 -0
  17. package/.sillyspec/changes/run-command-design/design.md +1230 -0
  18. package/.sillyspec/docs/sillyspec/scan/.gitkeep +0 -0
  19. package/.sillyspec/knowledge/INDEX.md +8 -0
  20. package/.sillyspec/knowledge/uncategorized.md +3 -0
  21. package/.sillyspec/projects/sillyspec.yaml +3 -0
  22. package/package.json +1 -1
  23. package/packages/dashboard/dist/assets/index-Bx0cgoK_.js +7446 -0
  24. package/packages/dashboard/dist/assets/index-DbkUSsNO.css +1 -0
  25. package/packages/dashboard/dist/index.html +2 -2
  26. package/packages/dashboard/package-lock.json +220 -0
  27. package/packages/dashboard/package.json +8 -5
  28. package/packages/dashboard/server/index.js +91 -3
  29. package/packages/dashboard/server/parser.js +252 -28
  30. package/packages/dashboard/src/App.vue +54 -8
  31. package/packages/dashboard/src/components/ActionBar.vue +23 -39
  32. package/packages/dashboard/src/components/CommandPalette.vue +40 -65
  33. package/packages/dashboard/src/components/DetailPanel.vue +68 -53
  34. package/packages/dashboard/src/components/DocPreview.vue +137 -20
  35. package/packages/dashboard/src/components/DocTree.vue +48 -26
  36. package/packages/dashboard/src/components/LogStream.vue +12 -32
  37. package/packages/dashboard/src/components/PipelineStage.vue +8 -8
  38. package/packages/dashboard/src/components/PipelineView.vue +35 -43
  39. package/packages/dashboard/src/components/ProjectList.vue +51 -77
  40. package/packages/dashboard/src/components/ProjectOverview.vue +178 -0
  41. package/packages/dashboard/src/components/StageBadge.vue +13 -13
  42. package/packages/dashboard/src/components/StepCard.vue +11 -11
  43. package/packages/dashboard/src/components/detail/DocsDetail.vue +48 -0
  44. package/packages/dashboard/src/components/detail/GitDetail.vue +61 -0
  45. package/packages/dashboard/src/components/detail/TechDetail.vue +43 -0
  46. package/packages/dashboard/src/main.js +4 -1
  47. package/packages/dashboard/src/style.css +14 -14
  48. package/src/index.js +55 -8
  49. package/src/init.js +66 -196
  50. package/src/migrate.js +1 -18
  51. package/src/progress.js +279 -281
  52. package/src/run.js +320 -0
  53. package/src/setup.js +1 -9
  54. package/src/stages/brainstorm.js +210 -0
  55. package/src/stages/execute.js +190 -0
  56. package/src/stages/index.js +22 -0
  57. package/src/stages/plan.js +118 -0
  58. package/src/stages/propose.js +115 -0
  59. package/src/stages/verify.js +98 -0
  60. package/packages/dashboard/dist/assets/index-hNnQCobe.css +0 -1
  61. package/packages/dashboard/dist/assets/index-qgPzQGjk.js +0 -17
  62. package/templates/archive.md +0 -121
  63. package/templates/brainstorm.md +0 -246
  64. package/templates/commit.md +0 -123
  65. package/templates/continue.md +0 -32
  66. package/templates/execute.md +0 -314
  67. package/templates/explore.md +0 -60
  68. package/templates/export.md +0 -21
  69. package/templates/init.md +0 -61
  70. package/templates/plan.md +0 -157
  71. package/templates/progress-format.md +0 -90
  72. package/templates/propose.md +0 -73
  73. package/templates/quick.md +0 -135
  74. package/templates/resume-dialog.md +0 -55
  75. package/templates/resume.md +0 -53
  76. package/templates/scan-quick.md +0 -49
  77. package/templates/skills/playwright-e2e/SKILL.md +0 -340
  78. package/templates/status.md +0 -72
  79. package/templates/verify.md +0 -253
  80. package/templates/workspace-sync.md +0 -89
  81. package/templates/workspace.md +0 -67
  82. /package/.sillyspec/{docs/sillyspec/brainstorm → changes/brainstorm-archive}/2026-04-05-dashboard-design.md +0 -0
  83. /package/.sillyspec/{docs/sillyspec/brainstorm → changes/brainstorm-archive}/2026-04-05-unified-docs-design.md +0 -0
  84. /package/.sillyspec/{specs/2026-04-05-dashboard-design.md → changes/dashboard/design.md.braindraft} +0 -0
  85. /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
+ - 路径必须验证存在性