sillyspec 3.20.2 → 3.20.4

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 (133) hide show
  1. package/.claude/skills/sillyspec-archive/SKILL.md +21 -21
  2. package/.claude/skills/sillyspec-auto/SKILL.md +83 -83
  3. package/.claude/skills/sillyspec-brainstorm/SKILL.md +44 -44
  4. package/.claude/skills/sillyspec-commit/SKILL.md +106 -106
  5. package/.claude/skills/sillyspec-continue/SKILL.md +45 -45
  6. package/.claude/skills/sillyspec-doctor/SKILL.md +31 -31
  7. package/.claude/skills/sillyspec-execute/SKILL.md +30 -30
  8. package/.claude/skills/sillyspec-explore/SKILL.md +109 -109
  9. package/.claude/skills/sillyspec-knowledge/SKILL.md +269 -269
  10. package/.claude/skills/sillyspec-plan/SKILL.md +21 -21
  11. package/.claude/skills/sillyspec-propose/SKILL.md +21 -21
  12. package/.claude/skills/sillyspec-quick/SKILL.md +21 -21
  13. package/.claude/skills/sillyspec-resume/SKILL.md +68 -68
  14. package/.claude/skills/sillyspec-scan/SKILL.md +21 -21
  15. package/.claude/skills/sillyspec-state/SKILL.md +54 -54
  16. package/.claude/skills/sillyspec-status/SKILL.md +21 -21
  17. package/.claude/skills/sillyspec-verify/SKILL.md +21 -21
  18. package/.claude/skills/sillyspec-workspace/SKILL.md +157 -157
  19. package/.husky/pre-push +13 -13
  20. package/CLAUDE.md +18 -18
  21. package/README.md +198 -188
  22. package/SKILL.md +90 -91
  23. package/bin/sillyspec.js +2 -2
  24. package/docs/brainstorm-plan-contract.md +64 -64
  25. package/docs/plan-execute-contract.md +123 -123
  26. package/docs/platform-scan-protocol.md +298 -298
  27. package/docs/revision-mode.md +115 -115
  28. package/docs/sillyspec/file-lifecycle/known-implementation-gaps.md +99 -99
  29. package/docs/sillyspec/file-lifecycle/platform-workflows-sync.md +218 -218
  30. package/docs/sillyspec/file-lifecycle/stage-artifacts.md +167 -167
  31. package/docs/sillyspec/file-lifecycle/storage-and-state.md +148 -148
  32. package/docs/sillyspec/file-lifecycle/worktree-and-guard.md +211 -193
  33. package/docs/sillyspec/file-lifecycle.md +125 -125
  34. package/docs/workflow-contract-regression.md +106 -106
  35. package/docs/worktree-isolation.md +252 -252
  36. package/package.json +40 -40
  37. package/packages/dashboard/dist/assets/index-Bq_Z2hne.js +7446 -7446
  38. package/packages/dashboard/dist/assets/index-O2W5RV4z.css +1 -1
  39. package/packages/dashboard/dist/index.html +16 -16
  40. package/packages/dashboard/index.html +15 -15
  41. package/packages/dashboard/package-lock.json +2384 -2384
  42. package/packages/dashboard/package.json +25 -25
  43. package/packages/dashboard/server/executor.js +86 -86
  44. package/packages/dashboard/server/index.js +588 -588
  45. package/packages/dashboard/server/parser.js +526 -526
  46. package/packages/dashboard/server/watcher.js +344 -344
  47. package/packages/dashboard/src/App.vue +558 -558
  48. package/packages/dashboard/src/components/ActionBar.vue +93 -93
  49. package/packages/dashboard/src/components/CommandPalette.vue +96 -96
  50. package/packages/dashboard/src/components/DetailPanel.vue +137 -137
  51. package/packages/dashboard/src/components/LogStream.vue +65 -65
  52. package/packages/dashboard/src/components/PipelineStage.vue +95 -95
  53. package/packages/dashboard/src/components/PipelineView.vue +156 -156
  54. package/packages/dashboard/src/components/ProjectList.vue +210 -210
  55. package/packages/dashboard/src/components/StageBadge.vue +67 -67
  56. package/packages/dashboard/src/components/StepCard.vue +94 -94
  57. package/packages/dashboard/src/components/detail/DocsDetail.vue +48 -48
  58. package/packages/dashboard/src/components/detail/GitDetail.vue +61 -61
  59. package/packages/dashboard/src/components/detail/TechDetail.vue +43 -43
  60. package/packages/dashboard/src/composables/useDashboard.js +170 -170
  61. package/packages/dashboard/src/composables/useKeyboard.js +119 -119
  62. package/packages/dashboard/src/composables/useWebSocket.js +129 -129
  63. package/packages/dashboard/src/main.js +8 -8
  64. package/packages/dashboard/src/style.css +132 -132
  65. package/packages/dashboard/vite.config.js +18 -18
  66. package/src/brainstorm-postcheck.js +158 -158
  67. package/src/change-list.js +52 -52
  68. package/src/change-risk-profile.js +352 -352
  69. package/src/classify-change.js +73 -73
  70. package/src/constants.js +70 -70
  71. package/src/contract-matrix.js +278 -278
  72. package/src/db.js +201 -201
  73. package/src/endpoint-extractor.js +315 -315
  74. package/src/hooks/claude-pre-tool-use.cjs +125 -125
  75. package/src/hooks/worktree-guard.js +653 -653
  76. package/src/index.js +922 -900
  77. package/src/init.js +431 -431
  78. package/src/knowledge-match.js +130 -130
  79. package/src/migrate.js +117 -117
  80. package/src/modules.js +482 -482
  81. package/src/progress.js +1734 -1734
  82. package/src/run.js +3465 -3358
  83. package/src/scan-postcheck.js +387 -383
  84. package/src/setup.js +398 -398
  85. package/src/stage-contract.js +700 -700
  86. package/src/stages/archive.js +160 -160
  87. package/src/stages/brainstorm-auto.js +229 -229
  88. package/src/stages/brainstorm.js +645 -645
  89. package/src/stages/doctor.js +365 -365
  90. package/src/stages/execute.js +625 -625
  91. package/src/stages/explore.js +34 -34
  92. package/src/stages/index.js +29 -29
  93. package/src/stages/knowledge.js +498 -498
  94. package/src/stages/plan-postcheck.js +511 -513
  95. package/src/stages/plan.js +582 -582
  96. package/src/stages/propose.js +174 -174
  97. package/src/stages/quick.js +82 -82
  98. package/src/stages/scan.js +558 -558
  99. package/src/stages/status.js +65 -65
  100. package/src/stages/verify.js +322 -322
  101. package/src/sync.js +497 -497
  102. package/src/task-review.js +346 -346
  103. package/src/workflow.js +785 -785
  104. package/src/worktree-apply.js +549 -549
  105. package/src/worktree-deps.js +185 -0
  106. package/src/worktree.js +982 -932
  107. package/templates/workflows/archive-impact.yaml +79 -79
  108. package/templates/workflows/scan-docs.yaml +132 -132
  109. package/test/brainstorm-plan-contract.test.mjs +273 -273
  110. package/test/check-syntax.mjs +26 -26
  111. package/test/contract-artifacts.test.mjs +323 -323
  112. package/test/decision-supersede.test.mjs +277 -277
  113. package/test/knowledge-match.test.mjs +231 -231
  114. package/test/plan-execute-contract.test.mjs +330 -330
  115. package/test/plan-optimization.test.mjs +572 -572
  116. package/test/platform-artifacts.test.mjs +166 -166
  117. package/test/platform-failure-samples.test.mjs +199 -199
  118. package/test/platform-recovery-chain.test.mjs +167 -167
  119. package/test/platform-recovery.test.mjs +136 -136
  120. package/test/platform-scan-p0.test.mjs +168 -168
  121. package/test/revision-v1.test.mjs +1145 -1145
  122. package/test/run-scan-project-parse.test.mjs +200 -200
  123. package/test/run-tests.mjs +48 -48
  124. package/test/scan-knowledge.test.mjs +175 -175
  125. package/test/scan-paths.test.mjs +68 -68
  126. package/test/scan-postcheck.test.mjs +197 -197
  127. package/test/spec-dir.test.mjs +206 -206
  128. package/test/stage-contract.test.mjs +299 -299
  129. package/test/stage-definitions.test.mjs +39 -39
  130. package/test/wait-gates.test.mjs +496 -496
  131. package/test/worktree-deps-provision.test.mjs +148 -0
  132. package/test/worktree-guard.test.mjs +71 -71
  133. package/test/worktree-native-overlay.test.mjs +188 -188
