sillyspec 3.27.2 → 3.27.5

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 (221) hide show
  1. package/.claude/skills/sillyspec-execute/SKILL.md +8 -0
  2. package/.claude/skills/sillyspec-quick/SKILL.md +2 -1
  3. package/.claude/worktrees/sillyspec-data-model-research/.claude/skills/sillyspec-archive/SKILL.md +87 -0
  4. package/.claude/worktrees/sillyspec-data-model-research/.claude/skills/sillyspec-auto/SKILL.md +93 -0
  5. package/.claude/worktrees/sillyspec-data-model-research/.claude/skills/sillyspec-brainstorm/SKILL.md +114 -0
  6. package/.claude/worktrees/sillyspec-data-model-research/.claude/skills/sillyspec-commit/SKILL.md +67 -0
  7. package/.claude/worktrees/sillyspec-data-model-research/.claude/skills/sillyspec-continue/SKILL.md +47 -0
  8. package/.claude/worktrees/sillyspec-data-model-research/.claude/skills/sillyspec-doctor/SKILL.md +76 -0
  9. package/.claude/worktrees/sillyspec-data-model-research/.claude/skills/sillyspec-execute/SKILL.md +214 -0
  10. package/.claude/worktrees/sillyspec-data-model-research/.claude/skills/sillyspec-explore/SKILL.md +102 -0
  11. package/.claude/worktrees/sillyspec-data-model-research/.claude/skills/sillyspec-export/SKILL.md +57 -0
  12. package/.claude/worktrees/sillyspec-data-model-research/.claude/skills/sillyspec-init/SKILL.md +177 -0
  13. package/.claude/worktrees/sillyspec-data-model-research/.claude/skills/sillyspec-knowledge/SKILL.md +270 -0
  14. package/.claude/worktrees/sillyspec-data-model-research/.claude/skills/sillyspec-plan/SKILL.md +156 -0
  15. package/.claude/worktrees/sillyspec-data-model-research/.claude/skills/sillyspec-quick/SKILL.md +116 -0
  16. package/.claude/worktrees/sillyspec-data-model-research/.claude/skills/sillyspec-resume/SKILL.md +70 -0
  17. package/.claude/worktrees/sillyspec-data-model-research/.claude/skills/sillyspec-scan/SKILL.md +79 -0
  18. package/.claude/worktrees/sillyspec-data-model-research/.claude/skills/sillyspec-state/SKILL.md +64 -0
  19. package/.claude/worktrees/sillyspec-data-model-research/.claude/skills/sillyspec-status/SKILL.md +54 -0
  20. package/.claude/worktrees/sillyspec-data-model-research/.claude/skills/sillyspec-verify/SKILL.md +87 -0
  21. package/.claude/worktrees/sillyspec-data-model-research/.claude/skills/sillyspec-workspace/SKILL.md +175 -0
  22. package/.claude/worktrees/sillyspec-data-model-research/.gitattributes +2 -0
  23. package/.claude/worktrees/sillyspec-data-model-research/.husky/pre-push +20 -0
  24. package/.claude/worktrees/sillyspec-data-model-research/README.md +203 -0
  25. package/.claude/worktrees/sillyspec-data-model-research/SKILL.md +91 -0
  26. package/.claude/worktrees/sillyspec-data-model-research/bin/sillyspec.js +2 -0
  27. package/.claude/worktrees/sillyspec-data-model-research/logo.jpg +0 -0
  28. package/.claude/worktrees/sillyspec-data-model-research/package-lock.json +977 -0
  29. package/.claude/worktrees/sillyspec-data-model-research/package.json +39 -0
  30. package/.claude/worktrees/sillyspec-data-model-research/packages/dashboard/dist/assets/index-Bq_Z2hne.js +7446 -0
  31. package/.claude/worktrees/sillyspec-data-model-research/packages/dashboard/dist/assets/index-O2W5RV4z.css +1 -0
  32. package/.claude/worktrees/sillyspec-data-model-research/packages/dashboard/dist/favicon.jpg +0 -0
  33. package/.claude/worktrees/sillyspec-data-model-research/packages/dashboard/dist/index.html +16 -0
  34. package/.claude/worktrees/sillyspec-data-model-research/packages/dashboard/dist/logo.jpg +0 -0
  35. package/.claude/worktrees/sillyspec-data-model-research/packages/dashboard/dist/prototype-dashboard.html +836 -0
  36. package/.claude/worktrees/sillyspec-data-model-research/packages/dashboard/dist/prototype-overview.html +256 -0
  37. package/.claude/worktrees/sillyspec-data-model-research/packages/dashboard/package.json +25 -0
  38. package/.claude/worktrees/sillyspec-data-model-research/packages/dashboard/server/executor.js +95 -0
  39. package/.claude/worktrees/sillyspec-data-model-research/packages/dashboard/server/index.js +679 -0
  40. package/.claude/worktrees/sillyspec-data-model-research/packages/dashboard/server/parser.js +526 -0
  41. package/.claude/worktrees/sillyspec-data-model-research/packages/dashboard/server/watcher.js +357 -0
  42. package/.claude/worktrees/sillyspec-data-model-research/src/agent-session-log.js +803 -0
  43. package/.claude/worktrees/sillyspec-data-model-research/src/change-list.js +290 -0
  44. package/.claude/worktrees/sillyspec-data-model-research/src/change-risk-profile.js +270 -0
  45. package/.claude/worktrees/sillyspec-data-model-research/src/check-primitives.js +65 -0
  46. package/.claude/worktrees/sillyspec-data-model-research/src/classify-change.js +109 -0
  47. package/.claude/worktrees/sillyspec-data-model-research/src/commit-suggest.js +202 -0
  48. package/.claude/worktrees/sillyspec-data-model-research/src/config-cat.js +88 -0
  49. package/.claude/worktrees/sillyspec-data-model-research/src/config-schema.js +328 -0
  50. package/.claude/worktrees/sillyspec-data-model-research/src/constants.js +97 -0
  51. package/.claude/worktrees/sillyspec-data-model-research/src/contract-matrix.js +480 -0
  52. package/.claude/worktrees/sillyspec-data-model-research/src/datetime.js +20 -0
  53. package/.claude/worktrees/sillyspec-data-model-research/src/db-engine.js +55 -0
  54. package/.claude/worktrees/sillyspec-data-model-research/src/db.js +381 -0
  55. package/.claude/worktrees/sillyspec-data-model-research/src/decision-distill.js +517 -0
  56. package/.claude/worktrees/sillyspec-data-model-research/src/dispatch/backends/local-agent.js +155 -0
  57. package/.claude/worktrees/sillyspec-data-model-research/src/dispatch/backends/sillyhub-mcp.js +245 -0
  58. package/.claude/worktrees/sillyspec-data-model-research/src/dispatch/probe.js +246 -0
  59. package/.claude/worktrees/sillyspec-data-model-research/src/dispatch/strategy.js +121 -0
  60. package/.claude/worktrees/sillyspec-data-model-research/src/docs-check.js +825 -0
  61. package/.claude/worktrees/sillyspec-data-model-research/src/docs-debt.js +393 -0
  62. package/.claude/worktrees/sillyspec-data-model-research/src/docs-gate.js +107 -0
  63. package/.claude/worktrees/sillyspec-data-model-research/src/doctor-diagnostics.js +1099 -0
  64. package/.claude/worktrees/sillyspec-data-model-research/src/endpoint-extractor.js +420 -0
  65. package/.claude/worktrees/sillyspec-data-model-research/src/foreign-declared.js +78 -0
  66. package/.claude/worktrees/sillyspec-data-model-research/src/fs-atomic.js +73 -0
  67. package/.claude/worktrees/sillyspec-data-model-research/src/git-helper.js +150 -0
  68. package/.claude/worktrees/sillyspec-data-model-research/src/hooks/claude-pre-tool-use.cjs +130 -0
  69. package/.claude/worktrees/sillyspec-data-model-research/src/hooks/worktree-guard.js +892 -0
  70. package/.claude/worktrees/sillyspec-data-model-research/src/index.js +2798 -0
  71. package/.claude/worktrees/sillyspec-data-model-research/src/init.js +626 -0
  72. package/.claude/worktrees/sillyspec-data-model-research/src/knowledge-match.js +231 -0
  73. package/.claude/worktrees/sillyspec-data-model-research/src/local-detect.js +128 -0
  74. package/.claude/worktrees/sillyspec-data-model-research/src/local-register.js +104 -0
  75. package/.claude/worktrees/sillyspec-data-model-research/src/machine-interface.js +543 -0
  76. package/.claude/worktrees/sillyspec-data-model-research/src/migrate.js +127 -0
  77. package/.claude/worktrees/sillyspec-data-model-research/src/module-impact.js +166 -0
  78. package/.claude/worktrees/sillyspec-data-model-research/src/module-resolve.js +222 -0
  79. package/.claude/worktrees/sillyspec-data-model-research/src/modules.js +580 -0
  80. package/.claude/worktrees/sillyspec-data-model-research/src/progress/change-registry.js +336 -0
  81. package/.claude/worktrees/sillyspec-data-model-research/src/progress/consistency-doctor.js +355 -0
  82. package/.claude/worktrees/sillyspec-data-model-research/src/progress/shared.js +36 -0
  83. package/.claude/worktrees/sillyspec-data-model-research/src/progress/stage-machine.js +594 -0
  84. package/.claude/worktrees/sillyspec-data-model-research/src/progress/step-store.js +265 -0
  85. package/.claude/worktrees/sillyspec-data-model-research/src/progress.js +1304 -0
  86. package/.claude/worktrees/sillyspec-data-model-research/src/quick-recommend.js +115 -0
  87. package/.claude/worktrees/sillyspec-data-model-research/src/quicklog.js +852 -0
  88. package/.claude/worktrees/sillyspec-data-model-research/src/review-tier.js +77 -0
  89. package/.claude/worktrees/sillyspec-data-model-research/src/run/command.js +1595 -0
  90. package/.claude/worktrees/sillyspec-data-model-research/src/run/complete-handlers.js +1552 -0
  91. package/.claude/worktrees/sillyspec-data-model-research/src/run/complete.js +1259 -0
  92. package/.claude/worktrees/sillyspec-data-model-research/src/run/concurrent-detect.js +156 -0
  93. package/.claude/worktrees/sillyspec-data-model-research/src/run/gates.js +1084 -0
  94. package/.claude/worktrees/sillyspec-data-model-research/src/run/multi-repo-context.js +208 -0
  95. package/.claude/worktrees/sillyspec-data-model-research/src/run/next.js +128 -0
  96. package/.claude/worktrees/sillyspec-data-model-research/src/run/prompt.js +843 -0
  97. package/.claude/worktrees/sillyspec-data-model-research/src/run/quick-audit.js +186 -0
  98. package/.claude/worktrees/sillyspec-data-model-research/src/run/scan-profile.js +269 -0
  99. package/.claude/worktrees/sillyspec-data-model-research/src/run/shared.js +1562 -0
  100. package/.claude/worktrees/sillyspec-data-model-research/src/run/stage.js +584 -0
  101. package/.claude/worktrees/sillyspec-data-model-research/src/run.js +23 -0
  102. package/.claude/worktrees/sillyspec-data-model-research/src/scan-diff.js +388 -0
  103. package/.claude/worktrees/sillyspec-data-model-research/src/scan-postcheck.js +512 -0
  104. package/.claude/worktrees/sillyspec-data-model-research/src/scan-staleness.js +95 -0
  105. package/.claude/worktrees/sillyspec-data-model-research/src/setup.js +414 -0
  106. package/.claude/worktrees/sillyspec-data-model-research/src/sillyhub-mcp/client.js +597 -0
  107. package/.claude/worktrees/sillyspec-data-model-research/src/sillyhub-mcp/config.js +62 -0
  108. package/.claude/worktrees/sillyspec-data-model-research/src/spec-dir-typo.js +50 -0
  109. package/.claude/worktrees/sillyspec-data-model-research/src/spec-sync.js +358 -0
  110. package/.claude/worktrees/sillyspec-data-model-research/src/stage-contract-engine.js +171 -0
  111. package/.claude/worktrees/sillyspec-data-model-research/src/stage-contract-spec.js +550 -0
  112. package/.claude/worktrees/sillyspec-data-model-research/src/stage-contract.js +889 -0
  113. package/.claude/worktrees/sillyspec-data-model-research/src/stage-review.js +597 -0
  114. package/.claude/worktrees/sillyspec-data-model-research/src/stages/archive.js +199 -0
  115. package/.claude/worktrees/sillyspec-data-model-research/src/stages/brainstorm-auto.js +236 -0
  116. package/.claude/worktrees/sillyspec-data-model-research/src/stages/brainstorm.js +617 -0
  117. package/.claude/worktrees/sillyspec-data-model-research/src/stages/cmd-existence.js +145 -0
  118. package/.claude/worktrees/sillyspec-data-model-research/src/stages/doctor.js +540 -0
  119. package/.claude/worktrees/sillyspec-data-model-research/src/stages/execute.js +1275 -0
  120. package/.claude/worktrees/sillyspec-data-model-research/src/stages/explore.js +43 -0
  121. package/.claude/worktrees/sillyspec-data-model-research/src/stages/index.js +29 -0
  122. package/.claude/worktrees/sillyspec-data-model-research/src/stages/knowledge.js +514 -0
  123. package/.claude/worktrees/sillyspec-data-model-research/src/stages/plan-postcheck.js +1344 -0
  124. package/.claude/worktrees/sillyspec-data-model-research/src/stages/plan.js +650 -0
  125. package/.claude/worktrees/sillyspec-data-model-research/src/stages/quick.js +167 -0
  126. package/.claude/worktrees/sillyspec-data-model-research/src/stages/scan.js +608 -0
  127. package/.claude/worktrees/sillyspec-data-model-research/src/stages/status.js +64 -0
  128. package/.claude/worktrees/sillyspec-data-model-research/src/stages/verify.js +246 -0
  129. package/.claude/worktrees/sillyspec-data-model-research/src/sync.js +1470 -0
  130. package/.claude/worktrees/sillyspec-data-model-research/src/task-review.js +1498 -0
  131. package/.claude/worktrees/sillyspec-data-model-research/src/taskcard.js +210 -0
  132. package/.claude/worktrees/sillyspec-data-model-research/src/verify-postcheck.js +1718 -0
  133. package/.claude/worktrees/sillyspec-data-model-research/src/verify-probes.js +277 -0
  134. package/.claude/worktrees/sillyspec-data-model-research/src/version.js +19 -0
  135. package/.claude/worktrees/sillyspec-data-model-research/src/workflow.js +600 -0
  136. package/.claude/worktrees/sillyspec-data-model-research/src/workspace.js +125 -0
  137. package/.claude/worktrees/sillyspec-data-model-research/src/worktree-apply.js +1446 -0
  138. package/.claude/worktrees/sillyspec-data-model-research/src/worktree-deps.js +576 -0
  139. package/.claude/worktrees/sillyspec-data-model-research/src/worktree.js +1715 -0
  140. package/.claude/worktrees/sillyspec-data-model-research/templates/claude-instruction.md +23 -0
  141. package/.claude/worktrees/sillyspec-data-model-research/templates/prompts/taskcard-rules.md +28 -0
  142. package/.claude/worktrees/sillyspec-data-model-research/templates/prompts/testcase-design.md +12 -0
  143. package/.claude/worktrees/sillyspec-data-model-research/templates/prompts/verify-probes.md +32 -0
  144. package/.claude/worktrees/sillyspec-data-model-research/templates/workflows/archive-impact.yaml +79 -0
  145. package/.claude/worktrees/sillyspec-data-model-research/templates/workflows/scan-docs.yaml +132 -0
  146. package/eval/README.md +86 -0
  147. package/eval/eval.config.json +28 -0
  148. package/eval/lib/adapters/cli.mjs +63 -0
  149. package/eval/lib/adapters/dryrun.mjs +27 -0
  150. package/eval/lib/config.mjs +82 -0
  151. package/eval/lib/db.mjs +76 -0
  152. package/eval/lib/report.mjs +120 -0
  153. package/eval/lib/runner.mjs +157 -0
  154. package/eval/lib/tasks.mjs +73 -0
  155. package/eval/lib/util.mjs +107 -0
  156. package/eval/lib/workdir.mjs +30 -0
  157. package/eval/run.mjs +83 -0
  158. package/eval/tasks/001-slugify/files/package.json +6 -0
  159. package/eval/tasks/001-slugify/solution/src/slugify.mjs +26 -0
  160. package/eval/tasks/001-slugify/task.json +6 -0
  161. package/eval/tasks/001-slugify/verify.mjs +28 -0
  162. package/eval/tasks/002-each-day/files/package.json +6 -0
  163. package/eval/tasks/002-each-day/files/src/dates.mjs +4 -0
  164. package/eval/tasks/002-each-day/solution/src/dates.mjs +30 -0
  165. package/eval/tasks/002-each-day/task.json +6 -0
  166. package/eval/tasks/002-each-day/verify.mjs +31 -0
  167. package/eval/tasks/003-word-report/files/data/notes.txt +5 -0
  168. package/eval/tasks/003-word-report/files/package.json +6 -0
  169. package/eval/tasks/003-word-report/solution/bin/report.mjs +36 -0
  170. package/eval/tasks/003-word-report/task.json +6 -0
  171. package/eval/tasks/003-word-report/verify.mjs +38 -0
  172. package/package.json +4 -2
  173. package/src/agent-session-log.js +45 -5
  174. package/src/change-risk-profile.js +83 -14
  175. package/src/config-schema.js +18 -3
  176. package/src/contract-matrix.js +90 -29
  177. package/src/datetime.js +20 -0
  178. package/src/decision-distill.js +517 -0
  179. package/src/dispatch/backends/local-agent.js +4 -4
  180. package/src/docs-check.js +227 -0
  181. package/src/docs-debt.js +187 -24
  182. package/src/doctor-diagnostics.js +102 -2
  183. package/src/foreign-declared.js +78 -0
  184. package/src/index.js +89 -9
  185. package/src/init.js +9 -7
  186. package/src/knowledge-match.js +107 -6
  187. package/src/local-register.js +7 -1
  188. package/src/module-resolve.js +12 -1
  189. package/src/modules.js +2 -1
  190. package/src/plan-adopt-waves.js +126 -0
  191. package/src/quicklog.js +50 -4
  192. package/src/run/command.js +122 -43
  193. package/src/run/complete-handlers.js +48 -19
  194. package/src/run/complete.js +5 -2
  195. package/src/run/gates.js +87 -22
  196. package/src/run/prompt.js +84 -42
  197. package/src/run/quick-audit.js +11 -0
  198. package/src/run/shared.js +152 -10
  199. package/src/run.js +2 -2
  200. package/src/scan-postcheck.js +30 -17
  201. package/src/stage-contract-spec.js +2 -1
  202. package/src/stage-contract.js +68 -4
  203. package/src/stages/archive.js +53 -12
  204. package/src/stages/brainstorm-auto.js +7 -0
  205. package/src/stages/brainstorm.js +11 -0
  206. package/src/stages/doctor.js +157 -1
  207. package/src/stages/execute.js +32 -6
  208. package/src/stages/plan-postcheck.js +76 -17
  209. package/src/stages/plan.js +1 -0
  210. package/src/stages/quick.js +6 -1
  211. package/src/stages/verify.js +31 -14
  212. package/src/sync.js +41 -3
  213. package/src/task-review.js +2 -2
  214. package/src/taskcard-placeholders.js +21 -0
  215. package/src/taskcard.js +10 -1
  216. package/src/verify-postcheck.js +315 -13
  217. package/src/verify-probes.js +46 -4
  218. package/src/worktree-apply.js +184 -7
  219. package/src/worktree-deps.js +57 -0
  220. package/src/worktree.js +201 -58
  221. package/templates/prompts/taskcard-rules.md +1 -0
