@su-record/vibe 2.7.14 → 2.7.16
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/.env.example +37 -37
- package/CLAUDE.md +134 -126
- package/LICENSE +21 -21
- package/README.md +449 -449
- package/agents/architect-low.md +41 -41
- package/agents/architect-medium.md +59 -59
- package/agents/architect.md +80 -80
- package/agents/build-error-resolver.md +115 -115
- package/agents/compounder.md +261 -261
- package/agents/diagrammer.md +178 -178
- package/agents/docs/api-documenter.md +99 -99
- package/agents/docs/changelog-writer.md +93 -93
- package/agents/e2e-tester.md +294 -294
- package/agents/explorer-low.md +42 -42
- package/agents/explorer-medium.md +59 -59
- package/agents/explorer.md +48 -48
- package/agents/implementer-low.md +43 -43
- package/agents/implementer-medium.md +52 -52
- package/agents/implementer.md +54 -54
- package/agents/junior-mentor.md +141 -141
- package/agents/planning/requirements-analyst.md +84 -84
- package/agents/planning/ux-advisor.md +83 -83
- package/agents/qa/acceptance-tester.md +86 -86
- package/agents/qa/edge-case-finder.md +93 -93
- package/agents/refactor-cleaner.md +143 -143
- package/agents/research/best-practices-agent.md +199 -199
- package/agents/research/codebase-patterns-agent.md +157 -157
- package/agents/research/framework-docs-agent.md +188 -188
- package/agents/research/security-advisory-agent.md +213 -213
- package/agents/review/architecture-reviewer.md +107 -107
- package/agents/review/complexity-reviewer.md +116 -116
- package/agents/review/data-integrity-reviewer.md +88 -88
- package/agents/review/git-history-reviewer.md +103 -103
- package/agents/review/performance-reviewer.md +86 -86
- package/agents/review/python-reviewer.md +150 -150
- package/agents/review/rails-reviewer.md +139 -139
- package/agents/review/react-reviewer.md +144 -144
- package/agents/review/security-reviewer.md +80 -80
- package/agents/review/simplicity-reviewer.md +140 -140
- package/agents/review/test-coverage-reviewer.md +116 -116
- package/agents/review/typescript-reviewer.md +127 -127
- package/agents/searcher.md +54 -54
- package/agents/simplifier.md +120 -120
- package/agents/tester.md +49 -49
- package/agents/ui/ui-a11y-auditor.md +93 -93
- package/agents/ui/ui-antipattern-detector.md +94 -94
- package/agents/ui/ui-dataviz-advisor.md +69 -69
- package/agents/ui/ui-design-system-gen.md +57 -57
- package/agents/ui/ui-industry-analyzer.md +49 -49
- package/agents/ui/ui-layout-architect.md +65 -65
- package/agents/ui/ui-stack-implementer.md +68 -68
- package/agents/ui/ux-compliance-reviewer.md +81 -81
- package/agents/ui-previewer.md +258 -258
- package/commands/vibe.analyze.md +11 -13
- package/commands/vibe.review.md +43 -1
- package/commands/vibe.run.md +2124 -2078
- package/commands/vibe.spec.md +9 -4
- package/commands/vibe.spec.review.md +569 -565
- package/commands/vibe.utils.md +413 -413
- package/commands/vibe.verify.md +33 -8
- package/dist/cli/collaborator.js +52 -52
- package/dist/cli/commands/evolution.js +12 -12
- package/dist/cli/commands/info.d.ts.map +1 -1
- package/dist/cli/commands/info.js +51 -55
- package/dist/cli/commands/info.js.map +1 -1
- package/dist/cli/commands/init.js +5 -5
- package/dist/cli/commands/remove.js +14 -14
- package/dist/cli/commands/sentinel.js +27 -27
- package/dist/cli/commands/skills.js +5 -5
- package/dist/cli/commands/slack.js +10 -10
- package/dist/cli/commands/telegram.js +12 -12
- package/dist/cli/detect.js +32 -32
- package/dist/cli/index.js +51 -51
- package/dist/cli/llm/claude-commands.js +16 -16
- package/dist/cli/llm/config.js +18 -18
- package/dist/cli/llm/gemini-commands.js +16 -16
- package/dist/cli/llm/gpt-commands.js +19 -19
- package/dist/cli/llm/help.js +21 -21
- package/dist/cli/postinstall/constants.d.ts.map +1 -1
- package/dist/cli/postinstall/constants.js +7 -8
- package/dist/cli/postinstall/constants.js.map +1 -1
- package/dist/cli/postinstall/cursor-agents.js +32 -32
- package/dist/cli/postinstall/cursor-rules.js +83 -83
- package/dist/cli/postinstall/cursor-skills.js +743 -743
- package/dist/cli/setup/Provisioner.js +42 -42
- package/dist/infra/lib/DeepInit.js +24 -24
- package/dist/infra/lib/IterationTracker.js +11 -11
- package/dist/infra/lib/PythonParser.js +108 -108
- package/dist/infra/lib/ReviewRace.js +96 -96
- package/dist/infra/lib/SkillFrontmatter.js +28 -28
- package/dist/infra/lib/SkillQualityGate.js +9 -9
- package/dist/infra/lib/SkillRepository.js +159 -159
- package/dist/infra/lib/UltraQA.js +99 -99
- package/dist/infra/lib/autonomy/AuditStore.js +41 -41
- package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
- package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
- package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
- package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
- package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
- package/dist/infra/lib/embedding/VectorStore.js +22 -22
- package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
- package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
- package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
- package/dist/infra/lib/evolution/InsightStore.js +90 -90
- package/dist/infra/lib/evolution/RollbackManager.js +5 -5
- package/dist/infra/lib/evolution/SkillBenchmark.js +23 -23
- package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
- package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
- package/dist/infra/lib/evolution/UsageTracker.js +28 -28
- package/dist/infra/lib/gemini/orchestration.js +5 -5
- package/dist/infra/lib/gpt/orchestration.js +4 -4
- package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
- package/dist/infra/lib/memory/MemorySearch.js +57 -57
- package/dist/infra/lib/memory/MemoryStorage.js +181 -181
- package/dist/infra/lib/memory/ObservationStore.js +28 -28
- package/dist/infra/lib/memory/ReflectionStore.js +30 -30
- package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
- package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
- package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
- package/dist/infra/orchestrator/AgentManager.js +12 -12
- package/dist/infra/orchestrator/AgentRegistry.js +65 -65
- package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
- package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
- package/dist/infra/orchestrator/parallelResearch.js +24 -24
- package/dist/tools/convention/analyzeComplexity.test.js +115 -115
- package/dist/tools/convention/validateCodeQuality.test.js +104 -104
- package/dist/tools/memory/createMemoryTimeline.js +10 -10
- package/dist/tools/memory/getMemoryGraph.js +12 -12
- package/dist/tools/memory/getSessionContext.js +9 -9
- package/dist/tools/memory/linkMemories.js +14 -14
- package/dist/tools/memory/listMemories.js +4 -4
- package/dist/tools/memory/recallMemory.js +4 -4
- package/dist/tools/memory/saveMemory.js +4 -4
- package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
- package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
- package/dist/tools/semantic/astGrep.test.js +6 -6
- package/dist/tools/spec/prdParser.test.js +171 -171
- package/dist/tools/spec/specGenerator.js +169 -169
- package/dist/tools/spec/traceabilityMatrix.js +64 -64
- package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
- package/hooks/gemini-hooks.json +73 -73
- package/hooks/hooks.json +137 -137
- package/hooks/scripts/code-check.js +77 -70
- package/hooks/scripts/context-save.js +212 -212
- package/hooks/scripts/hud-status.js +291 -291
- package/hooks/scripts/keyword-detector.js +214 -214
- package/hooks/scripts/llm-orchestrate.js +475 -475
- package/hooks/scripts/post-edit.js +32 -32
- package/hooks/scripts/pre-tool-guard.js +125 -125
- package/hooks/scripts/prompt-dispatcher.js +185 -185
- package/hooks/scripts/sentinel-guard.js +104 -104
- package/hooks/scripts/session-start.js +106 -106
- package/hooks/scripts/stop-notify.js +209 -209
- package/hooks/scripts/utils.js +100 -100
- package/languages/csharp-unity.md +515 -515
- package/languages/gdscript-godot.md +470 -470
- package/languages/ruby-rails.md +489 -489
- package/languages/typescript-angular.md +433 -433
- package/languages/typescript-astro.md +416 -416
- package/languages/typescript-electron.md +406 -406
- package/languages/typescript-nestjs.md +524 -524
- package/languages/typescript-svelte.md +407 -407
- package/languages/typescript-tauri.md +365 -365
- package/package.json +121 -121
- package/skills/agents-md/SKILL.md +120 -120
- package/skills/arch-guard/SKILL.md +180 -180
- package/skills/brand-assets/SKILL.md +146 -146
- package/skills/capability-loop/SKILL.md +167 -167
- package/skills/characterization-test/SKILL.md +206 -206
- package/skills/commerce-patterns/SKILL.md +63 -59
- package/skills/commit-push-pr/SKILL.md +75 -75
- package/skills/context7-usage/SKILL.md +105 -105
- package/skills/core-capabilities/SKILL.md +13 -48
- package/skills/e2e-commerce/SKILL.md +61 -57
- package/skills/exec-plan/SKILL.md +147 -147
- package/skills/frontend-design/SKILL.md +12 -73
- package/skills/git-worktree/SKILL.md +72 -72
- package/skills/handoff/SKILL.md +109 -109
- package/skills/parallel-research/SKILL.md +87 -87
- package/skills/priority-todos/SKILL.md +63 -63
- package/skills/seo-checklist/SKILL.md +57 -57
- package/skills/techdebt/SKILL.md +122 -122
- package/skills/tool-fallback/SKILL.md +103 -103
- package/skills/typescript-advanced-types/SKILL.md +66 -66
- package/skills/ui-ux-pro-max/SKILL.md +221 -206
- package/skills/vercel-react-best-practices/SKILL.md +59 -59
- package/skills/video-production/SKILL.md +51 -51
- package/vibe/config.json +29 -29
- package/vibe/constitution.md +227 -227
- package/vibe/rules/principles/communication-guide.md +98 -98
- package/vibe/rules/principles/development-philosophy.md +52 -52
- package/vibe/rules/principles/quick-start.md +102 -102
- package/vibe/rules/quality/bdd-contract-testing.md +393 -393
- package/vibe/rules/quality/checklist.md +276 -276
- package/vibe/rules/quality/performance.md +236 -236
- package/vibe/rules/quality/testing-strategy.md +440 -440
- package/vibe/rules/standards/anti-patterns.md +541 -541
- package/vibe/rules/standards/code-structure.md +291 -291
- package/vibe/rules/standards/complexity-metrics.md +313 -313
- package/vibe/rules/standards/git-workflow.md +237 -237
- package/vibe/rules/standards/naming-conventions.md +198 -198
- package/vibe/rules/standards/security.md +305 -305
- package/vibe/rules/writing/document-style.md +74 -74
- package/vibe/setup.sh +31 -31
- package/vibe/templates/constitution-template.md +252 -252
- package/vibe/templates/contract-backend-template.md +526 -526
- package/vibe/templates/contract-frontend-template.md +599 -599
- package/vibe/templates/feature-template.md +96 -96
- package/vibe/templates/spec-template.md +221 -221
- package/vibe/ui-ux-data/charts.csv +26 -26
- package/vibe/ui-ux-data/colors.csv +97 -97
- package/vibe/ui-ux-data/icons.csv +101 -101
- package/vibe/ui-ux-data/landing.csv +31 -31
- package/vibe/ui-ux-data/products.csv +96 -96
- package/vibe/ui-ux-data/react-performance.csv +45 -45
- package/vibe/ui-ux-data/stacks/astro.csv +54 -54
- package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
- package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
- package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
- package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
- package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
- package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
- package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
- package/vibe/ui-ux-data/stacks/react.csv +54 -54
- package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
- package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
- package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
- package/vibe/ui-ux-data/stacks/vue.csv +50 -50
- package/vibe/ui-ux-data/styles.csv +68 -68
- package/vibe/ui-ux-data/typography.csv +57 -57
- package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
- package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
- package/vibe/ui-ux-data/version.json +31 -31
- package/vibe/ui-ux-data/web-interface.csv +31 -31
package/agents/compounder.md
CHANGED
|
@@ -1,261 +1,261 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Auto-document solutions for knowledge compounding
|
|
3
|
-
argument-hint: "solution description (optional)"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# /vibe.compound
|
|
7
|
-
|
|
8
|
-
**Knowledge Compounding** - Auto-document solved problems to boost future productivity
|
|
9
|
-
|
|
10
|
-
> "Each solution documented makes future problems easier to solve."
|
|
11
|
-
|
|
12
|
-
## Usage
|
|
13
|
-
|
|
14
|
-
```
|
|
15
|
-
/vibe.compound # Auto-detect recent solutions
|
|
16
|
-
/vibe.compound "Redis cache invalidation" # Document specific solution
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## Auto-Triggers
|
|
20
|
-
|
|
21
|
-
Automatically suggested when these patterns detected:
|
|
22
|
-
- "it's fixed", "fixed", "solved", "resolved"
|
|
23
|
-
- After PR merge
|
|
24
|
-
- After `/vibe.verify` passes
|
|
25
|
-
|
|
26
|
-
## Process
|
|
27
|
-
|
|
28
|
-
### Phase 1: Solution Extraction
|
|
29
|
-
|
|
30
|
-
Parallel agents analyze the solution:
|
|
31
|
-
|
|
32
|
-
```
|
|
33
|
-
┌─────────────────────────────────────────────────────────────────┐
|
|
34
|
-
│ 🔍 PARALLEL SOLUTION ANALYSIS │
|
|
35
|
-
├─────────────────────────────────────────────────────────────────┤
|
|
36
|
-
│ │
|
|
37
|
-
│ Task 1: problem-analyzer │
|
|
38
|
-
│ ├── Identify original problem │
|
|
39
|
-
│ ├── Symptoms and error messages │
|
|
40
|
-
│ └── Impact scope │
|
|
41
|
-
│ │
|
|
42
|
-
│ Task 2: solution-extractor │
|
|
43
|
-
│ ├── Applied fixes │
|
|
44
|
-
│ ├── Key code changes │
|
|
45
|
-
│ └── Configuration changes │
|
|
46
|
-
│ │
|
|
47
|
-
│ Task 3: root-cause-analyzer │
|
|
48
|
-
│ ├── Root cause identification │
|
|
49
|
-
│ ├── Why it happened │
|
|
50
|
-
│ └── Prevention methods │
|
|
51
|
-
│ │
|
|
52
|
-
│ Task 4: pattern-recognizer │
|
|
53
|
-
│ ├── Similar problem patterns │
|
|
54
|
-
│ ├── Related tech stack │
|
|
55
|
-
│ └── Search keywords │
|
|
56
|
-
│ │
|
|
57
|
-
│ Task 5: category-classifier │
|
|
58
|
-
│ ├── Category classification │
|
|
59
|
-
│ ├── Tag generation │
|
|
60
|
-
│ └── Related doc links │
|
|
61
|
-
│ │
|
|
62
|
-
│ Task 6: code-snippet-extractor │
|
|
63
|
-
│ ├── Before/After code │
|
|
64
|
-
│ ├── Key change highlights │
|
|
65
|
-
│ └── Copy-paste snippets │
|
|
66
|
-
│ │
|
|
67
|
-
│ Task 7: prevention-advisor │
|
|
68
|
-
│ ├── Prevention checklist │
|
|
69
|
-
│ ├── Suggested linter rules │
|
|
70
|
-
│ └── Test case suggestions │
|
|
71
|
-
│ │
|
|
72
|
-
└─────────────────────────────────────────────────────────────────┘
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
### Phase 2: Category Classification
|
|
76
|
-
|
|
77
|
-
```
|
|
78
|
-
.claude/vibe/solutions/
|
|
79
|
-
├── security/ # Security related
|
|
80
|
-
│ ├── sql-injection-prevention.md
|
|
81
|
-
│ └── xss-sanitization.md
|
|
82
|
-
├── performance/ # Performance optimization
|
|
83
|
-
│ ├── n1-query-fix.md
|
|
84
|
-
│ └── redis-cache-invalidation.md
|
|
85
|
-
├── database/ # Database related
|
|
86
|
-
│ ├── migration-rollback.md
|
|
87
|
-
│ └── deadlock-resolution.md
|
|
88
|
-
├── integration/ # External integrations
|
|
89
|
-
│ ├── stripe-webhook-retry.md
|
|
90
|
-
│ └── aws-s3-timeout.md
|
|
91
|
-
├── frontend/ # Frontend issues
|
|
92
|
-
│ ├── react-hydration-mismatch.md
|
|
93
|
-
│ └── infinite-scroll-memory.md
|
|
94
|
-
├── testing/ # Testing related
|
|
95
|
-
│ ├── flaky-test-fix.md
|
|
96
|
-
│ └── mock-timezone.md
|
|
97
|
-
└── deployment/ # Deployment issues
|
|
98
|
-
├── docker-layer-cache.md
|
|
99
|
-
└── k8s-rolling-update.md
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
### Phase 3: Document Generation
|
|
103
|
-
|
|
104
|
-
```markdown
|
|
105
|
-
# [Solution] Redis Cache Invalidation
|
|
106
|
-
|
|
107
|
-
## TL;DR
|
|
108
|
-
Added version suffix to Redis cache key to fix invalidation issue
|
|
109
|
-
|
|
110
|
-
## Problem
|
|
111
|
-
### Symptoms
|
|
112
|
-
- User profile shows stale data after update
|
|
113
|
-
- Refresh doesn't fix the issue
|
|
114
|
-
|
|
115
|
-
### Error/Logs
|
|
116
|
-
```
|
|
117
|
-
Cache hit: user:123 (stale data)
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
### Impact Scope
|
|
121
|
-
- User profile page
|
|
122
|
-
- API: GET /api/users/:id
|
|
123
|
-
|
|
124
|
-
## Root Cause
|
|
125
|
-
Cache key only used user_id, not invalidated on update
|
|
126
|
-
|
|
127
|
-
```python
|
|
128
|
-
# Before
|
|
129
|
-
cache_key = f"user:{user_id}" # No version
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
## Solution
|
|
133
|
-
### Key Change
|
|
134
|
-
Add updated_at timestamp to cache key
|
|
135
|
-
|
|
136
|
-
```python
|
|
137
|
-
# After
|
|
138
|
-
cache_key = f"user:{user_id}:v{updated_at.timestamp()}"
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
### Changed Files
|
|
142
|
-
- src/services/cache.py:42
|
|
143
|
-
- src/api/users.py:78
|
|
144
|
-
|
|
145
|
-
## Prevention
|
|
146
|
-
- [ ] Always include version/timestamp in cache keys
|
|
147
|
-
- [ ] Add cache invalidation tests
|
|
148
|
-
- [ ] Linter rule: cache_key pattern check
|
|
149
|
-
|
|
150
|
-
## Related
|
|
151
|
-
- Similar issue: #234 (Session cache)
|
|
152
|
-
- Docs: docs/caching-strategy.md
|
|
153
|
-
- Tags: #redis #cache #invalidation
|
|
154
|
-
|
|
155
|
-
## Metadata
|
|
156
|
-
- Resolved: 2026-01-11
|
|
157
|
-
- Time spent: 2 hours
|
|
158
|
-
- Difficulty: Medium
|
|
159
|
-
- Reusability: High
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
### Phase 4: Index Update
|
|
163
|
-
|
|
164
|
-
Auto-update `.claude/vibe/solutions/index.md`:
|
|
165
|
-
|
|
166
|
-
```markdown
|
|
167
|
-
# Solution Index
|
|
168
|
-
|
|
169
|
-
## Recently Added
|
|
170
|
-
| Date | Category | Title | Tags |
|
|
171
|
-
|------|----------|-------|------|
|
|
172
|
-
| 2026-01-11 | performance | Redis cache invalidation | #redis #cache |
|
|
173
|
-
| 2026-01-10 | security | SQL Injection prevention | #sql #security |
|
|
174
|
-
|
|
175
|
-
## By Category
|
|
176
|
-
- **Security** (5 solutions)
|
|
177
|
-
- **Performance** (8 solutions)
|
|
178
|
-
- **Database** (4 solutions)
|
|
179
|
-
...
|
|
180
|
-
|
|
181
|
-
## Search Keywords
|
|
182
|
-
- redis → performance/redis-cache-invalidation.md
|
|
183
|
-
- n+1 → performance/n1-query-fix.md
|
|
184
|
-
- sql injection → security/sql-injection-prevention.md
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
## Auto-Suggestion
|
|
188
|
-
|
|
189
|
-
When similar problem detected:
|
|
190
|
-
|
|
191
|
-
```
|
|
192
|
-
┌─────────────────────────────────────────────────────────────────┐
|
|
193
|
-
│ 💡 Similar Solution Found! │
|
|
194
|
-
├─────────────────────────────────────────────────────────────────┤
|
|
195
|
-
│ │
|
|
196
|
-
│ You're working on: "Cache not updating" │
|
|
197
|
-
│ │
|
|
198
|
-
│ Related solution (85% match): │
|
|
199
|
-
│ 📄 .claude/vibe/solutions/performance/redis-cache-invalidation.md │
|
|
200
|
-
│ │
|
|
201
|
-
│ Key insight: Add version suffix to cache key │
|
|
202
|
-
│ │
|
|
203
|
-
│ Apply this solution? [Y/n] │
|
|
204
|
-
│ │
|
|
205
|
-
└─────────────────────────────────────────────────────────────────┘
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
## Output
|
|
209
|
-
|
|
210
|
-
```
|
|
211
|
-
┌─────────────────────────────────────────────────────────────────┐
|
|
212
|
-
│ 📚 SOLUTION DOCUMENTED │
|
|
213
|
-
├─────────────────────────────────────────────────────────────────┤
|
|
214
|
-
│ │
|
|
215
|
-
│ ✅ Created: .claude/vibe/solutions/performance/redis-cache-invalid... │
|
|
216
|
-
│ │
|
|
217
|
-
│ 📊 Knowledge Base Stats: │
|
|
218
|
-
│ ├── Total Solutions: 42 │
|
|
219
|
-
│ ├── This Month: 8 │
|
|
220
|
-
│ └── Most Used Category: performance │
|
|
221
|
-
│ │
|
|
222
|
-
│ 🔗 Similar solutions linked: 2 │
|
|
223
|
-
│ 🏷️ Tags: #redis #cache #invalidation #performance │
|
|
224
|
-
│ │
|
|
225
|
-
│ 💡 Prevention rules added to ~/.claude/vibe/rules/ │
|
|
226
|
-
│ │
|
|
227
|
-
│ "This solution will help future you (or teammates) save hours" │
|
|
228
|
-
│ │
|
|
229
|
-
└─────────────────────────────────────────────────────────────────┘
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
## Integration with Memory
|
|
233
|
-
|
|
234
|
-
Auto-invoke `core_save_memory`:
|
|
235
|
-
|
|
236
|
-
```json
|
|
237
|
-
{
|
|
238
|
-
"type": "solution",
|
|
239
|
-
"category": "performance",
|
|
240
|
-
"title": "Redis cache invalidation",
|
|
241
|
-
"keywords": ["redis", "cache", "invalidation"],
|
|
242
|
-
"file": ".claude/vibe/solutions/performance/redis-cache-invalidation.md"
|
|
243
|
-
}
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
## Workflow Integration
|
|
247
|
-
|
|
248
|
-
```
|
|
249
|
-
/vibe.spec → /vibe.run → /vibe.verify → /vibe.compound
|
|
250
|
-
│
|
|
251
|
-
▼
|
|
252
|
-
.claude/vibe/solutions/
|
|
253
|
-
│
|
|
254
|
-
▼
|
|
255
|
-
Future problem?
|
|
256
|
-
Auto-suggest!
|
|
257
|
-
```
|
|
258
|
-
|
|
259
|
-
---
|
|
260
|
-
|
|
261
|
-
ARGUMENTS: $ARGUMENTS
|
|
1
|
+
---
|
|
2
|
+
description: Auto-document solutions for knowledge compounding
|
|
3
|
+
argument-hint: "solution description (optional)"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /vibe.compound
|
|
7
|
+
|
|
8
|
+
**Knowledge Compounding** - Auto-document solved problems to boost future productivity
|
|
9
|
+
|
|
10
|
+
> "Each solution documented makes future problems easier to solve."
|
|
11
|
+
|
|
12
|
+
## Usage
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
/vibe.compound # Auto-detect recent solutions
|
|
16
|
+
/vibe.compound "Redis cache invalidation" # Document specific solution
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Auto-Triggers
|
|
20
|
+
|
|
21
|
+
Automatically suggested when these patterns detected:
|
|
22
|
+
- "it's fixed", "fixed", "solved", "resolved"
|
|
23
|
+
- After PR merge
|
|
24
|
+
- After `/vibe.verify` passes
|
|
25
|
+
|
|
26
|
+
## Process
|
|
27
|
+
|
|
28
|
+
### Phase 1: Solution Extraction
|
|
29
|
+
|
|
30
|
+
Parallel agents analyze the solution:
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
34
|
+
│ 🔍 PARALLEL SOLUTION ANALYSIS │
|
|
35
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
36
|
+
│ │
|
|
37
|
+
│ Task 1: problem-analyzer │
|
|
38
|
+
│ ├── Identify original problem │
|
|
39
|
+
│ ├── Symptoms and error messages │
|
|
40
|
+
│ └── Impact scope │
|
|
41
|
+
│ │
|
|
42
|
+
│ Task 2: solution-extractor │
|
|
43
|
+
│ ├── Applied fixes │
|
|
44
|
+
│ ├── Key code changes │
|
|
45
|
+
│ └── Configuration changes │
|
|
46
|
+
│ │
|
|
47
|
+
│ Task 3: root-cause-analyzer │
|
|
48
|
+
│ ├── Root cause identification │
|
|
49
|
+
│ ├── Why it happened │
|
|
50
|
+
│ └── Prevention methods │
|
|
51
|
+
│ │
|
|
52
|
+
│ Task 4: pattern-recognizer │
|
|
53
|
+
│ ├── Similar problem patterns │
|
|
54
|
+
│ ├── Related tech stack │
|
|
55
|
+
│ └── Search keywords │
|
|
56
|
+
│ │
|
|
57
|
+
│ Task 5: category-classifier │
|
|
58
|
+
│ ├── Category classification │
|
|
59
|
+
│ ├── Tag generation │
|
|
60
|
+
│ └── Related doc links │
|
|
61
|
+
│ │
|
|
62
|
+
│ Task 6: code-snippet-extractor │
|
|
63
|
+
│ ├── Before/After code │
|
|
64
|
+
│ ├── Key change highlights │
|
|
65
|
+
│ └── Copy-paste snippets │
|
|
66
|
+
│ │
|
|
67
|
+
│ Task 7: prevention-advisor │
|
|
68
|
+
│ ├── Prevention checklist │
|
|
69
|
+
│ ├── Suggested linter rules │
|
|
70
|
+
│ └── Test case suggestions │
|
|
71
|
+
│ │
|
|
72
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Phase 2: Category Classification
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
.claude/vibe/solutions/
|
|
79
|
+
├── security/ # Security related
|
|
80
|
+
│ ├── sql-injection-prevention.md
|
|
81
|
+
│ └── xss-sanitization.md
|
|
82
|
+
├── performance/ # Performance optimization
|
|
83
|
+
│ ├── n1-query-fix.md
|
|
84
|
+
│ └── redis-cache-invalidation.md
|
|
85
|
+
├── database/ # Database related
|
|
86
|
+
│ ├── migration-rollback.md
|
|
87
|
+
│ └── deadlock-resolution.md
|
|
88
|
+
├── integration/ # External integrations
|
|
89
|
+
│ ├── stripe-webhook-retry.md
|
|
90
|
+
│ └── aws-s3-timeout.md
|
|
91
|
+
├── frontend/ # Frontend issues
|
|
92
|
+
│ ├── react-hydration-mismatch.md
|
|
93
|
+
│ └── infinite-scroll-memory.md
|
|
94
|
+
├── testing/ # Testing related
|
|
95
|
+
│ ├── flaky-test-fix.md
|
|
96
|
+
│ └── mock-timezone.md
|
|
97
|
+
└── deployment/ # Deployment issues
|
|
98
|
+
├── docker-layer-cache.md
|
|
99
|
+
└── k8s-rolling-update.md
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Phase 3: Document Generation
|
|
103
|
+
|
|
104
|
+
```markdown
|
|
105
|
+
# [Solution] Redis Cache Invalidation
|
|
106
|
+
|
|
107
|
+
## TL;DR
|
|
108
|
+
Added version suffix to Redis cache key to fix invalidation issue
|
|
109
|
+
|
|
110
|
+
## Problem
|
|
111
|
+
### Symptoms
|
|
112
|
+
- User profile shows stale data after update
|
|
113
|
+
- Refresh doesn't fix the issue
|
|
114
|
+
|
|
115
|
+
### Error/Logs
|
|
116
|
+
```
|
|
117
|
+
Cache hit: user:123 (stale data)
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Impact Scope
|
|
121
|
+
- User profile page
|
|
122
|
+
- API: GET /api/users/:id
|
|
123
|
+
|
|
124
|
+
## Root Cause
|
|
125
|
+
Cache key only used user_id, not invalidated on update
|
|
126
|
+
|
|
127
|
+
```python
|
|
128
|
+
# Before
|
|
129
|
+
cache_key = f"user:{user_id}" # No version
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Solution
|
|
133
|
+
### Key Change
|
|
134
|
+
Add updated_at timestamp to cache key
|
|
135
|
+
|
|
136
|
+
```python
|
|
137
|
+
# After
|
|
138
|
+
cache_key = f"user:{user_id}:v{updated_at.timestamp()}"
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Changed Files
|
|
142
|
+
- src/services/cache.py:42
|
|
143
|
+
- src/api/users.py:78
|
|
144
|
+
|
|
145
|
+
## Prevention
|
|
146
|
+
- [ ] Always include version/timestamp in cache keys
|
|
147
|
+
- [ ] Add cache invalidation tests
|
|
148
|
+
- [ ] Linter rule: cache_key pattern check
|
|
149
|
+
|
|
150
|
+
## Related
|
|
151
|
+
- Similar issue: #234 (Session cache)
|
|
152
|
+
- Docs: docs/caching-strategy.md
|
|
153
|
+
- Tags: #redis #cache #invalidation
|
|
154
|
+
|
|
155
|
+
## Metadata
|
|
156
|
+
- Resolved: 2026-01-11
|
|
157
|
+
- Time spent: 2 hours
|
|
158
|
+
- Difficulty: Medium
|
|
159
|
+
- Reusability: High
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Phase 4: Index Update
|
|
163
|
+
|
|
164
|
+
Auto-update `.claude/vibe/solutions/index.md`:
|
|
165
|
+
|
|
166
|
+
```markdown
|
|
167
|
+
# Solution Index
|
|
168
|
+
|
|
169
|
+
## Recently Added
|
|
170
|
+
| Date | Category | Title | Tags |
|
|
171
|
+
|------|----------|-------|------|
|
|
172
|
+
| 2026-01-11 | performance | Redis cache invalidation | #redis #cache |
|
|
173
|
+
| 2026-01-10 | security | SQL Injection prevention | #sql #security |
|
|
174
|
+
|
|
175
|
+
## By Category
|
|
176
|
+
- **Security** (5 solutions)
|
|
177
|
+
- **Performance** (8 solutions)
|
|
178
|
+
- **Database** (4 solutions)
|
|
179
|
+
...
|
|
180
|
+
|
|
181
|
+
## Search Keywords
|
|
182
|
+
- redis → performance/redis-cache-invalidation.md
|
|
183
|
+
- n+1 → performance/n1-query-fix.md
|
|
184
|
+
- sql injection → security/sql-injection-prevention.md
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
## Auto-Suggestion
|
|
188
|
+
|
|
189
|
+
When similar problem detected:
|
|
190
|
+
|
|
191
|
+
```
|
|
192
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
193
|
+
│ 💡 Similar Solution Found! │
|
|
194
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
195
|
+
│ │
|
|
196
|
+
│ You're working on: "Cache not updating" │
|
|
197
|
+
│ │
|
|
198
|
+
│ Related solution (85% match): │
|
|
199
|
+
│ 📄 .claude/vibe/solutions/performance/redis-cache-invalidation.md │
|
|
200
|
+
│ │
|
|
201
|
+
│ Key insight: Add version suffix to cache key │
|
|
202
|
+
│ │
|
|
203
|
+
│ Apply this solution? [Y/n] │
|
|
204
|
+
│ │
|
|
205
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
## Output
|
|
209
|
+
|
|
210
|
+
```
|
|
211
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
212
|
+
│ 📚 SOLUTION DOCUMENTED │
|
|
213
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
214
|
+
│ │
|
|
215
|
+
│ ✅ Created: .claude/vibe/solutions/performance/redis-cache-invalid... │
|
|
216
|
+
│ │
|
|
217
|
+
│ 📊 Knowledge Base Stats: │
|
|
218
|
+
│ ├── Total Solutions: 42 │
|
|
219
|
+
│ ├── This Month: 8 │
|
|
220
|
+
│ └── Most Used Category: performance │
|
|
221
|
+
│ │
|
|
222
|
+
│ 🔗 Similar solutions linked: 2 │
|
|
223
|
+
│ 🏷️ Tags: #redis #cache #invalidation #performance │
|
|
224
|
+
│ │
|
|
225
|
+
│ 💡 Prevention rules added to ~/.claude/vibe/rules/ │
|
|
226
|
+
│ │
|
|
227
|
+
│ "This solution will help future you (or teammates) save hours" │
|
|
228
|
+
│ │
|
|
229
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
## Integration with Memory
|
|
233
|
+
|
|
234
|
+
Auto-invoke `core_save_memory`:
|
|
235
|
+
|
|
236
|
+
```json
|
|
237
|
+
{
|
|
238
|
+
"type": "solution",
|
|
239
|
+
"category": "performance",
|
|
240
|
+
"title": "Redis cache invalidation",
|
|
241
|
+
"keywords": ["redis", "cache", "invalidation"],
|
|
242
|
+
"file": ".claude/vibe/solutions/performance/redis-cache-invalidation.md"
|
|
243
|
+
}
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
## Workflow Integration
|
|
247
|
+
|
|
248
|
+
```
|
|
249
|
+
/vibe.spec → /vibe.run → /vibe.verify → /vibe.compound
|
|
250
|
+
│
|
|
251
|
+
▼
|
|
252
|
+
.claude/vibe/solutions/
|
|
253
|
+
│
|
|
254
|
+
▼
|
|
255
|
+
Future problem?
|
|
256
|
+
Auto-suggest!
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
ARGUMENTS: $ARGUMENTS
|