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.
Files changed (201) hide show
  1. package/.opencode/agent/specops-codebase-mapper.md +764 -0
  2. package/.opencode/agent/specops-debugger.md +1246 -0
  3. package/.opencode/agent/specops-executor.md +475 -0
  4. package/.opencode/agent/specops-integration-checker.md +443 -0
  5. package/.opencode/agent/specops-phase-researcher.md +547 -0
  6. package/.opencode/agent/specops-plan-checker.md +690 -0
  7. package/.opencode/agent/specops-planner.md +581 -0
  8. package/.opencode/agent/specops-project-researcher.md +354 -0
  9. package/.opencode/agent/specops-research-synthesizer.md +242 -0
  10. package/.opencode/agent/specops-roadmapper.md +642 -0
  11. package/.opencode/agent/specops-work-verifier.md +573 -0
  12. package/.opencode/references/checkpoints.md +776 -0
  13. package/.opencode/references/continuation-format.md +249 -0
  14. package/.opencode/references/decimal-phase-calculation.md +65 -0
  15. package/.opencode/references/git-integration.md +248 -0
  16. package/.opencode/references/git-planning-commit.md +38 -0
  17. package/.opencode/references/model-profile-resolution.md +34 -0
  18. package/.opencode/references/model-profiles.md +92 -0
  19. package/.opencode/references/phase-argument-parsing.md +61 -0
  20. package/.opencode/references/planning-config.md +196 -0
  21. package/.opencode/references/questioning.md +145 -0
  22. package/.opencode/references/tdd.md +263 -0
  23. package/.opencode/references/ui-brand.md +160 -0
  24. package/.opencode/references/verification-patterns.md +612 -0
  25. package/.opencode/templates/DEBUG.md +164 -0
  26. package/.opencode/templates/UAT.md +180 -0
  27. package/.opencode/templates/VALIDATION.md +76 -0
  28. package/.opencode/templates/codebase/architecture.md +255 -0
  29. package/.opencode/templates/codebase/concerns.md +310 -0
  30. package/.opencode/templates/codebase/conventions.md +307 -0
  31. package/.opencode/templates/codebase/integrations.md +280 -0
  32. package/.opencode/templates/codebase/stack.md +186 -0
  33. package/.opencode/templates/codebase/structure.md +285 -0
  34. package/.opencode/templates/codebase/testing.md +480 -0
  35. package/.opencode/templates/context.md +221 -0
  36. package/.opencode/templates/continue-here.md +78 -0
  37. package/.opencode/templates/debug-subagent-prompt.md +91 -0
  38. package/.opencode/templates/discovery.md +147 -0
  39. package/.opencode/templates/milestone-archive.md +123 -0
  40. package/.opencode/templates/milestone.md +115 -0
  41. package/.opencode/templates/phase-prompt.md +333 -0
  42. package/.opencode/templates/planner-subagent-prompt.md +117 -0
  43. package/.opencode/templates/project.md +184 -0
  44. package/.opencode/templates/requirements.md +130 -0
  45. package/.opencode/templates/research-project/ARCHITECTURE.md +204 -0
  46. package/.opencode/templates/research-project/FEATURES.md +147 -0
  47. package/.opencode/templates/research-project/PITFALLS.md +200 -0
  48. package/.opencode/templates/research-project/STACK.md +120 -0
  49. package/.opencode/templates/research-project/SUMMARY.md +170 -0
  50. package/.opencode/templates/research.md +278 -0
  51. package/.opencode/templates/retrospective.md +54 -0
  52. package/.opencode/templates/roadmap.md +202 -0
  53. package/.opencode/templates/state.md +176 -0
  54. package/.opencode/templates/summary-complex.md +59 -0
  55. package/.opencode/templates/summary-minimal.md +41 -0
  56. package/.opencode/templates/summary-standard.md +48 -0
  57. package/.opencode/templates/summary.md +248 -0
  58. package/.opencode/templates/user-setup.md +311 -0
  59. package/.opencode/templates/verification-report.md +322 -0
  60. package/.opencode/workflows/add-phase.md +111 -0
  61. package/.opencode/workflows/add-tests.md +350 -0
  62. package/.opencode/workflows/add-todo.md +157 -0
  63. package/.opencode/workflows/audit-milestone.md +297 -0
  64. package/.opencode/workflows/check-todos.md +176 -0
  65. package/.opencode/workflows/cleanup.md +152 -0
  66. package/.opencode/workflows/complete-milestone.md +763 -0
  67. package/.opencode/workflows/diagnose-issues.md +219 -0
  68. package/.opencode/workflows/discovery-phase.md +288 -0
  69. package/.opencode/workflows/discuss-phase.md +542 -0
  70. package/.opencode/workflows/execute-phase.md +449 -0
  71. package/.opencode/workflows/execute-plan.md +447 -0
  72. package/.opencode/workflows/health.md +156 -0
  73. package/.opencode/workflows/help.md +489 -0
  74. package/.opencode/workflows/insert-phase.md +129 -0
  75. package/.opencode/workflows/list-phase-assumptions.md +178 -0
  76. package/.opencode/workflows/map-codebase.md +315 -0
  77. package/.opencode/workflows/new-milestone.md +382 -0
  78. package/.opencode/workflows/new-project.md +1116 -0
  79. package/.opencode/workflows/pause-work.md +122 -0
  80. package/.opencode/workflows/plan-milestone-gaps.md +274 -0
  81. package/.opencode/workflows/plan-phase.md +569 -0
  82. package/.opencode/workflows/progress.md +381 -0
  83. package/.opencode/workflows/quick.md +453 -0
  84. package/.opencode/workflows/remove-phase.md +154 -0
  85. package/.opencode/workflows/research-phase.md +73 -0
  86. package/.opencode/workflows/resume-project.md +304 -0
  87. package/.opencode/workflows/set-profile.md +80 -0
  88. package/.opencode/workflows/settings.md +213 -0
  89. package/.opencode/workflows/transition.md +544 -0
  90. package/.opencode/workflows/update.md +219 -0
  91. package/.opencode/workflows/verify-phase.md +242 -0
  92. package/.opencode/workflows/verify-work.md +569 -0
  93. package/commands/specops/add-phase.md +43 -0
  94. package/commands/specops/add-tests.md +41 -0
  95. package/commands/specops/add-todo.md +47 -0
  96. package/commands/specops/audit-milestone.md +36 -0
  97. package/commands/specops/check-todos.md +45 -0
  98. package/commands/specops/cleanup.md +18 -0
  99. package/commands/specops/complete-milestone.md +136 -0
  100. package/commands/specops/debug.md +167 -0
  101. package/commands/specops/discuss-phase.md +83 -0
  102. package/commands/specops/execute-phase.md +41 -0
  103. package/commands/specops/health.md +22 -0
  104. package/commands/specops/help.md +22 -0
  105. package/commands/specops/insert-phase.md +32 -0
  106. package/commands/specops/join-discord.md +18 -0
  107. package/commands/specops/list-phase-assumptions.md +46 -0
  108. package/commands/specops/map-codebase.md +71 -0
  109. package/commands/specops/new-milestone.md +44 -0
  110. package/commands/specops/new-project.md +42 -0
  111. package/commands/specops/pause-work.md +38 -0
  112. package/commands/specops/plan-milestone-gaps.md +34 -0
  113. package/commands/specops/plan-phase.md +45 -0
  114. package/commands/specops/progress.md +24 -0
  115. package/commands/specops/quick.md +41 -0
  116. package/commands/specops/reapply-patches.md +111 -0
  117. package/commands/specops/remove-phase.md +31 -0
  118. package/commands/specops/research-phase.md +189 -0
  119. package/commands/specops/resume-work.md +40 -0
  120. package/commands/specops/set-profile.md +34 -0
  121. package/commands/specops/settings.md +36 -0
  122. package/commands/specops/update.md +37 -0
  123. package/commands/specops/verify-work.md +38 -0
  124. package/dist/__integration__/fixtures/generator.d.ts +4 -0
  125. package/dist/__integration__/fixtures/generator.js +1 -0
  126. package/dist/__integration__/mocks/server.d.ts +7 -0
  127. package/dist/__integration__/mocks/server.js +1 -0
  128. package/dist/__integration__/setup.d.ts +6 -0
  129. package/dist/__integration__/setup.js +1 -0
  130. package/dist/acceptance/lazyDetector.js +1 -1
  131. package/dist/acceptance/reporter.js +1 -1
  132. package/dist/acceptance/runner.js +1 -1
  133. package/dist/cli.js +1 -1
  134. package/dist/context/index.js +1 -1
  135. package/dist/context/promptTemplate.js +1 -1
  136. package/dist/context/techContextLoader.js +1 -1
  137. package/dist/engine.d.ts +1 -0
  138. package/dist/engine.js +1 -1
  139. package/dist/evolution/distiller.js +1 -1
  140. package/dist/evolution/index.js +1 -1
  141. package/dist/evolution/memoryGraph.js +1 -1
  142. package/dist/evolution/selector.js +1 -1
  143. package/dist/evolution/signals.js +1 -1
  144. package/dist/evolution/solidify.js +1 -1
  145. package/dist/evolution/store.js +1 -1
  146. package/dist/evolution/types.js +1 -1
  147. package/dist/init.d.ts +4 -3
  148. package/dist/init.js +1 -1
  149. package/dist/machines/agentMachine.js +1 -1
  150. package/dist/machines/supervisorMachine.js +1 -1
  151. package/dist/persistence/schema.js +1 -1
  152. package/dist/persistence/stateFile.js +1 -1
  153. package/dist/plugin-engine.js +1 -1
  154. package/dist/plugin.js +1 -1
  155. package/dist/requirement-analysis/analyzers/repository-parser.d.ts +121 -0
  156. package/dist/requirement-analysis/analyzers/repository-parser.js +1 -0
  157. package/dist/requirement-analysis/generators/prd-generator.d.ts +90 -0
  158. package/dist/requirement-analysis/generators/prd-generator.js +1 -0
  159. package/dist/requirement-analysis/integrations/v1-integration.d.ts +73 -0
  160. package/dist/requirement-analysis/integrations/v1-integration.js +1 -0
  161. package/dist/requirement-analysis/tools/analyze-requirements.js +1 -0
  162. package/dist/requirement-analysis/types/analysis-result.d.ts +326 -0
  163. package/dist/requirement-analysis/types/analysis-result.js +1 -0
  164. package/dist/requirement-analysis/types/feature-mapping.d.ts +294 -0
  165. package/dist/requirement-analysis/types/feature-mapping.js +1 -0
  166. package/dist/requirement-analysis/types/index.d.ts +171 -0
  167. package/dist/requirement-analysis/types/index.js +1 -0
  168. package/dist/requirement-analysis/types/tech-stack.d.ts +213 -0
  169. package/dist/requirement-analysis/types/tech-stack.js +1 -0
  170. package/dist/requirement-analysis/utils/error-handler.d.ts +112 -0
  171. package/dist/requirement-analysis/utils/error-handler.js +1 -0
  172. package/dist/types/index.d.ts +4 -2
  173. package/dist/types/index.js +1 -1
  174. package/dist/utils/id.js +1 -1
  175. package/package.json +4 -2
  176. package/skills/competitor-search/SKILL.md +169 -0
  177. package/skills/demand-analysis/SKILL.md +307 -0
  178. package/skills/feature-search/SKILL.md +182 -0
  179. package/skills/requirement-analysis/README.md +464 -0
  180. package/skills/requirement-analysis/SKILL.md +224 -0
  181. package/skills/requirement-analysis/templates/feature-mapping-template.json +210 -0
  182. package/skills/requirement-analysis/templates/prd-template.md +104 -0
  183. package/skills/tech-selection/SKILL.md +198 -0
  184. package/dist/__e2e__/01-state-engine.e2e.test.d.ts +0 -10
  185. package/dist/__e2e__/01-state-engine.e2e.test.js +0 -1
  186. package/dist/acceptance/lazyDetector.test.d.ts +0 -1
  187. package/dist/acceptance/lazyDetector.test.js +0 -1
  188. package/dist/acceptance/reporter.test.d.ts +0 -1
  189. package/dist/acceptance/reporter.test.js +0 -1
  190. package/dist/acceptance/runner.test.d.ts +0 -1
  191. package/dist/acceptance/runner.test.js +0 -1
  192. package/dist/context/promptTemplate.test.d.ts +0 -1
  193. package/dist/context/promptTemplate.test.js +0 -1
  194. package/dist/context/techContextLoader.test.d.ts +0 -1
  195. package/dist/context/techContextLoader.test.js +0 -1
  196. package/dist/machines/agentMachine.test.d.ts +0 -1
  197. package/dist/machines/agentMachine.test.js +0 -1
  198. package/dist/machines/supervisorMachine.test.d.ts +0 -1
  199. package/dist/machines/supervisorMachine.test.js +0 -1
  200. package/dist/persistence/stateFile.test.d.ts +0 -1
  201. package/dist/persistence/stateFile.test.js +0 -1
