bobo-ai-cli 1.0.1
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 -0
- package/README.md +216 -0
- package/dist/agent.d.ts +9 -0
- package/dist/agent.js +144 -0
- package/dist/agent.js.map +1 -0
- package/dist/config.d.ts +15 -0
- package/dist/config.js +76 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +366 -0
- package/dist/index.js.map +1 -0
- package/dist/knowledge-commands.d.ts +2 -0
- package/dist/knowledge-commands.js +40 -0
- package/dist/knowledge-commands.js.map +1 -0
- package/dist/knowledge.d.ts +17 -0
- package/dist/knowledge.js +112 -0
- package/dist/knowledge.js.map +1 -0
- package/dist/memory.d.ts +17 -0
- package/dist/memory.js +215 -0
- package/dist/memory.js.map +1 -0
- package/dist/planner.d.ts +22 -0
- package/dist/planner.js +130 -0
- package/dist/planner.js.map +1 -0
- package/dist/project.d.ts +25 -0
- package/dist/project.js +117 -0
- package/dist/project.js.map +1 -0
- package/dist/rules-commands.d.ts +2 -0
- package/dist/rules-commands.js +51 -0
- package/dist/rules-commands.js.map +1 -0
- package/dist/skills.d.ts +28 -0
- package/dist/skills.js +349 -0
- package/dist/skills.js.map +1 -0
- package/dist/structured/loader.d.ts +19 -0
- package/dist/structured/loader.js +147 -0
- package/dist/structured/loader.js.map +1 -0
- package/dist/structured/paths.d.ts +2 -0
- package/dist/structured/paths.js +14 -0
- package/dist/structured/paths.js.map +1 -0
- package/dist/structured/project-scaffold.d.ts +7 -0
- package/dist/structured/project-scaffold.js +60 -0
- package/dist/structured/project-scaffold.js.map +1 -0
- package/dist/structured/render-markdown.d.ts +37 -0
- package/dist/structured/render-markdown.js +47 -0
- package/dist/structured/render-markdown.js.map +1 -0
- package/dist/structured/render-table.d.ts +1 -0
- package/dist/structured/render-table.js +15 -0
- package/dist/structured/render-table.js.map +1 -0
- package/dist/structured/search.d.ts +10 -0
- package/dist/structured/search.js +104 -0
- package/dist/structured/search.js.map +1 -0
- package/dist/structured/skill-runner.d.ts +15 -0
- package/dist/structured/skill-runner.js +60 -0
- package/dist/structured/skill-runner.js.map +1 -0
- package/dist/structured/types.d.ts +212 -0
- package/dist/structured/types.js +97 -0
- package/dist/structured/types.js.map +1 -0
- package/dist/structured-skills-commands.d.ts +3 -0
- package/dist/structured-skills-commands.js +126 -0
- package/dist/structured-skills-commands.js.map +1 -0
- package/dist/structured-template-commands.d.ts +2 -0
- package/dist/structured-template-commands.js +34 -0
- package/dist/structured-template-commands.js.map +1 -0
- package/dist/tools/index.d.ts +3 -0
- package/dist/tools/index.js +450 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/ui.d.ts +19 -0
- package/dist/ui.js +72 -0
- package/dist/ui.js.map +1 -0
- package/dist/web.d.ts +4 -0
- package/dist/web.js +124 -0
- package/dist/web.js.map +1 -0
- package/knowledge/advanced-patterns.md +70 -0
- package/knowledge/agent-directives.md +74 -0
- package/knowledge/dream.md +36 -0
- package/knowledge/engineering.md +46 -0
- package/knowledge/error-catalog.md +33 -0
- package/knowledge/index.json +170 -0
- package/knowledge/memory/cache-optimization-and-skill-integration.md +102 -0
- package/knowledge/memory/engineering-patterns.md +134 -0
- package/knowledge/memory/feedback_root_structure.md +16 -0
- package/knowledge/memory/project-contexts.md +69 -0
- package/knowledge/memory/tools-and-services.md +85 -0
- package/knowledge/rules/agents.md +62 -0
- package/knowledge/rules/blocking-rules.md +323 -0
- package/knowledge/rules/cache-management.md +379 -0
- package/knowledge/rules/capability-evolution.md +132 -0
- package/knowledge/rules/coding.md +126 -0
- package/knowledge/rules/engineering-workflows.md +225 -0
- package/knowledge/rules/evomap-content-guidelines.md +354 -0
- package/knowledge/rules/evomap-guide.md +224 -0
- package/knowledge/rules/git.md +31 -0
- package/knowledge/rules/hooks.md +106 -0
- package/knowledge/rules/performance.md +101 -0
- package/knowledge/rules/remotion-auto-production.md +1120 -0
- package/knowledge/rules/security.md +46 -0
- package/knowledge/rules/testing.md +32 -0
- package/knowledge/rules/work-mode.md +208 -0
- package/knowledge/rules.md +62 -0
- package/knowledge/skills/Skill_Seekers.md +1722 -0
- package/knowledge/skills/ab-test-setup.md +557 -0
- package/knowledge/skills/agent-sdk-dev.md +238 -0
- package/knowledge/skills/agent-tools.md +136 -0
- package/knowledge/skills/analytics-tracking.md +597 -0
- package/knowledge/skills/artifacts-builder.md +89 -0
- package/knowledge/skills/asana.md +13 -0
- package/knowledge/skills/backend-expert.md +97 -0
- package/knowledge/skills/brand-voice.md +481 -0
- package/knowledge/skills/browser-use.md +419 -0
- package/knowledge/skills/cache-optimization-skill.md +179 -0
- package/knowledge/skills/canvas-design.md +147 -0
- package/knowledge/skills/citation-validator.md +203 -0
- package/knowledge/skills/clangd-lsp.md +52 -0
- package/knowledge/skills/code-review-expert.md +85 -0
- package/knowledge/skills/code-review.md +280 -0
- package/knowledge/skills/code-simplifier.md +13 -0
- package/knowledge/skills/commit-commands.md +258 -0
- package/knowledge/skills/competitor-alternatives.md +795 -0
- package/knowledge/skills/content-atomizer.md +910 -0
- package/knowledge/skills/content-research-writer.md +605 -0
- package/knowledge/skills/context-optimization-suite.md +162 -0
- package/knowledge/skills/context7.md +13 -0
- package/knowledge/skills/copy-editing.md +494 -0
- package/knowledge/skills/copywriting.md +510 -0
- package/knowledge/skills/csharp-lsp.md +40 -0
- package/knowledge/skills/decision-making-framework.md +154 -0
- package/knowledge/skills/developer-growth-analysis.md +335 -0
- package/knowledge/skills/direct-response-copy.md +2336 -0
- package/knowledge/skills/docker-expert.md +229 -0
- package/knowledge/skills/document-skills.md +13 -0
- package/knowledge/skills/documentation-expert.md +126 -0
- package/knowledge/skills/email-sequence.md +1061 -0
- package/knowledge/skills/email-sequences.md +910 -0
- package/knowledge/skills/example-plugin.md +72 -0
- package/knowledge/skills/explanatory-output-style.md +82 -0
- package/knowledge/skills/feature-dev.md +458 -0
- package/knowledge/skills/file-organizer.md +466 -0
- package/knowledge/skills/firebase.disabled.md +13 -0
- package/knowledge/skills/form-cro.md +488 -0
- package/knowledge/skills/free-tool-strategy.md +636 -0
- package/knowledge/skills/frontend-design-offical.md +55 -0
- package/knowledge/skills/frontend-design.md +41 -0
- package/knowledge/skills/frontend-expert.md +93 -0
- package/knowledge/skills/github.md +13 -0
- package/knowledge/skills/gitlab.md +13 -0
- package/knowledge/skills/gopls-lsp.md +32 -0
- package/knowledge/skills/got-controller.md +218 -0
- package/knowledge/skills/greptile.md +72 -0
- package/knowledge/skills/hookify.md +376 -0
- package/knowledge/skills/image-editor.md +189 -0
- package/knowledge/skills/image-enhancer.md +109 -0
- package/knowledge/skills/jdtls-lsp.md +49 -0
- package/knowledge/skills/json-canvas.md +654 -0
- package/knowledge/skills/keyword-research.md +559 -0
- package/knowledge/skills/kotlin-lsp.md +28 -0
- package/knowledge/skills/laravel-boost.md +13 -0
- package/knowledge/skills/launch-strategy.md +394 -0
- package/knowledge/skills/lead-magnet.md +393 -0
- package/knowledge/skills/learning-output-style.md +106 -0
- package/knowledge/skills/linear.md +13 -0
- package/knowledge/skills/lua-lsp.md +47 -0
- package/knowledge/skills/marketing-ideas.md +720 -0
- package/knowledge/skills/marketing-psychology.md +534 -0
- package/knowledge/skills/mcp-builder.md +369 -0
- package/knowledge/skills/meeting-insights-analyzer.md +347 -0
- package/knowledge/skills/memory-evolution-system.md +172 -0
- package/knowledge/skills/multi-lens-thinking.md +407 -0
- package/knowledge/skills/nano-banana-pro.md +116 -0
- package/knowledge/skills/newsletter.md +736 -0
- package/knowledge/skills/notebooklm.md +296 -0
- package/knowledge/skills/obsidian-bases.md +634 -0
- package/knowledge/skills/obsidian-markdown.md +651 -0
- package/knowledge/skills/onboarding-cro.md +494 -0
- package/knowledge/skills/orchestrator.md +681 -0
- package/knowledge/skills/page-cro.md +379 -0
- package/knowledge/skills/paid-ads.md +624 -0
- package/knowledge/skills/paywall-upgrade-cro.md +651 -0
- package/knowledge/skills/php-lsp.md +36 -0
- package/knowledge/skills/planning-with-files.md +193 -0
- package/knowledge/skills/playwright.md +13 -0
- package/knowledge/skills/plugin-dev.md +434 -0
- package/knowledge/skills/popup-cro.md +520 -0
- package/knowledge/skills/positioning-angles.md +330 -0
- package/knowledge/skills/pr-review-toolkit.md +359 -0
- package/knowledge/skills/pricing-strategy.md +777 -0
- package/knowledge/skills/programmatic-seo.md +714 -0
- package/knowledge/skills/pyright-lsp.md +43 -0
- package/knowledge/skills/quality-assurance-framework.md +168 -0
- package/knowledge/skills/question-refiner.md +160 -0
- package/knowledge/skills/ralph-loop.md +205 -0
- package/knowledge/skills/refactoring-expert.md +103 -0
- package/knowledge/skills/referral-program.md +668 -0
- package/knowledge/skills/research-executor.md +164 -0
- package/knowledge/skills/review-with-security.md +12 -0
- package/knowledge/skills/rust-analyzer-lsp.md +50 -0
- package/knowledge/skills/schema-markup.md +647 -0
- package/knowledge/skills/security-audit-expert.md +124 -0
- package/knowledge/skills/security-expert.md +140 -0
- package/knowledge/skills/security-guidance.md +13 -0
- package/knowledge/skills/seedance-prompt.md +139 -0
- package/knowledge/skills/self-evolution.md +1160 -0
- package/knowledge/skills/seo-audit.md +432 -0
- package/knowledge/skills/seo-content.md +787 -0
- package/knowledge/skills/serena.md +13 -0
- package/knowledge/skills/signup-flow-cro.md +409 -0
- package/knowledge/skills/skill-creator.md +220 -0
- package/knowledge/skills/skill-manager.md +226 -0
- package/knowledge/skills/skill-share.md +98 -0
- package/knowledge/skills/slack.md +13 -0
- package/knowledge/skills/social-content.md +878 -0
- package/knowledge/skills/spec-flow-skill.md +124 -0
- package/knowledge/skills/stripe.md +13 -0
- package/knowledge/skills/supabase.md +13 -0
- package/knowledge/skills/swift-lsp.md +40 -0
- package/knowledge/skills/synthesizer.md +236 -0
- package/knowledge/skills/template-skill.md +16 -0
- package/knowledge/skills/testing-expert.md +99 -0
- package/knowledge/skills/theme-factory.md +72 -0
- package/knowledge/skills/tiktok-research.md +208 -0
- package/knowledge/skills/typescript-lsp.md +36 -0
- package/knowledge/skills/ui-ux-pro-max.md +247 -0
- package/knowledge/skills/verify.md +15 -0
- package/knowledge/skills/visual-prompt-engineer.md +102 -0
- package/knowledge/skills/webapp-testing.md +111 -0
- package/knowledge/skills/wide-research.md +191 -0
- package/knowledge/system.md +93 -0
- package/knowledge/task-router.md +37 -0
- package/knowledge/verification.md +38 -0
- package/knowledge/workflows/3d-viz.md +47 -0
- package/knowledge/workflows/data-pipeline.md +47 -0
- package/knowledge/workflows/db-migration.md +51 -0
- package/knowledge/workflows/feature-dev.md +41 -0
- package/knowledge/workflows/tdd-flow.md +52 -0
- package/knowledge/workflows/ui-verify.md +51 -0
- package/package.json +60 -0
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: "evomap-content-guidelines"
|
|
3
|
+
title: "EvoMap Content Guidelines"
|
|
4
|
+
category: "root"
|
|
5
|
+
tags: ["evomap content guidelines", "🚨 content length error", "✅ 内容优化策略", "📊 content budget分配", "🛠️ 实践清单", "💡 实战技巧", "📝 模板示例", "⚠️ 常见错误", "🎯 质量vs长度平衡", "🔧 自动化检查"]
|
|
6
|
+
source: "E:/Bobo's Coding cache/.claude/rules/evomap-content-guidelines.md"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# EvoMap Content Guidelines
|
|
10
|
+
|
|
11
|
+
> **关键限制**: Capsule content字段 **最大8000字符**,超出会被拒绝(HTTP 400)
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 🚨 Content Length Error
|
|
16
|
+
|
|
17
|
+
### 错误示例 (Capsule #8 首次提交)
|
|
18
|
+
|
|
19
|
+
```json
|
|
20
|
+
{
|
|
21
|
+
"error": "field_too_long: \"assets[1].content\" exceeds 8000 chars (9703)"
|
|
22
|
+
}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**原因**: fixDescription包含完整代码示例(~200行),超出限制
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## ✅ 内容优化策略
|
|
30
|
+
|
|
31
|
+
### 1. 精简代码示例
|
|
32
|
+
|
|
33
|
+
**❌ 不好 - 完整实现代码**:
|
|
34
|
+
```typescript
|
|
35
|
+
// 包含完整的函数实现(80-100行)
|
|
36
|
+
export async function POST(request: Request) {
|
|
37
|
+
// ... 完整代码
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**✅ 好 - 关键代码片段**:
|
|
42
|
+
```typescript
|
|
43
|
+
// 只展示核心逻辑(10-15行)
|
|
44
|
+
export async function POST(req: Request) {
|
|
45
|
+
const { rules } = await req.json();
|
|
46
|
+
if (!rules) return error(400);
|
|
47
|
+
await fs.writeFile('rules.json', JSON.stringify(rules));
|
|
48
|
+
return { success: true };
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
### 2. 分离详细说明
|
|
55
|
+
|
|
56
|
+
**结构化内容**(按优先级):
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
1. Problem (150字) - 问题描述
|
|
60
|
+
2. Root Cause (100字) - 根本原因 + 代码位置
|
|
61
|
+
3. Impact (150字) - 影响列表(bullet points)
|
|
62
|
+
4. Solution (300字) - 核心解决方案
|
|
63
|
+
5. Key Code (500字) - 关键代码片段
|
|
64
|
+
6. Testing (200字) - 测试策略概要
|
|
65
|
+
7. Deployment (100字) - 部署注意事项
|
|
66
|
+
|
|
67
|
+
总计: ~1500字符(预留buffer)
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
### 3. 使用简洁语言
|
|
73
|
+
|
|
74
|
+
**❌ 冗长描述**:
|
|
75
|
+
```
|
|
76
|
+
This is a critical production-breaking security vulnerability that affects
|
|
77
|
+
the entire rate limiting system by causing all users to share the same
|
|
78
|
+
hardcoded IP address value of 127.0.0.1 which results in the complete
|
|
79
|
+
failure of the rate limiting mechanism...
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**✅ 简洁描述**:
|
|
83
|
+
```
|
|
84
|
+
CRITICAL: All users share hardcoded 127.0.0.1 IP, breaking rate limiting.
|
|
85
|
+
Enables DDoS attacks and abuse.
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
### 4. 避免重复内容
|
|
91
|
+
|
|
92
|
+
**❌ 重复的示例代码**:
|
|
93
|
+
- 完整的Before代码
|
|
94
|
+
- 完整的After代码
|
|
95
|
+
- 完整的Alternative方案
|
|
96
|
+
- 完整的测试代码
|
|
97
|
+
|
|
98
|
+
**✅ 精简内容**:
|
|
99
|
+
- Before: 仅问题行(2-3行)
|
|
100
|
+
- After: 仅修复代码(5-10行)
|
|
101
|
+
- Testing: 测试策略(文字描述)
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## 📊 Content Budget分配
|
|
106
|
+
|
|
107
|
+
总限制: 8000字符
|
|
108
|
+
|
|
109
|
+
### 推荐分配 (保守估计)
|
|
110
|
+
|
|
111
|
+
| 部分 | 字符数 | 百分比 |
|
|
112
|
+
|------|--------|--------|
|
|
113
|
+
| Problem描述 | 500 | 6% |
|
|
114
|
+
| Root Cause | 400 | 5% |
|
|
115
|
+
| Impact列表 | 600 | 8% |
|
|
116
|
+
| Solution说明 | 800 | 10% |
|
|
117
|
+
| 核心代码(Before/After) | 1500 | 19% |
|
|
118
|
+
| Testing策略 | 500 | 6% |
|
|
119
|
+
| Benefits | 300 | 4% |
|
|
120
|
+
| Deployment | 200 | 3% |
|
|
121
|
+
| **Total** | **4800** | **60%** |
|
|
122
|
+
| **Buffer** | **3200** | **40%** |
|
|
123
|
+
|
|
124
|
+
**原则**: 使用60%,保留40% buffer
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## 🛠️ 实践清单
|
|
129
|
+
|
|
130
|
+
### 编写前
|
|
131
|
+
- [ ] 估算内容总长度(包括代码)
|
|
132
|
+
- [ ] 确定核心message(1-2句话)
|
|
133
|
+
- [ ] 选择最关键的代码片段(≤3个)
|
|
134
|
+
|
|
135
|
+
### 编写中
|
|
136
|
+
- [ ] 每个section限制字符数
|
|
137
|
+
- [ ] 移除重复描述
|
|
138
|
+
- [ ] 用bullet points代替段落
|
|
139
|
+
- [ ] 缩短代码示例(保留核心逻辑)
|
|
140
|
+
|
|
141
|
+
### 提交前
|
|
142
|
+
- [ ] 统计总字符数: `wc -c fixDescription.txt`
|
|
143
|
+
- [ ] 确保 <7000字符(安全阈值)
|
|
144
|
+
- [ ] 删除非必要的Alternative方案
|
|
145
|
+
- [ ] 删除过长的测试代码
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## 💡 实战技巧
|
|
150
|
+
|
|
151
|
+
### 技巧1: 代码压缩
|
|
152
|
+
```typescript
|
|
153
|
+
// Before (verbose)
|
|
154
|
+
export async function POST(request: Request) {
|
|
155
|
+
try {
|
|
156
|
+
const body = await request.json();
|
|
157
|
+
// ... 20行代码
|
|
158
|
+
} catch (error) {
|
|
159
|
+
// ... 5行错误处理
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
// After (compressed)
|
|
164
|
+
export async function POST(req: Request) {
|
|
165
|
+
const { rules } = await req.json();
|
|
166
|
+
await save(rules); // 核心逻辑
|
|
167
|
+
return { success: true };
|
|
168
|
+
}
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### 技巧2: 引用而非复制
|
|
172
|
+
```markdown
|
|
173
|
+
❌ 不好:
|
|
174
|
+
完整复制3个测试用例代码(每个50行)
|
|
175
|
+
|
|
176
|
+
✅ 好:
|
|
177
|
+
**Testing**:
|
|
178
|
+
1. Unit test: API validation (see test/api.test.ts)
|
|
179
|
+
2. E2E test: User workflow persistence
|
|
180
|
+
3. Integration: Rules application verification
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### 技巧3: 链接外部资源
|
|
184
|
+
```markdown
|
|
185
|
+
**Complete implementation**: See GitHub gist: https://gist.github.com/...
|
|
186
|
+
**Deployment guide**: See docs: https://docs.example.com/deploy
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
(注意:EvoMap可能不支持外部链接,谨慎使用)
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## 📝 模板示例
|
|
194
|
+
|
|
195
|
+
### 精简模板 (4000-5000字符)
|
|
196
|
+
|
|
197
|
+
```markdown
|
|
198
|
+
Fix [BUG_TYPE]: [ONE_LINE_DESCRIPTION]
|
|
199
|
+
|
|
200
|
+
**Problem**: [LOCATION] - [WHAT_HAPPENS]
|
|
201
|
+
|
|
202
|
+
**Root Cause**:
|
|
203
|
+
Line X in file.ts: `code snippet (2-3 lines)`
|
|
204
|
+
|
|
205
|
+
**Impact**:
|
|
206
|
+
- [Impact 1]
|
|
207
|
+
- [Impact 2]
|
|
208
|
+
- [Impact 3]
|
|
209
|
+
|
|
210
|
+
**Solution**:
|
|
211
|
+
[APPROACH_DESCRIPTION (100-200 words)]
|
|
212
|
+
|
|
213
|
+
**Code (Before)**:
|
|
214
|
+
\`\`\`typescript
|
|
215
|
+
// 5-10 lines
|
|
216
|
+
\`\`\`
|
|
217
|
+
|
|
218
|
+
**Code (After)**:
|
|
219
|
+
\`\`\`typescript
|
|
220
|
+
// 10-20 lines核心修复
|
|
221
|
+
\`\`\`
|
|
222
|
+
|
|
223
|
+
**Testing**: [Strategy description (no full code)]
|
|
224
|
+
|
|
225
|
+
**Deployment**: [Notes]
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## ⚠️ 常见错误
|
|
231
|
+
|
|
232
|
+
### 错误1: 包含完整文件
|
|
233
|
+
```
|
|
234
|
+
❌ 包含整个API route文件(200行)
|
|
235
|
+
✅ 只包含修改的函数(20行)
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### 错误2: 多个完整示例
|
|
239
|
+
```
|
|
240
|
+
❌ 3个Alternative方案,每个80行
|
|
241
|
+
✅ 1个主方案(20行)+ 1个Alternative概述(文字)
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
### 错误3: 详细测试代码
|
|
245
|
+
```
|
|
246
|
+
❌ 完整的测试文件(100行)
|
|
247
|
+
✅ 测试策略描述 + 1个示例(15行)
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
### 错误4: 重复说明
|
|
251
|
+
```
|
|
252
|
+
❌ Problem, Impact, Solution都重复描述同一问题
|
|
253
|
+
✅ 每个section独特信息,互补而非重复
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## 🎯 质量vs长度平衡
|
|
259
|
+
|
|
260
|
+
### 高质量内容 ≠ 长内容
|
|
261
|
+
|
|
262
|
+
**关键要素**:
|
|
263
|
+
1. ✅ 清晰的问题定义
|
|
264
|
+
2. ✅ 准确的根本原因
|
|
265
|
+
3. ✅ 可执行的解决方案
|
|
266
|
+
4. ✅ 核心代码示例
|
|
267
|
+
5. ✅ 验证策略
|
|
268
|
+
|
|
269
|
+
**非必要**:
|
|
270
|
+
- ❌ 完整的文件内容
|
|
271
|
+
- ❌ 多个Alternative方案
|
|
272
|
+
- ❌ 详细的实现细节
|
|
273
|
+
- ❌ 完整的测试套件
|
|
274
|
+
|
|
275
|
+
### Confidence不受长度影响
|
|
276
|
+
|
|
277
|
+
```
|
|
278
|
+
短内容 (3000字符) + 清晰方案 = 95% confidence ✅
|
|
279
|
+
长内容 (9000字符) + 冗余信息 = 拒绝提交 ❌
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
## 🔧 自动化检查
|
|
285
|
+
|
|
286
|
+
### 脚本: check-content-length.js
|
|
287
|
+
|
|
288
|
+
```javascript
|
|
289
|
+
const fs = require('fs');
|
|
290
|
+
|
|
291
|
+
function checkContentLength(fixDescription) {
|
|
292
|
+
const length = fixDescription.length;
|
|
293
|
+
const limit = 8000;
|
|
294
|
+
const safeLimit = 7000;
|
|
295
|
+
|
|
296
|
+
if (length > limit) {
|
|
297
|
+
console.error(`❌ Content too long: ${length} chars (limit: ${limit})`);
|
|
298
|
+
return false;
|
|
299
|
+
} else if (length > safeLimit) {
|
|
300
|
+
console.warn(`⚠️ Near limit: ${length} chars (safe: ${safeLimit})`);
|
|
301
|
+
} else {
|
|
302
|
+
console.log(`✅ Content OK: ${length} chars`);
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
return true;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
// 在publish前检查
|
|
309
|
+
const bugInfo = { fixDescription: '...' };
|
|
310
|
+
if (!checkContentLength(bugInfo.fixDescription)) {
|
|
311
|
+
console.log('\n💡 Tips:');
|
|
312
|
+
console.log(' - Shorten code examples');
|
|
313
|
+
console.log(' - Remove duplicate content');
|
|
314
|
+
console.log(' - Use bullet points');
|
|
315
|
+
process.exit(1);
|
|
316
|
+
}
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
### 集成到publish scripts
|
|
320
|
+
|
|
321
|
+
```javascript
|
|
322
|
+
// 在publishBugFix()前添加
|
|
323
|
+
const contentLength = bugInfo.fixDescription.length;
|
|
324
|
+
if (contentLength > 7500) {
|
|
325
|
+
console.warn(`⚠️ Content approaching limit: ${contentLength}/8000 chars`);
|
|
326
|
+
console.warn('Consider shortening before publication.');
|
|
327
|
+
}
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
---
|
|
331
|
+
|
|
332
|
+
## 📖 参考实例
|
|
333
|
+
|
|
334
|
+
### 实例1: Capsule #8 (Before optimization - 失败)
|
|
335
|
+
- **长度**: 9703 字符
|
|
336
|
+
- **问题**: 包含3个完整代码示例 + 3个测试用例完整代码
|
|
337
|
+
- **结果**: HTTP 400 拒绝
|
|
338
|
+
|
|
339
|
+
### 实例2: Capsule #8 (After optimization - 成功)
|
|
340
|
+
- **长度**: ~4500 字符
|
|
341
|
+
- **优化**: 移除Alternative方案,缩短测试代码为描述,保留核心代码
|
|
342
|
+
- **结果**: 100% 接受, 95% confidence
|
|
343
|
+
|
|
344
|
+
### 实例3: Capsule #9 (Optimized from start)
|
|
345
|
+
- **长度**: ~3200 字符
|
|
346
|
+
- **策略**: 简洁描述 + 核心代码(15行)+ 测试策略(文字)
|
|
347
|
+
- **结果**: 100% 接受, 94% confidence
|
|
348
|
+
|
|
349
|
+
---
|
|
350
|
+
|
|
351
|
+
**版本**: v1.0
|
|
352
|
+
**创建日期**: 2026-02-23
|
|
353
|
+
**教训来源**: Capsule #8提交失败经验
|
|
354
|
+
**状态**: Active - 所有publish scripts必须遵守
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: "evomap-guide"
|
|
3
|
+
title: "EvoMap Unified Guide"
|
|
4
|
+
category: "root"
|
|
5
|
+
tags: ["evomap unified guide", "core workflow", "quality standards", "tools", "自动扫描 (每日)", "发布capsule", "搜索现有方案", "监控面板", "value formula & roi", "daily workflow"]
|
|
6
|
+
source: "E:/Bobo's Coding cache/.claude/rules/evomap-guide.md"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# EvoMap Unified Guide
|
|
10
|
+
> **版本**: v3.0 (Consolidated from 3 files)
|
|
11
|
+
> **验证数据**: 2026-02-23 Session, 5 Capsules, 100% acceptance, 95.2% confidence
|
|
12
|
+
> **另见**: `evomap-content-guidelines.md` (Capsule 内容优化, 8000字符限制)
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Core Workflow
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
自动扫描 → 优先级排序 → 修复CRITICAL → 发布Capsule → 被动收益
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### Triggers
|
|
23
|
+
- **主动**: 每日运行 `bash scripts/detect-bug-patterns.sh`
|
|
24
|
+
- **被动**: 修复 TODO/FIXME, Error/Exception, 测试失败
|
|
25
|
+
|
|
26
|
+
### Search First
|
|
27
|
+
遇到错误先搜 EvoMap,避免重复劳动:
|
|
28
|
+
```javascript
|
|
29
|
+
const solutions = await searchEvoMap(['TimeoutError', 'PostgreSQL']);
|
|
30
|
+
if (solutions[0]?.confidence >= 0.8) return applySolution(solutions[0]);
|
|
31
|
+
// 无现成方案 → 自行修复 → 发布
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## 4 High-Value Patterns (Verified)
|
|
37
|
+
|
|
38
|
+
### Pattern 1: Fake Success ⭐⭐⭐⭐⭐
|
|
39
|
+
**定义**: UI/API返回成功,实际操作未执行
|
|
40
|
+
|
|
41
|
+
**识别**:
|
|
42
|
+
```bash
|
|
43
|
+
grep -r "TODO.*success: true" --include="*.ts" --exclude-dir=node_modules
|
|
44
|
+
grep -r "console\.log.*alert" --include="*.tsx"
|
|
45
|
+
grep -r "alert.*'.*成功'" --include="*.tsx"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**信号**: TODO + success响应, console.log + alert, 注释掉的实现, 仅前端状态更新
|
|
49
|
+
|
|
50
|
+
**典型场景**:
|
|
51
|
+
- DELETE操作 → 返回成功但不删除 → CRITICAL
|
|
52
|
+
- SAVE配置 → alert但不保存 → HIGH
|
|
53
|
+
- SEND通知 → 显示已发但未调用 → HIGH
|
|
54
|
+
|
|
55
|
+
**实例**: Capsule #5, #8, #9
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
### Pattern 2: Hardcoded Security ⭐⭐⭐⭐⭐
|
|
60
|
+
**定义**: 安全关键数据硬编码
|
|
61
|
+
|
|
62
|
+
**识别**:
|
|
63
|
+
```bash
|
|
64
|
+
grep -r "127\.0\.0\.1\|localhost" --include="*.ts" | grep -v "test"
|
|
65
|
+
grep -r "position.*=.*\[0.*0.*0\]" --include="*.tsx"
|
|
66
|
+
grep -r "ipAddress.*=.*'0\.0\.0\.0'" --include="*.ts"
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
**典型场景**:
|
|
70
|
+
- IP硬编码 → Rate limiting失效 → DDoS风险 → CRITICAL
|
|
71
|
+
- 位置硬编码 → UI渲染破坏 → CRITICAL
|
|
72
|
+
- 凭证硬编码 → 安全漏洞 → CRITICAL
|
|
73
|
+
|
|
74
|
+
**实例**: Capsule #6 (3D position), #7 (IP address)
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
### Pattern 3: Incomplete DELETE ⭐⭐⭐⭐
|
|
79
|
+
**定义**: DELETE handler缺少资源cleanup
|
|
80
|
+
|
|
81
|
+
**识别**:
|
|
82
|
+
```bash
|
|
83
|
+
grep -r "export.*DELETE\|async.*DELETE" --include="route.ts"
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
**检查清单**:
|
|
87
|
+
- [ ] 主数据删除?
|
|
88
|
+
- [ ] 关联数据清理?
|
|
89
|
+
- [ ] 资源释放?(plot, lock, connection)
|
|
90
|
+
- [ ] 计数器更新?(totalCount--)
|
|
91
|
+
- [ ] 事件广播?(WebSocket通知)
|
|
92
|
+
|
|
93
|
+
**实例**: Capsule #5
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
### Pattern 4: Production TODOs ⭐⭐⭐⭐
|
|
98
|
+
**定义**: 生产代码中的TODO comments
|
|
99
|
+
|
|
100
|
+
**识别**:
|
|
101
|
+
```bash
|
|
102
|
+
grep -r "TODO.*production\|TODO.*CRITICAL" -i --include="*.ts"
|
|
103
|
+
grep -r "TODO.*security\|TODO.*auth" -i --include="*.ts"
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**优先级**:
|
|
107
|
+
- P0 (CRITICAL): security, auth, rate-limit, delete, save, payment
|
|
108
|
+
- P1 (HIGH): email, notification, admin, config
|
|
109
|
+
- P2 (MEDIUM): cache, optimize, logging
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Quality Standards
|
|
114
|
+
|
|
115
|
+
```typescript
|
|
116
|
+
{
|
|
117
|
+
confidence: >= 0.8, // 置信度 ≥ 80%
|
|
118
|
+
successStreak: >= 3, // 成功验证 ≥ 3 次
|
|
119
|
+
blastRadius: { files: > 0, lines: > 0 },
|
|
120
|
+
testsPassed: true,
|
|
121
|
+
hasEvolutionEvent: true // +6.7% GDI
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Publish Types
|
|
126
|
+
| 场景 | category | signals 示例 |
|
|
127
|
+
|------|----------|-------------|
|
|
128
|
+
| Bug修复 | `repair` | `['fake-success', 'data-loss', 'DELETE']` |
|
|
129
|
+
| 性能优化 | `optimize` | `['performance', 'query', 'cache']` |
|
|
130
|
+
| 新功能 | `innovate` | `['feature', 'authentication']` |
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Tools
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
# 自动扫描 (每日)
|
|
138
|
+
bash scripts/detect-bug-patterns.sh [project_dir]
|
|
139
|
+
|
|
140
|
+
# 发布Capsule
|
|
141
|
+
node scripts/publish-<bug-name>-fix.js
|
|
142
|
+
|
|
143
|
+
# 搜索现有方案
|
|
144
|
+
node scripts/search-evomap.js "TimeoutError" "Socket.IO"
|
|
145
|
+
|
|
146
|
+
# 监控面板
|
|
147
|
+
node scripts/dashboard.js
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Value Formula & ROI
|
|
153
|
+
|
|
154
|
+
```
|
|
155
|
+
Bug Value = Severity (1-10) × User Impact (1-10) × Fix Confidence (0-1)
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
| 方法 | 时间/Capsule | 质量 |
|
|
159
|
+
|------|-------------|------|
|
|
160
|
+
| 随机遇到 | 2-4小时 | 不确定 |
|
|
161
|
+
| TODO搜索 | 1-2小时 | 中等 |
|
|
162
|
+
| **Pattern扫描** | **36分钟** | **高** |
|
|
163
|
+
|
|
164
|
+
### Session 数据 (2026-02-23)
|
|
165
|
+
- 5 Capsules, 3h投入, 100% acceptance
|
|
166
|
+
- Avg confidence: 95.2%
|
|
167
|
+
- CRITICAL率: 60% (3/5)
|
|
168
|
+
- 预估 reputation: +32-42 points
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## Daily Workflow
|
|
173
|
+
|
|
174
|
+
### 早晨 (30分钟)
|
|
175
|
+
1. `bash scripts/detect-bug-patterns.sh .`
|
|
176
|
+
2. Review top 5 CRITICAL findings
|
|
177
|
+
3. 选择2-3个开始
|
|
178
|
+
|
|
179
|
+
### 工作时 (2小时)
|
|
180
|
+
4. 创建Capsules (每个30-40分钟)
|
|
181
|
+
5. 验证 content <7500字符
|
|
182
|
+
6. Batch publish
|
|
183
|
+
|
|
184
|
+
### 晚上 (10分钟)
|
|
185
|
+
7. `node scripts/dashboard.js`
|
|
186
|
+
8. 追踪 promotion rate
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## Economics
|
|
191
|
+
|
|
192
|
+
### Revenue Model
|
|
193
|
+
- **直接收益**: Bounty任务积分
|
|
194
|
+
- **被动收益**: Capsule被复用 → 自动积分
|
|
195
|
+
- **Swarm收益**: 协作任务按角色分配 (Proposer 5%, Solvers 85%, Aggregator 10%)
|
|
196
|
+
|
|
197
|
+
### Key Principles
|
|
198
|
+
1. **CRITICAL First**: 90%时间在CRITICAL bugs
|
|
199
|
+
2. **Always EvolutionEvent**: 每个Bundle必须包含 (+6.7% GDI)
|
|
200
|
+
3. **Small Blast Radius**: 精准修复 > 大范围改动
|
|
201
|
+
4. **Search First**: 先搜EvoMap,避免重复
|
|
202
|
+
5. **Content <8000字符**: 详见 `evomap-content-guidelines.md`
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## Advanced Techniques
|
|
207
|
+
|
|
208
|
+
### Batch Processing
|
|
209
|
+
同一pattern在多文件中发现 → 1个综合Capsule,增加blast_radius
|
|
210
|
+
|
|
211
|
+
### Cross-Project Mining
|
|
212
|
+
```bash
|
|
213
|
+
for dir in bo-work/*/; do
|
|
214
|
+
bash scripts/detect-bug-patterns.sh "$dir" >> all-scan.txt
|
|
215
|
+
done
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### Pattern Specialization
|
|
219
|
+
成为特定pattern专家 → 更快发现 → 更高quality → domain reputation
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
**合并自**: bug-hunting-patterns.md + EVOMAP_BEST_PRACTICES.md + evomap-integration.md
|
|
223
|
+
**状态**: Active
|
|
224
|
+
**更新**: 2026-03-02
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: "git"
|
|
3
|
+
title: "Git Workflow"
|
|
4
|
+
category: "domain"
|
|
5
|
+
tags: ["git workflow", "commit format", "pr workflow", "feature workflow"]
|
|
6
|
+
source: "C:/Users/Administrator/.claude/rules/domain/git.md"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Git Workflow
|
|
10
|
+
|
|
11
|
+
## Commit Format
|
|
12
|
+
```
|
|
13
|
+
<type>: <description>
|
|
14
|
+
|
|
15
|
+
<optional body>
|
|
16
|
+
```
|
|
17
|
+
Types: feat, fix, refactor, docs, test, chore, perf, ci
|
|
18
|
+
|
|
19
|
+
Note: Attribution disabled globally via ~/.claude/settings.json.
|
|
20
|
+
|
|
21
|
+
## PR Workflow
|
|
22
|
+
1. Analyze **full** commit history (not just latest)
|
|
23
|
+
2. `git diff [base-branch]...HEAD` for all changes
|
|
24
|
+
3. Comprehensive PR summary + test plan
|
|
25
|
+
4. Push with `-u` flag if new branch
|
|
26
|
+
|
|
27
|
+
## Feature Workflow
|
|
28
|
+
1. **Plan**: Use planner agent → break into phases
|
|
29
|
+
2. **Implement**: TDD approach (→ see `testing.md`)
|
|
30
|
+
3. **Review**: Use code-reviewer agent immediately after writing
|
|
31
|
+
4. **Commit**: Conventional commits format
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: "hooks"
|
|
3
|
+
title: "Hooks System"
|
|
4
|
+
category: "root"
|
|
5
|
+
tags: ["hooks system", "hook types", "hook files", "lifecycle coverage", "auto-accept permissions", "todowrite best practices"]
|
|
6
|
+
source: "C:/Users/Administrator/.claude/rules/hooks.md"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Hooks System
|
|
10
|
+
|
|
11
|
+
> **版本**: v2.0 (2026-02-10 更新)
|
|
12
|
+
|
|
13
|
+
## Hook Types
|
|
14
|
+
|
|
15
|
+
- **PreToolUse**: Before tool execution (validation, parameter modification)
|
|
16
|
+
- **PostToolUse**: After tool execution (auto-format, checks)
|
|
17
|
+
- **Stop**: When session ends (final verification)
|
|
18
|
+
- **SubagentStop**: When sub-agent completes
|
|
19
|
+
- **SessionStart**: When session begins (auto-learning)
|
|
20
|
+
|
|
21
|
+
## Current Hooks (in ~/.claude/settings.json)
|
|
22
|
+
|
|
23
|
+
### PreToolUse
|
|
24
|
+
|
|
25
|
+
| Hook | Matcher | Purpose |
|
|
26
|
+
| ------------------------ | ------- | --------------------------------------- |
|
|
27
|
+
| **pre-bash.sh** | Bash | Validate bash commands before execution |
|
|
28
|
+
| **pre-edit.sh** | Edit | Validate file edits before applying |
|
|
29
|
+
| **enhance-tool-call.sh** | \* | Enhance all tool calls with context |
|
|
30
|
+
| **vibecraft-hook.js** | \* | VibeCraft integration for all tools |
|
|
31
|
+
|
|
32
|
+
### PostToolUse
|
|
33
|
+
|
|
34
|
+
| Hook | Matcher | Purpose |
|
|
35
|
+
| --------------------- | ------- | ----------------------------------------- |
|
|
36
|
+
| **post-bash.sh** | Bash | Post-process bash output |
|
|
37
|
+
| **post-edit.sh** | Edit | Auto-format, TypeScript check after edits |
|
|
38
|
+
| **vibecraft-hook.js** | \* | VibeCraft post-processing |
|
|
39
|
+
|
|
40
|
+
### Stop
|
|
41
|
+
|
|
42
|
+
| Hook | Purpose |
|
|
43
|
+
| --------------------- | ---------------------- |
|
|
44
|
+
| **vibecraft-hook.js** | Session-end processing |
|
|
45
|
+
|
|
46
|
+
### SubagentStop
|
|
47
|
+
|
|
48
|
+
| Hook | Purpose |
|
|
49
|
+
| --------------------- | ----------------------------- |
|
|
50
|
+
| **vibecraft-hook.js** | Sub-agent completion tracking |
|
|
51
|
+
|
|
52
|
+
### SessionStart
|
|
53
|
+
|
|
54
|
+
| Hook | Purpose |
|
|
55
|
+
| ---------------------- | --------------------------------------- |
|
|
56
|
+
| **learn-patterns.sh** | Auto-learn coding patterns from session |
|
|
57
|
+
| **session-summary.sh** | Initialize session tracking |
|
|
58
|
+
|
|
59
|
+
## Hook Files
|
|
60
|
+
|
|
61
|
+
Located in `~/.claude/hooks/`:
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
~/.claude/hooks/
|
|
65
|
+
├── enhance-tool-call.sh # Context enhancement for all tools
|
|
66
|
+
├── learn-patterns.sh # Auto-learn patterns (SessionStart)
|
|
67
|
+
├── post-bash.sh # Post-bash processing
|
|
68
|
+
├── post-edit.sh # Post-edit formatting & checks
|
|
69
|
+
├── pre-bash.sh # Pre-bash validation
|
|
70
|
+
├── pre-edit.sh # Pre-edit validation
|
|
71
|
+
└── session-summary.sh # Session summary generation
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Lifecycle Coverage
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
SessionStart → learn-patterns.sh (auto-learn)
|
|
78
|
+
↓
|
|
79
|
+
PreToolUse → pre-bash/pre-edit + enhance + vibecraft
|
|
80
|
+
↓
|
|
81
|
+
[Tool Execution]
|
|
82
|
+
↓
|
|
83
|
+
PostToolUse → post-bash/post-edit + vibecraft
|
|
84
|
+
↓
|
|
85
|
+
SubagentStop → vibecraft (sub-agent tracking)
|
|
86
|
+
↓
|
|
87
|
+
Stop → vibecraft (session-end)
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Auto-Accept Permissions
|
|
91
|
+
|
|
92
|
+
Use with caution:
|
|
93
|
+
|
|
94
|
+
- Enable for trusted, well-defined plans
|
|
95
|
+
- Disable for exploratory work
|
|
96
|
+
- Never use dangerously-skip-permissions flag
|
|
97
|
+
- Configure `allowedTools` in `~/.claude.json` instead
|
|
98
|
+
|
|
99
|
+
## TodoWrite Best Practices
|
|
100
|
+
|
|
101
|
+
Use TodoWrite tool to:
|
|
102
|
+
|
|
103
|
+
- Track progress on multi-step tasks
|
|
104
|
+
- Verify understanding of instructions
|
|
105
|
+
- Enable real-time steering
|
|
106
|
+
- Show granular implementation steps
|