sillyspec 3.7.14 → 3.7.16

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 +69 -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
@@ -1,89 +0,0 @@
1
- ## 交互规范
2
- **当需要用户从多个选项中做出选择时,必须使用 Claude Code 内置的 AskUserQuestion 工具,将选项以参数传入。**
3
-
4
- ## 核心约束(必须遵守)
5
- - ❌ 修改子项目的代码
6
- - ❌ 删除已有文件(clone 前必须确认)
7
- - ❌ 跳过冲突检查直接覆盖
8
-
9
- ## 流程
10
-
11
- ### Step 1: 读取配置
12
-
13
- ```bash
14
- cat .sillyspec/config.yaml 2>/dev/null
15
- ```
16
-
17
- 无 config.yaml → 提示先执行 `/sillyspec:workspace` 初始化工作区。
18
-
19
- ### Step 2: 逐个子项目检查
20
-
21
- 对 config.yaml 中每个子项目,按顺序执行:
22
-
23
- ```bash
24
- # 检查目录是否存在
25
- ls -d <path> 2>/dev/null && echo "EXISTS" || echo "MISSING"
26
- ```
27
-
28
- #### 情况 A:目录不存在
29
-
30
- ```bash
31
- # 检查是否有 repo 配置
32
- grep "repo:" .sillyspec/config.yaml | grep -A 1 "<name>"
33
- ```
34
-
35
- - **有 repo** → AskUserQuestion:"子项目 `<name>` 不存在,是否从 `<repo>` clone 到 `<path>`?"
36
- - 用户确认 → `git clone <repo> <path>` → ✅ 成功
37
- - clone 失败 → ❌ 报错,提示用户手动 clone
38
- - **无 repo** → ⚠️ 提示用户:"子项目 `<name>` 不存在且无 repo 配置,请手动放置到 `<path>`"
39
-
40
- #### 情况 B:目录已存在
41
-
42
- ```bash
43
- # 检查是否是 git 仓库
44
- git -C <path> rev-parse --is-inside-work-tree 2>/dev/null
45
-
46
- # 如果是,检查 remote 是否匹配
47
- git -C <path> remote get-url origin 2>/dev/null
48
- ```
49
-
50
- - **不是 git 仓库** → AskUserQuestion:"目录 `<path>` 存在但不是 git 仓库,可能和其他项目冲突。"
51
- - 跳过此子项目
52
- - 让用户指定正确路径
53
- - **是 git 仓库,remote 匹配 repo** → ✅ 跳过,状态正常
54
- - **是 git 仓库,remote 不匹配 repo** → ⚠️ AskUserQuestion:
55
- - "目录 `<path>` 是 git 仓库但 remote 不匹配(期望 `<repo>`,实际 `<actual>`)。可能是不同项目。"
56
- - 跳过 / 用户确认覆盖
57
-
58
- #### 情况 C:路径冲突
59
-
60
- 检查两个子项目的 path 是否指向同一目录或互相包含:
61
-
62
- ```bash
63
- # 将相对路径转为绝对路径后比较
64
- realpath <path1>
65
- realpath <path2>
66
- ```
67
-
68
- 冲突 → ❌ 报错:"子项目 A 和 B 的路径冲突,请修改 config.yaml"
69
-
70
- ### Step 3: 汇总报告
71
-
72
- ```
73
- 📊 工作区同步结果
74
-
75
- ┌───────────────────┬──────────┬────────────────────────────────────┐
76
- │ 子项目 │ 状态 │ 说明 │
77
- ├───────────────────┼──────────┼────────────────────────────────────┤
78
- │ back-service │ ✅ 正常 │ 目录存在,git remote 匹配 │
79
- │ sub-grid-security │ 🔄 已克隆 │ 从 https://... clone 成功 │
80
- │ frontend │ ⚠️ 缺失 │ 无 repo 配置,请手动放置 │
81
- └───────────────────┴──────────┴────────────────────────────────────┘
82
- ```
83
-
84
- 全部正常 → 提示 `/sillyspec:brainstorm '你的需求'` 继续。
85
- 有异常 → 提示用户处理后再 sync。
86
-
87
- ### Step 4: 更新 config.yaml
88
-
89
- 如果 clone 过程中实际 remote 和 config.yaml 中的 repo 不一致,更新 repo 字段为实际值。
@@ -1,67 +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
- cat .sillyspec/config.yaml 2>/dev/null
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. 更新 config.yaml,追加子项目配置
37
- - `remove` → 移除子项目
38
- - `sync` → 同步子项目(clone 缺失的,检查冲突)
39
-
40
- ### Step 3: 执行操作
41
-
42
- **初始化工作区:** 询问名称 → 逐个添加子项目(名称、路径、角色描述,验证路径存在)→ 共享规范 → 生成 config.yaml + `.sillyspec/shared/`
43
-
44
- **添加/移除子项目:** 更新 config.yaml,Git 提交。
45
-
46
- **状态显示:** 读取每个子项目的 `.sillyspec/` 内容(PROJECT.md、codebase 文档数、进行中变更),输出格式:
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
- ### config.yaml 格式
58
-
59
- ```yaml
60
- projects:
61
- <name>:
62
- path: <relative-path>
63
- role: <description>
64
- repo: <git-remote-url> # 可选,git remote get-url origin
65
- shared:
66
- - <filename.md>
67
- ```