claude_memory 0.2.0 → 0.4.0

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 (120) hide show
  1. checksums.yaml +4 -4
  2. data/.claude/CLAUDE.md +1 -0
  3. data/.claude/output-styles/memory-aware.md +1 -0
  4. data/.claude/rules/claude_memory.generated.md +1 -20
  5. data/.claude/settings.local.json +12 -1
  6. data/.claude/skills/check-memory/DEPRECATED.md +29 -0
  7. data/.claude/skills/check-memory/SKILL.md +77 -0
  8. data/.claude/skills/debug-memory +1 -0
  9. data/.claude/skills/improve/SKILL.md +532 -0
  10. data/.claude/skills/improve/feature-patterns.md +1221 -0
  11. data/.claude/skills/memory-first-workflow +1 -0
  12. data/.claude/skills/quality-update/SKILL.md +229 -0
  13. data/.claude/skills/quality-update/implementation-guide.md +346 -0
  14. data/.claude/skills/review-commit/SKILL.md +199 -0
  15. data/.claude/skills/review-for-quality/SKILL.md +154 -0
  16. data/.claude/skills/review-for-quality/expert-checklists.md +79 -0
  17. data/.claude/skills/setup-memory +1 -0
  18. data/.claude/skills/study-repo/SKILL.md +307 -0
  19. data/.claude/skills/study-repo/analysis-template.md +323 -0
  20. data/.claude/skills/study-repo/focus-examples.md +327 -0
  21. data/.claude-plugin/plugin.json +1 -1
  22. data/.lefthook/map_specs.rb +29 -0
  23. data/CHANGELOG.md +141 -0
  24. data/CLAUDE.md +168 -11
  25. data/README.md +160 -10
  26. data/Rakefile +14 -1
  27. data/WEEK2_COMPLETE.md +250 -0
  28. data/db/migrations/001_create_initial_schema.rb +117 -0
  29. data/db/migrations/002_add_project_scoping.rb +33 -0
  30. data/db/migrations/003_add_session_metadata.rb +42 -0
  31. data/db/migrations/004_add_fact_embeddings.rb +20 -0
  32. data/db/migrations/005_add_incremental_sync.rb +21 -0
  33. data/db/migrations/006_add_operation_tracking.rb +40 -0
  34. data/db/migrations/007_add_ingestion_metrics.rb +26 -0
  35. data/docs/GETTING_STARTED.md +587 -0
  36. data/docs/RELEASE_NOTES_v0.2.0.md +0 -1
  37. data/docs/RUBY_COMMUNITY_POST_v0.2.0.md +0 -2
  38. data/docs/architecture.md +53 -17
  39. data/docs/auto_init_design.md +230 -0
  40. data/docs/ci_integration.md +294 -0
  41. data/docs/eval_week1_summary.md +183 -0
  42. data/docs/eval_week2_summary.md +419 -0
  43. data/docs/evals.md +353 -0
  44. data/docs/improvements.md +551 -726
  45. data/docs/influence/.gitkeep +13 -0
  46. data/docs/influence/grepai.md +933 -0
  47. data/docs/influence/qmd.md +2195 -0
  48. data/docs/plugin.md +257 -11
  49. data/docs/quality_review.md +472 -1273
  50. data/docs/remaining_improvements.md +330 -0
  51. data/lefthook.yml +21 -1
  52. data/lib/claude_memory/commands/checks/claude_md_check.rb +41 -0
  53. data/lib/claude_memory/commands/checks/database_check.rb +120 -0
  54. data/lib/claude_memory/commands/checks/hooks_check.rb +112 -0
  55. data/lib/claude_memory/commands/checks/reporter.rb +110 -0
  56. data/lib/claude_memory/commands/checks/snapshot_check.rb +30 -0
  57. data/lib/claude_memory/commands/doctor_command.rb +12 -129
  58. data/lib/claude_memory/commands/help_command.rb +1 -0
  59. data/lib/claude_memory/commands/hook_command.rb +9 -2
  60. data/lib/claude_memory/commands/index_command.rb +169 -0
  61. data/lib/claude_memory/commands/ingest_command.rb +1 -1
  62. data/lib/claude_memory/commands/init_command.rb +5 -197
  63. data/lib/claude_memory/commands/initializers/database_ensurer.rb +30 -0
  64. data/lib/claude_memory/commands/initializers/global_initializer.rb +85 -0
  65. data/lib/claude_memory/commands/initializers/hooks_configurator.rb +156 -0
  66. data/lib/claude_memory/commands/initializers/mcp_configurator.rb +56 -0
  67. data/lib/claude_memory/commands/initializers/memory_instructions_writer.rb +135 -0
  68. data/lib/claude_memory/commands/initializers/project_initializer.rb +111 -0
  69. data/lib/claude_memory/commands/recover_command.rb +75 -0
  70. data/lib/claude_memory/commands/registry.rb +5 -1
  71. data/lib/claude_memory/commands/stats_command.rb +239 -0
  72. data/lib/claude_memory/commands/uninstall_command.rb +226 -0
  73. data/lib/claude_memory/core/batch_loader.rb +32 -0
  74. data/lib/claude_memory/core/concept_ranker.rb +73 -0
  75. data/lib/claude_memory/core/embedding_candidate_builder.rb +37 -0
  76. data/lib/claude_memory/core/fact_collector.rb +51 -0
  77. data/lib/claude_memory/core/fact_query_builder.rb +154 -0
  78. data/lib/claude_memory/core/fact_ranker.rb +113 -0
  79. data/lib/claude_memory/core/result_builder.rb +54 -0
  80. data/lib/claude_memory/core/result_sorter.rb +25 -0
  81. data/lib/claude_memory/core/scope_filter.rb +61 -0
  82. data/lib/claude_memory/core/text_builder.rb +29 -0
  83. data/lib/claude_memory/embeddings/fastembed_adapter.rb +55 -0
  84. data/lib/claude_memory/embeddings/generator.rb +161 -0
  85. data/lib/claude_memory/embeddings/similarity.rb +69 -0
  86. data/lib/claude_memory/hook/handler.rb +4 -3
  87. data/lib/claude_memory/index/lexical_fts.rb +7 -2
  88. data/lib/claude_memory/infrastructure/operation_tracker.rb +158 -0
  89. data/lib/claude_memory/infrastructure/schema_validator.rb +206 -0
  90. data/lib/claude_memory/ingest/content_sanitizer.rb +6 -7
  91. data/lib/claude_memory/ingest/ingester.rb +103 -15
  92. data/lib/claude_memory/ingest/metadata_extractor.rb +57 -0
  93. data/lib/claude_memory/ingest/tool_extractor.rb +71 -0
  94. data/lib/claude_memory/mcp/response_formatter.rb +331 -0
  95. data/lib/claude_memory/mcp/server.rb +19 -0
  96. data/lib/claude_memory/mcp/setup_status_analyzer.rb +73 -0
  97. data/lib/claude_memory/mcp/tool_definitions.rb +279 -0
  98. data/lib/claude_memory/mcp/tool_helpers.rb +80 -0
  99. data/lib/claude_memory/mcp/tools.rb +330 -320
  100. data/lib/claude_memory/recall/dual_query_template.rb +63 -0
  101. data/lib/claude_memory/recall.rb +304 -237
  102. data/lib/claude_memory/resolve/resolver.rb +52 -49
  103. data/lib/claude_memory/store/sqlite_store.rb +210 -144
  104. data/lib/claude_memory/store/store_manager.rb +6 -6
  105. data/lib/claude_memory/sweep/sweeper.rb +6 -0
  106. data/lib/claude_memory/version.rb +1 -1
  107. data/lib/claude_memory.rb +35 -3
  108. data/output-styles/memory-aware.md +71 -0
  109. data/skills/debug-memory/SKILL.md +146 -0
  110. data/skills/memory-first-workflow/SKILL.md +144 -0
  111. data/skills/setup-memory/SKILL.md +168 -0
  112. metadata +83 -11
  113. data/.claude/.mind.mv2.aLCUZd +0 -0
  114. data/.claude/memory.sqlite3 +0 -0
  115. data/.claude/output-styles/memory-aware.md +0 -21
  116. data/.mcp.json +0 -11
  117. /data/docs/{feature_adoption_plan.md → plans/feature_adoption_plan.md} +0 -0
  118. /data/docs/{feature_adoption_plan_revised.md → plans/feature_adoption_plan_revised.md} +0 -0
  119. /data/docs/{plan.md → plans/plan.md} +0 -0
  120. /data/docs/{updated_plan.md → plans/updated_plan.md} +0 -0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: claude_memory
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Valentino Stoll
@@ -24,19 +24,19 @@ dependencies:
24
24
  - !ruby/object:Gem::Version
