claude_memory 0.2.0 → 0.3.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 (104) hide show
  1. checksums.yaml +4 -4
  2. data/.claude/.mind.mv2.o2N83S +0 -0
  3. data/.claude/CLAUDE.md +1 -0
  4. data/.claude/rules/claude_memory.generated.md +28 -9
  5. data/.claude/settings.local.json +9 -1
  6. data/.claude/skills/check-memory/SKILL.md +77 -0
  7. data/.claude/skills/improve/SKILL.md +532 -0
  8. data/.claude/skills/improve/feature-patterns.md +1221 -0
  9. data/.claude/skills/quality-update/SKILL.md +229 -0
  10. data/.claude/skills/quality-update/implementation-guide.md +346 -0
  11. data/.claude/skills/review-commit/SKILL.md +199 -0
  12. data/.claude/skills/review-for-quality/SKILL.md +154 -0
  13. data/.claude/skills/review-for-quality/expert-checklists.md +79 -0
  14. data/.claude/skills/setup-memory/SKILL.md +168 -0
  15. data/.claude/skills/study-repo/SKILL.md +307 -0
  16. data/.claude/skills/study-repo/analysis-template.md +323 -0
  17. data/.claude/skills/study-repo/focus-examples.md +327 -0
  18. data/CHANGELOG.md +133 -0
  19. data/CLAUDE.md +130 -11
  20. data/README.md +117 -10
  21. data/db/migrations/001_create_initial_schema.rb +117 -0
  22. data/db/migrations/002_add_project_scoping.rb +33 -0
  23. data/db/migrations/003_add_session_metadata.rb +42 -0
  24. data/db/migrations/004_add_fact_embeddings.rb +20 -0
  25. data/db/migrations/005_add_incremental_sync.rb +21 -0
  26. data/db/migrations/006_add_operation_tracking.rb +40 -0
  27. data/db/migrations/007_add_ingestion_metrics.rb +26 -0
  28. data/docs/.claude/mind.mv2.lock +0 -0
  29. data/docs/GETTING_STARTED.md +587 -0
  30. data/docs/RELEASE_NOTES_v0.2.0.md +0 -1
  31. data/docs/RUBY_COMMUNITY_POST_v0.2.0.md +0 -2
  32. data/docs/architecture.md +9 -8
  33. data/docs/auto_init_design.md +230 -0
  34. data/docs/improvements.md +557 -731
  35. data/docs/influence/.gitkeep +13 -0
  36. data/docs/influence/grepai.md +933 -0
  37. data/docs/influence/qmd.md +2195 -0
  38. data/docs/plugin.md +257 -11
  39. data/docs/quality_review.md +472 -1273
  40. data/docs/remaining_improvements.md +330 -0
  41. data/lefthook.yml +13 -0
  42. data/lib/claude_memory/commands/checks/claude_md_check.rb +41 -0
  43. data/lib/claude_memory/commands/checks/database_check.rb +120 -0
  44. data/lib/claude_memory/commands/checks/hooks_check.rb +112 -0
  45. data/lib/claude_memory/commands/checks/reporter.rb +110 -0
  46. data/lib/claude_memory/commands/checks/snapshot_check.rb +30 -0
  47. data/lib/claude_memory/commands/doctor_command.rb +12 -129
  48. data/lib/claude_memory/commands/help_command.rb +1 -0
  49. data/lib/claude_memory/commands/hook_command.rb +9 -2
  50. data/lib/claude_memory/commands/index_command.rb +169 -0
  51. data/lib/claude_memory/commands/ingest_command.rb +1 -1
  52. data/lib/claude_memory/commands/init_command.rb +5 -197
  53. data/lib/claude_memory/commands/initializers/database_ensurer.rb +30 -0
  54. data/lib/claude_memory/commands/initializers/global_initializer.rb +85 -0
  55. data/lib/claude_memory/commands/initializers/hooks_configurator.rb +156 -0
  56. data/lib/claude_memory/commands/initializers/mcp_configurator.rb +56 -0
  57. data/lib/claude_memory/commands/initializers/memory_instructions_writer.rb +135 -0
  58. data/lib/claude_memory/commands/initializers/project_initializer.rb +111 -0
  59. data/lib/claude_memory/commands/recover_command.rb +75 -0
  60. data/lib/claude_memory/commands/registry.rb +5 -1
  61. data/lib/claude_memory/commands/stats_command.rb +239 -0
  62. data/lib/claude_memory/commands/uninstall_command.rb +226 -0
  63. data/lib/claude_memory/core/batch_loader.rb +32 -0
  64. data/lib/claude_memory/core/concept_ranker.rb +73 -0
  65. data/lib/claude_memory/core/embedding_candidate_builder.rb +37 -0
  66. data/lib/claude_memory/core/fact_collector.rb +51 -0
  67. data/lib/claude_memory/core/fact_query_builder.rb +154 -0
  68. data/lib/claude_memory/core/fact_ranker.rb +113 -0
  69. data/lib/claude_memory/core/result_builder.rb +54 -0
  70. data/lib/claude_memory/core/result_sorter.rb +25 -0
  71. data/lib/claude_memory/core/scope_filter.rb +61 -0
  72. data/lib/claude_memory/core/text_builder.rb +29 -0
  73. data/lib/claude_memory/embeddings/generator.rb +161 -0
  74. data/lib/claude_memory/embeddings/similarity.rb +69 -0
  75. data/lib/claude_memory/hook/handler.rb +4 -3
  76. data/lib/claude_memory/index/lexical_fts.rb +7 -2
  77. data/lib/claude_memory/infrastructure/operation_tracker.rb +158 -0
  78. data/lib/claude_memory/infrastructure/schema_validator.rb +206 -0
  79. data/lib/claude_memory/ingest/content_sanitizer.rb +6 -7
  80. data/lib/claude_memory/ingest/ingester.rb +99 -15
  81. data/lib/claude_memory/ingest/metadata_extractor.rb +57 -0
  82. data/lib/claude_memory/ingest/tool_extractor.rb +71 -0
  83. data/lib/claude_memory/mcp/response_formatter.rb +331 -0
  84. data/lib/claude_memory/mcp/server.rb +19 -0
  85. data/lib/claude_memory/mcp/setup_status_analyzer.rb +73 -0
  86. data/lib/claude_memory/mcp/tool_definitions.rb +279 -0
  87. data/lib/claude_memory/mcp/tool_helpers.rb +80 -0
  88. data/lib/claude_memory/mcp/tools.rb +330 -320
  89. data/lib/claude_memory/recall/dual_query_template.rb +63 -0
  90. data/lib/claude_memory/recall.rb +304 -237
  91. data/lib/claude_memory/resolve/resolver.rb +52 -49
  92. data/lib/claude_memory/store/sqlite_store.rb +210 -144
  93. data/lib/claude_memory/store/store_manager.rb +6 -6
  94. data/lib/claude_memory/sweep/sweeper.rb +6 -0
  95. data/lib/claude_memory/version.rb +1 -1
  96. data/lib/claude_memory.rb +35 -3
  97. metadata +71 -11
  98. data/.claude/.mind.mv2.aLCUZd +0 -0
  99. data/.claude/memory.sqlite3 +0 -0
  100. data/.mcp.json +0 -11
  101. /data/docs/{feature_adoption_plan.md → plans/feature_adoption_plan.md} +0 -0
  102. /data/docs/{feature_adoption_plan_revised.md → plans/feature_adoption_plan_revised.md} +0 -0
  103. /data/docs/{plan.md → plans/plan.md} +0 -0
  104. /data/docs/{updated_plan.md → plans/updated_plan.md} +0 -0
