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