claude-recall 0.8.3 β 0.8.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/README.md +155 -133
- package/docs/faq.md +3 -0
- package/docs/installation.md +4 -0
- package/docs/project-scoping.md +11 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -15,216 +15,238 @@ Your preferences, project structure, workflows, corrections, and coding style ar
|
|
|
15
15
|
|
|
16
16
|
## π Features
|
|
17
17
|
|
|
18
|
-
###
|
|
18
|
+
### π± Continuous Learning (Local SQLite)
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
* Stores and evolves them in a local SQLite database
|
|
22
|
-
* Claud Code automatically searches memory before performing actions
|
|
20
|
+
Claude learns your:
|
|
23
21
|
|
|
24
|
-
|
|
22
|
+
* coding patterns
|
|
23
|
+
* tool preferences
|
|
24
|
+
* corrections
|
|
25
|
+
* architectural decisions
|
|
26
|
+
* workflow habits
|
|
25
27
|
|
|
26
|
-
|
|
28
|
+
Everything stays **local**.
|
|
27
29
|
|
|
28
|
-
|
|
29
|
-
* Memory Agent subscribes in real time
|
|
30
|
-
* Processes events without blocking Claude
|
|
31
|
-
* Suggests relevant memories back to Claude Code
|
|
30
|
+
---
|
|
32
31
|
|
|
33
|
-
|
|
32
|
+
## β‘ Realtime Memory Intelligence (PubNub Event Bus)
|
|
34
33
|
|
|
35
|
-
|
|
36
|
-
> Only small metadata packets β tool names, file paths, event types, heartbeat signals.
|
|
34
|
+
Claude Recall uses a lightweight, metadata-only PubNub layer to provide **instant, asynchronous memory intelligence**.
|
|
37
35
|
|
|
38
|
-
###
|
|
36
|
+
### What PubNub enables
|
|
39
37
|
|
|
40
|
-
|
|
38
|
+
* **Hooks become <10ms**
|
|
39
|
+
Instead of slow, blocking MCP or CLI calls (50β500ms), hooks now publish a tiny packet and return instantly.
|
|
41
40
|
|
|
42
|
-
*
|
|
43
|
-
|
|
44
|
-
* decisions
|
|
45
|
-
* constraints
|
|
46
|
-
* mistakes + corrections
|
|
47
|
-
* coding preferences
|
|
48
|
-
* tech stack
|
|
41
|
+
* **The Memory Agent works in the background**
|
|
42
|
+
The Agent subscribes to PubNub channels, processes events in real time, updates memory, and sends suggestions back to Claude without slowing anything down.
|
|
49
43
|
|
|
50
|
-
|
|
44
|
+
* **Claude stays fast and responsive**
|
|
45
|
+
Even under heavy editing or repeated tool runs.
|
|
51
46
|
|
|
52
|
-
###
|
|
47
|
+
### What PubNub actually carries (metadata-only)
|
|
53
48
|
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
49
|
+
* tool name
|
|
50
|
+
* file path
|
|
51
|
+
* event type
|
|
52
|
+
* prompt token counts (no text)
|
|
53
|
+
* memory suggestion IDs
|
|
54
|
+
* Agent heartbeat
|
|
59
55
|
|
|
60
|
-
###
|
|
56
|
+
### What PubNub does *not* carry
|
|
61
57
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
58
|
+
π« code
|
|
59
|
+
π« conversation text
|
|
60
|
+
π« file contents
|
|
61
|
+
π« memory content
|
|
62
|
+
π« embeddings
|
|
63
|
+
π« prompts
|
|
64
|
+
π« anything sensitive
|
|
65
|
+
|
|
66
|
+
PubNub is **not** storage β it is a realtime coordination channel.
|
|
66
67
|
|
|
67
68
|
---
|
|
68
69
|
|
|
69
|
-
##
|
|
70
|
+
## π¬ Why use PubNub at all?
|
|
70
71
|
|
|
71
|
-
|
|
72
|
+
Developers often ask this. Here's the clear answer:
|
|
72
73
|
|
|
73
|
-
|
|
74
|
-
| --------- | ----------------------- | ------------------------------------- |
|
|
75
|
-
| Node.js | **20+** | required for better-sqlite3 |
|
|
76
|
-
| Python | **3.x** | required for Claude Code hook scripts |
|
|
77
|
-
| PubNub | included via npm | metadata-only usage |
|
|
78
|
-
| OS | macOS / Linux / Windows | WSL supported |
|
|
74
|
+
### β **Persistent memory doesn't require PubNub**
|
|
79
75
|
|
|
80
|
-
|
|
76
|
+
The core idea (Claude remembering preferences and project knowledge) could be implemented with:
|
|
81
77
|
|
|
82
|
-
|
|
78
|
+
* direct MCP calls
|
|
79
|
+
* local HTTP server
|
|
80
|
+
* sockets / pipes
|
|
81
|
+
* a local queue
|
|
82
|
+
* synchronous CLI calls
|
|
83
83
|
|
|
84
|
-
|
|
85
|
-
cd your-project
|
|
86
|
-
npm install claude-recall
|
|
87
|
-
```
|
|
84
|
+
### β **But PubNub gives a dramatically better UX**
|
|
88
85
|
|
|
89
|
-
|
|
86
|
+
Without PubNub:
|
|
90
87
|
|
|
91
|
-
|
|
88
|
+
* hooks block while waiting for the Memory Agent to finish
|
|
89
|
+
* every file write/edit stalls Claude
|
|
90
|
+
* the editor feels sluggish
|
|
91
|
+
* memory suggestions arrive too late to help
|
|
92
|
+
* cross-platform performance varies wildly
|
|
92
93
|
|
|
93
|
-
|
|
94
|
+
With PubNub:
|
|
94
95
|
|
|
95
|
-
|
|
96
|
+
* hooks return in **6β10ms**
|
|
97
|
+
* memory is processed asynchronously
|
|
98
|
+
* Claude gets suggestions in real time
|
|
99
|
+
* no need to bundle/maintain a local broker
|
|
100
|
+
* works the same on macOS, Windows, Linux, WSL
|
|
96
101
|
|
|
97
|
-
|
|
102
|
+
### β **Local-first design is preserved**
|
|
98
103
|
|
|
99
|
-
|
|
104
|
+
PubNub only transmits metadata β no user content ever leaves your machine.
|
|
100
105
|
|
|
101
|
-
|
|
102
|
-
mcp__claude-recall__search
|
|
103
|
-
```
|
|
106
|
+
### β **Implementation detail, not a hard dependency**
|
|
104
107
|
|
|
105
|
-
|
|
108
|
+
In the future the event bus can be swapped (local-only transport, WebSockets, NATS, etc.).
|
|
109
|
+
PubNub is simply the fastest path to a great developer experience today.
|
|
106
110
|
|
|
107
111
|
---
|
|
108
112
|
|
|
109
|
-
##
|
|
113
|
+
## π Project-Scoped Knowledge
|
|
110
114
|
|
|
111
|
-
|
|
115
|
+
Each project gets its own memory namespace:
|
|
112
116
|
|
|
113
|
-
|
|
117
|
+
* architecture
|
|
118
|
+
* tech stack
|
|
119
|
+
* conventions
|
|
120
|
+
* past decisions
|
|
121
|
+
* known pitfalls
|
|
122
|
+
* previous fixes
|
|
123
|
+
* preferences unique to that codebase
|
|
114
124
|
|
|
115
|
-
|
|
125
|
+
Switch projects β Claude switches memory.
|
|
116
126
|
|
|
117
|
-
|
|
127
|
+
---
|
|
118
128
|
|
|
119
|
-
|
|
120
|
-
* project knowledge
|
|
121
|
-
* coding style
|
|
122
|
-
* corrections
|
|
123
|
-
* workflow patterns
|
|
124
|
-
* successes & failures
|
|
129
|
+
## π Zero Cloud Storage
|
|
125
130
|
|
|
126
|
-
|
|
131
|
+
* All memory stored locally in SQLite
|
|
132
|
+
* No cloud sync
|
|
133
|
+
* No telemetry
|
|
134
|
+
* PubNub carries **ephemeral metadata only**
|
|
135
|
+
* Entire system works offline (except realtime coordination)
|
|
127
136
|
|
|
128
137
|
---
|
|
129
138
|
|
|
130
|
-
|
|
139
|
+
## π» Claude CodeβNative Integration
|
|
140
|
+
|
|
141
|
+
Claude Recall integrates tightly via:
|
|
131
142
|
|
|
132
|
-
|
|
143
|
+
* MCP server (search, store, evolve)
|
|
144
|
+
* pre-action hooks
|
|
145
|
+
* planning hooks
|
|
146
|
+
* post-action hooks
|
|
147
|
+
* PubNub event subscriber (Memory Agent)
|
|
133
148
|
|
|
134
|
-
|
|
149
|
+
Claude automatically searches memory before writing or editing files.
|
|
135
150
|
|
|
136
|
-
|
|
137
|
-
* Memory Agent processes events asynchronously
|
|
138
|
-
* Claude stays fast and responsive
|
|
139
|
-
* Zero waiting on the MCP server
|
|
140
|
-
* No user data transmitted
|
|
151
|
+
---
|
|
141
152
|
|
|
142
|
-
|
|
153
|
+
## β‘ Quick Start
|
|
143
154
|
|
|
144
|
-
|
|
145
|
-
| ----------------------- | ------------------------ | ----------------------- |
|
|
146
|
-
| `claude-tool-events` | tool invocation metadata | tool name, file path |
|
|
147
|
-
| `claude-prompt-stream` | prompt chunk events | token counts, not text |
|
|
148
|
-
| `claude-memory-context` | memory suggestions | memory IDs, confidence |
|
|
149
|
-
| `claude-presence` | heartbeat & lifecycle | agent online/offline |
|
|
155
|
+
### Requirements
|
|
150
156
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
157
|
+
| Component | Version | Notes |
|
|
158
|
+
| --------- | ----------------------- | ------------------------------ |
|
|
159
|
+
| Node.js | **20+** | required for better-sqlite3 |
|
|
160
|
+
| Python | **3.x** | required for Claude Code hooks |
|
|
161
|
+
| PubNub | included via npm | metadata only |
|
|
162
|
+
| OS | macOS / Linux / Windows | WSL supported |
|
|
154
163
|
|
|
155
164
|
---
|
|
156
165
|
|
|
157
|
-
###
|
|
166
|
+
### Install (per project)
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
cd your-project
|
|
170
|
+
npm install claude-recall
|
|
171
|
+
```
|
|
158
172
|
|
|
159
|
-
|
|
173
|
+
Restart **Claude Code**.
|
|
160
174
|
|
|
161
|
-
|
|
175
|
+
---
|
|
162
176
|
|
|
163
|
-
|
|
164
|
-
* Provide context
|
|
165
|
-
* Adjust plan
|
|
177
|
+
### Verify it's working
|
|
166
178
|
|
|
167
|
-
|
|
179
|
+
In Claude Code:
|
|
168
180
|
|
|
169
|
-
|
|
170
|
-
* Update or evolve memories
|
|
171
|
-
* Suggest improvements through PubNub
|
|
181
|
+
> "Search my memories."
|
|
172
182
|
|
|
173
|
-
|
|
183
|
+
Claude should call:
|
|
174
184
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
185
|
+
```
|
|
186
|
+
mcp__claude-recall__search
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
If results appear β You're ready.
|
|
178
190
|
|
|
179
191
|
---
|
|
180
192
|
|
|
181
|
-
##
|
|
193
|
+
## π§ How It Works (High-Level)
|
|
194
|
+
|
|
195
|
+
Claude Recall consists of:
|
|
196
|
+
|
|
197
|
+
### 1. Local Memory Engine (SQLite)
|
|
198
|
+
|
|
199
|
+
Stores and evolves preferences, patterns, decisions, corrections.
|
|
200
|
+
|
|
201
|
+
### 2. Realtime Event Bus (PubNub)
|
|
202
|
+
|
|
203
|
+
Makes hooks fast and enables the Memory Agent to work asynchronously.
|
|
204
|
+
|
|
205
|
+
### 3. Memory Agent
|
|
182
206
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
| 5-minute Quickstart | `docs/quickstart.md` |
|
|
189
|
-
| Architecture (with PubNub) | `docs/architecture.md` |
|
|
190
|
-
| The Learning Loop | `docs/learning-loop.md` |
|
|
191
|
-
| Memory Types | `docs/memory-types.md` |
|
|
192
|
-
| CLI Reference | `docs/cli.md` |
|
|
193
|
-
| Hooks Documentation | `docs/hooks.md` |
|
|
194
|
-
| Project Scoping | `docs/project-scoping.md` |
|
|
195
|
-
| Troubleshooting | `docs/troubleshooting.md` |
|
|
196
|
-
| Security & Privacy | `docs/security.md` |
|
|
197
|
-
| FAQ | `docs/faq.md` |
|
|
207
|
+
Subscribes to PubNub, updates memory, sends suggestions to Claude.
|
|
208
|
+
|
|
209
|
+
### 4. Claude Code Hooks
|
|
210
|
+
|
|
211
|
+
Inject memory pre-action, perform structured planning, capture post-action learnings.
|
|
198
212
|
|
|
199
213
|
---
|
|
200
214
|
|
|
201
215
|
## π Security & Privacy
|
|
202
216
|
|
|
203
|
-
Claude Recall is
|
|
217
|
+
Claude Recall is built for local-first workflows:
|
|
204
218
|
|
|
205
|
-
*
|
|
206
|
-
* PubNub
|
|
207
|
-
* No
|
|
208
|
-
* No
|
|
209
|
-
*
|
|
210
|
-
* You control your entire memory set
|
|
211
|
-
* Easy export/inspect/delete through CLI
|
|
219
|
+
* SQLite memory never leaves your machine
|
|
220
|
+
* PubNub sends metadata only
|
|
221
|
+
* No storage of PubNub messages
|
|
222
|
+
* No prompts, code, or memory content is transmitted
|
|
223
|
+
* Full transparency via CLI (`list`, `inspect`, `export`)
|
|
212
224
|
|
|
213
|
-
Full
|
|
225
|
+
Full details in `/docs/security.md`.
|
|
214
226
|
|
|
215
227
|
---
|
|
216
228
|
|
|
217
|
-
##
|
|
229
|
+
## π Full Documentation
|
|
230
|
+
|
|
231
|
+
All docs in `/docs`:
|
|
218
232
|
|
|
219
|
-
|
|
220
|
-
|
|
233
|
+
* Installation
|
|
234
|
+
* Quickstart
|
|
235
|
+
* Architecture
|
|
236
|
+
* Learning Loop
|
|
237
|
+
* Memory Types
|
|
238
|
+
* CLI Reference
|
|
239
|
+
* Hooks
|
|
240
|
+
* Project Scoping
|
|
241
|
+
* Troubleshooting
|
|
242
|
+
* Security
|
|
243
|
+
* FAQ
|
|
221
244
|
|
|
222
245
|
---
|
|
223
246
|
|
|
224
|
-
##
|
|
247
|
+
## π Development & Contributions
|
|
225
248
|
|
|
226
|
-
|
|
227
|
-
Claude Recall is evolving rapidly β your input shapes it.
|
|
249
|
+
PRs welcome β Claude Recall is open to contributors.
|
|
228
250
|
|
|
229
251
|
---
|
|
230
252
|
|
package/docs/faq.md
CHANGED
|
@@ -221,6 +221,9 @@ Project-specific keys ensure:
|
|
|
221
221
|
- no cross-project leakage
|
|
222
222
|
- clean agent shutdown
|
|
223
223
|
|
|
224
|
+
**Recommended**: Create your own free keys for production:
|
|
225
|
+
[Create PubNub Keys](https://www.pubnub.com/how-to/admin-portal-create-keys/)
|
|
226
|
+
|
|
224
227
|
---
|
|
225
228
|
|
|
226
229
|
## What if I want to reset everything?
|
package/docs/installation.md
CHANGED
|
@@ -37,6 +37,10 @@ Then restart **Claude Code**.
|
|
|
37
37
|
|
|
38
38
|
Claude will automatically detect the MCP server and begin using persistent memory.
|
|
39
39
|
|
|
40
|
+
Installation creates `.claude/skills/memory-management/` with:
|
|
41
|
+
- SKILL.md (main skill definition)
|
|
42
|
+
- references/ (examples, patterns, troubleshooting)
|
|
43
|
+
|
|
40
44
|
---
|
|
41
45
|
|
|
42
46
|
## Global Install (Not Recommended)
|
package/docs/project-scoping.md
CHANGED
|
@@ -19,6 +19,17 @@ This enables:
|
|
|
19
19
|
|
|
20
20
|
---
|
|
21
21
|
|
|
22
|
+
## Automatic Memory Scoping
|
|
23
|
+
|
|
24
|
+
Claude Recall automatically manages memory scope:
|
|
25
|
+
- **Universal memories** (coding style, tool preferences) β reused across all projects
|
|
26
|
+
- **Project memories** (database configs, APIs) β isolated per project
|
|
27
|
+
|
|
28
|
+
System auto-detects from language ("remember everywhere" vs "for this project").
|
|
29
|
+
No user configuration needed.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
22
33
|
## Presence Channel
|
|
23
34
|
|
|
24
35
|
Memory Agent publishes heartbeats:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-recall",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.5",
|
|
4
4
|
"description": "Persistent memory for Claude Code with fire-and-forget PubNub architecture, automatic capture, failure learning, and project scoping via MCP server",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|