@@ -0,0 +1,130 @@
1
+ # 需求模板
2
+
3
+ `.planning/REQUIREMENTS.md` 的模板,可检查的需求定义 "完成" 的标准。
4
+
5
+ <template>
6
+
7
+ ```markdown
8
+ # 需求: [项目名称]
9
+
10
+ **定义时间:** [日期]
11
+ **核心价值:** [来自 PROJECT.md]
12
+
13
+ ## v1 需求
14
+
15
+ 初始发布的需求。每个需求映射到路线图阶段。
16
+
17
+ ### 认证
18
+
19
+ - [ ] **AUTH-01**: 用户可以用邮箱和密码注册
20
+ - [ ] **AUTH-02**: 用户注册后收到邮箱验证
21
+ - [ ] **AUTH-03**: 用户可以通过邮件链接重置密码
22
+ - [ ] **AUTH-04**: 用户会话在浏览器刷新后保持
23
+
24
+ ### [类别 2]
25
+
26
+ - [ ] **[CAT]-01**: [需求描述]
27
+ - [ ] **[CAT]-02**: [需求描述]
28
+ - [ ] **[CAT]-03**: [需求描述]
29
+
30
+ ### [类别 3]
31
+
32
+ - [ ] **[CAT]-01**: [需求描述]
33
+ - [ ] **[CAT]-02**: [需求描述]
34
+
35
+ ## v2 需求
36
+
37
+ 延后到未来版本。已追踪但不在当前路线图中。
38
+
39
+ ### [类别]
40
+
41
+ - **[CAT]-01**: [需求描述]
42
+ - **[CAT]-02**: [需求描述]
43
+
44
+ ## 超出范围
45
+
46
+ 明确排除。记录以防止范围蔓延。
47
+
48
+ | 功能 | 原因 |
49
+ |------|------|
50
+ | [功能] | [排除原因] |
51
+ | [功能] | [排除原因] |
52
+
53
+ ## 可追溯性
54
+
55
+ 哪些阶段覆盖哪些需求。路线图创建时更新。
56
+
57
+ | 需求 | 阶段 | 状态 |
58
+ |------|------|------|
59
+ | AUTH-01 | 阶段 1 | 待定 |
60
+ | AUTH-02 | 阶段 1 | 待定 |
61
+ | AUTH-03 | 阶段 1 | 待定 |
62
+ | AUTH-04 | 阶段 1 | 待定 |
63
+ | [REQ-ID] | 阶段 [N] | 待定 |
64
+
65
+ **覆盖率:**
66
+ - v1 需求: [X] 个总计
67
+ - 已映射到阶段: [Y]
68
+ - 未映射: [Z] ⚠️
69
+
70
+ ---
71
+ *需求定义时间: [日期]*
72
+ *最后更新: [日期] 在 [触发事件] 之后*
73
+ ```
74
+
75
+ </template>
76
+
77
+ <guidelines>
78
+
79
+ **需求格式:**
80
+ - ID: `[类别]-[编号]` (AUTH-01, CONTENT-02, SOCIAL-03)
81
+ - 描述: 以用户为中心、可测试、原子化
82
+ - 复选框: 仅用于 v1 需求 (v2 尚不可操作)
83
+
84
+ **类别:**
85
+ - 从研究 FEATURES.md 的类别推导
86
+ - 保持与领域约定一致
87
+ - 典型: 认证, 内容, 社交, 通知, 审核, 支付, 管理
88
+
89
+ **v1 vs v2:**
90
+ - v1: 承诺的范围,将在路线图阶段中
91
+ - v2: 已确认但延后,不在当前路线图中
92
+ - 将 v2 → v1 需要更新路线图
93
+
94
+ **超出范围:**
95
+ - 明确排除并附理由
96
+ - 防止以后 "为什么没包含 X?"
97
+ - 研究中的反功能属于这里并附警告
98
+
99
+ **可追溯性:**
100
+ - 初始为空,路线图创建时填充
101
+ - 每个需求映射到恰好一个阶段
102
+ - 未映射的需求 = 路线图缺口
103
+
104
+ **状态值:**
105
+ - 待定: 未开始
106
+ - 进行中: 阶段活跃
107
+ - 已完成: 需求已验证
108
+ - 被阻塞: 等待外部因素
109
+
110
+ </guidelines>
111
+
112
+ <evolution>
113
+
114
+ **每个阶段完成后:**
115
+ 1. 将覆盖的需求标记为已完成
116
+ 2. 更新可追溯性状态
117
+ 3. 记录任何范围变更的需求
118
+
119
+ **路线图更新后:**
120
+ 1. 验证所有 v1 需求仍有映射
121
+ 2. 如果范围扩大则添加新需求
122
+ 3. 如果缩减范围则将需求移到 v2/超出范围
123
+
124
+ **需求完成标准:**
125
+ - 需求 "已完成" 当:
126
+ - 功能已实现
127
+ - 功能已验证 (测试通过,手动检查完成)
128
+ - 功能已提交
129
+
130
+ </evolution>
@@ -0,0 +1,204 @@
1
+ # 架构研究模板
2
+
3
+ `.planning/research/ARCHITECTURE.md` 的模板,项目领域的系统结构模式。
4
+
5
+ <template>
6
+
7
+ ```markdown
8
+ # 架构研究
9
+
10
+ **领域:** [领域类型]
11
+ **研究时间:** [日期]
12
+ **置信度:** [高/中/低]
13
+
14
+ ## 标准架构
15
+
16
+ ### 系统概览
17
+
18
+ ```
19
+ ┌─────────────────────────────────────────────────────────────┐
20
+ │ [层名称] │
21
+ ├─────────────────────────────────────────────────────────────┤
22
+ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
23
+ │ │ [组件] │ │ [组件] │ │ [组件] │ │ [组件] │ │
24
+ │ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ │
25
+ │ │ │ │ │ │
26
+ ├───────┴────────────┴────────────┴────────────┴──────────────┤
27
+ │ [层名称] │
28
+ ├─────────────────────────────────────────────────────────────┤
29
+ │ ┌─────────────────────────────────────────────────────┐ │
30
+ │ │ [组件] │ │
31
+ │ └─────────────────────────────────────────────────────┘ │
32
+ ├─────────────────────────────────────────────────────────────┤
33
+ │ [层名称] │
34
+ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
35
+ │ │ [存储] │ │ [存储] │ │ [存储] │ │
36
+ │ └──────────┘ └──────────┘ └──────────┘ │
37
+ └─────────────────────────────────────────────────────────────┘
38
+ ```
39
+
40
+ ### 组件职责
41
+
42
+ | 组件 | 职责 | 典型实现 |
43
+ |------|------|---------|
44
+ | [名称] | [负责什么] | [通常如何构建] |
45
+ | [名称] | [负责什么] | [通常如何构建] |
46
+ | [名称] | [负责什么] | [通常如何构建] |
47
+
48
+ ## 推荐项目结构
49
+
50
+ ```
51
+ src/
52
+ ├── [文件夹]/ # [用途]
53
+ │ ├── [子文件夹]/ # [用途]
54
+ │ └── [文件].ts # [用途]
55
+ ├── [文件夹]/ # [用途]
56
+ │ ├── [子文件夹]/ # [用途]
57
+ │ └── [文件].ts # [用途]
58
+ ├── [文件夹]/ # [用途]
59
+ └── [文件夹]/ # [用途]
60
+ ```
61
+
62
+ ### 结构理由
63
+
64
+ - **[文件夹]/:** [为什么这样组织]
65
+ - **[文件夹]/:** [为什么这样组织]
66
+
67
+ ## 架构模式
68
+
69
+ ### 模式 1: [模式名称]
70
+
71
+ **是什么:** [描述]
72
+ **何时使用:** [条件]
73
+ **权衡:** [优缺点]
74
+
75
+ **示例:**
76
+ ```typescript
77
+ // [展示模式的简要代码示例]
78
+ ```
79
+
80
+ ### 模式 2: [模式名称]
81
+
82
+ **是什么:** [描述]
83
+ **何时使用:** [条件]
84
+ **权衡:** [优缺点]
85
+
86
+ **示例:**
87
+ ```typescript
88
+ // [展示模式的简要代码示例]
89
+ ```
90
+
91
+ ### 模式 3: [模式名称]
92
+
93
+ **是什么:** [描述]
94
+ **何时使用:** [条件]
95
+ **权衡:** [优缺点]
96
+
97
+ ## 数据流
98
+
99
+ ### 请求流
100
+
101
+ ```
102
+ [用户操作]
103
+
104
+ [组件] → [处理器] → [服务] → [数据存储]
105
+ ↓ ↓ ↓ ↓
106
+ [响应] ← [转换] ← [查询] ← [数据库]
107
+ ```
108
+
109
+ ### 状态管理
110
+
111
+ ```
112
+ [状态存储]
113
+ ↓ (订阅)
114
+ [组件] ←→ [操作] → [Reducers/Mutations] → [状态存储]
115
+ ```
116
+
117
+ ### 关键数据流
118
+
119
+ 1. **[流名称]:** [数据如何流动的描述]
120
+ 2. **[流名称]:** [数据如何流动的描述]
121
+
122
+ ## 扩展考虑
123
+
124
+ | 规模 | 架构调整 |
125
+ |------|---------|
126
+ | 0-1k 用户 | [方案 — 通常单体就够了] |
127
+ | 1k-100k 用户 | [方案 — 先优化什么] |
128
+ | 100k+ 用户 | [方案 — 何时考虑拆分] |
129
+
130
+ ### 扩展优先级
131
+
132
+ 1. **第一个瓶颈:** [什么先崩溃,如何修复]
133
+ 2. **第二个瓶颈:** [接下来什么崩溃,如何修复]
134
+
135
+ ## 反模式
136
+
137
+ ### 反模式 1: [名称]
138
+
139
+ **人们怎么做:** [错误做法]
140
+ **为什么错:** [造成什么问题]
141
+ **应该这样做:** [正确方法]
142
+
143
+ ### 反模式 2: [名称]
144
+
145
+ **人们怎么做:** [错误做法]
146
+ **为什么错:** [造成什么问题]
147
+ **应该这样做:** [正确方法]
148
+
149
+ ## 集成点
150
+
151
+ ### 外部服务
152
+
153
+ | 服务 | 集成模式 | 备注 |
154
+ |------|---------|------|
155
+ | [服务] | [如何连接] | [注意事项] |
156
+ | [服务] | [如何连接] | [注意事项] |
157
+
158
+ ### 内部边界
159
+
160
+ | 边界 | 通信方式 | 备注 |
161
+ |------|---------|------|
162
+ | [模块 A ↔ 模块 B] | [API/事件/直接] | [考虑事项] |
163
+
164
+ ## 来源
165
+
166
+ - [架构参考]
167
+ - [官方文档]
168
+ - [案例研究]
169
+
170
+ ---
171
+ *架构研究领域: [领域]*
172
+ *研究时间: [日期]*
173
+ ```
174
+
175
+ </template>
176
+
177
+ <guidelines>
178
+
179
+ **系统概览:**
180
+ - 使用 ASCII 框线图提高清晰度 (├── └── │ ─ 仅用于结构可视化)
181
+ - 展示主要组件及其关系
182
+ - 不要过度细化 — 这是概念性的,不是实现
183
+
184
+ **项目结构:**
185
+ - 具体说明文件夹组织
186
+ - 解释分组的理由
187
+ - 匹配所选技术栈的约定
188
+
189
+ **模式:**
190
+ - 在有帮助的地方包含代码示例
191
+ - 诚实说明权衡
192
+ - 注明何时模式对小项目来说过度
193
+
194
+ **扩展考虑:**
195
+ - 要现实 — 大多数项目不需要扩展到百万级
196
+ - 聚焦 "什么先崩溃" 而非理论极限
197
+ - 避免过早优化建议
198
+
199
+ **反模式:**
200
+ - 针对此领域的特定问题
201
+ - 包含应该怎么做
202
+ - 帮助在实现期间防止常见错误
203
+
204
+ </guidelines>
@@ -0,0 +1,147 @@
1
+ # 功能研究模板
2
+
3
+ `.planning/research/FEATURES.md` 的模板,项目领域的功能全景。
4
+
5
+ <template>
6
+
7
+ ```markdown
8
+ # 功能研究
9
+
10
+ **领域:** [领域类型]
11
+ **研究时间:** [日期]
12
+ **置信度:** [高/中/低]
13
+
14
+ ## 功能全景
15
+
16
+ ### 基本功能 (用户期望这些)
17
+
18
+ 用户默认认为存在的功能。缺少这些 = 产品感觉不完整。
19
+
20
+ | 功能 | 为何被期望 | 复杂度 | 备注 |
21
+ |------|-----------|--------|------|
22
+ | [功能] | [用户期望] | 低/中/高 | [实现备注] |
23
+ | [功能] | [用户期望] | 低/中/高 | [实现备注] |
24
+ | [功能] | [用户期望] | 低/中/高 | [实现备注] |
25
+
26
+ ### 差异化功能 (竞争优势)
27
+
28
+ 让产品脱颖而出的功能。非必需,但有价值。
29
+
30
+ | 功能 | 价值主张 | 复杂度 | 备注 |
31
+ |------|---------|--------|------|
32
+ | [功能] | [为什么重要] | 低/中/高 | [实现备注] |
33
+ | [功能] | [为什么重要] | 低/中/高 | [实现备注] |
34
+ | [功能] | [为什么重要] | 低/中/高 | [实现备注] |
35
+
36
+ ### 反功能 (常被要求,但往往有问题)
37
+
38
+ 看起来好但会制造问题的功能。
39
+
40
+ | 功能 | 为何被要求 | 为何有问题 | 替代方案 |
41
+ |------|-----------|-----------|---------|
42
+ | [功能] | [表面吸引力] | [实际问题] | [更好的方法] |
43
+ | [功能] | [表面吸引力] | [实际问题] | [更好的方法] |
44
+
45
+ ## 功能依赖
46
+
47
+ ```
48
+ [功能 A]
49
+ └──需要──> [功能 B]
50
+ └──需要──> [功能 C]
51
+
52
+ [功能 D] ──增强──> [功能 A]
53
+
54
+ [功能 E] ──冲突──> [功能 F]
55
+ ```
56
+
57
+ ### 依赖说明
58
+
59
+ - **[功能 A] 需要 [功能 B]:** [为什么存在依赖]
60
+ - **[功能 D] 增强 [功能 A]:** [它们如何协同]
61
+ - **[功能 E] 与 [功能 F] 冲突:** [为什么不兼容]
62
+
63
+ ## MVP 定义
64
+
65
+ ### 发布时包含 (v1)
66
+
67
+ 最小可行产品 — 验证概念所需的最少功能。
68
+
69
+ - [ ] [功能] — [为什么必要]
70
+ - [ ] [功能] — [为什么必要]
71
+ - [ ] [功能] — [为什么必要]
72
+
73
+ ### 验证后添加 (v1.x)
74
+
75
+ 核心功能运行后添加的功能。
76
+
77
+ - [ ] [功能] — [添加的触发条件]
78
+ - [ ] [功能] — [添加的触发条件]
79
+
80
+ ### 未来考虑 (v2+)
81
+
82
+ 延后到产品市场契合确立后的功能。
83
+
84
+ - [ ] [功能] — [为什么延后]
85
+ - [ ] [功能] — [为什么延后]
86
+
87
+ ## 功能优先级矩阵
88
+
89
+ | 功能 | 用户价值 | 实现成本 | 优先级 |
90
+ |------|---------|---------|--------|
91
+ | [功能] | 高/中/低 | 高/中/低 | P1/P2/P3 |
92
+ | [功能] | 高/中/低 | 高/中/低 | P1/P2/P3 |
93
+ | [功能] | 高/中/低 | 高/中/低 | P1/P2/P3 |
94
+
95
+ **优先级说明:**
96
+ - P1: 发布必须有
97
+ - P2: 应该有,尽快添加
98
+ - P3: 锦上添花,未来考虑
99
+
100
+ ## 竞品功能分析
101
+
102
+ | 功能 | 竞品 A | 竞品 B | 我们的方案 |
103
+ |------|--------|--------|-----------|
104
+ | [功能] | [他们怎么做] | [他们怎么做] | [我们的计划] |
105
+ | [功能] | [他们怎么做] | [他们怎么做] | [我们的计划] |
106
+
107
+ ## 来源
108
+
109
+ - [分析的竞品]
110
+ - [用户研究或反馈来源]
111
+ - [参考的行业标准]
112
+
113
+ ---
114
+ *功能研究领域: [领域]*
115
+ *研究时间: [日期]*
116
+ ```
117
+
118
+ </template>
119
+
120
+ <guidelines>
121
+
122
+ **基本功能:**
123
+ - 发布时不可或缺
124
+ - 用户不会因为有它们而给好评,但会因为没有而差评
125
+ - 示例: 社区平台没有用户资料就是残缺的
126
+
127
+ **差异化功能:**
128
+ - 竞争的地方
129
+ - 应与 PROJECT.md 的核心价值对齐
130
+ - 不要试图在所有方面都差异化
131
+
132
+ **反功能:**
133
+ - 通过记录看似好但实际不好的功能来防止范围蔓延
134
+ - 包含替代方案
135
+ - 示例: "实时一切" 往往制造复杂性而无价值
136
+
137
+ **功能依赖:**
138
+ - 对路线图阶段排序至关重要
139
+ - 如果 A 需要 B,B 必须在更早的阶段
140
+ - 冲突告知什么不要放在同一阶段
141
+
142
+ **MVP 定义:**
143
+ - 对什么是真正最小的要狠心
144
+ - "锦上添花" 不是 MVP
145
+ - 少发布,验证,然后扩展
146
+
147
+ </guidelines>
@@ -0,0 +1,200 @@
1
+ # 陷阱研究模板
2
+
3
+ `.planning/research/PITFALLS.md` 的模板,项目领域中应避免的常见错误。
4
+
5
+ <template>
6
+
7
+ ```markdown
8
+ # 陷阱研究
9
+
10
+ **领域:** [领域类型]
11
+ **研究时间:** [日期]
12
+ **置信度:** [高/中/低]
13
+
14
+ ## 关键陷阱
15
+
16
+ ### 陷阱 1: [名称]
17
+
18
+ **会出什么问题:**
19
+ [失败模式描述]
20
+
21
+ **为什么会发生:**
22
+ [根本原因 — 开发者为什么犯这个错误]
23
+
24
+ **如何避免:**
25
+ [具体预防策略]
26
+
27
+ **预警信号:**
28
+ [如何在问题变大之前早期发现]
29
+
30
+ **应在哪个阶段解决:**
31
+ [路线图中哪个阶段应该预防这个]
32
+
33
+ ---
34
+
35
+ ### 陷阱 2: [名称]
36
+
37
+ **会出什么问题:**
38
+ [失败模式描述]
39
+
40
+ **为什么会发生:**
41
+ [根本原因 — 开发者为什么犯这个错误]
42
+
43
+ **如何避免:**
44
+ [具体预防策略]
45
+
46
+ **预警信号:**
47
+ [如何在问题变大之前早期发现]
48
+
49
+ **应在哪个阶段解决:**
50
+ [路线图中哪个阶段应该预防这个]
51
+
52
+ ---
53
+
54
+ ### 陷阱 3: [名称]
55
+
56
+ **会出什么问题:**
57
+ [失败模式描述]
58
+
59
+ **为什么会发生:**
60
+ [根本原因 — 开发者为什么犯这个错误]
61
+
62
+ **如何避免:**
63
+ [具体预防策略]
64
+
65
+ **预警信号:**
66
+ [如何在问题变大之前早期发现]
67
+
68
+ **应在哪个阶段解决:**
69
+ [路线图中哪个阶段应该预防这个]
70
+
71
+ ---
72
+
73
+ [继续所有关键陷阱...]
74
+
75
+ ## 技术债务模式
76
+
77
+ 看起来合理但会造成长期问题的捷径。
78
+
79
+ | 捷径 | 即时收益 | 长期成本 | 何时可接受 |
80
+ |------|---------|---------|-----------|
81
+ | [捷径] | [收益] | [成本] | [条件,或 "永远不行"] |
82
+ | [捷径] | [收益] | [成本] | [条件,或 "永远不行"] |
83
+ | [捷径] | [收益] | [成本] | [条件,或 "永远不行"] |
84
+
85
+ ## 集成陷阱
86
+
87
+ 连接外部服务时的常见错误。
88
+
89
+ | 集成 | 常见错误 | 正确方法 |
90
+ |------|---------|---------|
91
+ | [服务] | [人们做错什么] | [应该怎么做] |
92
+ | [服务] | [人们做错什么] | [应该怎么做] |
93
+ | [服务] | [人们做错什么] | [应该怎么做] |
94
+
95
+ ## 性能陷阱
96
+
97
+ 小规模可用但随使用增长而失败的模式。
98
+
99
+ | 陷阱 | 症状 | 预防 | 何时崩溃 |
100
+ |------|------|------|---------|
101
+ | [陷阱] | [如何发现] | [如何避免] | [规模阈值] |
102
+ | [陷阱] | [如何发现] | [如何避免] | [规模阈值] |
103
+ | [陷阱] | [如何发现] | [如何避免] | [规模阈值] |
104
+
105
+ ## 安全错误
106
+
107
+ 超出通用 Web 安全的领域特定安全问题。
108
+
109
+ | 错误 | 风险 | 预防 |
110
+ |------|------|------|
111
+ | [错误] | [可能发生什么] | [如何避免] |
112
+ | [错误] | [可能发生什么] | [如何避免] |
113
+ | [错误] | [可能发生什么] | [如何避免] |
114
+
115
+ ## UX 陷阱
116
+
117
+ 该领域常见的用户体验错误。
118
+
119
+ | 陷阱 | 用户影响 | 更好的方法 |
120
+ |------|---------|-----------|
121
+ | [陷阱] | [用户如何受影响] | [应该怎么做] |
122
+ | [陷阱] | [用户如何受影响] | [应该怎么做] |
123
+ | [陷阱] | [用户如何受影响] | [应该怎么做] |
124
+
125
+ ## "看起来完成但其实没有" 检查清单
126
+
127
+ 看起来完成但缺少关键部分的事项。
128
+
129
+ - [ ] **[功能]:** 常缺少 [东西] — 验证 [检查]
130
+ - [ ] **[功能]:** 常缺少 [东西] — 验证 [检查]
131
+ - [ ] **[功能]:** 常缺少 [东西] — 验证 [检查]
132
+ - [ ] **[功能]:** 常缺少 [东西] — 验证 [检查]
133
+
134
+ ## 恢复策略
135
+
136
+ 尽管预防了但陷阱仍然发生时,如何恢复。
137
+
138
+ | 陷阱 | 恢复成本 | 恢复步骤 |
139
+ |------|---------|---------|
140
+ | [陷阱] | 低/中/高 | [怎么做] |
141
+ | [陷阱] | 低/中/高 | [怎么做] |
142
+ | [陷阱] | 低/中/高 | [怎么做] |
143
+
144
+ ## 陷阱到阶段映射
145
+
146
+ 路线图阶段应如何解决这些陷阱。
147
+
148
+ | 陷阱 | 预防阶段 | 验证 |
149
+ |------|---------|------|
150
+ | [陷阱] | 阶段 [X] | [如何验证预防有效] |
151
+ | [陷阱] | 阶段 [X] | [如何验证预防有效] |
152
+ | [陷阱] | 阶段 [X] | [如何验证预防有效] |
153
+
154
+ ## 来源
155
+
156
+ - [参考的事后分析]
157
+ - [社区讨论]
158
+ - [官方 "注意事项" 文档]
159
+ - [个人经验 / 已知问题]
160
+
161
+ ---
162
+ *陷阱研究领域: [领域]*
163
+ *研究时间: [日期]*
164
+ ```
165
+
166
+ </template>
167
+
168
+ <guidelines>
169
+
170
+ **关键陷阱:**
171
+ - 聚焦领域特定问题,不是通用错误
172
+ - 包含预警信号 — 早期发现防止灾难
173
+ - 链接到具体阶段 — 使陷阱可操作
174
+
175
+ **技术债务:**
176
+ - 要现实 — 有些捷径是可接受的
177
+ - 注明何时捷径 "永远不可接受" vs "仅在 MVP 中可以"
178
+ - 包含长期成本以指导权衡决策
179
+
180
+ **性能陷阱:**
181
+ - 包含规模阈值 ("在 1 万用户时崩溃")
182
+ - 聚焦与项目预期规模相关的内容
183
+ - 不要为假设的规模过度工程化
184
+
185
+ **安全错误:**
186
+ - 超出 OWASP 基础 — 领域特定问题
187
+ - 示例: 社区平台与电商有不同的安全关注点
188
+ - 包含风险级别以确定优先级
189
+
190
+ **"看起来完成但其实没有":**
191
+ - 执行期间验证的检查清单格式
192
+ - 演示 vs 生产中常见
193
+ - 防止 "在我机器上能用" 的问题
194
+
195
+ **陷阱到阶段映射:**
196
+ - 对路线图创建至关重要
197
+ - 每个陷阱应映射到预防它的阶段
198
+ - 指导阶段排序和成功标准
199
+
200
+ </guidelines>