data/lib/claude_memory.rb CHANGED
@@ -11,10 +11,26 @@ require_relative "claude_memory/core/fact_id"
11
11
  require_relative "claude_memory/core/null_fact"
12
12
  require_relative "claude_memory/core/null_explanation"
13
13
  require_relative "claude_memory/core/token_estimator"
14
+ require_relative "claude_memory/core/batch_loader"
15
+ require_relative "claude_memory/core/fact_ranker"
16
+ require_relative "claude_memory/core/concept_ranker"
17
+ require_relative "claude_memory/core/scope_filter"
18
+ require_relative "claude_memory/core/result_builder"
19
+ require_relative "claude_memory/core/fact_collector"
20
+ require_relative "claude_memory/core/embedding_candidate_builder"
21
+ require_relative "claude_memory/core/fact_query_builder"
22
+ require_relative "claude_memory/core/result_sorter"
23
+ require_relative "claude_memory/core/text_builder"
14
24
  require_relative "claude_memory/commands/base_command"
25
+ require_relative "claude_memory/commands/checks/database_check"
26
+ require_relative "claude_memory/commands/checks/snapshot_check"
27
+ require_relative "claude_memory/commands/checks/claude_md_check"
28
+ require_relative "claude_memory/commands/checks/hooks_check"
29
+ require_relative "claude_memory/commands/checks/reporter"
15
30
  require_relative "claude_memory/commands/help_command"
