bobo-ai-cli 3.0.3 → 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.
- package/LICENSE +21 -21
- package/README.md +259 -259
- package/bundled-skills/CORE_SKILLS.txt +18 -18
- package/bundled-skills/backend-expert/SKILL.md +97 -97
- package/bundled-skills/code-review/SKILL.md +280 -280
- package/bundled-skills/code-review-expert/SKILL.md +85 -85
- package/bundled-skills/context-budget-analyzer/SKILL.md +76 -76
- package/bundled-skills/context-compressor/SKILL.md +75 -75
- package/bundled-skills/context-optimization-suite/SKILL.md +162 -162
- package/bundled-skills/frontend-expert/SKILL.md +93 -93
- package/bundled-skills/github/SKILL.md +12 -12
- package/bundled-skills/high-agency/SKILL.md +473 -473
- package/bundled-skills/high-agency/references/builder-patterns.md +126 -126
- package/bundled-skills/high-agency/references/recovery-playbook.md +298 -298
- package/bundled-skills/memory-manager/SKILL.md +214 -214
- package/bundled-skills/memory-manager/references/advanced-config.md +65 -65
- package/bundled-skills/orchestrator/SKILL.md +681 -681
- package/bundled-skills/planning-with-files/SKILL.md +193 -193
- package/bundled-skills/skill-creator/SKILL.md +220 -220
- package/bundled-skills/testing-expert/SKILL.md +99 -99
- package/bundled-skills/verify/SKILL.md +15 -15
- package/dist/agent.d.ts +5 -0
- package/dist/agent.js +11 -1
- package/dist/agent.js.map +1 -1
- package/dist/agents/catalog.d.ts +47 -0
- package/dist/agents/catalog.js +63 -5
- package/dist/agents/catalog.js.map +1 -1
- package/dist/agents/router.d.ts +12 -1
- package/dist/agents/router.js +43 -3
- package/dist/agents/router.js.map +1 -1
- package/dist/agents/spawn.js +36 -18
- package/dist/agents/spawn.js.map +1 -1
- package/dist/autonomous.js +5 -5
- package/dist/cli.js +23 -21
- package/dist/cli.js.map +1 -1
- package/dist/compactor.js +39 -39
- package/dist/dream.js +29 -29
- package/dist/image-input.d.ts +44 -0
- package/dist/image-input.js +161 -0
- package/dist/image-input.js.map +1 -0
- package/dist/memory.js +13 -13
- package/dist/project.js +15 -15
- package/dist/repl.js +88 -0
- package/dist/repl.js.map +1 -1
- package/dist/skills.js +54 -54
- package/dist/sub-agents.js +65 -65
- package/dist/tools/browser.js +21 -21
- package/dist/tools/claude-code.js +10 -10
- package/dist/web.js +7 -7
- package/dist/wiki-commands.d.ts +2 -0
- package/dist/wiki-commands.js +249 -0
- package/dist/wiki-commands.js.map +1 -0
- package/dist/wiki.d.ts +90 -0
- package/dist/wiki.js +614 -0
- package/dist/wiki.js.map +1 -0
- package/knowledge/advanced-patterns.md +70 -70
- package/knowledge/agent-directives.md +74 -74
- package/knowledge/api-integration-patterns.md +102 -0
- package/knowledge/code-review-protocol.md +69 -0
- package/knowledge/dream.md +36 -36
- package/knowledge/engineering.md +52 -46
- package/knowledge/error-catalog.md +38 -33
- package/knowledge/event-driven-architecture.md +43 -0
- package/knowledge/external-alignment.md +47 -0
- package/knowledge/high-agency.md +73 -0
- package/knowledge/image-generation.md +48 -0
- package/knowledge/index.json +194 -169
- package/knowledge/llm-wiki-pattern.md +71 -0
- package/knowledge/long-task-management.md +79 -0
- package/knowledge/memory/cache-optimization-and-skill-integration.md +102 -102
- package/knowledge/memory/engineering-patterns.md +134 -134
- package/knowledge/memory/feedback_root_structure.md +15 -15
- package/knowledge/memory/project-contexts.md +69 -69
- package/knowledge/memory/tools-and-services.md +85 -85
- package/knowledge/memory-management.md +72 -0
- package/knowledge/rules/advisor-strategy.md +204 -0
- package/knowledge/rules/agents.md +62 -62
- package/knowledge/rules/blocking-rules.md +323 -323
- package/knowledge/rules/cache-management.md +379 -379
- package/knowledge/rules/capability-evolution.md +132 -132
- package/knowledge/rules/coding.md +126 -126
- package/knowledge/rules/engineering-workflows.md +225 -225
- package/knowledge/rules/evomap-content-guidelines.md +354 -354
- package/knowledge/rules/evomap-guide.md +224 -224
- package/knowledge/rules/external-alignment.md +22 -0
- package/knowledge/rules/git.md +31 -31
- package/knowledge/rules/hooks.md +106 -106
- package/knowledge/rules/performance.md +101 -101
- package/knowledge/rules/remotion-auto-production.md +1120 -1120
- package/knowledge/rules/security.md +46 -46
- package/knowledge/rules/testing.md +32 -32
- package/knowledge/rules/work-mode.md +208 -208
- package/knowledge/rules.md +62 -62
- package/knowledge/self-evolution.md +78 -0
- package/knowledge/self-rationalization-guard.md +52 -0
- package/knowledge/skills/Skill_Seekers.md +1722 -1722
- package/knowledge/skills/ab-test-setup.md +557 -557
- package/knowledge/skills/agent-sdk-dev.md +238 -238
- package/knowledge/skills/agent-tools.md +136 -136
- package/knowledge/skills/analytics-tracking.md +597 -597
- package/knowledge/skills/artifacts-builder.md +89 -89
- package/knowledge/skills/asana.md +12 -12
- package/knowledge/skills/backend-expert.md +97 -97
- package/knowledge/skills/brand-voice.md +481 -481
- package/knowledge/skills/browser-use.md +419 -419
- package/knowledge/skills/cache-optimization-skill.md +179 -179
- package/knowledge/skills/canvas-design.md +147 -147
- package/knowledge/skills/citation-validator.md +203 -203
- package/knowledge/skills/clangd-lsp.md +52 -52
- package/knowledge/skills/code-review-expert.md +85 -85
- package/knowledge/skills/code-review.md +280 -280
- package/knowledge/skills/code-simplifier.md +12 -12
- package/knowledge/skills/commit-commands.md +258 -258
- package/knowledge/skills/competitor-alternatives.md +795 -795
- package/knowledge/skills/content-atomizer.md +910 -910
- package/knowledge/skills/content-research-writer.md +605 -605
- package/knowledge/skills/context-optimization-suite.md +162 -162
- package/knowledge/skills/context7.md +12 -12
- package/knowledge/skills/copy-editing.md +494 -494
- package/knowledge/skills/copywriting.md +510 -510
- package/knowledge/skills/csharp-lsp.md +40 -40
- package/knowledge/skills/decision-making-framework.md +154 -154
- package/knowledge/skills/developer-growth-analysis.md +335 -335
- package/knowledge/skills/direct-response-copy.md +2336 -2336
- package/knowledge/skills/docker-expert.md +229 -229
- package/knowledge/skills/document-skills.md +12 -12
- package/knowledge/skills/documentation-expert.md +126 -126
- package/knowledge/skills/email-sequence.md +1061 -1061
- package/knowledge/skills/email-sequences.md +910 -910
- package/knowledge/skills/example-plugin.md +72 -72
- package/knowledge/skills/explanatory-output-style.md +82 -82
- package/knowledge/skills/feature-dev.md +458 -458
- package/knowledge/skills/file-organizer.md +466 -466
- package/knowledge/skills/firebase.disabled.md +12 -12
- package/knowledge/skills/form-cro.md +488 -488
- package/knowledge/skills/free-tool-strategy.md +636 -636
- package/knowledge/skills/frontend-design-offical.md +55 -55
- package/knowledge/skills/frontend-design.md +41 -41
- package/knowledge/skills/frontend-expert.md +93 -93
- package/knowledge/skills/github.md +12 -12
- package/knowledge/skills/gitlab.md +12 -12
- package/knowledge/skills/gopls-lsp.md +32 -32
- package/knowledge/skills/got-controller.md +218 -218
- package/knowledge/skills/greptile.md +72 -72
- package/knowledge/skills/hookify.md +376 -376
- package/knowledge/skills/image-editor.md +189 -189
- package/knowledge/skills/image-enhancer.md +109 -109
- package/knowledge/skills/jdtls-lsp.md +49 -49
- package/knowledge/skills/json-canvas.md +654 -654
- package/knowledge/skills/keyword-research.md +559 -559
- package/knowledge/skills/kotlin-lsp.md +28 -28
- package/knowledge/skills/laravel-boost.md +12 -12
- package/knowledge/skills/launch-strategy.md +394 -394
- package/knowledge/skills/lead-magnet.md +393 -393
- package/knowledge/skills/learning-output-style.md +106 -106
- package/knowledge/skills/linear.md +12 -12
- package/knowledge/skills/lua-lsp.md +47 -47
- package/knowledge/skills/marketing-ideas.md +720 -720
- package/knowledge/skills/marketing-psychology.md +534 -534
- package/knowledge/skills/mcp-builder.md +369 -369
- package/knowledge/skills/meeting-insights-analyzer.md +347 -347
- package/knowledge/skills/memory-evolution-system.md +172 -172
- package/knowledge/skills/multi-lens-thinking.md +407 -407
- package/knowledge/skills/nano-banana-pro.md +116 -116
- package/knowledge/skills/newsletter.md +736 -736
- package/knowledge/skills/notebooklm.md +296 -296
- package/knowledge/skills/obsidian-bases.md +634 -634
- package/knowledge/skills/obsidian-markdown.md +651 -651
- package/knowledge/skills/onboarding-cro.md +494 -494
- package/knowledge/skills/orchestrator.md +681 -681
- package/knowledge/skills/page-cro.md +379 -379
- package/knowledge/skills/paid-ads.md +624 -624
- package/knowledge/skills/paywall-upgrade-cro.md +651 -651
- package/knowledge/skills/php-lsp.md +36 -36
- package/knowledge/skills/planning-with-files.md +193 -193
- package/knowledge/skills/playwright.md +12 -12
- package/knowledge/skills/plugin-dev.md +434 -434
- package/knowledge/skills/popup-cro.md +520 -520
- package/knowledge/skills/positioning-angles.md +330 -330
- package/knowledge/skills/pr-review-toolkit.md +359 -359
- package/knowledge/skills/pricing-strategy.md +777 -777
- package/knowledge/skills/programmatic-seo.md +714 -714
- package/knowledge/skills/pyright-lsp.md +43 -43
- package/knowledge/skills/quality-assurance-framework.md +168 -168
- package/knowledge/skills/question-refiner.md +160 -160
- package/knowledge/skills/ralph-loop.md +205 -205
- package/knowledge/skills/refactoring-expert.md +103 -103
- package/knowledge/skills/referral-program.md +668 -668
- package/knowledge/skills/research-executor.md +164 -164
- package/knowledge/skills/review-with-security.md +12 -12
- package/knowledge/skills/rust-analyzer-lsp.md +50 -50
- package/knowledge/skills/schema-markup.md +647 -647
- package/knowledge/skills/security-audit-expert.md +124 -124
- package/knowledge/skills/security-expert.md +140 -140
- package/knowledge/skills/security-guidance.md +12 -12
- package/knowledge/skills/seedance-prompt.md +139 -139
- package/knowledge/skills/self-evolution.md +1160 -1160
- package/knowledge/skills/seo-audit.md +432 -432
- package/knowledge/skills/seo-content.md +787 -787
- package/knowledge/skills/serena.md +12 -12
- package/knowledge/skills/signup-flow-cro.md +409 -409
- package/knowledge/skills/skill-creator.md +220 -220
- package/knowledge/skills/skill-manager.md +226 -226
- package/knowledge/skills/skill-share.md +98 -98
- package/knowledge/skills/slack.md +12 -12
- package/knowledge/skills/social-content.md +878 -878
- package/knowledge/skills/spec-flow-skill.md +124 -124
- package/knowledge/skills/stripe.md +12 -12
- package/knowledge/skills/supabase.md +12 -12
- package/knowledge/skills/swift-lsp.md +40 -40
- package/knowledge/skills/synthesizer.md +236 -236
- package/knowledge/skills/template-skill.md +16 -16
- package/knowledge/skills/testing-expert.md +99 -99
- package/knowledge/skills/theme-factory.md +72 -72
- package/knowledge/skills/tiktok-research.md +208 -208
- package/knowledge/skills/typescript-lsp.md +36 -36
- package/knowledge/skills/ui-ux-pro-max.md +247 -247
- package/knowledge/skills/verify.md +15 -15
- package/knowledge/skills/visual-prompt-engineer.md +102 -102
- package/knowledge/skills/webapp-testing.md +111 -111
- package/knowledge/skills/wide-research.md +191 -191
- package/knowledge/system.md +93 -93
- package/knowledge/task-router.md +46 -37
- package/knowledge/verification.md +38 -38
- package/knowledge/worker-prompt-craft.md +66 -0
- package/knowledge/workflows/3d-viz.md +47 -47
- package/knowledge/workflows/data-pipeline.md +47 -47
- package/knowledge/workflows/db-migration.md +51 -51
- package/knowledge/workflows/feature-dev.md +41 -41
- package/knowledge/workflows/tdd-flow.md +52 -52
- package/knowledge/workflows/ui-verify.md +51 -51
- package/package.json +74 -74
- package/dist/claude-bridge.d.ts +0 -18
- package/dist/claude-bridge.js +0 -91
- package/dist/claude-bridge.js.map +0 -1
- package/dist/tools/claude-bridge-tool.d.ts +0 -4
- package/dist/tools/claude-bridge-tool.js +0 -44
- 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
|