25
25
  version: '5.0'
26
26
  - !ruby/object:Gem::Dependency
27
- name: sqlite3
27
+ name: extralite
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: '2.0'
32
+ version: '2.14'
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '2.0'
39
+ version: '2.14'
40
40
  description: Turn-key Ruby gem providing Claude Code with instant, high-quality, long-term,
41
41
  self-managed memory using Claude Code Hooks + MCP + Output Style.
42
42
  email:
@@ -49,14 +49,27 @@ files:
49
49
  - ".claude-plugin/marketplace.json"
50
50
  - ".claude-plugin/plugin.json"
51
51
  - ".claude.json"
52
- - ".claude/.mind.mv2.aLCUZd"
53
52
  - ".claude/CLAUDE.md"
54
- - ".claude/memory.sqlite3"
55
53
  - ".claude/output-styles/memory-aware.md"
56
54
  - ".claude/rules/claude_memory.generated.md"
57
55
  - ".claude/settings.json"
58
56
  - ".claude/settings.local.json"
59
- - ".mcp.json"
57
+ - ".claude/skills/check-memory/DEPRECATED.md"
58
+ - ".claude/skills/check-memory/SKILL.md"
59
+ - ".claude/skills/debug-memory"
60
+ - ".claude/skills/improve/SKILL.md"
61
+ - ".claude/skills/improve/feature-patterns.md"
62
+ - ".claude/skills/memory-first-workflow"
63
+ - ".claude/skills/quality-update/SKILL.md"
64
+ - ".claude/skills/quality-update/implementation-guide.md"
65
+ - ".claude/skills/review-commit/SKILL.md"
66
+ - ".claude/skills/review-for-quality/SKILL.md"
67
+ - ".claude/skills/review-for-quality/expert-checklists.md"
68
+ - ".claude/skills/setup-memory"
69
+ - ".claude/skills/study-repo/SKILL.md"
70
+ - ".claude/skills/study-repo/analysis-template.md"
71
+ - ".claude/skills/study-repo/focus-examples.md"
72
+ - ".lefthook/map_specs.rb"
60
73
  - ".ruby-version"