16
31
  require_relative "claude_memory/commands/version_command"
17
32
  require_relative "claude_memory/commands/doctor_command"
33
+ require_relative "claude_memory/commands/stats_command"
18
34
  require_relative "claude_memory/commands/promote_command"
19
35
  require_relative "claude_memory/commands/search_command"
20
36
  require_relative "claude_memory/commands/explain_command"
@@ -25,9 +41,18 @@ require_relative "claude_memory/commands/sweep_command"
25
41
  require_relative "claude_memory/commands/ingest_command"
26
42
  require_relative "claude_memory/commands/publish_command"
27
43
  require_relative "claude_memory/commands/db_init_command"
44
+ require_relative "claude_memory/commands/initializers/hooks_configurator"
45
+ require_relative "claude_memory/commands/initializers/mcp_configurator"
46
+ require_relative "claude_memory/commands/initializers/memory_instructions_writer"
47
+ require_relative "claude_memory/commands/initializers/database_ensurer"
48
+ require_relative "claude_memory/commands/initializers/project_initializer"
49
+ require_relative "claude_memory/commands/initializers/global_initializer"
28
50
  require_relative "claude_memory/commands/init_command"
51
+ require_relative "claude_memory/commands/uninstall_command"
29
52
  require_relative "claude_memory/commands/serve_mcp_command"
30
53
  require_relative "claude_memory/commands/hook_command"
54
+ require_relative "claude_memory/commands/index_command"
55
+ require_relative "claude_memory/commands/recover_command"
31
56
  require_relative "claude_memory/commands/registry"
32
57
  require_relative "claude_memory/cli"
33
58
  require_relative "claude_memory/configuration"
@@ -38,6 +63,8 @@ require_relative "claude_memory/domain/fact"
38
63
  require_relative "claude_memory/domain/entity"
39
64
  require_relative "claude_memory/domain/provenance"
40
65
  require_relative "claude_memory/domain/conflict"
66
+ require_relative "claude_memory/embeddings/generator"
67
+ require_relative "claude_memory/embeddings/similarity"
41
68
  require_relative "claude_memory/hook/exit_codes"
42
69
  require_relative "claude_memory/hook/handler"
43
70
  require_relative "claude_memory/index/query_options"
@@ -46,13 +73,19 @@ require_relative "claude_memory/index/index_query"
46
73
  require_relative "claude_memory/index/lexical_fts"
47
74
  require_relative "claude_memory/ingest/privacy_tag"
48
75
  require_relative "claude_memory/ingest/content_sanitizer"
76
+ require_relative "claude_memory/ingest/metadata_extractor"
77
+ require_relative "claude_memory/ingest/tool_extractor"
49
78
  require_relative "claude_memory/ingest/ingester"
50
79
  require_relative "claude_memory/ingest/transcript_reader"
51
80
  require_relative "claude_memory/infrastructure/file_system"
52
81
  require_relative "claude_memory/infrastructure/in_memory_file_system"
82
+ require_relative "claude_memory/infrastructure/operation_tracker"
83
+ require_relative "claude_memory/infrastructure/schema_validator"
84
+ require_relative "claude_memory/mcp/tool_helpers"
53
85
  require_relative "claude_memory/mcp/server"
54
86
  require_relative "claude_memory/mcp/tools"
55
87
  require_relative "claude_memory/publish"
88
+ require_relative "claude_memory/recall/dual_query_template"
56
89
  require_relative "claude_memory/recall"
57
90
  require_relative "claude_memory/shortcuts"
58
91
  require_relative "claude_memory/resolve/predicate_policy"
@@ -64,11 +97,10 @@ require_relative "claude_memory/version"
64
97
 
65
98
  module ClaudeMemory
66
99
  def self.global_db_path(env = ENV)
67
- home = env["HOME"] || File.expand_path("~")
68
- File.join(home, ".claude", "memory.sqlite3")
100
+ Configuration.new(env).global_db_path
69
101
  end
70
102
 
71
103
  def self.project_db_path(project_path = Dir.pwd)
72
- File.join(project_path, ".claude", "memory.sqlite3")
104
+ Configuration.new.project_db_path(project_path)
73
105
  end
74
106
  end
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.3.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,24 @@ files:
49
49
  - ".claude-plugin/marketplace.json"
50
50
  - ".claude-plugin/plugin.json"
51
51
  - ".claude.json"
52
- - ".claude/.mind.mv2.aLCUZd"
52
+ - ".claude/.mind.mv2.o2N83S"
53
53
  - ".claude/CLAUDE.md"
