bobo-ai-cli 3.0.4 → 3.0.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 (238) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +259 -259
  3. package/bundled-skills/CORE_SKILLS.txt +18 -18
  4. package/bundled-skills/backend-expert/SKILL.md +97 -97
  5. package/bundled-skills/code-review/SKILL.md +280 -280
  6. package/bundled-skills/code-review-expert/SKILL.md +85 -85
  7. package/bundled-skills/context-budget-analyzer/SKILL.md +76 -76
  8. package/bundled-skills/context-compressor/SKILL.md +75 -75
  9. package/bundled-skills/context-optimization-suite/SKILL.md +162 -162
  10. package/bundled-skills/frontend-expert/SKILL.md +93 -93
  11. package/bundled-skills/github/SKILL.md +12 -12
  12. package/bundled-skills/high-agency/SKILL.md +473 -473
  13. package/bundled-skills/high-agency/references/builder-patterns.md +126 -126
  14. package/bundled-skills/high-agency/references/recovery-playbook.md +298 -298
  15. package/bundled-skills/memory-manager/SKILL.md +214 -214
  16. package/bundled-skills/memory-manager/references/advanced-config.md +65 -65
  17. package/bundled-skills/orchestrator/SKILL.md +681 -681
  18. package/bundled-skills/planning-with-files/SKILL.md +193 -193
  19. package/bundled-skills/skill-creator/SKILL.md +220 -220
  20. package/bundled-skills/testing-expert/SKILL.md +99 -99
  21. package/bundled-skills/verify/SKILL.md +15 -15
  22. package/dist/agent.d.ts +5 -0
  23. package/dist/agent.js +11 -1
  24. package/dist/agent.js.map +1 -1
  25. package/dist/agents/catalog.d.ts +47 -0
  26. package/dist/agents/catalog.js +63 -5
  27. package/dist/agents/catalog.js.map +1 -1
  28. package/dist/agents/router.d.ts +12 -1
  29. package/dist/agents/router.js +43 -3
  30. package/dist/agents/router.js.map +1 -1
  31. package/dist/agents/spawn.js +36 -18
  32. package/dist/agents/spawn.js.map +1 -1
  33. package/dist/autonomous.js +5 -5
  34. package/dist/cli.js +23 -21
  35. package/dist/cli.js.map +1 -1
  36. package/dist/compactor.js +39 -39
  37. package/dist/dream.js +29 -29
  38. package/dist/image-input.d.ts +44 -0
  39. package/dist/image-input.js +161 -0
  40. package/dist/image-input.js.map +1 -0
  41. package/dist/memory.js +13 -13
  42. package/dist/project.js +15 -15
  43. package/dist/repl.js +88 -0
  44. package/dist/repl.js.map +1 -1
  45. package/dist/skills.js +54 -54
  46. package/dist/sub-agents.js +65 -65
  47. package/dist/tools/browser.js +21 -21
  48. package/dist/tools/claude-code.js +10 -10
  49. package/dist/web.js +7 -7
  50. package/dist/wiki-commands.d.ts +2 -0
  51. package/dist/wiki-commands.js +249 -0
  52. package/dist/wiki-commands.js.map +1 -0
  53. package/dist/wiki.d.ts +90 -0
  54. package/dist/wiki.js +614 -0
  55. package/dist/wiki.js.map +1 -0
  56. package/knowledge/advanced-patterns.md +70 -70
  57. package/knowledge/agent-directives.md +74 -74
  58. package/knowledge/api-integration-patterns.md +102 -0
  59. package/knowledge/code-review-protocol.md +69 -0
  60. package/knowledge/dream.md +36 -36
  61. package/knowledge/engineering.md +52 -46
  62. package/knowledge/error-catalog.md +38 -33
  63. package/knowledge/event-driven-architecture.md +43 -0
  64. package/knowledge/external-alignment.md +47 -0
  65. package/knowledge/high-agency.md +73 -0
  66. package/knowledge/image-generation.md +48 -0
  67. package/knowledge/index.json +194 -169
  68. package/knowledge/llm-wiki-pattern.md +71 -0
  69. package/knowledge/long-task-management.md +79 -0
  70. package/knowledge/memory/cache-optimization-and-skill-integration.md +102 -102
  71. package/knowledge/memory/engineering-patterns.md +134 -134
  72. package/knowledge/memory/feedback_root_structure.md +15 -15
  73. package/knowledge/memory/project-contexts.md +69 -69
  74. package/knowledge/memory/tools-and-services.md +85 -85
  75. package/knowledge/memory-management.md +72 -0
  76. package/knowledge/rules/advisor-strategy.md +204 -0
  77. package/knowledge/rules/agents.md +62 -62
  78. package/knowledge/rules/blocking-rules.md +323 -323
  79. package/knowledge/rules/cache-management.md +379 -379
  80. package/knowledge/rules/capability-evolution.md +132 -132
  81. package/knowledge/rules/coding.md +126 -126
  82. package/knowledge/rules/engineering-workflows.md +225 -225
  83. package/knowledge/rules/evomap-content-guidelines.md +354 -354
  84. package/knowledge/rules/evomap-guide.md +224 -224
  85. package/knowledge/rules/external-alignment.md +22 -0
  86. package/knowledge/rules/git.md +31 -31
  87. package/knowledge/rules/hooks.md +106 -106
  88. package/knowledge/rules/performance.md +101 -101
  89. package/knowledge/rules/remotion-auto-production.md +1120 -1120
  90. package/knowledge/rules/security.md +46 -46
  91. package/knowledge/rules/testing.md +32 -32
  92. package/knowledge/rules/work-mode.md +208 -208
  93. package/knowledge/rules.md +62 -62
  94. package/knowledge/self-evolution.md +78 -0
  95. package/knowledge/self-rationalization-guard.md +52 -0
  96. package/knowledge/skills/Skill_Seekers.md +1722 -1722
  97. package/knowledge/skills/ab-test-setup.md +557 -557
  98. package/knowledge/skills/agent-sdk-dev.md +238 -238
  99. package/knowledge/skills/agent-tools.md +136 -136
  100. package/knowledge/skills/analytics-tracking.md +597 -597
  101. package/knowledge/skills/artifacts-builder.md +89 -89
  102. package/knowledge/skills/asana.md +12 -12
  103. package/knowledge/skills/backend-expert.md +97 -97
  104. package/knowledge/skills/brand-voice.md +481 -481
  105. package/knowledge/skills/browser-use.md +419 -419
  106. package/knowledge/skills/cache-optimization-skill.md +179 -179
  107. package/knowledge/skills/canvas-design.md +147 -147
  108. package/knowledge/skills/citation-validator.md +203 -203
  109. package/knowledge/skills/clangd-lsp.md +52 -52
  110. package/knowledge/skills/code-review-expert.md +85 -85
  111. package/knowledge/skills/code-review.md +280 -280
  112. package/knowledge/skills/code-simplifier.md +12 -12
  113. package/knowledge/skills/commit-commands.md +258 -258
  114. package/knowledge/skills/competitor-alternatives.md +795 -795
  115. package/knowledge/skills/content-atomizer.md +910 -910
  116. package/knowledge/skills/content-research-writer.md +605 -605
  117. package/knowledge/skills/context-optimization-suite.md +162 -162
  118. package/knowledge/skills/context7.md +12 -12
  119. package/knowledge/skills/copy-editing.md +494 -494
  120. package/knowledge/skills/copywriting.md +510 -510
  121. package/knowledge/skills/csharp-lsp.md +40 -40
  122. package/knowledge/skills/decision-making-framework.md +154 -154
  123. package/knowledge/skills/developer-growth-analysis.md +335 -335
  124. package/knowledge/skills/direct-response-copy.md +2336 -2336
  125. package/knowledge/skills/docker-expert.md +229 -229
  126. package/knowledge/skills/document-skills.md +12 -12
  127. package/knowledge/skills/documentation-expert.md +126 -126
  128. package/knowledge/skills/email-sequence.md +1061 -1061
  129. package/knowledge/skills/email-sequences.md +910 -910
  130. package/knowledge/skills/example-plugin.md +72 -72
  131. package/knowledge/skills/explanatory-output-style.md +82 -82
  132. package/knowledge/skills/feature-dev.md +458 -458
  133. package/knowledge/skills/file-organizer.md +466 -466
  134. package/knowledge/skills/firebase.disabled.md +12 -12
  135. package/knowledge/skills/form-cro.md +488 -488
  136. package/knowledge/skills/free-tool-strategy.md +636 -636
  137. package/knowledge/skills/frontend-design-offical.md +55 -55
  138. package/knowledge/skills/frontend-design.md +41 -41
  139. package/knowledge/skills/frontend-expert.md +93 -93
  140. package/knowledge/skills/github.md +12 -12
  141. package/knowledge/skills/gitlab.md +12 -12
  142. package/knowledge/skills/gopls-lsp.md +32 -32
  143. package/knowledge/skills/got-controller.md +218 -218
  144. package/knowledge/skills/greptile.md +72 -72
  145. package/knowledge/skills/hookify.md +376 -376
  146. package/knowledge/skills/image-editor.md +189 -189
  147. package/knowledge/skills/image-enhancer.md +109 -109
  148. package/knowledge/skills/jdtls-lsp.md +49 -49
  149. package/knowledge/skills/json-canvas.md +654 -654
  150. package/knowledge/skills/keyword-research.md +559 -559
  151. package/knowledge/skills/kotlin-lsp.md +28 -28
  152. package/knowledge/skills/laravel-boost.md +12 -12
  153. package/knowledge/skills/launch-strategy.md +394 -394
  154. package/knowledge/skills/lead-magnet.md +393 -393
  155. package/knowledge/skills/learning-output-style.md +106 -106
  156. package/knowledge/skills/linear.md +12 -12
  157. package/knowledge/skills/lua-lsp.md +47 -47
  158. package/knowledge/skills/marketing-ideas.md +720 -720
  159. package/knowledge/skills/marketing-psychology.md +534 -534
  160. package/knowledge/skills/mcp-builder.md +369 -369
  161. package/knowledge/skills/meeting-insights-analyzer.md +347 -347
  162. package/knowledge/skills/memory-evolution-system.md +172 -172
  163. package/knowledge/skills/multi-lens-thinking.md +407 -407
  164. package/knowledge/skills/nano-banana-pro.md +116 -116
  165. package/knowledge/skills/newsletter.md +736 -736
  166. package/knowledge/skills/notebooklm.md +296 -296
  167. package/knowledge/skills/obsidian-bases.md +634 -634
  168. package/knowledge/skills/obsidian-markdown.md +651 -651
  169. package/knowledge/skills/onboarding-cro.md +494 -494
  170. package/knowledge/skills/orchestrator.md +681 -681
  171. package/knowledge/skills/page-cro.md +379 -379
  172. package/knowledge/skills/paid-ads.md +624 -624
  173. package/knowledge/skills/paywall-upgrade-cro.md +651 -651
  174. package/knowledge/skills/php-lsp.md +36 -36
  175. package/knowledge/skills/planning-with-files.md +193 -193
  176. package/knowledge/skills/playwright.md +12 -12
  177. package/knowledge/skills/plugin-dev.md +434 -434
  178. package/knowledge/skills/popup-cro.md +520 -520
  179. package/knowledge/skills/positioning-angles.md +330 -330
  180. package/knowledge/skills/pr-review-toolkit.md +359 -359
  181. package/knowledge/skills/pricing-strategy.md +777 -777
  182. package/knowledge/skills/programmatic-seo.md +714 -714
  183. package/knowledge/skills/pyright-lsp.md +43 -43
  184. package/knowledge/skills/quality-assurance-framework.md +168 -168
  185. package/knowledge/skills/question-refiner.md +160 -160
  186. package/knowledge/skills/ralph-loop.md +205 -205
  187. package/knowledge/skills/refactoring-expert.md +103 -103
  188. package/knowledge/skills/referral-program.md +668 -668
  189. package/knowledge/skills/research-executor.md +164 -164
  190. package/knowledge/skills/review-with-security.md +12 -12
  191. package/knowledge/skills/rust-analyzer-lsp.md +50 -50
  192. package/knowledge/skills/schema-markup.md +647 -647
  193. package/knowledge/skills/security-audit-expert.md +124 -124
  194. package/knowledge/skills/security-expert.md +140 -140
  195. package/knowledge/skills/security-guidance.md +12 -12
  196. package/knowledge/skills/seedance-prompt.md +139 -139
  197. package/knowledge/skills/self-evolution.md +1160 -1160
  198. package/knowledge/skills/seo-audit.md +432 -432
  199. package/knowledge/skills/seo-content.md +787 -787
  200. package/knowledge/skills/serena.md +12 -12
  201. package/knowledge/skills/signup-flow-cro.md +409 -409
  202. package/knowledge/skills/skill-creator.md +220 -220
  203. package/knowledge/skills/skill-manager.md +226 -226
  204. package/knowledge/skills/skill-share.md +98 -98
  205. package/knowledge/skills/slack.md +12 -12
  206. package/knowledge/skills/social-content.md +878 -878
  207. package/knowledge/skills/spec-flow-skill.md +124 -124
  208. package/knowledge/skills/stripe.md +12 -12
  209. package/knowledge/skills/supabase.md +12 -12
  210. package/knowledge/skills/swift-lsp.md +40 -40
  211. package/knowledge/skills/synthesizer.md +236 -236
  212. package/knowledge/skills/template-skill.md +16 -16
  213. package/knowledge/skills/testing-expert.md +99 -99
  214. package/knowledge/skills/theme-factory.md +72 -72
  215. package/knowledge/skills/tiktok-research.md +208 -208
  216. package/knowledge/skills/typescript-lsp.md +36 -36
  217. package/knowledge/skills/ui-ux-pro-max.md +247 -247
  218. package/knowledge/skills/verify.md +15 -15
  219. package/knowledge/skills/visual-prompt-engineer.md +102 -102
  220. package/knowledge/skills/webapp-testing.md +111 -111
  221. package/knowledge/skills/wide-research.md +191 -191
  222. package/knowledge/system.md +93 -93
  223. package/knowledge/task-router.md +46 -37
  224. package/knowledge/verification.md +38 -38
  225. package/knowledge/worker-prompt-craft.md +66 -0
  226. package/knowledge/workflows/3d-viz.md +47 -47
  227. package/knowledge/workflows/data-pipeline.md +47 -47
  228. package/knowledge/workflows/db-migration.md +51 -51
  229. package/knowledge/workflows/feature-dev.md +41 -41
  230. package/knowledge/workflows/tdd-flow.md +52 -52
  231. package/knowledge/workflows/ui-verify.md +51 -51
  232. package/package.json +74 -74
  233. package/dist/claude-bridge.d.ts +0 -18
  234. package/dist/claude-bridge.js +0 -91
  235. package/dist/claude-bridge.js.map +0 -1
  236. package/dist/tools/claude-bridge-tool.d.ts +0 -4
  237. package/dist/tools/claude-bridge-tool.js +0 -44
  238. package/dist/tools/claude-bridge-tool.js.map +0 -1