61
74
  - CHANGELOG.md
62
75
  - CLAUDE.md
@@ -64,25 +77,43 @@ files:
64
77
  - LICENSE.txt
65
78
  - README.md
66
79
  - Rakefile
80
+ - WEEK2_COMPLETE.md
67
81
  - commands/analyze.md
68
82
  - commands/recall.md
69
83
  - commands/remember.md
84
+ - db/migrations/001_create_initial_schema.rb
85
+ - db/migrations/002_add_project_scoping.rb
86
+ - db/migrations/003_add_session_metadata.rb
87
+ - db/migrations/004_add_fact_embeddings.rb
88
+ - db/migrations/005_add_incremental_sync.rb
89
+ - db/migrations/006_add_operation_tracking.rb
90
+ - db/migrations/007_add_ingestion_metrics.rb
70
91
  - docs/EXAMPLES.md
92
+ - docs/GETTING_STARTED.md
71
93
  - docs/RELEASE_NOTES_v0.2.0.md
72
94
  - docs/RUBY_COMMUNITY_POST_v0.2.0.md
73
95
  - docs/SOCIAL_MEDIA_v0.2.0.md
74
96
  - docs/architecture.md
97
+ - docs/auto_init_design.md
98
+ - docs/ci_integration.md
75
99
  - docs/demo.md
100
+ - docs/eval_week1_summary.md
101
+ - docs/eval_week2_summary.md
102
+ - docs/evals.md
76
103
  - docs/expert_review.md
77
- - docs/feature_adoption_plan.md
78
- - docs/feature_adoption_plan_revised.md
79
104
  - docs/improvements.md
105
+ - docs/influence/.gitkeep
106
+ - docs/influence/grepai.md
107
+ - docs/influence/qmd.md
80
108
  - docs/organizational_memory_playbook.md