@@ -0,0 +1,203 @@
1
+ <p align="center">
2
+ <img src="logo.jpg" width="96" />
3
+ </p>
4
+
5
+ <h1 align="center">SillySpec</h1>
6
+
7
+ <p align="center">规范驱动开发工具包 · 流程状态机,让 AI 严格按步骤来</p>
8
+
9
+ <p align="center">
10
+ 融合 Superpowers + OpenSpec + GSD,从「你说要啥」到「代码能跑」的完整流程<br>
11
+ 兼容 Claude Code / Cursor / Codex / OpenCode / OpenClaw / Gemini
12
+ </p>
13
+
14
+ <p align="center">
15
+ 📖 <a href="https://sillyspec.ppdmq.top/">在线文档</a> &nbsp;·&nbsp; 🐙 <a href="https://github.com/q512426816/sillyspec">GitHub</a>
16
+ </p>
17
+
18
+ ---
19
+
20
+ > 💡 **核心理念:Code is Cheap, Context is Expensive.**
21
+ >
22
+ > 文档是核心资产,代码是文档的产物。没有文档就没有代码——文档是 AI 的记忆,是团队协作的基础,是后续维护的唯一依据。
23
+
24
+ ## 它解决什么问题
25
+
26
+ AI agent(Claude Code / Cursor 等)直接上手编码时,容易跳过需求澄清、方案设计、任务拆解这些关键步骤,产出偏离预期、且无法审计。
27
+
28
+ SillySpec 把一个变更的完整生命周期固化为一组**强制阶段**——每个阶段都有明确的入口契约、产物文件名和门禁校验,AI 必须按状态机推进,不能跳步、不能偷工。进度、决策、产物全部持久化到 SQLite,可审计、可回溯、可断点恢复。
29
+
30
+ ## 快速开始
31
+
32
+ 需要 Node.js >= 22.13,一条命令完成初始化:
33
+
34
+ ```bash
35
+ npx sillyspec init
36
+ ```
37
+
38
+ 首次运行会自动安装 CLI,并检测你正在使用的 AI 工具。之后 `/sillyspec:brainstorm`、`sillyspec progress show` 等命令即可直接使用。
39
+
40
+ **指定 AI 工具:**
41
+
42
+ | 工具 | `--tool` | 产物位置 |
43
+ |---|---|---|
44
+ | Claude Code(推荐) | `claude` | `.claude/skills/sillyspec-*/` |
45
+ | Cursor | `cursor` | `.cursor/skills/sillyspec-*/` |
46
+ | OpenAI Codex | `codex` | `AGENTS.md` |
47
+ | OpenCode | `opencode` | `INSTRUCTIONS.md` |
48
+ | OpenClaw | `openclaw` | `.openclaw/skills/sillyspec-*/` |
49
+ | Gemini | `gemini` | `GEMINI.md` |
50
+
51
+ ```bash
52
+ npx sillyspec init --tool claude # 指定工具
53
+ npx sillyspec init --dir /path/to/x # 指定项目目录
54
+ npx sillyspec init --interactive # 完整引导
55
+ ```
56
+
57
+
58
+ ## 平台支持
59
+
60
+ SillySpec 进度库使用 SQLite 持久化(基于 Node.js 内置的 `node:sqlite` 模块,纯 JS 无原生编译依赖)。
61
+
62
+ - **Node.js 版本要求 >= 22.13.0**:`node:sqlite` 自 v22.13.0 起免 `--experimental-sqlite` flag 直接可用。支持 Linux x64、macOS x64 / arm64、Windows x64 等所有 Node.js 官方支持平台。
63
+ - **零编译安装**:`node:sqlite` 是 Node.js 内置模块(官方预编译发行,非纯 JS 实现),不依赖 node-gyp / C++ 工具链或任何第三方原生绑定,npm install 即装即用,无平台编译失败风险。
64
+
65
+ ## 从哪里开始
66
+
67
+ | 场景 | 命令 |
68
+ |---|---|
69
+ | 全自动,一句话到代码 | `/sillyspec:auto <需求描述>` |
70
+ | 全新项目(空目录) | `/sillyspec:init` |
71
+ | 已有代码的项目 | `/sillyspec:scan` |
72
+ | 多项目工作区 | `/sillyspec:workspace` |
73
+ | 随时自由思考 | `/sillyspec:explore "想法"` |
74
+
75
+ ## 完整工作流
76
+
77
+ ```
78
+ 绿地:init → brainstorm → plan → execute → [verify] → archive
79
+ 棕地:scan → brainstorm → plan → execute → verify → archive
80
+ 全自动:auto(自动推进全部阶段,支持用户确认门控)
81
+ 大模块:brainstorm(多图)→ 拆分 → MASTER.md → 逐 stage 全流程 → archive
82
+ ```
83
+
84
+ **也可以跳过完整流程:**
85
+
86
+ - 小改动:`/sillyspec:quick "修复 xxx"`
87
+ - 不确定做什么:`/sillyspec:explore`
88
+ - 中断恢复:`/sillyspec:resume`
89
+ - 不知道下一步:`/sillyspec:continue`
90
+
91
+ ## 命令一览
92
+
93
+ ### 核心流程
94
+
95
+ | 命令 | 用途 |
96
+ |---|---|
97
+ | `/sillyspec:init` | 绿地项目:深度提问 → 需求文档 → 路线图 |
98
+ | `/sillyspec:scan` | 棕地项目:扫描代码库,生成 7 份架构文档 + 模块映射 |
99
+ | `/sillyspec:brainstorm` | 需求探索 + 规范生成:产出 design.md + tasks.md |
100
+ | `/sillyspec:plan` | 实现计划:文件路径 + 任务描述 + Wave 拓扑分组 |
101
+ | `/sillyspec:execute` | TDD 执行:子代理并行 + worktree 隔离 |
102
+ | `/sillyspec:verify` | 验证:对照规范 + 测试套件 + 代码审查 |
103
+ | `/sillyspec:archive` | 归档:规范沉淀到 knowledge/ |
104
+ | `/sillyspec:auto` | 全自动推进全部阶段 |
105
+
106
+ ### 辅助工具
107
+
108
+ | 命令 | 用途 |
109
+ |---|---|
110
+ | `/sillyspec:status` · `/sillyspec:state` | 查看进度 / 当前工作状态 |
111
+ | `/sillyspec:continue` | 自动判断并执行下一步 |
112
+ | `/sillyspec:explore` | 自由思考:画图、讨论、调研、HTML 原型 |
113
+ | `/sillyspec:quick` | 快速模式:跳过完整流程 |
114
+ | `/sillyspec:resume` | 恢复工作(支持大模块阶段进度) |
115
+ | `/sillyspec:doctor` | 项目自检与状态修复 |
116
+ | `/sillyspec:commit` | 智能提交 |
117
+ | `/sillyspec:workspace` | 多项目工作区管理 |
118
+ | `/sillyspec:export` | 导出成功方案为可复用模板 |
119
+
120
+ ## CLI 命令
121
+
122
+ ```bash
123
+ sillyspec run <stage> 执行阶段(auto/brainstorm/plan/execute/verify/archive/scan/quick/explore)
124
+ sillyspec run <stage> --done 完成当前步骤并推进到下一步
125
+ sillyspec run <stage> --status 查看阶段进度
126
+ sillyspec progress show 显示当前项目状态
127
+ sillyspec init 初始化(零交互,自动检测工具)
128
+ sillyspec setup 安装推荐 MCP 工具(交互式)
129
+ sillyspec setup --list 查看已安装 MCP 状态
130
+ sillyspec doctor 全量自检 + 修复进度
131
+ ```
132
+
133
+ ## 核心特性
134
+
135
+ - **规范驱动** — 所有代码产出先有设计文档支撑,文档是 AI 的记忆
136
+ - **阶段状态机** — 以 stage + step 粒度强制流转,sillyspec.db(SQLite)单一进度源记录状态
137
+ - **TDD 强制** — execute 阶段先写测试再写实现
138
+ - **子代理并行** — 同一 Wave 内任务并行执行,加快交付
139
+ - **Worktree 隔离** — execute 在独立 git worktree 中工作,不污染主分支
140
+ - **拓扑排序 Wave** — plan 阶段按蓝图依赖关系自动重排 Wave 分组
141
+ - **进度持久化** — SQLite(node:sqlite)持久化,支持断点恢复
142
+ - **模块文档** — 模块级知识库,AI 执行时按需加载相关上下文
143
+ - **浏览器自动化** — 可选 MCP(Playwright / Chrome DevTools),供集成/E2E 冒烟验证
144
+ - **平台同步** — 可选对接 SillyHub,文档同步 + 团队审批 + 本地 agent 会话日志路径主动上报(平台会话展示本地 agent 完整日志;支持 Claude Code / Codex / ZCode 自动探测,其他 CLI 用 `SILLYSPEC_AGENT_LOG` 显式指定)
145
+
146
+ ## 可靠性保障
147
+
148
+ SillySpec 不只是 prompt,还有硬校验兜底:
149
+
150
+ - **锚定确认** — 各阶段执行前必须逐个确认读过规范文件
151
+ - **Hard Gate 自检** — 关键命令生成文件后强制自检格式,不通过则修正
152
+ - **postcheck 识别偷懒** — 自动识别占位符、fallback、未分析等 AI 偷懒模式
153
+ - **归档确认** — archive 操作前展示内容等待用户确认
154
+
155
+ ## 防幻觉机制
156
+
157
+ | 环节 | 机制 |
158
+ |---|---|
159
+ | scan | 强制扫描代码库结构 / 约定 / 集成 / 测试 / 债务,生成 7 份文档 |
160
+ | brainstorm | 必须读 ARCHITECTURE.md 数据模型,支持原型图分析 |
161
+ | execute | 写代码前强制读现有源码,禁止编造方法调用 |
162
+ | 全流程 | postcheck + 硬门兜底 |
163
+
164
+ ## MCP 增强
165
+
166
+ 通过 `sillyspec setup` 一键安装 MCP 工具,增强 AI 能力:
167
+
168
+ - **Context7** — 查询最新库文档和 API 参考
169
+ - **Chrome DevTools** — 浏览器自动化,支持 E2E 验证
170
+
171
+ ## 目录结构
172
+
173
+ ```
174
+ sillyspec/
175
+ ├── bin/sillyspec.js # CLI 入口(shebang)
176
+ ├── src/
177
+ │ ├── index.js # 命令分发
178
+ │ ├── run.js + run/ # 阶段状态机引擎(barrel + 实现模块)
179
+ │ ├── init.js / setup.js # 初始化 + MCP 工具安装
180
+ │ ├── progress.js / db.js # SQLite 进度存储(facade + 实现)
181
+ │ ├── sync.js # SillyHub 平台同步
182
+ │ ├── workflow.js # 工作流编排 + postcheck
183
+ │ ├── worktree*.js # worktree 隔离执行
184
+ │ ├── dispatch/ # 任务派发(本地 agent / SillyHub MCP)
185
+ │ ├── sillyhub-mcp/ # SillyHub MCP 客户端
186
+ │ ├── hooks/ # worktree 守卫等钩子
187
+ │ └── stages/ # 各阶段定义(scan/brainstorm/plan/execute/verify/...)
188
+ ├── templates/workflows/ # 工作流定义(scan-docs / archive-impact)
189
+ ├── test/ # 原生 node:test 测试套件
190
+ ├── packages/dashboard/ # 独立可视化面板子包
191
+ ├── SKILL.md # 技能描述
192
+ └── README.md
193
+ ```
194
+
195
+ ## 致谢
196
+
197
+ - [Superpowers](https://github.com/obra/superpowers) — 工程纪律
198
+ - [OpenSpec](https://github.com/Fission-AI/OpenSpec) — 需求管理
199
+ - [GSD](https://github.com/gsd-build/get-shit-done) — 上下文工程
200
+
201
+ ## License
202
+
203
+ MIT
@@ -0,0 +1,91 @@
1
+ ---
2
+ name: sillyspec
3
+ description: "规范驱动开发工具包。绿地用 /sillyspec:init,棕地用 /sillyspec:scan,全自动用 /sillyspec:auto。完整流程:scan → brainstorm → plan → execute → verify → archive。支持 TDD、子代理并行、worktree 隔离、E2E 验证。兼容 Claude Code / Cursor / Codex / OpenCode / OpenClaw / Gemini。"
4
+ ---
5
+
6
+ # SillySpec
7
+
8
+ 从"你说要啥"到"代码能跑"的规范驱动开发工具包。
9
+ Claude Code / Cursor / Codex / OpenCode / OpenClaw / Gemini 通用。
10
+
11
+ ## 快速开始
12
+
13
+ | 场景 | 命令 |
14
+ |---|---|
15
+ | 全自动流程 | `/sillyspec:auto <需求描述>` |
16
+ | 全新项目(空目录) | `/sillyspec:init` |
17
+ | 已有代码的项目 | `/sillyspec:scan` |
18
+ | 多项目工作区 | `/sillyspec:workspace` |
19
+ | 自由思考 | `/sillyspec:explore` |
20
+
21
+ ## 完整工作流
22
+
23
+ ```
24
+ 绿地:init → brainstorm → plan → execute → verify → archive
25
+ 棕地:scan → brainstorm → plan → execute → verify → archive
26
+ 全自动:auto(自动推进全部阶段,支持用户确认门控)
27
+ ```
28
+
29
+ ## 核心命令
30
+
31
+ | 命令 | 用途 |
32
+ |---|---|
33
+ | `/sillyspec:auto` | 全自动推进全部流程 |
34
+ | `/sillyspec:init` | 绿地项目初始化 |
35
+ | `/sillyspec:scan` | 棕地项目扫描(生成 7 份文档) |
36
+ | `/sillyspec:brainstorm` | 需求探索 + 生成设计文档 |
37
+ | `/sillyspec:plan` | 编写实现计划(Wave 分组 + 拓扑排序) |
38
+ | `/sillyspec:execute` | TDD 执行 + 子代理并行 |
39
+ | `/sillyspec:verify` | 验证(测试 + 代码审查 + E2E) |
40
+ | `/sillyspec:archive` | 归档变更 |
41
+
42
+ ## 辅助命令
43
+
44
+ | 命令 | 用途 |
45
+ |---|---|
46
+ | `/sillyspec:status` · `/sillyspec:state` | 查看项目进度和状态 |
47
+ | `/sillyspec:continue` | 自动判断并执行下一步 |
48
+ | `/sillyspec:explore` | 自由思考模式 |
49
+ | `/sillyspec:quick` | 快速任务,跳过完整流程 |
50
+ | `/sillyspec:resume` | 恢复工作 |
51
+ | `/sillyspec:doctor` | 项目自检 |
52
+ | `/sillyspec:commit` | 智能提交 |
53
+ | `/sillyspec:knowledge` | 知识库检索 / 沉淀 |
54
+ | `/sillyspec:export` | 导出成功方案为可复用模板 |
55
+ | `/sillyspec:workspace` | 多项目工作区管理 |
56
+
57
+ ## CLI 命令
58
+
59
+ ```bash
60
+ sillyspec run auto 全自动推进全部流程
61
+ sillyspec run scan 执行代码扫描阶段
62
+ sillyspec run brainstorm 执行需求探索阶段
63
+ sillyspec run plan 执行实现计划阶段
64
+ sillyspec run execute 执行开发阶段(子代理并行 + worktree 隔离)
65
+ sillyspec run verify 执行验证阶段
66
+ sillyspec run archive 执行归档阶段
67
+ sillyspec run quick 快速任务
68
+ sillyspec run explore 自由探索
69
+ sillyspec progress show 显示当前项目状态
70
+ sillyspec setup 安装推荐 MCP 工具
71
+ sillyspec init 初始化(零交互,自动检测工具)
72
+ ```
73
+
74
+ ## 核心特性
75
+
76
+ - **规范驱动** — 所有代码产出先有设计文档支撑,文档是 AI 的记忆
77
+ - **TDD 强制** — execute 阶段强制先写测试再写实现
78
+ - **子代理并行** — 同一 Wave 内任务并行执行,加快交付
79
+ - **Worktree 隔离** — execute 在独立 worktree 中工作,不污染主分支
80
+ - **拓扑排序 Wave** — plan 阶段根据蓝图依赖关系自动重排 Wave 分组
81
+ - **E2E 验证** — 内置 E2E 测试流程,支持 Playwright / 浏览器 MCP
82
+ - **模块文档** — 支持模块级知识库,AI 执行时按需加载相关模块上下文
83
+ - **进度管理** — SQLite 持久化进度,断点恢复
84
+ - **MCP 增强** — 一键安装 Context7、Chrome DevTools、PinchTab
85
+
86
+ ## MCP 工具
87
+
88
+ ```bash
89
+ sillyspec setup 安装全部推荐 MCP
90
+ sillyspec setup --list 查看已安装 MCP 状态
91
+ ```
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import '../src/index.js';