sillyspec 3.9.0 → 3.9.1

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 (212) hide show
  1. package/.claude/skills/sillyspec-archive/SKILL.md +17 -0
  2. package/.claude/skills/sillyspec-auto/SKILL.md +78 -0
  3. package/.claude/skills/sillyspec-brainstorm/SKILL.md +17 -0
  4. package/{templates/commit.md → .claude/skills/sillyspec-commit/SKILL.md} +32 -47
  5. package/.claude/skills/sillyspec-continue/SKILL.md +45 -0
  6. package/.claude/skills/sillyspec-doctor/SKILL.md +27 -0
  7. package/.claude/skills/sillyspec-execute/SKILL.md +17 -0
  8. package/.claude/skills/sillyspec-explore/SKILL.md +96 -0
  9. package/.claude/skills/sillyspec-export/SKILL.md +53 -0
  10. package/.claude/skills/sillyspec-init/SKILL.md +170 -0
  11. package/.claude/skills/sillyspec-plan/SKILL.md +52 -0
  12. package/.claude/skills/sillyspec-propose/SKILL.md +17 -0
  13. package/.claude/skills/sillyspec-quick/SKILL.md +17 -0
  14. package/.claude/skills/sillyspec-resume/SKILL.md +111 -0
  15. package/.claude/skills/sillyspec-scan/SKILL.md +17 -0
  16. package/.claude/skills/sillyspec-state/SKILL.md +54 -0
  17. package/.claude/skills/sillyspec-status/SKILL.md +17 -0
  18. package/.claude/skills/sillyspec-verify/SKILL.md +17 -0
  19. package/.claude/skills/sillyspec-workspace/SKILL.md +149 -0
  20. package/.sillyspec/changes/archive/2026-04-08-derive-state/design.md +97 -0
  21. package/.sillyspec/changes/archive/2026-04-08-derive-state/plan.md +51 -0
  22. package/.sillyspec/changes/archive/2026-04-08-derive-state/proposal.md +29 -0
  23. package/.sillyspec/changes/archive/2026-04-08-derive-state/requirements.md +34 -0
  24. package/.sillyspec/changes/archive/2026-04-08-derive-state/tasks.md +13 -0
  25. package/.sillyspec/changes/archive/2026-04-08-derive-state/verify-result.md +43 -0
  26. package/.sillyspec/changes/auto-mode/design.md +50 -0
  27. package/.sillyspec/changes/auto-mode/proposal.md +19 -0
  28. package/.sillyspec/changes/auto-mode/requirements.md +21 -0
  29. package/.sillyspec/changes/auto-mode/tasks.md +7 -0
  30. package/.sillyspec/changes/brainstorm-archive/2026-04-05-unified-docs-design.md +199 -0
  31. package/.sillyspec/changes/dashboard/design.md.braindraft +206 -0
  32. package/.sillyspec/changes/run-command-design/design.md +1230 -0
  33. package/.sillyspec/changes/unified-docs-design/design.md +199 -0
  34. package/.sillyspec/docs/sillyspec/scan/.gitkeep +0 -0
  35. package/.sillyspec/knowledge/INDEX.md +8 -0
  36. package/.sillyspec/knowledge/uncategorized.md +3 -0
  37. package/.sillyspec/projects/sillyspec.yaml +3 -0
  38. package/README.md +12 -5
  39. package/package.json +7 -9
  40. package/packages/dashboard/dist/assets/index-CntACGUN.css +1 -0
  41. package/packages/dashboard/dist/assets/index-RsLVPAy7.js +7446 -0
  42. package/packages/dashboard/dist/index.html +3 -2
  43. package/packages/dashboard/package-lock.json +226 -6
  44. package/packages/dashboard/package.json +8 -5
  45. package/packages/dashboard/public/logo.jpg +0 -0
  46. package/packages/dashboard/server/executor.js +1 -1
  47. package/packages/dashboard/server/index.js +336 -113
  48. package/packages/dashboard/server/parser.js +333 -29
  49. package/packages/dashboard/server/watcher.js +203 -131
  50. package/packages/dashboard/src/App.vue +187 -11
  51. package/packages/dashboard/src/components/ActionBar.vue +26 -42
  52. package/packages/dashboard/src/components/CommandPalette.vue +40 -65
  53. package/packages/dashboard/src/components/DetailPanel.vue +68 -53
  54. package/packages/dashboard/src/components/DocPreview.vue +160 -0
  55. package/packages/dashboard/src/components/DocTree.vue +58 -0
  56. package/packages/dashboard/src/components/LogStream.vue +13 -33
  57. package/packages/dashboard/src/components/PipelineStage.vue +8 -8
  58. package/packages/dashboard/src/components/PipelineView.vue +80 -45
  59. package/packages/dashboard/src/components/ProjectList.vue +103 -45
  60. package/packages/dashboard/src/components/ProjectOverview.vue +178 -0
  61. package/packages/dashboard/src/components/StageBadge.vue +13 -13
  62. package/packages/dashboard/src/components/StepCard.vue +15 -15
  63. package/packages/dashboard/src/components/detail/DocsDetail.vue +48 -0
  64. package/packages/dashboard/src/components/detail/GitDetail.vue +61 -0
  65. package/packages/dashboard/src/components/detail/TechDetail.vue +43 -0
  66. package/packages/dashboard/src/composables/useDashboard.js +20 -6
  67. package/packages/dashboard/src/composables/useKeyboard.js +6 -4
  68. package/packages/dashboard/src/main.js +4 -1
  69. package/packages/dashboard/src/style.css +17 -17
  70. package/src/index.js +134 -22
  71. package/src/init.js +83 -228
  72. package/src/migrate.js +117 -0
  73. package/src/progress.js +459 -0
  74. package/src/run.js +624 -0
  75. package/src/setup.js +2 -72
  76. package/src/stages/archive.js +54 -0
  77. package/src/stages/brainstorm.js +239 -0
  78. package/src/stages/doctor.js +303 -0
  79. package/src/stages/execute.js +262 -0
  80. package/src/stages/index.js +26 -0
  81. package/src/stages/plan.js +282 -0
  82. package/src/stages/propose.js +115 -0
  83. package/src/stages/quick.js +64 -0
  84. package/src/stages/scan.js +141 -0
  85. package/src/stages/status.js +65 -0
  86. package/src/stages/verify.js +135 -0
  87. package/dist/steps/brainstorm/01-load-context.md +0 -30
  88. package/dist/steps/brainstorm/02-reuse-check.md +0 -6
  89. package/dist/steps/brainstorm/03-prototype-analysis.md +0 -11
  90. package/dist/steps/brainstorm/04-module-split.md +0 -23
  91. package/dist/steps/brainstorm/05-dialog-explore.md +0 -8
  92. package/dist/steps/brainstorm/06-propose-approaches.md +0 -3
  93. package/dist/steps/brainstorm/07-present-design.md +0 -3
  94. package/dist/steps/brainstorm/08-write-design.md +0 -21
  95. package/dist/steps/brainstorm/09-self-review.md +0 -15
  96. package/dist/steps/brainstorm/10-user-confirm.md +0 -3
  97. package/dist/steps/brainstorm/11-output-spec.md +0 -7
  98. package/dist/steps/brainstorm/manifest.yaml +0 -26
  99. package/dist/steps/execute/01-load-context.md +0 -41
  100. package/dist/steps/execute/02-scan-conventions.md +0 -47
  101. package/dist/steps/execute/03-skill-mcp.md +0 -19
  102. package/dist/steps/execute/04-assign-task.md +0 -22
  103. package/dist/steps/execute/04b-prompt-template.md +0 -54
  104. package/dist/steps/execute/05-write-test.md +0 -7
  105. package/dist/steps/execute/06-write-code.md +0 -8
  106. package/dist/steps/execute/07-run-test.md +0 -26
  107. package/dist/steps/execute/08-fix-issues.md +0 -28
  108. package/dist/steps/execute/09-next-task.md +0 -33
  109. package/dist/steps/execute/manifest.yaml +0 -28
  110. package/dist/steps/plan/01-load-context.md +0 -22
  111. package/dist/steps/plan/02-anchor-confirm.md +0 -1
  112. package/dist/steps/plan/03-expand-tasks.md +0 -33
  113. package/dist/steps/plan/04-mark-order.md +0 -15
  114. package/dist/steps/plan/05-e2e-planning.md +0 -17
  115. package/dist/steps/plan/06-self-check.md +0 -16
  116. package/dist/steps/plan/07-save.md +0 -1
  117. package/dist/steps/plan/manifest.yaml +0 -18
  118. package/dist/steps/scan/01-env-detect.md +0 -51
  119. package/dist/steps/scan/02-tech-stack.md +0 -16
  120. package/dist/steps/scan/03-conventions.md +0 -16
  121. package/dist/steps/scan/04-structure.md +0 -19
  122. package/dist/steps/scan/05-quality.md +0 -18
  123. package/dist/steps/scan/06-complete.md +0 -49
  124. package/dist/steps/scan/manifest.yaml +0 -16
  125. package/dist/steps/verify/01-load-specs.md +0 -28
  126. package/dist/steps/verify/02-check-tasks.md +0 -1
  127. package/dist/steps/verify/03-check-design.md +0 -6
  128. package/dist/steps/verify/04-run-tests.md +0 -7
  129. package/dist/steps/verify/05-e2e-tests.md +0 -27
  130. package/dist/steps/verify/05b-e2e-fix.md +0 -33
  131. package/dist/steps/verify/06-code-quality.md +0 -25
  132. package/dist/steps/verify/07-lint-check.md +0 -27
  133. package/dist/steps/verify/08-output-report.md +0 -14
  134. package/dist/steps/verify/manifest.yaml +0 -22
  135. package/docs/.vitepress/config.mts +0 -45
  136. package/docs/.vitepress/dist/404.html +0 -25
  137. package/docs/.vitepress/dist/assets/app.YytxICdd.js +0 -1
  138. package/docs/.vitepress/dist/assets/chunks/framework.Czhw_PXq.js +0 -19
  139. package/docs/.vitepress/dist/assets/chunks/theme.DusTRZQk.js +0 -1
  140. package/docs/.vitepress/dist/assets/index.md.C3VCvtQA.js +0 -1
  141. package/docs/.vitepress/dist/assets/index.md.C3VCvtQA.lean.js +0 -1
  142. package/docs/.vitepress/dist/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 +0 -0
  143. package/docs/.vitepress/dist/assets/inter-italic-cyrillic.By2_1cv3.woff2 +0 -0
  144. package/docs/.vitepress/dist/assets/inter-italic-greek-ext.1u6EdAuj.woff2 +0 -0
  145. package/docs/.vitepress/dist/assets/inter-italic-greek.DJ8dCoTZ.woff2 +0 -0
  146. package/docs/.vitepress/dist/assets/inter-italic-latin-ext.CN1xVJS-.woff2 +0 -0
  147. package/docs/.vitepress/dist/assets/inter-italic-latin.C2AdPX0b.woff2 +0 -0
  148. package/docs/.vitepress/dist/assets/inter-italic-vietnamese.BSbpV94h.woff2 +0 -0
  149. package/docs/.vitepress/dist/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 +0 -0
  150. package/docs/.vitepress/dist/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 +0 -0
  151. package/docs/.vitepress/dist/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 +0 -0
  152. package/docs/.vitepress/dist/assets/inter-roman-greek.BBVDIX6e.woff2 +0 -0
  153. package/docs/.vitepress/dist/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 +0 -0
  154. package/docs/.vitepress/dist/assets/inter-roman-latin.Di8DUHzh.woff2 +0 -0
  155. package/docs/.vitepress/dist/assets/inter-roman-vietnamese.BjW4sHH5.woff2 +0 -0
  156. package/docs/.vitepress/dist/assets/sillyspec_commands.md.CXFFsj08.js +0 -15
  157. package/docs/.vitepress/dist/assets/sillyspec_commands.md.CXFFsj08.lean.js +0 -1
  158. package/docs/.vitepress/dist/assets/sillyspec_dashboard.md.BuPXHqjX.js +0 -4
  159. package/docs/.vitepress/dist/assets/sillyspec_dashboard.md.BuPXHqjX.lean.js +0 -1
  160. package/docs/.vitepress/dist/assets/sillyspec_file-io.md.Cz3x7llx.js +0 -1
  161. package/docs/.vitepress/dist/assets/sillyspec_file-io.md.Cz3x7llx.lean.js +0 -1
  162. package/docs/.vitepress/dist/assets/sillyspec_getting-started.md.ClcvV8k3.js +0 -4
  163. package/docs/.vitepress/dist/assets/sillyspec_getting-started.md.ClcvV8k3.lean.js +0 -1
  164. package/docs/.vitepress/dist/assets/sillyspec_install.md.CKuR2tiT.js +0 -5
  165. package/docs/.vitepress/dist/assets/sillyspec_install.md.CKuR2tiT.lean.js +0 -1
  166. package/docs/.vitepress/dist/assets/sillyspec_lifecycle.md.DY293cR1.js +0 -28
  167. package/docs/.vitepress/dist/assets/sillyspec_lifecycle.md.DY293cR1.lean.js +0 -1
  168. package/docs/.vitepress/dist/assets/sillyspec_structure.md.sVYS4zPs.js +0 -30
  169. package/docs/.vitepress/dist/assets/sillyspec_structure.md.sVYS4zPs.lean.js +0 -1
  170. package/docs/.vitepress/dist/assets/style.DFTx90Kk.css +0 -1
  171. package/docs/.vitepress/dist/hashmap.json +0 -1
  172. package/docs/.vitepress/dist/index.html +0 -28
  173. package/docs/.vitepress/dist/sillyspec/commands.html +0 -42
  174. package/docs/.vitepress/dist/sillyspec/dashboard.html +0 -31
  175. package/docs/.vitepress/dist/sillyspec/file-io.html +0 -28
  176. package/docs/.vitepress/dist/sillyspec/getting-started.html +0 -31
  177. package/docs/.vitepress/dist/sillyspec/install.html +0 -32
  178. package/docs/.vitepress/dist/sillyspec/lifecycle.html +0 -55
  179. package/docs/.vitepress/dist/sillyspec/structure.html +0 -57
  180. package/docs/.vitepress/dist/vp-icons.css +0 -1
  181. package/docs/index.md +0 -34
  182. package/docs/sillyspec/commands.md +0 -218
  183. package/docs/sillyspec/dashboard.md +0 -51
  184. package/docs/sillyspec/file-io.md +0 -34
  185. package/docs/sillyspec/getting-started.md +0 -61
  186. package/docs/sillyspec/install.md +0 -51
  187. package/docs/sillyspec/lifecycle.md +0 -146
  188. package/docs/sillyspec/structure.md +0 -62
  189. package/packages/dashboard/dist/assets/index-Bh-GPjKY.css +0 -1
  190. package/packages/dashboard/dist/assets/index-CrCn5Gg6.js +0 -17
  191. package/src/step.js +0 -543
  192. package/templates/archive.md +0 -120
  193. package/templates/brainstorm.md +0 -170
  194. package/templates/continue.md +0 -32
  195. package/templates/execute.md +0 -304
  196. package/templates/explore.md +0 -59
  197. package/templates/export.md +0 -21
  198. package/templates/init.md +0 -61
  199. package/templates/plan.md +0 -146
  200. package/templates/quick.md +0 -135
  201. package/templates/scan-quick.md +0 -49
  202. package/templates/scan.md +0 -156
  203. package/templates/skills/playwright-e2e/SKILL.md +0 -340
  204. package/templates/status.md +0 -75
  205. package/templates/verify.md +0 -236
  206. package/templates/workspace-sync.md +0 -99
  207. package/templates/workspace.md +0 -70
  208. /package/.sillyspec/{specs → changes/brainstorm-archive}/2026-04-05-dashboard-design.md +0 -0
  209. /package/{docs/.vitepress/dist/logo.jpg → logo.jpg} +0 -0
  210. /package/{docs/.vitepress → packages/dashboard}/dist/favicon.jpg +0 -0
  211. /package/{docs/public → packages/dashboard/dist}/logo.jpg +0 -0
  212. /package/{docs → packages/dashboard}/public/favicon.jpg +0 -0