54
- - ".claude/memory.sqlite3"
55
54
  - ".claude/output-styles/memory-aware.md"
56
55
  - ".claude/rules/claude_memory.generated.md"
57
56
  - ".claude/settings.json"
58
57
  - ".claude/settings.local.json"
59
- - ".mcp.json"
58
+ - ".claude/skills/check-memory/SKILL.md"
59
+ - ".claude/skills/improve/SKILL.md"
60
+ - ".claude/skills/improve/feature-patterns.md"
61
+ - ".claude/skills/quality-update/SKILL.md"
62
+ - ".claude/skills/quality-update/implementation-guide.md"
63
+ - ".claude/skills/review-commit/SKILL.md"
64
+ - ".claude/skills/review-for-quality/SKILL.md"
65
+ - ".claude/skills/review-for-quality/expert-checklists.md"
66
+ - ".claude/skills/setup-memory/SKILL.md"
67
+ - ".claude/skills/study-repo/SKILL.md"
68
+ - ".claude/skills/study-repo/analysis-template.md"
69
+ - ".claude/skills/study-repo/focus-examples.md"
60
70
  - ".ruby-version"
61
71
  - CHANGELOG.md
62
72
  - CLAUDE.md
@@ -67,22 +77,36 @@ files:
67
77
  - commands/analyze.md
68
78
  - commands/recall.md
69
79
  - commands/remember.md
80
+ - db/migrations/001_create_initial_schema.rb
81
+ - db/migrations/002_add_project_scoping.rb
82
+ - db/migrations/003_add_session_metadata.rb
83
+ - db/migrations/004_add_fact_embeddings.rb
84
+ - db/migrations/005_add_incremental_sync.rb
85
+ - db/migrations/006_add_operation_tracking.rb
86
+ - db/migrations/007_add_ingestion_metrics.rb
87
+ - docs/.claude/mind.mv2.lock
70
88
  - docs/EXAMPLES.md
89
+ - docs/GETTING_STARTED.md
71
90
  - docs/RELEASE_NOTES_v0.2.0.md
72
91
  - docs/RUBY_COMMUNITY_POST_v0.2.0.md
73
92
  - docs/SOCIAL_MEDIA_v0.2.0.md
74
93
  - docs/architecture.md
94
+ - docs/auto_init_design.md
75
95
  - docs/demo.md
76
96
  - docs/expert_review.md
77
- - docs/feature_adoption_plan.md
78
- - docs/feature_adoption_plan_revised.md
79
97
  - docs/improvements.md
98
+ - docs/influence/.gitkeep
99
+ - docs/influence/grepai.md
100
+ - docs/influence/qmd.md
80
101
  - docs/organizational_memory_playbook.md
81
- - docs/plan.md
102
+ - docs/plans/feature_adoption_plan.md
103
+ - docs/plans/feature_adoption_plan_revised.md
104
+ - docs/plans/plan.md
105
+ - docs/plans/updated_plan.md
82
106
  - docs/plugin.md
83
107
  - docs/quality_review.md
108
+ - docs/remaining_improvements.md
84
109
  - docs/review_summary.md
85
- - docs/updated_plan.md
86
110
  - exe/claude-memory
87
111
  - hooks/hooks.json
88
112
  - lefthook.yml
@@ -90,28 +114,53 @@ files:
90
114
  - lib/claude_memory/cli.rb
91
115
  - lib/claude_memory/commands/base_command.rb
92
116
  - lib/claude_memory/commands/changes_command.rb
117
+ - lib/claude_memory/commands/checks/claude_md_check.rb
118
+ - lib/claude_memory/commands/checks/database_check.rb
119
+ - lib/claude_memory/commands/checks/hooks_check.rb
120
+ - lib/claude_memory/commands/checks/reporter.rb
121
+ - lib/claude_memory/commands/checks/snapshot_check.rb
93
122
  - lib/claude_memory/commands/conflicts_command.rb
94
123
  - lib/claude_memory/commands/db_init_command.rb
95
124
  - lib/claude_memory/commands/doctor_command.rb
96
125
  - lib/claude_memory/commands/explain_command.rb
97
126
  - lib/claude_memory/commands/help_command.rb
98
127
  - lib/claude_memory/commands/hook_command.rb
128
+ - lib/claude_memory/commands/index_command.rb
99
129
  - lib/claude_memory/commands/ingest_command.rb
100
130
  - lib/claude_memory/commands/init_command.rb
