specops 0.2.5 → 0.3.2
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.
- package/.opencode/agent/specops-codebase-mapper.md +764 -0
- package/.opencode/agent/specops-debugger.md +1246 -0
- package/.opencode/agent/specops-executor.md +475 -0
- package/.opencode/agent/specops-integration-checker.md +443 -0
- package/.opencode/agent/specops-phase-researcher.md +547 -0
- package/.opencode/agent/specops-plan-checker.md +690 -0
- package/.opencode/agent/specops-planner.md +581 -0
- package/.opencode/agent/specops-project-researcher.md +354 -0
- package/.opencode/agent/specops-research-synthesizer.md +242 -0
- package/.opencode/agent/specops-roadmapper.md +642 -0
- package/.opencode/agent/specops-work-verifier.md +573 -0
- package/.opencode/references/checkpoints.md +776 -0
- package/.opencode/references/continuation-format.md +249 -0
- package/.opencode/references/decimal-phase-calculation.md +65 -0
- package/.opencode/references/git-integration.md +248 -0
- package/.opencode/references/git-planning-commit.md +38 -0
- package/.opencode/references/model-profile-resolution.md +34 -0
- package/.opencode/references/model-profiles.md +92 -0
- package/.opencode/references/phase-argument-parsing.md +61 -0
- package/.opencode/references/planning-config.md +196 -0
- package/.opencode/references/questioning.md +145 -0
- package/.opencode/references/tdd.md +263 -0
- package/.opencode/references/ui-brand.md +160 -0
- package/.opencode/references/verification-patterns.md +612 -0
- package/.opencode/templates/DEBUG.md +164 -0
- package/.opencode/templates/UAT.md +180 -0
- package/.opencode/templates/VALIDATION.md +76 -0
- package/.opencode/templates/codebase/architecture.md +255 -0
- package/.opencode/templates/codebase/concerns.md +310 -0
- package/.opencode/templates/codebase/conventions.md +307 -0
- package/.opencode/templates/codebase/integrations.md +280 -0
- package/.opencode/templates/codebase/stack.md +186 -0
- package/.opencode/templates/codebase/structure.md +285 -0
- package/.opencode/templates/codebase/testing.md +480 -0
- package/.opencode/templates/context.md +221 -0
- package/.opencode/templates/continue-here.md +78 -0
- package/.opencode/templates/debug-subagent-prompt.md +91 -0
- package/.opencode/templates/discovery.md +147 -0
- package/.opencode/templates/milestone-archive.md +123 -0
- package/.opencode/templates/milestone.md +115 -0
- package/.opencode/templates/phase-prompt.md +333 -0
- package/.opencode/templates/planner-subagent-prompt.md +117 -0
- package/.opencode/templates/project.md +184 -0
- package/.opencode/templates/requirements.md +130 -0
- package/.opencode/templates/research-project/ARCHITECTURE.md +204 -0
- package/.opencode/templates/research-project/FEATURES.md +147 -0
- package/.opencode/templates/research-project/PITFALLS.md +200 -0
- package/.opencode/templates/research-project/STACK.md +120 -0
- package/.opencode/templates/research-project/SUMMARY.md +170 -0
- package/.opencode/templates/research.md +278 -0
- package/.opencode/templates/retrospective.md +54 -0
- package/.opencode/templates/roadmap.md +202 -0
- package/.opencode/templates/state.md +176 -0
- package/.opencode/templates/summary-complex.md +59 -0
- package/.opencode/templates/summary-minimal.md +41 -0
- package/.opencode/templates/summary-standard.md +48 -0
- package/.opencode/templates/summary.md +248 -0
- package/.opencode/templates/user-setup.md +311 -0
- package/.opencode/templates/verification-report.md +322 -0
- package/.opencode/workflows/add-phase.md +111 -0
- package/.opencode/workflows/add-tests.md +350 -0
- package/.opencode/workflows/add-todo.md +157 -0
- package/.opencode/workflows/audit-milestone.md +297 -0
- package/.opencode/workflows/check-todos.md +176 -0
- package/.opencode/workflows/cleanup.md +152 -0
- package/.opencode/workflows/complete-milestone.md +763 -0
- package/.opencode/workflows/diagnose-issues.md +219 -0
- package/.opencode/workflows/discovery-phase.md +288 -0
- package/.opencode/workflows/discuss-phase.md +542 -0
- package/.opencode/workflows/execute-phase.md +449 -0
- package/.opencode/workflows/execute-plan.md +447 -0
- package/.opencode/workflows/health.md +156 -0
- package/.opencode/workflows/help.md +489 -0
- package/.opencode/workflows/insert-phase.md +129 -0
- package/.opencode/workflows/list-phase-assumptions.md +178 -0
- package/.opencode/workflows/map-codebase.md +315 -0
- package/.opencode/workflows/new-milestone.md +382 -0
- package/.opencode/workflows/new-project.md +1116 -0
- package/.opencode/workflows/pause-work.md +122 -0
- package/.opencode/workflows/plan-milestone-gaps.md +274 -0
- package/.opencode/workflows/plan-phase.md +569 -0
- package/.opencode/workflows/progress.md +381 -0
- package/.opencode/workflows/quick.md +453 -0
- package/.opencode/workflows/remove-phase.md +154 -0
- package/.opencode/workflows/research-phase.md +73 -0
- package/.opencode/workflows/resume-project.md +304 -0
- package/.opencode/workflows/set-profile.md +80 -0
- package/.opencode/workflows/settings.md +213 -0
- package/.opencode/workflows/transition.md +544 -0
- package/.opencode/workflows/update.md +219 -0
- package/.opencode/workflows/verify-phase.md +242 -0
- package/.opencode/workflows/verify-work.md +569 -0
- package/commands/specops/add-phase.md +43 -0
- package/commands/specops/add-tests.md +41 -0
- package/commands/specops/add-todo.md +47 -0
- package/commands/specops/audit-milestone.md +36 -0
- package/commands/specops/check-todos.md +45 -0
- package/commands/specops/cleanup.md +18 -0
- package/commands/specops/complete-milestone.md +136 -0
- package/commands/specops/debug.md +167 -0
- package/commands/specops/discuss-phase.md +83 -0
- package/commands/specops/execute-phase.md +41 -0
- package/commands/specops/health.md +22 -0
- package/commands/specops/help.md +22 -0
- package/commands/specops/insert-phase.md +32 -0
- package/commands/specops/join-discord.md +18 -0
- package/commands/specops/list-phase-assumptions.md +46 -0
- package/commands/specops/map-codebase.md +71 -0
- package/commands/specops/new-milestone.md +44 -0
- package/commands/specops/new-project.md +42 -0
- package/commands/specops/pause-work.md +38 -0
- package/commands/specops/plan-milestone-gaps.md +34 -0
- package/commands/specops/plan-phase.md +45 -0
- package/commands/specops/progress.md +24 -0
- package/commands/specops/quick.md +41 -0
- package/commands/specops/reapply-patches.md +111 -0
- package/commands/specops/remove-phase.md +31 -0
- package/commands/specops/research-phase.md +189 -0
- package/commands/specops/resume-work.md +40 -0
- package/commands/specops/set-profile.md +34 -0
- package/commands/specops/settings.md +36 -0
- package/commands/specops/update.md +37 -0
- package/commands/specops/verify-work.md +38 -0
- package/dist/__integration__/fixtures/generator.d.ts +4 -0
- package/dist/__integration__/fixtures/generator.js +1 -0
- package/dist/__integration__/mocks/server.d.ts +7 -0
- package/dist/__integration__/mocks/server.js +1 -0
- package/dist/__integration__/setup.d.ts +6 -0
- package/dist/__integration__/setup.js +1 -0
- package/dist/acceptance/lazyDetector.js +1 -1
- package/dist/acceptance/reporter.js +1 -1
- package/dist/acceptance/runner.js +1 -1
- package/dist/cli.js +1 -1
- package/dist/context/index.js +1 -1
- package/dist/context/promptTemplate.js +1 -1
- package/dist/context/techContextLoader.js +1 -1
- package/dist/engine.d.ts +1 -0
- package/dist/engine.js +1 -1
- package/dist/evolution/distiller.js +1 -1
- package/dist/evolution/index.js +1 -1
- package/dist/evolution/memoryGraph.js +1 -1
- package/dist/evolution/selector.js +1 -1
- package/dist/evolution/signals.js +1 -1
- package/dist/evolution/solidify.js +1 -1
- package/dist/evolution/store.js +1 -1
- package/dist/evolution/types.js +1 -1
- package/dist/init.d.ts +4 -3
- package/dist/init.js +1 -1
- package/dist/machines/agentMachine.js +1 -1
- package/dist/machines/supervisorMachine.js +1 -1
- package/dist/persistence/schema.js +1 -1
- package/dist/persistence/stateFile.js +1 -1
- package/dist/plugin-engine.js +1 -1
- package/dist/plugin.js +1 -1
- package/dist/requirement-analysis/analyzers/repository-parser.d.ts +121 -0
- package/dist/requirement-analysis/analyzers/repository-parser.js +1 -0
- package/dist/requirement-analysis/generators/prd-generator.d.ts +90 -0
- package/dist/requirement-analysis/generators/prd-generator.js +1 -0
- package/dist/requirement-analysis/integrations/v1-integration.d.ts +73 -0
- package/dist/requirement-analysis/integrations/v1-integration.js +1 -0
- package/dist/requirement-analysis/tools/analyze-requirements.js +1 -0
- package/dist/requirement-analysis/types/analysis-result.d.ts +326 -0
- package/dist/requirement-analysis/types/analysis-result.js +1 -0
- package/dist/requirement-analysis/types/feature-mapping.d.ts +294 -0
- package/dist/requirement-analysis/types/feature-mapping.js +1 -0
- package/dist/requirement-analysis/types/index.d.ts +171 -0
- package/dist/requirement-analysis/types/index.js +1 -0
- package/dist/requirement-analysis/types/tech-stack.d.ts +213 -0
- package/dist/requirement-analysis/types/tech-stack.js +1 -0
- package/dist/requirement-analysis/utils/error-handler.d.ts +112 -0
- package/dist/requirement-analysis/utils/error-handler.js +1 -0
- package/dist/types/index.d.ts +4 -2
- package/dist/types/index.js +1 -1
- package/dist/utils/id.js +1 -1
- package/package.json +4 -2
- package/skills/competitor-search/SKILL.md +169 -0
- package/skills/demand-analysis/SKILL.md +307 -0
- package/skills/feature-search/SKILL.md +182 -0
- package/skills/requirement-analysis/README.md +464 -0
- package/skills/requirement-analysis/SKILL.md +224 -0
- package/skills/requirement-analysis/templates/feature-mapping-template.json +210 -0
- package/skills/requirement-analysis/templates/prd-template.md +104 -0
- package/skills/tech-selection/SKILL.md +198 -0
- package/dist/__e2e__/01-state-engine.e2e.test.d.ts +0 -10
- package/dist/__e2e__/01-state-engine.e2e.test.js +0 -1
- package/dist/acceptance/lazyDetector.test.d.ts +0 -1
- package/dist/acceptance/lazyDetector.test.js +0 -1
- package/dist/acceptance/reporter.test.d.ts +0 -1
- package/dist/acceptance/reporter.test.js +0 -1
- package/dist/acceptance/runner.test.d.ts +0 -1
- package/dist/acceptance/runner.test.js +0 -1
- package/dist/context/promptTemplate.test.d.ts +0 -1
- package/dist/context/promptTemplate.test.js +0 -1
- package/dist/context/techContextLoader.test.d.ts +0 -1
- package/dist/context/techContextLoader.test.js +0 -1
- package/dist/machines/agentMachine.test.d.ts +0 -1
- package/dist/machines/agentMachine.test.js +0 -1
- package/dist/machines/supervisorMachine.test.d.ts +0 -1
- package/dist/machines/supervisorMachine.test.js +0 -1
- package/dist/persistence/stateFile.test.d.ts +0 -1
- package/dist/persistence/stateFile.test.js +0 -1
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
# 路线图模板
|
|
2
|
+
|
|
3
|
+
`.planning/ROADMAP.md` 的模板。
|
|
4
|
+
|
|
5
|
+
## 初始路线图 (v1.0 全新项目)
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
# 路线图: [项目名称]
|
|
9
|
+
|
|
10
|
+
## 概览
|
|
11
|
+
|
|
12
|
+
[一段话描述从开始到完成的旅程]
|
|
13
|
+
|
|
14
|
+
## 阶段
|
|
15
|
+
|
|
16
|
+
**阶段编号:**
|
|
17
|
+
- 整数阶段 (1, 2, 3): 计划中的里程碑工作
|
|
18
|
+
- 小数阶段 (2.1, 2.2): 紧急插入 (标记为 INSERTED)
|
|
19
|
+
|
|
20
|
+
小数阶段按数字顺序出现在相邻整数之间。
|
|
21
|
+
|
|
22
|
+
- [ ] **阶段 1: [名称]** - [一句话描述]
|
|
23
|
+
- [ ] **阶段 2: [名称]** - [一句话描述]
|
|
24
|
+
- [ ] **阶段 3: [名称]** - [一句话描述]
|
|
25
|
+
- [ ] **阶段 4: [名称]** - [一句话描述]
|
|
26
|
+
|
|
27
|
+
## 阶段详情
|
|
28
|
+
|
|
29
|
+
### 阶段 1: [名称]
|
|
30
|
+
**目标**: [本阶段交付什么]
|
|
31
|
+
**依赖**: 无 (第一阶段)
|
|
32
|
+
**需求**: [REQ-01, REQ-02, REQ-03] <!-- 括号可选,解析器两种格式都支持 -->
|
|
33
|
+
**成功标准** (必须为真):
|
|
34
|
+
1. [从用户视角可观测的行为]
|
|
35
|
+
2. [从用户视角可观测的行为]
|
|
36
|
+
3. [从用户视角可观测的行为]
|
|
37
|
+
**计划数**: [计划数量,如 "3 个计划" 或 "待定"]
|
|
38
|
+
|
|
39
|
+
计划:
|
|
40
|
+
- [ ] 01-01: [第一个计划的简要描述]
|
|
41
|
+
- [ ] 01-02: [第二个计划的简要描述]
|
|
42
|
+
- [ ] 01-03: [第三个计划的简要描述]
|
|
43
|
+
|
|
44
|
+
### 阶段 2: [名称]
|
|
45
|
+
**目标**: [本阶段交付什么]
|
|
46
|
+
**依赖**: 阶段 1
|
|
47
|
+
**需求**: [REQ-04, REQ-05]
|
|
48
|
+
**成功标准** (必须为真):
|
|
49
|
+
1. [从用户视角可观测的行为]
|
|
50
|
+
2. [从用户视角可观测的行为]
|
|
51
|
+
**计划数**: [计划数量]
|
|
52
|
+
|
|
53
|
+
计划:
|
|
54
|
+
- [ ] 02-01: [简要描述]
|
|
55
|
+
- [ ] 02-02: [简要描述]
|
|
56
|
+
|
|
57
|
+
### 阶段 2.1: 紧急修复 (INSERTED)
|
|
58
|
+
**目标**: [在阶段间插入的紧急工作]
|
|
59
|
+
**依赖**: 阶段 2
|
|
60
|
+
**成功标准** (必须为真):
|
|
61
|
+
1. [修复达成的效果]
|
|
62
|
+
**计划数**: 1 个计划
|
|
63
|
+
|
|
64
|
+
计划:
|
|
65
|
+
- [ ] 02.1-01: [描述]
|
|
66
|
+
|
|
67
|
+
### 阶段 3: [名称]
|
|
68
|
+
**目标**: [本阶段交付什么]
|
|
69
|
+
**依赖**: 阶段 2
|
|
70
|
+
**需求**: [REQ-06, REQ-07, REQ-08]
|
|
71
|
+
**成功标准** (必须为真):
|
|
72
|
+
1. [从用户视角可观测的行为]
|
|
73
|
+
2. [从用户视角可观测的行为]
|
|
74
|
+
3. [从用户视角可观测的行为]
|
|
75
|
+
**计划数**: [计划数量]
|
|
76
|
+
|
|
77
|
+
计划:
|
|
78
|
+
- [ ] 03-01: [简要描述]
|
|
79
|
+
- [ ] 03-02: [简要描述]
|
|
80
|
+
|
|
81
|
+
### 阶段 4: [名称]
|
|
82
|
+
**目标**: [本阶段交付什么]
|
|
83
|
+
**依赖**: 阶段 3
|
|
84
|
+
**需求**: [REQ-09, REQ-10]
|
|
85
|
+
**成功标准** (必须为真):
|
|
86
|
+
1. [从用户视角可观测的行为]
|
|
87
|
+
2. [从用户视角可观测的行为]
|
|
88
|
+
**计划数**: [计划数量]
|
|
89
|
+
|
|
90
|
+
计划:
|
|
91
|
+
- [ ] 04-01: [简要描述]
|
|
92
|
+
|
|
93
|
+
## 进度
|
|
94
|
+
|
|
95
|
+
**执行顺序:**
|
|
96
|
+
阶段按数字顺序执行: 2 → 2.1 → 2.2 → 3 → 3.1 → 4
|
|
97
|
+
|
|
98
|
+
| 阶段 | 计划完成 | 状态 | 完成时间 |
|
|
99
|
+
|------|----------|------|----------|
|
|
100
|
+
| 1. [名称] | 0/3 | 未开始 | - |
|
|
101
|
+
| 2. [名称] | 0/2 | 未开始 | - |
|
|
102
|
+
| 3. [名称] | 0/2 | 未开始 | - |
|
|
103
|
+
| 4. [名称] | 0/1 | 未开始 | - |
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
<guidelines>
|
|
107
|
+
**初始规划 (v1.0):**
|
|
108
|
+
- 阶段数量取决于深度设置 (quick: 3-5, standard: 5-8, comprehensive: 8-12)
|
|
109
|
+
- 每个阶段交付一个连贯的成果
|
|
110
|
+
- 阶段可以有 1+ 个计划 (如果 >3 个任务或涉及多个子系统则拆分)
|
|
111
|
+
- 计划命名: {phase}-{plan}-PLAN.md (如 01-02-PLAN.md)
|
|
112
|
+
- 不做时间估算 (这不是企业项目管理)
|
|
113
|
+
- 进度表由执行工作流更新
|
|
114
|
+
- 计划数量初始可以是 "待定",规划时细化
|
|
115
|
+
|
|
116
|
+
**成功标准:**
|
|
117
|
+
- 每阶段 2-5 个可观测行为 (从用户视角)
|
|
118
|
+
- 路线图创建时与需求交叉检查
|
|
119
|
+
- 向下游传递到 plan-phase 的 `must_haves`
|
|
120
|
+
- 执行后由 verify-phase 验证
|
|
121
|
+
- 格式: "用户可以 [操作]" 或 "[事物] 正常工作/存在"
|
|
122
|
+
|
|
123
|
+
**里程碑发布后:**
|
|
124
|
+
- 将已完成的里程碑折叠到 `<details>` 标签中
|
|
125
|
+
- 为即将到来的工作添加新里程碑部分
|
|
126
|
+
- 保持连续的阶段编号 (永远不要从 01 重新开始)
|
|
127
|
+
</guidelines>
|
|
128
|
+
|
|
129
|
+
<status_values>
|
|
130
|
+
- `未开始` - 尚未开始
|
|
131
|
+
- `进行中` - 正在进行
|
|
132
|
+
- `已完成` - 完成 (添加完成日期)
|
|
133
|
+
- `已延后` - 推迟到以后 (附原因)
|
|
134
|
+
</status_values>
|
|
135
|
+
|
|
136
|
+
## 里程碑分组路线图 (v1.0 发布后)
|
|
137
|
+
|
|
138
|
+
完成第一个里程碑后,用里程碑分组重新组织:
|
|
139
|
+
|
|
140
|
+
```markdown
|
|
141
|
+
# 路线图: [项目名称]
|
|
142
|
+
|
|
143
|
+
## 里程碑
|
|
144
|
+
|
|
145
|
+
- ✅ **v1.0 MVP** - 阶段 1-4 (已发布 YYYY-MM-DD)
|
|
146
|
+
- 🚧 **v1.1 [名称]** - 阶段 5-6 (进行中)
|
|
147
|
+
- 📋 **v2.0 [名称]** - 阶段 7-10 (已规划)
|
|
148
|
+
|
|
149
|
+
## 阶段
|
|
150
|
+
|
|
151
|
+
<details>
|
|
152
|
+
<summary>✅ v1.0 MVP (阶段 1-4) - 已发布 YYYY-MM-DD</summary>
|
|
153
|
+
|
|
154
|
+
### 阶段 1: [名称]
|
|
155
|
+
**目标**: [本阶段交付什么]
|
|
156
|
+
**计划数**: 3 个计划
|
|
157
|
+
|
|
158
|
+
计划:
|
|
159
|
+
- [x] 01-01: [简要描述]
|
|
160
|
+
- [x] 01-02: [简要描述]
|
|
161
|
+
- [x] 01-03: [简要描述]
|
|
162
|
+
|
|
163
|
+
[... 其余 v1.0 阶段 ...]
|
|
164
|
+
|
|
165
|
+
</details>
|
|
166
|
+
|
|
167
|
+
### 🚧 v1.1 [名称] (进行中)
|
|
168
|
+
|
|
169
|
+
**里程碑目标:** [v1.1 交付什么]
|
|
170
|
+
|
|
171
|
+
#### 阶段 5: [名称]
|
|
172
|
+
**目标**: [本阶段交付什么]
|
|
173
|
+
**依赖**: 阶段 4
|
|
174
|
+
**计划数**: 2 个计划
|
|
175
|
+
|
|
176
|
+
计划:
|
|
177
|
+
- [ ] 05-01: [简要描述]
|
|
178
|
+
- [ ] 05-02: [简要描述]
|
|
179
|
+
|
|
180
|
+
[... 其余 v1.1 阶段 ...]
|
|
181
|
+
|
|
182
|
+
### 📋 v2.0 [名称] (已规划)
|
|
183
|
+
|
|
184
|
+
**里程碑目标:** [v2.0 交付什么]
|
|
185
|
+
|
|
186
|
+
[... v2.0 阶段 ...]
|
|
187
|
+
|
|
188
|
+
## 进度
|
|
189
|
+
|
|
190
|
+
| 阶段 | 里程碑 | 计划完成 | 状态 | 完成时间 |
|
|
191
|
+
|------|--------|----------|------|----------|
|
|
192
|
+
| 1. 基础 | v1.0 | 3/3 | 已完成 | YYYY-MM-DD |
|
|
193
|
+
| 2. 功能 | v1.0 | 2/2 | 已完成 | YYYY-MM-DD |
|
|
194
|
+
| 5. 安全 | v1.1 | 0/2 | 未开始 | - |
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
**说明:**
|
|
198
|
+
- 里程碑标记: ✅ 已发布, 🚧 进行中, 📋 已规划
|
|
199
|
+
- 已完成的里程碑折叠在 `<details>` 中提高可读性
|
|
200
|
+
- 当前/未来里程碑展开
|
|
201
|
+
- 连续阶段编号 (01-99)
|
|
202
|
+
- 进度表包含里程碑列
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
# 状态模板
|
|
2
|
+
|
|
3
|
+
`.planning/STATE.md` 的模板,项目的活记忆。
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 文件模板
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
# 项目状态
|
|
11
|
+
|
|
12
|
+
## 项目引用
|
|
13
|
+
|
|
14
|
+
参见: .planning/PROJECT.md (更新于 [日期])
|
|
15
|
+
|
|
16
|
+
**核心价值:** [PROJECT.md 核心价值部分的一句话]
|
|
17
|
+
**当前焦点:** [当前阶段名称]
|
|
18
|
+
|
|
19
|
+
## 当前位置
|
|
20
|
+
|
|
21
|
+
阶段: [X] / [Y] ([阶段名称])
|
|
22
|
+
计划: [A] / [B] (当前阶段内)
|
|
23
|
+
状态: [准备规划 / 规划中 / 准备执行 / 执行中 / 阶段完成]
|
|
24
|
+
最近活动: [YYYY-MM-DD] — [发生了什么]
|
|
25
|
+
|
|
26
|
+
进度: [░░░░░░░░░░] 0%
|
|
27
|
+
|
|
28
|
+
## 执行指标
|
|
29
|
+
|
|
30
|
+
**速度:**
|
|
31
|
+
- 已完成计划总数: [N]
|
|
32
|
+
- 平均耗时: [X] 分钟
|
|
33
|
+
- 总执行时间: [X.X] 小时
|
|
34
|
+
|
|
35
|
+
**按阶段:**
|
|
36
|
+
|
|
37
|
+
| 阶段 | 计划数 | 总耗时 | 平均/计划 |
|
|
38
|
+
|------|--------|--------|-----------|
|
|
39
|
+
| - | - | - | - |
|
|
40
|
+
|
|
41
|
+
**近期趋势:**
|
|
42
|
+
- 最近 5 个计划: [耗时]
|
|
43
|
+
- 趋势: [改善 / 稳定 / 下降]
|
|
44
|
+
|
|
45
|
+
*每次计划完成后更新*
|
|
46
|
+
|
|
47
|
+
## 累积上下文
|
|
48
|
+
|
|
49
|
+
### 决策
|
|
50
|
+
|
|
51
|
+
决策记录在 PROJECT.md 关键决策表中。
|
|
52
|
+
影响当前工作的近期决策:
|
|
53
|
+
|
|
54
|
+
- [阶段 X]: [决策摘要]
|
|
55
|
+
- [阶段 Y]: [决策摘要]
|
|
56
|
+
|
|
57
|
+
### 待办事项
|
|
58
|
+
|
|
59
|
+
[来自 .planning/todos/pending/ 的会话中捕获的想法]
|
|
60
|
+
|
|
61
|
+
暂无。
|
|
62
|
+
|
|
63
|
+
### 阻塞/关注
|
|
64
|
+
|
|
65
|
+
[影响未来工作的问题]
|
|
66
|
+
|
|
67
|
+
暂无。
|
|
68
|
+
|
|
69
|
+
## 会话连续性
|
|
70
|
+
|
|
71
|
+
上次会话: [YYYY-MM-DD HH:MM]
|
|
72
|
+
停在: [最后完成操作的描述]
|
|
73
|
+
恢复文件: [.continue-here*.md 的路径(如存在),否则 "无"]
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
<purpose>
|
|
77
|
+
|
|
78
|
+
STATE.md 是项目跨所有阶段和会话的短期记忆。
|
|
79
|
+
|
|
80
|
+
**解决的问题:** 信息被记录在总结、问题和决策中,但没有被系统性地消费。会话启动时缺乏上下文。
|
|
81
|
+
|
|
82
|
+
**解决方案:** 一个小型文件:
|
|
83
|
+
- 每个工作流首先读取
|
|
84
|
+
- 每次重要操作后更新
|
|
85
|
+
- 包含累积上下文的摘要
|
|
86
|
+
- 支持即时会话恢复
|
|
87
|
+
|
|
88
|
+
</purpose>
|
|
89
|
+
|
|
90
|
+
<lifecycle>
|
|
91
|
+
|
|
92
|
+
**创建:** ROADMAP.md 创建后 (初始化期间)
|
|
93
|
+
- 引用 PROJECT.md (读取获取当前上下文)
|
|
94
|
+
- 初始化空的累积上下文部分
|
|
95
|
+
- 设置位置为 "阶段 1 准备规划"
|
|
96
|
+
|
|
97
|
+
**读取:** 每个工作流的第一步
|
|
98
|
+
- progress: 向用户展示状态
|
|
99
|
+
- plan: 指导规划决策
|
|
100
|
+
- execute: 了解当前位置
|
|
101
|
+
- transition: 了解已完成的内容
|
|
102
|
+
|
|
103
|
+
**写入:** 每次重要操作后
|
|
104
|
+
- execute: SUMMARY.md 创建后
|
|
105
|
+
- 更新位置 (阶段、计划、状态)
|
|
106
|
+
- 记录新决策 (详情在 PROJECT.md)
|
|
107
|
+
- 添加阻塞/关注
|
|
108
|
+
- transition: 阶段标记完成后
|
|
109
|
+
- 更新进度条
|
|
110
|
+
- 清除已解决的阻塞
|
|
111
|
+
- 刷新项目引用日期
|
|
112
|
+
|
|
113
|
+
</lifecycle>
|
|
114
|
+
|
|
115
|
+
<sections>
|
|
116
|
+
|
|
117
|
+
### 项目引用
|
|
118
|
+
指向 PROJECT.md 获取完整上下文。包含:
|
|
119
|
+
- 核心价值 (最重要的一件事)
|
|
120
|
+
- 当前焦点 (哪个阶段)
|
|
121
|
+
- 最后更新日期 (过期时触发重新读取)
|
|
122
|
+
|
|
123
|
+
Claude 直接读取 PROJECT.md 获取需求、约束和决策。
|
|
124
|
+
|
|
125
|
+
### 当前位置
|
|
126
|
+
我们现在在哪里:
|
|
127
|
+
- 阶段 X / Y — 哪个阶段
|
|
128
|
+
- 计划 A / B — 阶段内哪个计划
|
|
129
|
+
- 状态 — 当前状态
|
|
130
|
+
- 最近活动 — 最近发生了什么
|
|
131
|
+
- 进度条 — 整体完成度的可视化指标
|
|
132
|
+
|
|
133
|
+
进度计算: (已完成计划) / (所有阶段的总计划数) × 100%
|
|
134
|
+
|
|
135
|
+
### 执行指标
|
|
136
|
+
追踪速度以了解执行模式:
|
|
137
|
+
- 已完成计划总数
|
|
138
|
+
- 每个计划的平均耗时
|
|
139
|
+
- 按阶段分解
|
|
140
|
+
- 近期趋势 (改善/稳定/下降)
|
|
141
|
+
|
|
142
|
+
每次计划完成后更新。
|
|
143
|
+
|
|
144
|
+
### 累积上下文
|
|
145
|
+
|
|
146
|
+
**决策:** 引用 PROJECT.md 关键决策表,加上近期决策摘要便于快速访问。完整决策日志在 PROJECT.md 中。
|
|
147
|
+
|
|
148
|
+
**待办事项:** 通过 /specops:add-todo 捕获的想法
|
|
149
|
+
- 待办事项数量
|
|
150
|
+
- 引用 .planning/todos/pending/
|
|
151
|
+
- 少量时列出,多时显示数量 (如 "5 个待办事项,参见 /specops:check-todos")
|
|
152
|
+
|
|
153
|
+
**阻塞/关注:** 来自 "下一阶段准备" 部分
|
|
154
|
+
- 影响未来工作的问题
|
|
155
|
+
- 前缀标注来源阶段
|
|
156
|
+
- 解决后清除
|
|
157
|
+
|
|
158
|
+
### 会话连续性
|
|
159
|
+
支持即时恢复:
|
|
160
|
+
- 上次会话时间
|
|
161
|
+
- 最后完成的内容
|
|
162
|
+
- 是否有 .continue-here 文件可恢复
|
|
163
|
+
|
|
164
|
+
</sections>
|
|
165
|
+
|
|
166
|
+
<size_constraint>
|
|
167
|
+
|
|
168
|
+
保持 STATE.md 在 100 行以内。
|
|
169
|
+
|
|
170
|
+
它是摘要,不是归档。如果累积上下文增长过大:
|
|
171
|
+
- 只保留 3-5 个近期决策摘要 (完整日志在 PROJECT.md)
|
|
172
|
+
- 只保留活跃的阻塞,移除已解决的
|
|
173
|
+
|
|
174
|
+
目标是 "读一次,知道我们在哪" — 如果太长,这个目标就失败了。
|
|
175
|
+
|
|
176
|
+
</size_constraint>
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
phase: XX-name
|
|
3
|
+
plan: YY
|
|
4
|
+
subsystem: [主要类别]
|
|
5
|
+
tags: [可搜索的技术标签]
|
|
6
|
+
requires:
|
|
7
|
+
- phase: [前置阶段]
|
|
8
|
+
provides: [该阶段构建的内容]
|
|
9
|
+
provides:
|
|
10
|
+
- [构建/交付内容的列表]
|
|
11
|
+
affects: [受影响的阶段名称或关键词列表]
|
|
12
|
+
tech-stack:
|
|
13
|
+
added: [新增的库/工具]
|
|
14
|
+
patterns: [架构/代码模式]
|
|
15
|
+
key-files:
|
|
16
|
+
created: [创建的重要文件]
|
|
17
|
+
modified: [修改的重要文件]
|
|
18
|
+
key-decisions:
|
|
19
|
+
- "决策 1"
|
|
20
|
+
patterns-established:
|
|
21
|
+
- "模式 1: 描述"
|
|
22
|
+
duration: X分钟
|
|
23
|
+
completed: YYYY-MM-DD
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
# 阶段 [X]: [名称] 总结 (复杂版)
|
|
27
|
+
|
|
28
|
+
**[描述成果的实质性一句话]**
|
|
29
|
+
|
|
30
|
+
## 执行表现
|
|
31
|
+
- **耗时:** [时间]
|
|
32
|
+
- **任务:** [完成数量]
|
|
33
|
+
- **修改文件:** [数量]
|
|
34
|
+
|
|
35
|
+
## 完成事项
|
|
36
|
+
- [关键成果 1]
|
|
37
|
+
- [关键成果 2]
|
|
38
|
+
|
|
39
|
+
## 任务提交
|
|
40
|
+
1. **任务 1: [任务名称]** - `hash`
|
|
41
|
+
2. **任务 2: [任务名称]** - `hash`
|
|
42
|
+
3. **任务 3: [任务名称]** - `hash`
|
|
43
|
+
|
|
44
|
+
## 创建/修改的文件
|
|
45
|
+
- `path/to/file.ts` - 功能说明
|
|
46
|
+
- `path/to/another.ts` - 功能说明
|
|
47
|
+
|
|
48
|
+
## 做出的决策
|
|
49
|
+
[关键决策及简要理由]
|
|
50
|
+
|
|
51
|
+
## 计划偏差(自动修复)
|
|
52
|
+
[按 SpecOps 偏差规则记录的详细自动修复]
|
|
53
|
+
|
|
54
|
+
## 遇到的问题
|
|
55
|
+
[计划内工作中的问题及解决方式]
|
|
56
|
+
|
|
57
|
+
## 下一阶段准备
|
|
58
|
+
[为下一阶段准备好了什么]
|
|
59
|
+
[阻塞或关注点]
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
phase: XX-name
|
|
3
|
+
plan: YY
|
|
4
|
+
subsystem: [主要类别]
|
|
5
|
+
tags: [可搜索的技术标签]
|
|
6
|
+
provides:
|
|
7
|
+
- [构建/交付内容的列表]
|
|
8
|
+
affects: [受影响的阶段名称或关键词列表]
|
|
9
|
+
tech-stack:
|
|
10
|
+
added: [新增的库/工具]
|
|
11
|
+
patterns: [架构/代码模式]
|
|
12
|
+
key-files:
|
|
13
|
+
created: [创建的重要文件]
|
|
14
|
+
modified: [修改的重要文件]
|
|
15
|
+
key-decisions: []
|
|
16
|
+
duration: X分钟
|
|
17
|
+
completed: YYYY-MM-DD
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# 阶段 [X]: [名称] 总结 (精简版)
|
|
21
|
+
|
|
22
|
+
**[描述成果的实质性一句话]**
|
|
23
|
+
|
|
24
|
+
## 执行表现
|
|
25
|
+
- **耗时:** [时间]
|
|
26
|
+
- **任务:** [数量]
|
|
27
|
+
- **修改文件:** [数量]
|
|
28
|
+
|
|
29
|
+
## 完成事项
|
|
30
|
+
- [最重要的成果]
|
|
31
|
+
- [第二个关键成果]
|
|
32
|
+
|
|
33
|
+
## 任务提交
|
|
34
|
+
1. **任务 1: [任务名称]** - `hash`
|
|
35
|
+
2. **任务 2: [任务名称]** - `hash`
|
|
36
|
+
|
|
37
|
+
## 创建/修改的文件
|
|
38
|
+
- `path/to/file.ts` - 功能说明
|
|
39
|
+
|
|
40
|
+
## 下一阶段准备
|
|
41
|
+
[为下一阶段准备好了什么]
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
phase: XX-name
|
|
3
|
+
plan: YY
|
|
4
|
+
subsystem: [主要类别]
|
|
5
|
+
tags: [可搜索的技术标签]
|
|
6
|
+
provides:
|
|
7
|
+
- [构建/交付内容的列表]
|
|
8
|
+
affects: [受影响的阶段名称或关键词列表]
|
|
9
|
+
tech-stack:
|
|
10
|
+
added: [新增的库/工具]
|
|
11
|
+
patterns: [架构/代码模式]
|
|
12
|
+
key-files:
|
|
13
|
+
created: [创建的重要文件]
|
|
14
|
+
modified: [修改的重要文件]
|
|
15
|
+
key-decisions:
|
|
16
|
+
- "决策 1"
|
|
17
|
+
duration: X分钟
|
|
18
|
+
completed: YYYY-MM-DD
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# 阶段 [X]: [名称] 总结
|
|
22
|
+
|
|
23
|
+
**[描述成果的实质性一句话]**
|
|
24
|
+
|
|
25
|
+
## 执行表现
|
|
26
|
+
- **耗时:** [时间]
|
|
27
|
+
- **任务:** [完成数量]
|
|
28
|
+
- **修改文件:** [数量]
|
|
29
|
+
|
|
30
|
+
## 完成事项
|
|
31
|
+
- [关键成果 1]
|
|
32
|
+
- [关键成果 2]
|
|
33
|
+
|
|
34
|
+
## 任务提交
|
|
35
|
+
1. **任务 1: [任务名称]** - `hash`
|
|
36
|
+
2. **任务 2: [任务名称]** - `hash`
|
|
37
|
+
3. **任务 3: [任务名称]** - `hash`
|
|
38
|
+
|
|
39
|
+
## 创建/修改的文件
|
|
40
|
+
- `path/to/file.ts` - 功能说明
|
|
41
|
+
- `path/to/another.ts` - 功能说明
|
|
42
|
+
|
|
43
|
+
## 决策与偏差
|
|
44
|
+
[关键决策或 "无偏差,按计划执行"]
|
|
45
|
+
[轻微偏差(如有),或 "无"]
|
|
46
|
+
|
|
47
|
+
## 下一阶段准备
|
|
48
|
+
[为下一阶段准备好了什么]
|