@@ -1,99 +0,0 @@
1
- ## 交互规范
2
- **当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。**
3
-
4
- ## 核心约束(必须遵守)
5
- - ❌ 修改子项目的代码
6
- - ❌ 删除已有文件(clone 前必须确认)
7
- - ❌ 跳过冲突检查直接覆盖
8
-
9
- ## 流程
10
-
11
- ### Step 1: 读取配置
12
-
13
- ```bash
14
- ls .sillyspec/projects/*.yaml 2>/dev/null | grep -q .
15
- ```
16
-
17
- 无子项目配置 → 提示先执行 `/sillyspec:workspace` 初始化工作区。
18
-
19
- ### Step 2: 逐个子项目检查
20
-
21
- 对每个子项目配置文件,按顺序执行:
22
-
23
- ```bash
24
- for f in .sillyspec/projects/*.yaml; do
25
- [ -f "$f" ] || continue
26
- proj_name=$(basename "$f" .yaml)
27
- proj_path=$(grep '^path:' "$f" | head -1 | sed 's/^path:[[:space:]]*//')
28
- proj_repo=$(grep '^repo:' "$f" | head -1 | sed 's/^repo:[[:space:]]*//')
29
- # ... 检查逻辑
30
- done
31
- ```
32
-
33
- ```bash
34
- # 检查目录是否存在
35
- ls -d <path> 2>/dev/null && echo "EXISTS" || echo "MISSING"
36
- ```
37
-
38
- #### 情况 A:目录不存在
39
-
40
- ```bash
41
- # 检查是否有 repo 配置
42
- grep '^repo:' .sillyspec/projects/<name>.yaml
43
- ```
44
-
45
- - **有 repo** → AskUserQuestion:"子项目 `<name>` 不存在,是否从 `<repo>` clone 到 `<path>`?"
46
- - 用户确认 → `git clone <repo> <path>` → ✅ 成功
47
- - clone 失败 → ❌ 报错,提示用户手动 clone
48
- - **无 repo** → ⚠️ 提示用户:"子项目 `<name>` 不存在且无 repo 配置,请手动放置到 `<path>`"
49
-
50
- #### 情况 B:目录已存在
51
-
52
- ```bash
53
- # 检查是否是 git 仓库
54
- git -C <path> rev-parse --is-inside-work-tree 2>/dev/null
55
-
56
- # 如果是,检查 remote 是否匹配
57
- git -C <path> remote get-url origin 2>/dev/null
58
- ```
59
-
60
- - **不是 git 仓库** → AskUserQuestion:"目录 `<path>` 存在但不是 git 仓库,可能和其他项目冲突。"
61
- - 跳过此子项目
62
- - 让用户指定正确路径
63
- - **是 git 仓库,remote 匹配 repo** → ✅ 跳过,状态正常
64
- - **是 git 仓库,remote 不匹配 repo** → ⚠️ AskUserQuestion:
65
- - "目录 `<path>` 是 git 仓库但 remote 不匹配(期望 `<repo>`,实际 `<actual>`)。可能是不同项目。"
66
- - 跳过 / 用户确认覆盖
67
-
68
- #### 情况 C:路径冲突
69
-
70
- 检查两个子项目的 path 是否指向同一目录或互相包含:
71
-
72
- ```bash
73
- # 将相对路径转为绝对路径后比较
74
- realpath <path1>
75
- realpath <path2>
76
- ```
77
-
78
- 冲突 → ❌ 报错:"子项目 A 和 B 的路径冲突,请修改对应的 projects/*.yaml"
79
-
80
- ### Step 3: 汇总报告
81
-
82
- ```
83
- 📊 工作区同步结果
84
-
85
- ┌───────────────────┬──────────┬────────────────────────────────────┐
86
- │ 子项目 │ 状态 │ 说明 │
87
- ├───────────────────┼──────────┼────────────────────────────────────┤
88
- │ back-service │ ✅ 正常 │ 目录存在,git remote 匹配 │
89
- │ sub-grid-security │ 🔄 已克隆 │ 从 https://... clone 成功 │
90
- │ frontend │ ⚠️ 缺失 │ 无 repo 配置,请手动放置 │
91
- └───────────────────┴──────────┴────────────────────────────────────┘
92
- ```
93
-
94
- 全部正常 → 提示 `/sillyspec:brainstorm '你的需求'` 继续。
95
- 有异常 → 提示用户处理后再 sync。
96
-
97
- ### Step 4: 更新子项目配置
98
-
99
- 如果 clone 过程中实际 remote 和 `projects/<name>.yaml` 中的 repo 不一致,更新对应 yaml 文件的 repo 字段为实际值。
@@ -1,70 +0,0 @@
1
- ## 交互规范
2
- **当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。**
3
-
4
- ## 核心约束(必须遵守)
5
- - ❌ 修改子项目目录下的任何文件
6
- - ❌ 写非法 YAML
7
- - ❌ 使用绝对路径(必须是相对路径)
8
-
9
- ## 用户指令
10
- $ARGUMENTS
11
-
12
- ---
13
-
14
- ## 流程
15
-
16
- ### Step 1: 检查配置
17
-
18
- ```bash
19
- ls .sillyspec/projects/*.yaml 2>/dev/null | grep -q .
20
- ```
21
-
22
- 不存在 → 询问是否初始化工作区。
23
-
24
- ### Step 2: 解析指令
25
-
26
- - 无参数 / `status` → 显示状态
27
- - `add` → 添加子项目
28
-
29
- **添加流程:**
30
- 1. AskUserQuestion 询问子项目名称、目录路径、角色描述
31
- 2. **自动检测 git 远程地址:**
32
- ```bash
33
- git -C <path> remote get-url origin 2>/dev/null
34
- ```
35
- 检测到则写入 repo 字段,检测不到则留空
36
- 3. 创建 `.sillyspec/projects/<name>.yaml` 文件
37
- - `remove` → 删除 `.sillyspec/projects/<name>.yaml` 文件
38
- - `sync` → 同步子项目(clone 缺失的,检查冲突)
39
-
40
- ### Step 3: 执行操作
41
-
42
- **初始化工作区:** 询问名称 → 逐个添加子项目(名称、路径、角色描述,验证路径存在)→ 共享规范 → 创建 `projects/*.yaml` + `.sillyspec/shared/`
43
-
44
- **添加/移除子项目:** 创建或删除 `projects/<name>.yaml`,Git 提交。
45
-
46
- **状态显示:** 读取每个子项目的 `.sillyspec/` 内容(PROJECT.md、docs/<project>/scan/ 文档数、进行中变更),输出格式:
47
-
48
- ```
49
- 🏢 工作区:<name>
50
- 📦 子项目(N 个):
51
- ✅ frontend ./frontend 前端 - Vue3+TS 已扫描(7 份文档)
52
- ⚠️ backend ./backend 后端 - Node.js 已初始化(未扫描)
53
- 📄 共享规范:2 份
54
- 💡 操作:/sillyspec:workspace add | /sillyspec:init | /sillyspec:scan
55
- ```
56
-
57
- ### 读取子项目信息
58
-
59
- ```bash
60
- for f in .sillyspec/projects/*.yaml; do
61
- [ -f "$f" ] || continue
62
- proj_name=$(basename "$f" .yaml)
63
- proj_path=$(grep '^path:' "$f" | head -1 | sed 's/^path:[[:space:]]*//')
64
- proj_role=$(grep '^role:' "$f" | head -1 | sed 's/^role:[[:space:]]*//')
65
- proj_repo=$(grep '^repo:' "$f" | head -1 | sed 's/^repo:[[:space:]]*//')
66
- # 检查文档数、变更数等
67
- doc_count=$(ls "$proj_path"/.sillyspec/docs/$proj_name/scan/*.md 2>/dev/null | wc -l)
68
- echo " $proj_name $proj_path $proj_role docs:$doc_count"
69
- done
70
- ```
File without changes
File without changes