131
+ - lib/claude_memory/commands/initializers/database_ensurer.rb
132
+ - lib/claude_memory/commands/initializers/global_initializer.rb
133
+ - lib/claude_memory/commands/initializers/hooks_configurator.rb
134
+ - lib/claude_memory/commands/initializers/mcp_configurator.rb
135
+ - lib/claude_memory/commands/initializers/memory_instructions_writer.rb
136
+ - lib/claude_memory/commands/initializers/project_initializer.rb
101
137
  - lib/claude_memory/commands/promote_command.rb
102
138
  - lib/claude_memory/commands/publish_command.rb
103
139
  - lib/claude_memory/commands/recall_command.rb
140
+ - lib/claude_memory/commands/recover_command.rb
104
141
  - lib/claude_memory/commands/registry.rb
105
142
  - lib/claude_memory/commands/search_command.rb
106
143
  - lib/claude_memory/commands/serve_mcp_command.rb
144
+ - lib/claude_memory/commands/stats_command.rb
107
145
  - lib/claude_memory/commands/sweep_command.rb
146
+ - lib/claude_memory/commands/uninstall_command.rb
108
147
  - lib/claude_memory/commands/version_command.rb
109
148
  - lib/claude_memory/configuration.rb
149
+ - lib/claude_memory/core/batch_loader.rb
150
+ - lib/claude_memory/core/concept_ranker.rb
151
+ - lib/claude_memory/core/embedding_candidate_builder.rb
152
+ - lib/claude_memory/core/fact_collector.rb
110
153
  - lib/claude_memory/core/fact_id.rb
154
+ - lib/claude_memory/core/fact_query_builder.rb
155
+ - lib/claude_memory/core/fact_ranker.rb
111
156
  - lib/claude_memory/core/null_explanation.rb
112
157
  - lib/claude_memory/core/null_fact.rb
113
158
  - lib/claude_memory/core/result.rb
159
+ - lib/claude_memory/core/result_builder.rb
160
+ - lib/claude_memory/core/result_sorter.rb
161
+ - lib/claude_memory/core/scope_filter.rb
114
162
  - lib/claude_memory/core/session_id.rb
163
+ - lib/claude_memory/core/text_builder.rb
115
164
  - lib/claude_memory/core/token_estimator.rb
116
165
  - lib/claude_memory/core/transcript_path.rb
117
166
  - lib/claude_memory/distill/distiller.rb
@@ -122,6 +171,8 @@ files:
122
171
  - lib/claude_memory/domain/entity.rb
123
172
  - lib/claude_memory/domain/fact.rb
124
173
  - lib/claude_memory/domain/provenance.rb
174
+ - lib/claude_memory/embeddings/generator.rb
175
+ - lib/claude_memory/embeddings/similarity.rb
125
176
  - lib/claude_memory/hook/exit_codes.rb
126
177
  - lib/claude_memory/hook/handler.rb
127
178
  - lib/claude_memory/index/index_query.rb
@@ -130,14 +181,23 @@ files:
130
181
  - lib/claude_memory/index/query_options.rb
131
182
  - lib/claude_memory/infrastructure/file_system.rb
132
183
  - lib/claude_memory/infrastructure/in_memory_file_system.rb
184
+ - lib/claude_memory/infrastructure/operation_tracker.rb
185
+ - lib/claude_memory/infrastructure/schema_validator.rb
133
186
  - lib/claude_memory/ingest/content_sanitizer.rb
134
187
  - lib/claude_memory/ingest/ingester.rb
188
+ - lib/claude_memory/ingest/metadata_extractor.rb
135
189
  - lib/claude_memory/ingest/privacy_tag.rb
190
+ - lib/claude_memory/ingest/tool_extractor.rb
136
191
  - lib/claude_memory/ingest/transcript_reader.rb
192
+ - lib/claude_memory/mcp/response_formatter.rb
137
193
  - lib/claude_memory/mcp/server.rb
194
+ - lib/claude_memory/mcp/setup_status_analyzer.rb
195
+ - lib/claude_memory/mcp/tool_definitions.rb
196
+ - lib/claude_memory/mcp/tool_helpers.rb
138
197
  - lib/claude_memory/mcp/tools.rb
139
198
  - lib/claude_memory/publish.rb
140
199
  - lib/claude_memory/recall.rb
200
+ - lib/claude_memory/recall/dual_query_template.rb
141
201
  - lib/claude_memory/resolve/predicate_policy.rb
142
202
  - lib/claude_memory/resolve/resolver.rb
143
203
  - lib/claude_memory/shortcuts.rb
Binary file
Binary file
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