claude_memory 0.13.1 → 0.13.2

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 (41) hide show
  1. checksums.yaml +4 -4
  2. data/.claude-plugin/marketplace.json +1 -1
  3. data/.claude-plugin/plugin.json +1 -1
  4. data/CHANGELOG.md +15 -0
  5. data/docs/improvements.md +4 -0
  6. data/lib/claude_memory/commands/checks/fts_rank_check.rb +60 -0
  7. data/lib/claude_memory/commands/doctor_command.rb +2 -0
  8. data/lib/claude_memory/commands/index_command.rb +22 -4
  9. data/lib/claude_memory/commands/setup_vectors_command.rb +9 -3
  10. data/lib/claude_memory/index/lexical_fts.rb +47 -23
  11. data/lib/claude_memory/index/vector_index.rb +27 -0
  12. data/lib/claude_memory/mcp/server.rb +33 -1
  13. data/lib/claude_memory/sweep/maintenance.rb +22 -0
  14. data/lib/claude_memory/sweep/sweeper.rb +1 -0
  15. data/lib/claude_memory/version.rb +1 -1
  16. data/lib/claude_memory.rb +1 -0
  17. metadata +2 -25
  18. data/.claude/CLAUDE.md +0 -4
  19. data/.claude/memory.sqlite3 +0 -0
  20. data/.claude/output-styles/memory-aware.md +0 -1
  21. data/.claude/rules/claude_memory.generated.md +0 -87
  22. data/.claude/settings.json +0 -113
  23. data/.claude/settings.local.json +0 -59
  24. data/.claude/skills/check-memory/DEPRECATED.md +0 -29
  25. data/.claude/skills/check-memory/SKILL.md +0 -87
  26. data/.claude/skills/dashboard/SKILL.md +0 -42
  27. data/.claude/skills/debug-memory +0 -1
  28. data/.claude/skills/improve/SKILL.md +0 -631
  29. data/.claude/skills/improve/feature-patterns.md +0 -1221
  30. data/.claude/skills/memory-first-workflow +0 -1
  31. data/.claude/skills/quality-update/SKILL.md +0 -229
  32. data/.claude/skills/quality-update/implementation-guide.md +0 -346
  33. data/.claude/skills/release/SKILL.md +0 -206
  34. data/.claude/skills/review-commit/SKILL.md +0 -199
  35. data/.claude/skills/review-for-quality/SKILL.md +0 -154
  36. data/.claude/skills/review-for-quality/expert-checklists.md +0 -79
  37. data/.claude/skills/setup-memory +0 -1
  38. data/.claude/skills/study-repo/SKILL.md +0 -322
  39. data/.claude/skills/study-repo/analysis-template.md +0 -323
  40. data/.claude/skills/study-repo/focus-examples.md +0 -327
  41. data/.claude/skills/upgrade-dependencies/SKILL.md +0 -154