@@ -1,174 +1,174 @@
1
- /**
2
- * @deprecated propose 阶段已移除入口(2026-06-14)。
3
- * brainstorm 现在拥有四件套(design/proposal/requirements/tasks)的生成职责。
4
- * 本文件保留以备未来需要恢复,但未注册到 stageRegistry。
5
- */
6
- export const definition = {
7
- name: 'propose',
8
- title: '方案设计',
9
- description: '生成结构化规范 — proposal + design + tasks',
10
- steps: [
11
- {
12
- name: '状态检查',
13
- prompt: `检查当前状态,确认可以执行 propose。
14
-
15
- ### 操作
16
- 1. 运行 \`sillyspec progress show\`
17
- 2. 确认 currentStage 为 "propose"
18
- 3. 如果没有设计文档 → 提示先运行 brainstorm
19
-
20
- ### 输出
21
- 当前状态摘要`,
22
- outputHint: '状态摘要',
23
- optional: false
24
- },
25
- {
26
- name: '加载上下文',
27
- prompt: `加载所有相关规范和代码库上下文。
28
-
29
- ### 操作
30
- 1. 加载 CODEBASE-OVERVIEW.md 和子项目上下文
31
- 2. 读取最新设计文档、需求文档、代码库约定
32
- 3. 如果是子阶段变更,读取 MASTER.md 和前序阶段设计
33
-
34
- ### 模块文档加载
35
- 4. 读取 \`.sillyspec/docs/<project>/modules/_module-map.yaml\`(不存在则跳过以下步骤)
36
- 5. 根据当前提案初步判断涉及的模块(匹配提案中的文件路径到 _module-map.yaml 的 paths)
37
- 6. 读取匹配到的 \`.sillyspec/docs/<project>/modules/<module>.md\`
38
- 7. 如果发现提案中的变更范围与某个模块文档描述的当前设计存在潜在冲突,在后续提案中明确标注并说明处理方案
39
-
40
- ### 输出
41
- 已加载的文件列表(含模块文档)`,
42
- outputHint: '文件列表',
43
- optional: false
44
- },
45
- {
46
- name: '锚定确认',
47
- prompt: `确认已读取的文件。
48
-
49
- ### 操作
50
- 1. 列出已读取的文件,标注存在/不存在
51
- 2. 格式:\`[x] 文件名 — 说明\` 或 \`[ ] 文件名 — 不存在(正常)\`
52
-
53
- ### 输出
54
- 文件加载确认清单
55
-
56
- ### 注意
57
- - 文件不存在不是错误,正常标注即可`,
58
- outputHint: '文件确认清单',
59
- optional: false
60
- },
61
- {
62
- name: '探索现有代码',
63
- prompt: `理解相关模块的当前实现,识别影响范围。
64
-
65
- ### 操作
66
- 1. 根据设计文档中的文件变更清单,读取相关源码
67
- 2. 识别现有接口、方法签名、数据结构
68
- 3. 记录可能受影响的模块
69
-
70
- ### 输出
71
- 影响范围分析(涉及模块、需修改的文件、风险点)`,
72
- outputHint: '影响范围分析',
73
- optional: false
74
- },
75
- {
76
- name: '生成规范文件',
77
- prompt: `在 \`.sillyspec/changes/<change-name>/\` 下生成四个文件。
78
-
79
- **⚠️ 路径注意:<change-name> 是变更目录名(如 \`2026-05-28-agent-log-streaming\`),直接放在 \`.sillyspec/changes/\` 下,不要加额外的子目录层级。正确路径示例:\`.sillyspec/changes/2026-05-28-agent-log-streaming/proposal.md\`**
80
-
81
- ### proposal.md 格式要求
82
- - **动机**:为什么做、解决什么核心问题
83
- - **关键问题**:为什么现有方案不够(展开 2-3 个具体痛点)
84
- - **变更范围**:本次做什么
85
- - **不在范围内**(显式清单):不做 X、不做 Y
86
- - **成功标准**(可验证条件):旧配置默认行为不变、新功能配置后可用
87
-
88
- ### requirements.md 格式要求
89
- - **角色表**:涉及的角色和说明
90
- - **FR 编号需求**:FR-01、FR-02 ... 每条需求用 Given/When/Then 格式
91
- - **每个边界条件**独立 GWT 块
92
- - **非功能需求**:兼容性、可回退、可测试、可扩展
93
-
94
- ### design.md 格式要求
95
-
96
- **必须包含的章节:**
97
- 1. **背景**:为什么做、解决什么问题
98
- 2. **设计目标**:要达成什么
99
- 3. **非目标**:明确不做的事(防止 scope creep)
100
- 4. **总体方案**:技术方案(分 Phase/Wave)
101
- 5. **文件变更清单**(必填):
102
-
103
- | 操作 | 文件路径 | 说明 |
104
- |---|---|---|
105
- | 新增 | src/xxx/NewFile.java | ... |
106
- | 修改 | src/xxx/ExistingFile.java | 新增 xx 方法 |
107
-
108
- 6. **接口定义**:方法签名、数据结构(代码类任务必填)
109
- 7. **数据模型**(如涉及):表结构/字段变更
110
- 8. **兼容策略**(brownfield 必填):未配置新功能时行为不变、新旧逻辑的回退路径
111
- 9. **风险登记**:
112
-
113
- | 编号 | 风险 | 等级 | 应对策略 |
114
- |---|---|---|---|
115
- | R-01 | ... | P0/P1/P2 | ... |
116
-
117
- 10. **自审**:需求覆盖、约束一致性、真实性、YAGNI、验收标准、非目标清晰、兼容策略、风险识别
118
-
119
- ### tasks.md 格式要求
120
- - 任务列表(只列名称,不展开步骤)
121
- - 每个 task 附文件路径
122
-
123
- ### 操作
124
- 1. 生成 proposal.md
125
- 2. 生成 requirements.md
126
- 3. 生成 design.md
127
- 4. 生成 tasks.md
128
-
129
- ### 输出
130
- 四个文件路径
131
-
132
- ### 注意
133
- - 表名/字段名/类名必须来自真实代码或标注"新增"
134
- - 用户场景必须用 Given/When/Then 格式
135
- - tasks.md 只列任务名,细节在 plan 阶段展开`,
136
- outputHint: '四个文件路径',
137
- optional: false
138
- },
139
- {
140
- name: '自检门控',
141
- prompt: `自检生成的规范文件。
142
-
143
- ### 操作
144
- 检查以下各项:
145
- - [ ] proposal.md 有动机、关键问题、变更范围、不在范围内、成功标准
146
- - [ ] design.md 有背景、设计目标、非目标
147
- - [ ] design.md 有文件变更清单表格
148
- - [ ] design.md 有兼容策略(brownfield 时)
149
- - [ ] design.md 有风险登记表格
150
- - [ ] design.md 有自审
151
- - [ ] requirements.md 有角色表
152
- - [ ] requirements.md 有 FR 编号和 Given/When/Then 用户场景
153
- - [ ] tasks.md 每个 task 有文件路径
154
-
155
- 任何不通过 → 修正后重新检查。
156
-
157
- ### 输出
158
- 自检通过/不通过`,
159
-
160
- },
161
- {
162
- name: '展示并更新进度',
163
- prompt: `展示规范给用户,更新进度。
164
-
165
- ### 操作
166
- 1. 展示 proposal.md 和 design.md 摘要
167
-
168
- ### 输出
169
- 展示结果 + 下一步命令`,
170
- outputHint: '展示结果',
171
- optional: false
172
- }
173
- ]
174
- }
1
+ /**
2
+ * @deprecated propose 阶段已移除入口(2026-06-14)。
3
+ * brainstorm 现在拥有四件套(design/proposal/requirements/tasks)的生成职责。
4
+ * 本文件保留以备未来需要恢复,但未注册到 stageRegistry。
5
+ */
6
+ export const definition = {
7
+ name: 'propose',
8
+ title: '方案设计',
9
+ description: '生成结构化规范 — proposal + design + tasks',
10
+ steps: [
11
+ {
12
+ name: '状态检查',
13
+ prompt: `检查当前状态,确认可以执行 propose。
14
+
15
+ ### 操作
16
+ 1. 运行 \`sillyspec progress show\`
17
+ 2. 确认 currentStage 为 "propose"
18
+ 3. 如果没有设计文档 → 提示先运行 brainstorm
19
+
20
+ ### 输出
21
+ 当前状态摘要`,
22
+ outputHint: '状态摘要',
23
+ optional: false
24
+ },
25
+ {
26
+ name: '加载上下文',
27
+ prompt: `加载所有相关规范和代码库上下文。
28
+
29
+ ### 操作
30
+ 1. 加载 CODEBASE-OVERVIEW.md 和子项目上下文
31
+ 2. 读取最新设计文档、需求文档、代码库约定
32
+ 3. 如果是子阶段变更,读取 MASTER.md 和前序阶段设计
33
+
34
+ ### 模块文档加载
35
+ 4. 读取 \`.sillyspec/docs/<project>/modules/_module-map.yaml\`(不存在则跳过以下步骤)
36
+ 5. 根据当前提案初步判断涉及的模块(匹配提案中的文件路径到 _module-map.yaml 的 paths)
37
+ 6. 读取匹配到的 \`.sillyspec/docs/<project>/modules/<module>.md\`
38
+ 7. 如果发现提案中的变更范围与某个模块文档描述的当前设计存在潜在冲突,在后续提案中明确标注并说明处理方案
39
+
40
+ ### 输出
41
+ 已加载的文件列表(含模块文档)`,
42
+ outputHint: '文件列表',
43
+ optional: false
44
+ },
45
+ {
46
+ name: '锚定确认',
47
+ prompt: `确认已读取的文件。
48
+
49
+ ### 操作
50
+ 1. 列出已读取的文件,标注存在/不存在
51
+ 2. 格式:\`[x] 文件名 — 说明\` 或 \`[ ] 文件名 — 不存在(正常)\`
52
+
53
+ ### 输出
54
+ 文件加载确认清单
55
+
56
+ ### 注意
57
+ - 文件不存在不是错误,正常标注即可`,
58
+ outputHint: '文件确认清单',
59
+ optional: false
60
+ },
61
+ {
62
+ name: '探索现有代码',
63
+ prompt: `理解相关模块的当前实现,识别影响范围。
64
+
65
+ ### 操作
66
+ 1. 根据设计文档中的文件变更清单,读取相关源码
67
+ 2. 识别现有接口、方法签名、数据结构
68
+ 3. 记录可能受影响的模块
69
+
70
+ ### 输出
71
+ 影响范围分析(涉及模块、需修改的文件、风险点)`,
72
+ outputHint: '影响范围分析',
73
+ optional: false
74
+ },
75
+ {
76
+ name: '生成规范文件',
77
+ prompt: `在 \`.sillyspec/changes/<change-name>/\` 下生成四个文件。
78
+
79
+ **⚠️ 路径注意:<change-name> 是变更目录名(如 \`2026-05-28-agent-log-streaming\`),直接放在 \`.sillyspec/changes/\` 下,不要加额外的子目录层级。正确路径示例:\`.sillyspec/changes/2026-05-28-agent-log-streaming/proposal.md\`**
80
+
81
+ ### proposal.md 格式要求
82
+ - **动机**:为什么做、解决什么核心问题
83
+ - **关键问题**:为什么现有方案不够(展开 2-3 个具体痛点)
84
+ - **变更范围**:本次做什么
85
+ - **不在范围内**(显式清单):不做 X、不做 Y
86
+ - **成功标准**(可验证条件):旧配置默认行为不变、新功能配置后可用
87
+
88
+ ### requirements.md 格式要求
89
+ - **角色表**:涉及的角色和说明
90
+ - **FR 编号需求**:FR-01、FR-02 ... 每条需求用 Given/When/Then 格式
91
+ - **每个边界条件**独立 GWT 块
92
+ - **非功能需求**:兼容性、可回退、可测试、可扩展
93
+
94
+ ### design.md 格式要求
95
+
96
+ **必须包含的章节:**
97
+ 1. **背景**:为什么做、解决什么问题
98
+ 2. **设计目标**:要达成什么
99
+ 3. **非目标**:明确不做的事(防止 scope creep)
100
+ 4. **总体方案**:技术方案(分 Phase/Wave)
101
+ 5. **文件变更清单**(必填):
102
+
103
+ | 操作 | 文件路径 | 说明 |
104
+ |---|---|---|
105
+ | 新增 | src/xxx/NewFile.java | ... |
106
+ | 修改 | src/xxx/ExistingFile.java | 新增 xx 方法 |
107
+
108
+ 6. **接口定义**:方法签名、数据结构(代码类任务必填)
109
+ 7. **数据模型**(如涉及):表结构/字段变更
110
+ 8. **兼容策略**(brownfield 必填):未配置新功能时行为不变、新旧逻辑的回退路径
111
+ 9. **风险登记**:
112
+
113
+ | 编号 | 风险 | 等级 | 应对策略 |
114
+ |---|---|---|---|
115
+ | R-01 | ... | P0/P1/P2 | ... |
116
+
117
+ 10. **自审**:需求覆盖、约束一致性、真实性、YAGNI、验收标准、非目标清晰、兼容策略、风险识别
118
+
119
+ ### tasks.md 格式要求
120
+ - 任务列表(只列名称,不展开步骤)
121
+ - 每个 task 附文件路径
122
+
123
+ ### 操作
124
+ 1. 生成 proposal.md
125
+ 2. 生成 requirements.md
126
+ 3. 生成 design.md
127
+ 4. 生成 tasks.md
128
+
129
+ ### 输出
130
+ 四个文件路径
131
+
132
+ ### 注意
133
+ - 表名/字段名/类名必须来自真实代码或标注"新增"
134
+ - 用户场景必须用 Given/When/Then 格式
135
+ - tasks.md 只列任务名,细节在 plan 阶段展开`,
136
+ outputHint: '四个文件路径',
137
+ optional: false
138
+ },
139
+ {
140
+ name: '自检门控',
141
+ prompt: `自检生成的规范文件。
142
+
143
+ ### 操作
144
+ 检查以下各项:
145
+ - [ ] proposal.md 有动机、关键问题、变更范围、不在范围内、成功标准
146
+ - [ ] design.md 有背景、设计目标、非目标
147
+ - [ ] design.md 有文件变更清单表格
148
+ - [ ] design.md 有兼容策略(brownfield 时)
149
+ - [ ] design.md 有风险登记表格
150
+ - [ ] design.md 有自审
151
+ - [ ] requirements.md 有角色表
152
+ - [ ] requirements.md 有 FR 编号和 Given/When/Then 用户场景
153
+ - [ ] tasks.md 每个 task 有文件路径
154
+
155
+ 任何不通过 → 修正后重新检查。
156
+
157
+ ### 输出
158
+ 自检通过/不通过`,
159
+
160
+ },
161
+ {
162
+ name: '展示并更新进度',
163
+ prompt: `展示规范给用户,更新进度。
164
+
165
+ ### 操作
166
+ 1. 展示 proposal.md 和 design.md 摘要
167
+
168
+ ### 输出
169
+ 展示结果 + 下一步命令`,
170
+ outputHint: '展示结果',
171
+ optional: false
172
+ }
173
+ ]
174
+ }
@@ -1,77 +1,77 @@
1
- export const definition = {
2
- name: 'quick',
3
- title: '快速任务',
4
- description: '跳过完整流程,直接做',
5
- auxiliary: true,
6
- steps: [
7
- {
8
- name: '理解任务',
9
- prompt: `解析任务参数,加载项目上下文。
10
-
11
- ### 操作
12
- 1. 检查是否携带 \`--change <变更名>\`,确定记录方式
13
- 2. 理解任务:模糊则问一个问题确认
14
- 3. 加载项目信息:\`cat .sillyspec/projects/*.yaml 2>/dev/null\`(了解项目结构和技术栈)
15
- 4. 加载上下文:\`cat .sillyspec/docs/<project>/scan/CONVENTIONS.md 2>/dev/null\`
16
- 5. 加载本地配置:\`cat .sillyspec/local.yaml 2>/dev/null\`(构建命令、测试命令、环境变量等)
17
- 6. 如有 \`--change\`,加载设计文档:\`cat .sillyspec/changes/<change-name>/design.md 2>/dev/null\`(理解设计意图)
18
- 7. 如有需要,查询知识库:\`cat .sillyspec/knowledge/INDEX.md 2>/dev/null\`
19
-
20
- ### 模块文档加载
21
- 8. 读取 \`.sillyspec/docs/<project>/modules/_module-map.yaml\`(不存在则跳过以下步骤)
22
- 9. 根据任务描述初步判断可能涉及的模块
23
- 10. 读取匹配到的 \`.sillyspec/docs/<project>/modules/<module>.md\`
24
-
25
- ### 创建任务记录(⛔ 此步骤不能跳过,没有 quicklog 记录 = 未完成)
26
- 理解完任务后,**必须**立即创建记录文件,再输出任何其他内容:
27
- 1. 使用预注入的 git 用户名:\`<git-user>\`
28
- 2. 无 \`--change\`:创建 .sillyspec/quicklog/QUICKLOG-\`<git-user>\`.md\`(已存在则追加),写入:
29
- \`\`\`
30
- ## ql-<YYYYMMDD>-<NNN>-<XXXX> | <now-datetime> | <一句话任务描述>
31
- 状态:进行中
32
- 文件:<预估要改的文件>
33
- \`\`\`
34
- - ID 格式:\`ql-YYYYMMDD-NNN-XXXX\`
35
- - \`XXXX\` 是 4 位随机十六进制字符(如 a3f2、b7c1、00ef),**不是描述词缩写**
36
- - 追加前扫描文件中已有的 \`ql-<当天日期>-\` 前缀的最大序号,+1 作为新序号
37
- - 每天从 001 开始,跨日重新计数
38
- - 此 ID 可被 design.md / plan.md / archive / module 变更索引引用
39
- 3. 有 \`--change\`:在 \`.sillyspec/changes/<change-name>/tasks.md\` 追加未勾选的 task
40
-
41
- 这样 Gate 检测到 .sillyspec/\` 下有变更,就不会拦截后续的代码修改。
42
-
43
- ### 输出
44
- quicklog 已创建(必须放在输出的第一行确认)+ 任务理解 + 上下文摘要
45
-
46
- ⚠️ **先创建 quicklog,再输出任务理解。** 如果 quicklog 未创建,CLI post-check 会报 warning。`,
47
- outputHint: '任务理解',
48
- optional: false
49
- },
50
- {
51
- name: '实现并验证',
52
- prompt: `直接在主工作区实现任务。
53
-
54
- ### 操作
55
- 1. 先读后写:调用已有方法前 \`cat\` 源文件确认签名,\`grep\` 确认方法存在
56
- 2. 写代码完成任务
57
- 3. 如涉及逻辑变更,建议写单元测试验证(不强制,纯配置/文档/小改动可跳过)
58
- 4. **不要编译!** 除非用户明确要求或改动量很大
59
-
60
- ### 输出
61
- 实现摘要 + 修改文件列表
62
-
63
- ### 铁律
64
- - 不要修改无关文件
65
- - 不要编造不存在的 CLI 子命令
66
- - **Reverse Sync**:如果发现 Bug 是 design.md 遗漏导致的,先修 design.md 再修代码`,
67
- outputHint: '实现摘要',
68
- optional: false
69
- },
70
- {
71
- name: '暂存和更新记录',
72
- prompt: `Git 暂存并更新任务记录。
73
-
74
- ### 操作
1
+ export const definition = {
2
+ name: 'quick',
3
+ title: '快速任务',
4
+ description: '跳过完整流程,直接做',
5
+ auxiliary: true,
6
+ steps: [
7
+ {
8
+ name: '理解任务',
9
+ prompt: `解析任务参数,加载项目上下文。
10
+
11
+ ### 操作
12
+ 1. 检查是否携带 \`--change <变更名>\`,确定记录方式
13
+ 2. 理解任务:模糊则问一个问题确认
14
+ 3. 加载项目信息:\`cat .sillyspec/projects/*.yaml 2>/dev/null\`(了解项目结构和技术栈)
15
+ 4. 加载上下文:\`cat .sillyspec/docs/<project>/scan/CONVENTIONS.md 2>/dev/null\`
16
+ 5. 加载本地配置:\`cat .sillyspec/local.yaml 2>/dev/null\`(构建命令、测试命令、环境变量等)
17
+ 6. 如有 \`--change\`,加载设计文档:\`cat .sillyspec/changes/<change-name>/design.md 2>/dev/null\`(理解设计意图)
18
+ 7. 如有需要,查询知识库:\`cat .sillyspec/knowledge/INDEX.md 2>/dev/null\`
19
+
20
+ ### 模块文档加载
21
+ 8. 读取 \`.sillyspec/docs/<project>/modules/_module-map.yaml\`(不存在则跳过以下步骤)
22
+ 9. 根据任务描述初步判断可能涉及的模块
23
+ 10. 读取匹配到的 \`.sillyspec/docs/<project>/modules/<module>.md\`
24
+
25
+ ### 创建任务记录(⛔ 此步骤不能跳过,没有 quicklog 记录 = 未完成)
26
+ 理解完任务后,**必须**立即创建记录文件,再输出任何其他内容:
27
+ 1. 使用预注入的 git 用户名:\`<git-user>\`
28
+ 2. 无 \`--change\`:创建 .sillyspec/quicklog/QUICKLOG-\`<git-user>\`.md\`(已存在则追加),写入:
29
+ \`\`\`
30
+ ## ql-<YYYYMMDD>-<NNN>-<XXXX> | <now-datetime> | <一句话任务描述>
31
+ 状态:进行中
32
+ 文件:<预估要改的文件>
33
+ \`\`\`
34
+ - ID 格式:\`ql-YYYYMMDD-NNN-XXXX\`
35
+ - \`XXXX\` 是 4 位随机十六进制字符(如 a3f2、b7c1、00ef),**不是描述词缩写**
36
+ - 追加前扫描文件中已有的 \`ql-<当天日期>-\` 前缀的最大序号,+1 作为新序号
37
+ - 每天从 001 开始,跨日重新计数
38
+ - 此 ID 可被 design.md / plan.md / archive / module 变更索引引用
39
+ 3. 有 \`--change\`:在 \`.sillyspec/changes/<change-name>/tasks.md\` 追加未勾选的 task
40
+
41
+ 这样 Gate 检测到 .sillyspec/\` 下有变更,就不会拦截后续的代码修改。
42
+
43
+ ### 输出
44
+ quicklog 已创建(必须放在输出的第一行确认)+ 任务理解 + 上下文摘要
45
+
46
+ ⚠️ **先创建 quicklog,再输出任务理解。** 如果 quicklog 未创建,CLI post-check 会报 warning。`,
47
+ outputHint: '任务理解',
48
+ optional: false
49
+ },
50
+ {
51
+ name: '实现并验证',
52
+ prompt: `直接在主工作区实现任务。
53
+
54
+ ### 操作
55
+ 1. 先读后写:调用已有方法前 \`cat\` 源文件确认签名,\`grep\` 确认方法存在
56
+ 2. 写代码完成任务
57
+ 3. 如涉及逻辑变更,建议写单元测试验证(不强制,纯配置/文档/小改动可跳过)
58
+ 4. **不要编译!** 除非用户明确要求或改动量很大
59
+
60
+ ### 输出
61
+ 实现摘要 + 修改文件列表
62
+
63
+ ### 铁律
64
+ - 不要修改无关文件
65
+ - 不要编造不存在的 CLI 子命令
66
+ - **Reverse Sync**:如果发现 Bug 是 design.md 遗漏导致的,先修 design.md 再修代码`,
67
+ outputHint: '实现摘要',
68
+ optional: false
69
+ },
70
+ {
71
+ name: '暂存和更新记录',
72
+ prompt: `Git 暂存并更新任务记录。
73
+
74
+ ### 操作
75
75
  1. 查看 \`git status --porcelain\`,确认只包含本次 quick 相关文件
76
76
  2. 使用 \`git add -- <file...>\` 暂存本次 quick 实际修改的文件(不要 commit,由用户通过统一提交工具处理)
77
77
  - 禁止使用 \`git add -A\`
@@ -93,11 +93,11 @@ quicklog 已创建(必须放在输出的第一行确认)+ 任务理解 + 上
93
93
  - 写入模块文档
94
94
  - 使用 \`git add -- <module-doc>\` 暂存更新的模块文件
95
95
  10. 未命中任何模块 → 跳过,不做额外操作
96
-
97
- ### 输出
98
- 暂存确认 + 记录路径 + 模块文档同步结果(如有)`,
99
- outputHint: '暂存和记录确认',
100
- optional: false
101
- }
102
- ]
103
- }
96
+
97
+ ### 输出
98
+ 暂存确认 + 记录路径 + 模块文档同步结果(如有)`,
99
+ outputHint: '暂存和记录确认',
100
+ optional: false
101
+ }
102
+ ]
103
+ }