@@ -1,323 +1,323 @@
1
- ---
2
- id: "blocking-rules"
3
- title: "致命阻塞规则"
4
- category: "core"
5
- tags: ["致命阻塞规则", "🚨 唯一允许提问的4种情况", "✅ 不应该问的问题(自行决策)", "🤔 判断标准", "📝 决策优先级", "💡 示例对比", "🎯 总结"]
6
- source: "E:/Bobo's Coding cache/.claude/rules/core/blocking-rules.md"
7
- ---
8
-
9
- # 致命阻塞规则
10
-
11
- > **原则**: 只在这4种情况下提问,其他情况自行决策
12
-
13
- ---
14
-
15
- ## 🚨 唯一允许提问的4种情况
16
-
17
- ### 1️⃣ 缺少关键凭证
18
-
19
- **定义**: 必须的敏感信息,无法猜测或推断
20
-
21
- **示例**:
22
-
23
- - ❌ 数据库密码
24
- - ❌ API key
25
- - ❌ 私钥文件路径
26
- - ❌ 服务器 IP 地址
27
-
28
- **如何提问**:
29
-
30
- ```
31
- 需要 [具体信息] 才能继续:
32
- - [信息名称]
33
- - 用途:[为什么需要]
34
- ```
35
-
36
- ---
37
-
38
- ### 2️⃣ 多个对立方案
39
-
40
- **定义**: 2+ 个方案完全对立,无法从代码库或上下文判断
41
-
42
- **示例**:
43
-
44
- - ❌ 使用 REST 还是 GraphQL?(架构级决策)
45
- - ❌ 数据存 MySQL 还是 PostgreSQL?(技术选型)
46
- - ❌ 用户认证用 OAuth 还是 JWT?(安全策略)
47
-
48
- **不是对立的**:
49
-
50
- - ✅ 函数命名风格(看代码库现有风格)
51
- - ✅ 文件组织方式(看项目结构)
52
- - ✅ UI 颜色选择(看设计规范或自行选择)
53
-
54
- **如何提问**:
55
-
56
- ```
57
- 有2个对立方案,需要决策:
58
-
59
- 方案A: [描述]
60
- 优点: [...]
61
- 缺点: [...]
62
-
63
- 方案B: [描述]
64
- 优点: [...]
65
- 缺点: [...]
66
-
67
- 推荐: [方案X],因为 [理由]
68
-
69
- 是否继续?
70
- ```
71
-
72
- ---
73
-
74
- ### 3️⃣ 需求本质矛盾
75
-
76
- **定义**: 用户的多个要求之间逻辑冲突
77
-
78
- **示例**:
79
-
80
- - ❌ "要快速开发,但每行代码都要完美"
81
- - ❌ "要最大安全性,但不要验证用户输入"
82
- - ❌ "要实时同步,但不能用 WebSocket"
83
-
84
- **如何提问**:
85
-
86
- ```
87
- 发现需求矛盾:
88
-
89
- 要求A: [描述]
90
- 要求B: [描述]
91
-
92
- 这两者冲突,因为 [原因]
93
-
94
- 可能的折中方案:
95
- - [方案1]
96
- - [方案2]
97
-
98
- 请明确优先级。
99
- ```
100
-
101
- ---
102
-
103
- ### 4️⃣ 不可逆高风险
104
-
105
- **定义**: 一旦执行无法撤销,且后果严重
106
-
107
- **示例**:
108
-
109
- - ❌ 删除生产数据库表
110
- - ❌ 强制推送到 main 分支(覆盖历史)
111
- - ❌ 删除整个代码目录
112
- - ❌ 撤销已发布的版本
113
-
114
- **如何提问**:
115
-
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
- - 例如: `user-service.ts`, `UserController.java`
144
-
145
- ---
146
-
147
- ### 代码风格
148
-
149
- **不要问**:
150
-
151
- - "用单引号还是双引号?"
152
- - "缩进用 2 空格还是 4 空格?"
153
- - "要不要加分号?"
154
-
155
- **自行决策**:
156
-
157
- - 检查项目中现有代码风格
158
- - 遵循语言社区标准
159
- - 例如: Python → PEP 8, JavaScript → Prettier
160
-
161
- ---
162
-
163
- ### 依赖版本
164
-
165
- **不要问**:
166
-
167
- - "应该用哪个版本的库?"
168
- - "要不要升级这个依赖?"
169
-
170
- **自行决策**:
171
-
172
- - 使用项目现有依赖的版本
173
- - 新依赖选择最新稳定版
174
- - 如有兼容性问题,选择兼容版本
175
-
176
- ---
177
-
178
- ### 测试策略
179
-
180
- **不要问**:
181
-
182
- - "需要写单元测试吗?"
183
- - "测试覆盖率要多少?"
184
-
185
- **自行决策**:
186
-
187
- - 遵循 `rules/domain/testing.md`
188
- - 默认要求: 80% 覆盖率
189
- - 关键路径必须测试
190
-
191
- ---
192
-
193
- ### UI 细节
194
-
195
- **不要问**:
196
-
197
- - "按钮用什么颜色?"
198
- - "字体多大?"
199
- - "间距多少?"
200
-
201
- **自行决策**:
202
-
203
- - 遵循设计规范(如果有)
204
- - 无规范时使用常见标准
205
- - 例如: 主按钮蓝色, 字体 16px, 间距 8px 倍数
206
-
207
- ---
208
-
209
- ## 🤔 判断标准
210
-
211
- ### 提问前问自己:
212
-
213
- 1. **能从代码库推断吗?**
214
- → 能 → 不要问
215
-
216
- 2. **有明确的最佳实践吗?**
217
- → 有 → 不要问
218
-
219
- 3. **是个人偏好问题吗?**
220
- → 是 → 不要问(自行选择)
221
-
222
- 4. **符合 4 种致命阻塞吗?**
223
- → 否 → 不要问
224
-
225
- ---
226
-
227
- ## 📝 决策优先级
228
-
229
- 遇到需要决策的情况:
230
-
231
- ```
232
- 1. 项目现有规范
233
- ↓ (如果没有)
234
- 2. 相关最佳实践
235
- ↓ (如果没有)
236
- 3. 语言/框架约定
237
- ↓ (如果没有)
238
- 4. 常见行业标准
239
- ↓ (如果没有)
240
- 5. 合理的默认选择
241
- ```
242
-
243
- ---
244
-
245
- ## 💡 示例对比
246
-
247
- ### ❌ 不好的提问
248
-
249
- **场景**: 用户要求 "写一个用户登录 API"
250
-
251
- **不要这样**:
252
-
253
- ```
254
- 问题1: 应该用什么数据库?
255
- 问题2: 密码加密用什么算法?
256
- 问题3: Token 过期时间设置多久?
257
- 问题4: 错误提示用中文还是英文?
258
- 问题5: API 路径是 /login 还是 /auth?
259
- ```
260
-
261
- ### ✅ 正确的做法
262
-
263
- **直接实现**:
264
-
265
- ```
266
- 数据库: 用项目现有的(检查配置文件)
267
- 加密: bcrypt(行业标准)
268
- Token 过期: 24小时(常见默认值)
269
- 错误提示: 跟项目其他 API 保持一致
270
- API 路径: /auth/login(RESTful 约定)
271
- ```
272
-
273
- **展示计划让用户确认** → 执行
274
-
275
- ---
276
-
277
- ### ✅ 合理的提问
278
-
279
- **场景**: 用户要求 "清理所有测试数据"
280
-
281
- **这样提问**:
282
-
283
- ```
284
- ⚠️ 高风险操作警告
285
-
286
- 操作: 删除数据库中所有 test_* 开头的记录
287
- 风险: 如果有生产数据也以 test_ 开头,会被误删
288
- 不可逆: 删除后无法恢复
289
-
290
- 是否确认执行?
291
-
292
- 建议: 先备份数据库,或者先 SELECT 确认要删除的记录
293
- ```
294
-
295
- ---
296
-
297
- ## 🎯 总结
298
-
299
- **工作原则**:
300
-
301
- ```
302
- 自行决策 > 展示计划确认 > 提问
303
-
304
- 提问是最后的手段,只用于 4 种致命阻塞。
305
- ```
306
-
307
- **好的工作模式**:
308
-
309
- - 快速规划 → 展示 → 确认 → 执行
310
- - 95% 的问题都能自行决策
311
- - 5% 的真正阻塞才提问
312
-
313
- **不好的工作模式**:
314
-
315
- - 遇到任何小事都问
316
- - 让用户做所有决策
317
- - 浪费时间在不重要的细节上
318
-
319
- ---
320
-
321
- **版本**: v1.0
322
- **来源**: CLAUDE.md v4.2 核心原则
323
- **状态**: Active
1
+ ---
2
+ id: "blocking-rules"
3
+ title: "致命阻塞规则"
4
+ category: "core"
5
+ tags: ["致命阻塞规则", "🚨 唯一允许提问的4种情况", "✅ 不应该问的问题(自行决策)", "🤔 判断标准", "📝 决策优先级", "💡 示例对比", "🎯 总结"]
6
+ source: "E:/Bobo's Coding cache/.claude/rules/core/blocking-rules.md"
7
+ ---
8
+
9
+ # 致命阻塞规则
10
+
11
+ > **原则**: 只在这4种情况下提问,其他情况自行决策
12
+
13
+ ---
14
+
15
+ ## 🚨 唯一允许提问的4种情况
16
+
17
+ ### 1️⃣ 缺少关键凭证
18
+
19
+ **定义**: 必须的敏感信息,无法猜测或推断
20
+
21
+ **示例**:
22
+
23
+ - ❌ 数据库密码
24
+ - ❌ API key
25
+ - ❌ 私钥文件路径
26
+ - ❌ 服务器 IP 地址
27
+
28
+ **如何提问**:
29
+
30
+ ```
31
+ 需要 [具体信息] 才能继续:
32
+ - [信息名称]
33
+ - 用途:[为什么需要]
34
+ ```
35
+
36
+ ---
37
+
38
+ ### 2️⃣ 多个对立方案
39
+
40
+ **定义**: 2+ 个方案完全对立,无法从代码库或上下文判断
41
+
42
+ **示例**:
43
+
44
+ - ❌ 使用 REST 还是 GraphQL?(架构级决策)
45
+ - ❌ 数据存 MySQL 还是 PostgreSQL?(技术选型)
46
+ - ❌ 用户认证用 OAuth 还是 JWT?(安全策略)
47
+
48
+ **不是对立的**:
49
+
50
+ - ✅ 函数命名风格(看代码库现有风格)
51
+ - ✅ 文件组织方式(看项目结构)
52
+ - ✅ UI 颜色选择(看设计规范或自行选择)
53
+
54
+ **如何提问**:
55
+
56
+ ```
57
+ 有2个对立方案,需要决策:
58
+
59
+ 方案A: [描述]
60
+ 优点: [...]
61
+ 缺点: [...]
62
+
63
+ 方案B: [描述]
64
+ 优点: [...]
65
+ 缺点: [...]
66
+
67
+ 推荐: [方案X],因为 [理由]
68
+
69
+ 是否继续?
70
+ ```
71
+
72
+ ---
73
+
74
+ ### 3️⃣ 需求本质矛盾
75
+
76
+ **定义**: 用户的多个要求之间逻辑冲突
77
+
78
+ **示例**:
79
+
80
+ - ❌ "要快速开发,但每行代码都要完美"
81
+ - ❌ "要最大安全性,但不要验证用户输入"
82
+ - ❌ "要实时同步,但不能用 WebSocket"
83
+
84
+ **如何提问**:
85
+
86
+ ```
87
+ 发现需求矛盾:
88
+
89
+ 要求A: [描述]
90
+ 要求B: [描述]
91
+
92
+ 这两者冲突,因为 [原因]
93
+
94
+ 可能的折中方案:
95
+ - [方案1]
96
+ - [方案2]
97
+
98
+ 请明确优先级。
99
+ ```
100
+
101
+ ---
102
+
103
+ ### 4️⃣ 不可逆高风险
104
+
105
+ **定义**: 一旦执行无法撤销,且后果严重
106
+
107
+ **示例**:
108
+
109
+ - ❌ 删除生产数据库表
110
+ - ❌ 强制推送到 main 分支(覆盖历史)
111
+ - ❌ 删除整个代码目录
112
+ - ❌ 撤销已发布的版本
113
+
114
+ **如何提问**:
115
+
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
+ - 例如: `user-service.ts`, `UserController.java`
144
+
145
+ ---
146
+
147
+ ### 代码风格
148
+
149
+ **不要问**:
150
+
151
+ - "用单引号还是双引号?"
152
+ - "缩进用 2 空格还是 4 空格?"
153
+ - "要不要加分号?"
154
+
155
+ **自行决策**:
156
+
157
+ - 检查项目中现有代码风格
158
+ - 遵循语言社区标准
159
+ - 例如: Python → PEP 8, JavaScript → Prettier
160
+
161
+ ---
162
+
163
+ ### 依赖版本
164
+
165
+ **不要问**:
166
+
167
+ - "应该用哪个版本的库?"
168
+ - "要不要升级这个依赖?"
169
+
170
+ **自行决策**:
171
+
172
+ - 使用项目现有依赖的版本
173
+ - 新依赖选择最新稳定版
174
+ - 如有兼容性问题,选择兼容版本
175
+
176
+ ---
177
+
178
+ ### 测试策略
179
+
180
+ **不要问**:
181
+
182
+ - "需要写单元测试吗?"
183
+ - "测试覆盖率要多少?"
184
+
185
+ **自行决策**:
186
+
187
+ - 遵循 `rules/domain/testing.md`
188
+ - 默认要求: 80% 覆盖率
189
+ - 关键路径必须测试
190
+
191
+ ---
192
+
193
+ ### UI 细节
194
+
195
+ **不要问**:
196
+
197
+ - "按钮用什么颜色?"
198
+ - "字体多大?"
199
+ - "间距多少?"
200
+
201
+ **自行决策**:
202
+
203
+ - 遵循设计规范(如果有)
204
+ - 无规范时使用常见标准
205
+ - 例如: 主按钮蓝色, 字体 16px, 间距 8px 倍数
206
+
207
+ ---
208
+
209
+ ## 🤔 判断标准
210
+
211
+ ### 提问前问自己:
212
+
213
+ 1. **能从代码库推断吗?**
214
+ → 能 → 不要问
215
+
216
+ 2. **有明确的最佳实践吗?**
217
+ → 有 → 不要问
218
+
219
+ 3. **是个人偏好问题吗?**
220
+ → 是 → 不要问(自行选择)
221
+
222
+ 4. **符合 4 种致命阻塞吗?**
223
+ → 否 → 不要问
224
+
225
+ ---
226
+
227
+ ## 📝 决策优先级
228
+
229
+ 遇到需要决策的情况:
230
+
231
+ ```
232
+ 1. 项目现有规范
233
+ ↓ (如果没有)
234
+ 2. 相关最佳实践
235
+ ↓ (如果没有)
236
+ 3. 语言/框架约定
237
+ ↓ (如果没有)
238
+ 4. 常见行业标准
239
+ ↓ (如果没有)
240
+ 5. 合理的默认选择
241
+ ```
242
+
243
+ ---
244
+
245
+ ## 💡 示例对比
246
+
247
+ ### ❌ 不好的提问
248
+
249
+ **场景**: 用户要求 "写一个用户登录 API"
250
+
251
+ **不要这样**:
252
+
253
+ ```
254
+ 问题1: 应该用什么数据库?
255
+ 问题2: 密码加密用什么算法?
256
+ 问题3: Token 过期时间设置多久?
257
+ 问题4: 错误提示用中文还是英文?
258
+ 问题5: API 路径是 /login 还是 /auth?
259
+ ```
260
+
261
+ ### ✅ 正确的做法
262
+
263
+ **直接实现**:
264
+
265
+ ```
266
+ 数据库: 用项目现有的(检查配置文件)
267
+ 加密: bcrypt(行业标准)
268
+ Token 过期: 24小时(常见默认值)
269
+ 错误提示: 跟项目其他 API 保持一致
270
+ API 路径: /auth/login(RESTful 约定)
271
+ ```
272
+
273
+ **展示计划让用户确认** → 执行
274
+
275
+ ---
276
+
277
+ ### ✅ 合理的提问
278
+
279
+ **场景**: 用户要求 "清理所有测试数据"
280
+
281
+ **这样提问**:
282
+
283
+ ```
284
+ ⚠️ 高风险操作警告
285
+
286
+ 操作: 删除数据库中所有 test_* 开头的记录
287
+ 风险: 如果有生产数据也以 test_ 开头,会被误删
288
+ 不可逆: 删除后无法恢复
289
+
290
+ 是否确认执行?
291
+
292
+ 建议: 先备份数据库,或者先 SELECT 确认要删除的记录
293
+ ```
294
+
295
+ ---
296
+
297
+ ## 🎯 总结
298
+
299
+ **工作原则**:
300
+
301
+ ```
302
+ 自行决策 > 展示计划确认 > 提问
303
+
304
+ 提问是最后的手段,只用于 4 种致命阻塞。
305
+ ```
306
+
307
+ **好的工作模式**:
308
+
309
+ - 快速规划 → 展示 → 确认 → 执行
310
+ - 95% 的问题都能自行决策
311
+ - 5% 的真正阻塞才提问
312
+
313
+ **不好的工作模式**:
314
+
315
+ - 遇到任何小事都问
316
+ - 让用户做所有决策
317
+ - 浪费时间在不重要的细节上
318
+
319
+ ---
320
+
321
+ **版本**: v1.0
322
+ **来源**: CLAUDE.md v4.2 核心原则
323
+ **状态**: Active