81
- - docs/plan.md
109
+ - docs/plans/feature_adoption_plan.md
110
+ - docs/plans/feature_adoption_plan_revised.md
111
+ - docs/plans/plan.md
112
+ - docs/plans/updated_plan.md
82
113
  - docs/plugin.md
83
114
  - docs/quality_review.md
115
+ - docs/remaining_improvements.md
84
116
  - docs/review_summary.md
85
- - docs/updated_plan.md
86
117
  - exe/claude-memory
87
118
  - hooks/hooks.json
88
119
  - lefthook.yml
@@ -90,28 +121,53 @@ files:
90
121
  - lib/claude_memory/cli.rb
91
122
  - lib/claude_memory/commands/base_command.rb
92
123
  - lib/claude_memory/commands/changes_command.rb
124
+ - lib/claude_memory/commands/checks/claude_md_check.rb
125
+ - lib/claude_memory/commands/checks/database_check.rb
126
+ - lib/claude_memory/commands/checks/hooks_check.rb
127
+ - lib/claude_memory/commands/checks/reporter.rb
128
+ - lib/claude_memory/commands/checks/snapshot_check.rb
93
129
  - lib/claude_memory/commands/conflicts_command.rb
94
130
  - lib/claude_memory/commands/db_init_command.rb
95
131
  - lib/claude_memory/commands/doctor_command.rb
96
132
  - lib/claude_memory/commands/explain_command.rb
97
133
  - lib/claude_memory/commands/help_command.rb
98
134
  - lib/claude_memory/commands/hook_command.rb
135
+ - lib/claude_memory/commands/index_command.rb
99
136
  - lib/claude_memory/commands/ingest_command.rb
100
137
  - lib/claude_memory/commands/init_command.rb
138
+ - lib/claude_memory/commands/initializers/database_ensurer.rb
139
+ - lib/claude_memory/commands/initializers/global_initializer.rb
140
+ - lib/claude_memory/commands/initializers/hooks_configurator.rb
141
+ - lib/claude_memory/commands/initializers/mcp_configurator.rb
142
+ - lib/claude_memory/commands/initializers/memory_instructions_writer.rb
143
+ - lib/claude_memory/commands/initializers/project_initializer.rb
101
144
  - lib/claude_memory/commands/promote_command.rb
102
145
  - lib/claude_memory/commands/publish_command.rb
103
146
  - lib/claude_memory/commands/recall_command.rb
147
+ - lib/claude_memory/commands/recover_command.rb
104
148
  - lib/claude_memory/commands/registry.rb
105
149
  - lib/claude_memory/commands/search_command.rb
106
150
  - lib/claude_memory/commands/serve_mcp_command.rb
151
+ - lib/claude_memory/commands/stats_command.rb
107
152
  - lib/claude_memory/commands/sweep_command.rb
153
+ - lib/claude_memory/commands/uninstall_command.rb
108
154
  - lib/claude_memory/commands/version_command.rb
109
155
  - lib/claude_memory/configuration.rb
156
+ - lib/claude_memory/core/batch_loader.rb
157
+ - lib/claude_memory/core/concept_ranker.rb
158
+ - lib/claude_memory/core/embedding_candidate_builder.rb
159
+ - lib/claude_memory/core/fact_collector.rb
110
160
  - lib/claude_memory/core/fact_id.rb
161
+ - lib/claude_memory/core/fact_query_builder.rb
162
+ - lib/claude_memory/core/fact_ranker.rb
111
163
  - lib/claude_memory/core/null_explanation.rb
112
164
  - lib/claude_memory/core/null_fact.rb
113
165
  - lib/claude_memory/core/result.rb
166
+ - lib/claude_memory/core/result_builder.rb
167
+ - lib/claude_memory/core/result_sorter.rb
168
+ - lib/claude_memory/core/scope_filter.rb
114
169
  - lib/claude_memory/core/session_id.rb
170
+ - lib/claude_memory/core/text_builder.rb
115
171
  - lib/claude_memory/core/token_estimator.rb
116
172
  - lib/claude_memory/core/transcript_path.rb
117
173
  - lib/claude_memory/distill/distiller.rb
