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.
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,354 +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必须遵守
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必须遵守