@@ -1,327 +0,0 @@
1
- # Focused Analysis Examples
2
-
3
- When using the `--focus` flag, narrow the analysis to specific aspects of the repository. This is especially useful for:
4
- - Very large repositories (>5000 files)
5
- - Time-constrained analysis
6
- - Specific adoption goals
7
- - Deep study of one component
8
-
9
- ## How Focus Mode Works
10
-
11
- 1. **Narrows file exploration** to relevant paths only
12
- 2. **Focuses comparison** on the specific aspect
13
- 3. **Targets recommendations** to the focused area
14
- 4. **Reduces context usage** for faster analysis
15
- 5. **Produces smaller** influence documents
16
-
17
- ## Example Focus Topics
18
-
19
- ### Testing Strategy
20
-
21
- ```bash
22
- /study-repo /tmp/repo --focus="testing strategy"
23
- ```
24
-
25
- **What to analyze**:
26
- - Test files and directory structure (spec/, test/)
27
- - Test framework choice (RSpec, Minitest, etc.)
28
- - CI configuration (.github/workflows/, .circleci/)
29
- - Test coverage tools and reporting
30
- - Mocking/stubbing patterns
31
- - Integration vs unit test balance
32
- - Test factories and fixtures
33
- - Performance test practices
34
-
35
- **Output focus**:
36
- - How they organize tests
37
- - What patterns they use for test data
38
- - How they achieve high coverage
39
- - CI/CD testing pipeline design
40
-
41
- ---
42
-
43
- ### MCP Integration
44
-
45
- ```bash
46
- /study-repo /tmp/repo --focus="MCP server implementation"
47
- ```
48
-
49
- **What to analyze**:
50
- - MCP server files (mcp/, server/)
51
- - Tool definitions and schemas
52
- - Request/response handling
53
- - Error handling approach
54
- - Tool composition and organization
55
- - JSON-RPC implementation
56
- - Streaming support
57
- - Authentication/security
58
-
59
- **Output focus**:
60
- - How tools are structured
61
- - Best practices for tool design
62
- - Error handling patterns
63
- - Performance optimizations
64
-
65
- ---
66
-
67
- ### Database Schema
68
-
69
- ```bash
70
- /study-repo /tmp/repo --focus="database design"
71
- ```
72
-
73
- **What to analyze**:
74
- - Schema files (db/schema.rb, migrations/)
75
- - Index strategies
76
- - Query optimization patterns
77
- - Transaction management
78
- - Connection pooling
79
- - Database abstraction layer
80
- - Migration practices
81
- - Backup/restore approaches
82
-
83
- **Output focus**:
84
- - Schema design decisions
85
- - Performance optimizations
86
- - Migration safety patterns
87
- - Query efficiency techniques
88
-
89
- ---
90
-
91
- ### CLI Architecture
92
-
93
- ```bash
94
- /study-repo /tmp/repo --focus="CLI design"
95
- ```
96
-
97
- **What to analyze**:
98
- - Entry points (bin/, exe/)
99
- - Command organization (commands/, lib/commands/)
100
- - Argument parsing (Thor, OptionParser, etc.)
101
- - Help text and documentation
102
- - Error messages and exit codes
103
- - Subcommand structure
104
- - Configuration file handling
105
- - Output formatting
106
-
107
- **Output focus**:
108
- - Command organization patterns
109
- - User experience considerations
110
- - Error handling best practices
111
- - Testing CLI commands
112
-
113
- ---
114
-
115
- ### Performance Optimizations
116
-
117
- ```bash
118
- /study-repo /tmp/repo --focus="performance"
119
- ```
120
-
121
- **What to analyze**:
122
- - Caching strategies (Redis, in-memory)
123
- - Batch processing patterns
124
- - Query optimization
125
- - Resource management
126
- - Profiling and metrics
127
- - Lazy loading techniques
128
- - Memory efficiency
129
- - Concurrency patterns
130
-
131
- **Output focus**:
132
- - What they optimize and how
133
- - Benchmarking approaches
134
- - Trade-offs made
135
- - Performance monitoring
136
-
137
- ---
138
-
139
- ### Error Handling
140
-
141
- ```bash
142
- /study-repo /tmp/repo --focus="error handling"
143
- ```
144
-
145
- **What to analyze**:
146
- - Exception hierarchy
147
- - Error class organization
148
- - Recovery strategies
149
- - User-facing error messages
150
- - Logging practices
151
- - Retry logic
152
- - Graceful degradation
153
- - Error reporting/telemetry
154
-
155
- **Output focus**:
156
- - Exception design patterns
157
- - Error communication to users
158
- - Debugging support
159
- - Resilience patterns
160
-
161
- ---
162
-
163
- ### Configuration Management
164
-
165
- ```bash
166
- /study-repo /tmp/repo --focus="configuration"
167
- ```
168
-
169
- **What to analyze**:
170
- - Config file formats (YAML, JSON, TOML)
171
- - Environment variable handling
172
- - Default value strategies
173
- - Configuration validation
174
- - Secret management
175
- - Multi-environment support
176
- - Configuration discovery
177
- - Override precedence
178
-
179
- **Output focus**:
180
- - Configuration architecture
181
- - Validation and defaults
182
- - Security practices
183
- - User experience
184
-
185
- ---
186
-
187
- ### Domain Modeling
188
-
189
- ```bash
190
- /study-repo /tmp/repo --focus="domain model"
191
- ```
192
-
193
- **What to analyze**:
194
- - Core domain objects
195
- - Value objects vs entities
196
- - Aggregate boundaries
197
- - Repository pattern usage
198
- - Domain events
199
- - Business logic organization
200
- - Validation rules
201
- - Domain services
202
-
203
- **Output focus**:
204
- - How domain is modeled
205
- - Separation of concerns
206
- - Business rule implementation
207
- - Pattern usage
208
-
209
- ---
210
-
211
- ### Dependency Injection
212
-
213
- ```bash
214
- /study-repo /tmp/repo --focus="dependency injection"
215
- ```
216
-
217
- **What to analyze**:
218
- - DI container (if any)
219
- - Constructor injection patterns
220
- - Service locator usage
221
- - Factory patterns
222
- - Testability approaches
223
- - Configuration of dependencies
224
- - Lifecycle management
225
- - Interface abstractions
226
-
227
- **Output focus**:
228
- - DI strategy and patterns
229
- - Testing benefits
230
- - Complexity vs benefits
231
- - Best practices
232
-
233
- ---
234
-
235
- ### API Design
236
-
237
- ```bash
238
- /study-repo /tmp/repo --focus="API design"
239
- ```
240
-
241
- **What to analyze**:
242
- - REST/GraphQL/RPC patterns
243
- - Endpoint organization
244
- - Request/response formats
245
- - Versioning strategy
246
- - Authentication/authorization
247
- - Rate limiting
248
- - Documentation (OpenAPI, etc.)
249
- - Client SDK design
250
-
251
- **Output focus**:
252
- - API structure and conventions
253
- - Versioning approach
254
- - Documentation practices
255
- - Client experience
256
-
257
- ---
258
-
259
- ## Custom Focus Topics
260
-
261
- You can specify any aspect you want to focus on:
262
-
263
- ```bash
264
- /study-repo /tmp/repo --focus="logging and observability"
265
- /study-repo /tmp/repo --focus="file system abstraction"
266
- /study-repo /tmp/repo --focus="plugin architecture"
267
- /study-repo /tmp/repo --focus="webhook handling"
268
- ```
269
-
270
- The skill will adapt the analysis to your specified topic.
271
-
272
- ## When to Use Focus Mode
273
-
274
- ### Use Focus When:
275
- - Repository has >1000 files
276
- - You have a specific adoption goal
277
- - You want deep analysis of one aspect
278
- - Time is limited
279
- - You're comparing specific features
280
-
281
- ### Use Full Analysis When:
282
- - Repository is small (<500 files)
283
- - You want comprehensive overview
284
- - Architecture understanding is the goal
285
- - Time allows for thorough exploration
286
- - Making major adoption decisions
287
-
288
- ## Output Differences
289
-
290
- ### Full Analysis Output:
291
- ```
292
- docs/influence/project-name.md
293
- - All sections populated
294
- - Broad recommendations
295
- - Comprehensive comparison
296
- - 10-20 pages typical
297
- ```
298
-
299
- ### Focused Analysis Output:
300
- ```
301
- docs/influence/project-name-focus.md
302
- - Focused sections only
303
- - Targeted recommendations
304
- - Specific comparison
305
- - 3-8 pages typical
306
- ```
307
-
308
- ## Combining Focuses
309
-
310
- For very large projects, run multiple focused analyses:
311
-
312
- ```bash
313
- # Study different aspects separately
314
- /study-repo /tmp/big-repo --focus="MCP implementation"
315
- /study-repo /tmp/big-repo --focus="testing strategy"
316
- /study-repo /tmp/big-repo --focus="database design"
317
- ```
318
-
319
- Each produces a separate influence document focused on that aspect.
320
-
321
- ## Tips for Effective Focus
322
-
323
- 1. **Be specific**: "MCP server" is better than "server stuff"
324
- 2. **Match their terminology**: Use terms from their docs/code
325
- 3. **Start broad, then focus**: Run full analysis first to identify interesting areas
326
- 4. **Combine with grep**: Search for keywords related to your focus
327
- 5. **Review examples**: Look at their tests for the focused component
@@ -1,154 +0,0 @@
1
- ---
2
- name: upgrade-dependencies
3
- description: "Upgrade all Ruby gem dependencies to their latest versions with release note review and codebase alignment checks. Use this skill whenever the user asks to update, upgrade, or bump dependencies, gems, or packages — even casually like 'update my gems' or 'are my deps up to date?'"
4
- agent: general-purpose
5
- allowed-tools: Read, Grep, Glob, Bash, Edit, Write, Agent, WebFetch
6
- ---
7
-
8
- # Dependency Upgrade Skill
9
-
10
- Systematically upgrade Ruby gem dependencies by researching latest versions, reviewing release notes for breaking changes, updating version constraints, verifying with tests, and confirming codebase alignment.
11
-
12
- The goal is a *thoughtful* upgrade — not blindly bumping versions, but understanding what changed and ensuring the codebase is compatible. This matters because a silent API change can introduce bugs that tests don't catch if the tests don't exercise the affected code path.
13
-
14
- ## Process Overview
15
-
16
- 1. **Discover** current dependencies and their constraints
17
- 2. **Research** latest versions and release notes (in parallel)
18
- 3. **Analyze** breaking changes and codebase impact
19
- 4. **Upgrade** version constraints and install
20
- 5. **Verify** with the full test suite
21
- 6. **Report** a summary table with upgrade details
22
-
23
- ## Step 1: Discover Current Dependencies
24
-
25
- Read the gemspec and Gemfile to build a complete dependency inventory.
26
-
27
- ```
28
- Read *.gemspec → runtime dependencies (add_dependency)
29
- Read Gemfile → development dependencies (gem declarations)
30
- Run: bundle outdated → current vs latest versions, which are constrained
31
- ```
32
-
33
- Build a working list with these columns:
34
- - **Gem name**
35
- - **Source** (gemspec or Gemfile)
36
- - **Current constraint** (e.g., `~> 5.0`)
37
- - **Installed version** (from `bundle outdated` or `Gemfile.lock`)
38
- - **Latest version** (from `bundle outdated`)
39
- - **Constrained?** (is the version constraint preventing upgrade?)
40
-
41
- ## Step 2: Research Release Notes
42
-
43
- For each gem that has a newer version available, research what changed. Launch these as parallel Agent subagents — one per gem — to avoid sequential delays.
44
-
45
- Each research agent should:
46
-
47
- 1. Run `gem search <name> --exact --versions` to confirm the latest version
48
- 2. Fetch the changelog or release notes from GitHub (check CHANGELOG.md, CHANGES, HISTORY.md, or GitHub Releases)
49
- 3. Summarize changes between the installed version and latest version
50
- 4. Flag any **breaking changes**, **deprecations**, or **API changes**
51
- 5. Note if it's a **major version bump** (higher risk)
52
-
53
- For transitive dependencies (not directly declared but showing in `bundle outdated`), research is optional — focus on direct dependencies. Transitive deps are upgraded automatically when their parent gem allows it.
54
-
55
- ### What to look for in release notes
56
-
57
- - **Removed methods or classes** the codebase might use
58
- - **Renamed options or changed defaults** that could silently alter behavior
59
- - **New required arguments** to methods we call
60
- - **Deprecated features** we rely on (working now, but will break later)
61
- - **Changed return types** or data structures
62
- - **Minimum Ruby version bumps** that could affect CI or deployment
63
-
64
- ## Step 3: Analyze Codebase Impact
65
-
66
- For each gem with breaking changes or API modifications:
67
-
68
- 1. **Grep the codebase** for usage of affected APIs
69
- 2. **Check test coverage** — are the affected code paths tested?
70
- 3. **Determine if changes are needed** before or after the upgrade
71
-
72
- Classify each upgrade:
73
-
74
- - **Safe** — no breaking changes, or breaking changes don't affect our usage
75
- - **Needs code changes** — our code uses a deprecated or removed API
76
- - **Held back** — a transitive dependency constraint prevents the upgrade (explain which parent gem and why)
77
-
78
- If code changes are needed, make them *before* bumping the version constraint so the upgrade commit is clean.
79
-
80
- ## Step 4: Upgrade Dependencies
81
-
82
- ### Gemspec dependencies (runtime)
83
-
84
- Update version constraints to target the latest version. Use `~>` with the appropriate precision:
85
-
86
- - For stable gems (1.0+): `~> X.Y` allows patch updates (e.g., `~> 5.102` allows 5.102.x)
87
- - For pre-1.0 gems: `~> 0.X, ">= 0.X.Y"` to pin a minimum while allowing patches
88
- - For gems where a specific fix matters: add `">= X.Y.Z"` as an additional constraint
89
-
90
- ### Gemfile dependencies (development)
91
-
92
- Same approach. If a major version bump is available (e.g., lefthook 1.x → 2.x), check the migration guide before bumping.
93
-
94
- ### Install
95
-
96
- ```bash
97
- bundle update
98
- ```
99
-
100
- If `bundle update` fails due to dependency conflicts, resolve them. Common strategies:
101
- - Relax an overly tight constraint
102
- - Update the conflicting parent gem first
103
- - Accept that a gem can't be upgraded yet and document why
104
-
105
- ## Step 5: Verify with Tests
106
-
107
- Run the full test suite:
108
-
109
- ```bash
110
- bundle exec rspec
111
- ```
112
-
113
- Also run the linter to catch any style issues:
114
-
115
- ```bash
116
- bundle exec rake standard
117
- ```
118
-
119
- If tests fail:
120
- 1. Read the failure carefully — is it caused by the upgrade or pre-existing?
121
- 2. If caused by the upgrade, fix the code to work with the new version
122
- 3. If unfixable, revert that specific gem's upgrade and note it in the report
123
-
124
- ## Step 6: Present Summary
125
-
126
- Present a clear summary table of all changes:
127
-
128
- ```markdown
129
- | Gem | Old Version | New Version | Old Constraint | New Constraint | Notes |
130
- |-----|------------|-------------|----------------|----------------|-------|
131
- | sequel | 5.100.0 | 5.102.0 | ~> 5.0 | ~> 5.102 | No breaking changes |
132
- | lefthook | 1.13.6 | 2.1.4 | ~> 1.6 | ~> 2.1 | Major version bump, reviewed migration guide |
133
- ```
134
-
135
- Follow the table with:
136
-
137
- 1. **Breaking changes found** — what changed and how the codebase was updated
138
- 2. **Gems held back** — which gems couldn't be upgraded and why (e.g., "diff-lcs 2.0 held back by rspec's ~> 1.4 constraint")
139
- 3. **Notable new features** — anything worth adopting from the new versions
140
- 4. **Test results** — confirmation that all tests pass
141
-
142
- ## Edge Cases
143
-
144
- ### Gems with no GitHub repository
145
- Fall back to `gem info <name>` and the RubyGems page for release history. Note reduced confidence in the review.
146
-
147
- ### Yanked versions
148
- If `bundle update` fails because a version was yanked, try the next most recent version.
149
-
150
- ### Pre-release versions
151
- Do not upgrade to pre-release or alpha versions unless the user explicitly asks. Stick to stable releases.
152
-
153
- ### Monorepo gems
154
- Some gems (like rails components) are versioned together. Upgrade them as a group.