@@ -122,6 +178,9 @@ files:
122
178
  - lib/claude_memory/domain/entity.rb
123
179
  - lib/claude_memory/domain/fact.rb
124
180
  - lib/claude_memory/domain/provenance.rb
181
+ - lib/claude_memory/embeddings/fastembed_adapter.rb
182
+ - lib/claude_memory/embeddings/generator.rb
183
+ - lib/claude_memory/embeddings/similarity.rb
125
184
  - lib/claude_memory/hook/exit_codes.rb
126
185
  - lib/claude_memory/hook/handler.rb
127
186
  - lib/claude_memory/index/index_query.rb
@@ -130,14 +189,23 @@ files:
130
189
  - lib/claude_memory/index/query_options.rb
131
190
  - lib/claude_memory/infrastructure/file_system.rb
132
191
  - lib/claude_memory/infrastructure/in_memory_file_system.rb
192
+ - lib/claude_memory/infrastructure/operation_tracker.rb
193
+ - lib/claude_memory/infrastructure/schema_validator.rb
133
194
  - lib/claude_memory/ingest/content_sanitizer.rb
134
195
  - lib/claude_memory/ingest/ingester.rb
196
+ - lib/claude_memory/ingest/metadata_extractor.rb
135
197
  - lib/claude_memory/ingest/privacy_tag.rb
198
+ - lib/claude_memory/ingest/tool_extractor.rb
136
199
  - lib/claude_memory/ingest/transcript_reader.rb
200
+ - lib/claude_memory/mcp/response_formatter.rb
137
201
  - lib/claude_memory/mcp/server.rb
202
+ - lib/claude_memory/mcp/setup_status_analyzer.rb
203
+ - lib/claude_memory/mcp/tool_definitions.rb
204
+ - lib/claude_memory/mcp/tool_helpers.rb
138
205
  - lib/claude_memory/mcp/tools.rb
139
206
  - lib/claude_memory/publish.rb
140
207
  - lib/claude_memory/recall.rb
208
+ - lib/claude_memory/recall/dual_query_template.rb
141
209
  - lib/claude_memory/resolve/predicate_policy.rb
142
210
  - lib/claude_memory/resolve/resolver.rb
143
211
  - lib/claude_memory/shortcuts.rb
@@ -147,9 +215,13 @@ files:
147
215
  - lib/claude_memory/templates/hooks.example.json
148
216
  - lib/claude_memory/templates/output-styles/memory-aware.md
149
217
  - lib/claude_memory/version.rb
218
+ - output-styles/memory-aware.md
150
219
  - sig/claude_memory.rbs
151
220
  - skills/analyze/SKILL.md
221
+ - skills/debug-memory/SKILL.md
222
+ - skills/memory-first-workflow/SKILL.md
152
223
  - skills/memory/SKILL.md
224
+ - skills/setup-memory/SKILL.md
153
225
  homepage: https://github.com/codenamev/claude_memory
154
226
  licenses:
155
227
  - MIT
Binary file
Binary file
@@ -1,21 +0,0 @@
1
- ---
2
- keep-coding-instructions: true
3
- ---
4
-
5
- # Memory-Aware Output Style
6
-
7
- When making decisions or establishing conventions:
8
- - State decisions clearly with "We decided to..." or "We agreed to..."
9
- - Be explicit about technology choices: "We use PostgreSQL for..."
10
- - Clarify when replacing previous decisions: "We no longer use X, switching to Y"
11
- - Note conventions with "Convention:" or "Standard:"
12
-
13
- When recalling past context:
14
- - Use the memory.recall MCP tool to find relevant past decisions
15
- - Cite specific facts when referencing previous work
16
- - If unsure, use memory.explain to get provenance for a fact
17
-
18
- When conflicts arise:
19
- - Acknowledge contradictions explicitly
20
- - Use memory.conflicts to see open disputes
21
- - Help resolve conflicts by providing clear supersession signals
data/.mcp.json DELETED
@@ -1,11 +0,0 @@
1
- {
2
- "mcpServers": {
3
- "memory": {
4
- "type": "stdio",
5
- "command": "claude-memory",
6
- "args": [
7
- "serve-mcp"
8
- ]
9
- }
10
- }
11
- }
File without changes
File without changes