@contextmirror/claude-memory 0.4.0 ā 0.4.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.
- package/README.md +232 -29
- package/dist/cli.js +43 -13
- package/landing/index.html +1 -1
- package/package.json +10 -2
package/README.md
CHANGED
|
@@ -4,36 +4,56 @@ Cross-project memory for Claude Code. Give Claude awareness of ALL your projects
|
|
|
4
4
|
|
|
5
5
|
## The Problem
|
|
6
6
|
|
|
7
|
-
Every Claude Code session starts fresh. Switch to a different project folder and Claude has no idea about your other work. You end up re-explaining your codebase, your patterns, your
|
|
7
|
+
Every Claude Code session starts fresh. Switch to a different project folder and Claude has no idea about your other work. You end up re-explaining your codebase, your patterns, your architecture.
|
|
8
|
+
|
|
9
|
+
**Without claude-memory:**
|
|
10
|
+
- "I have an API server in another folder that uses the same auth pattern..."
|
|
11
|
+
- "My component library has a Button I want to reuse..."
|
|
12
|
+
- "How did I handle this in my other project again?"
|
|
13
|
+
|
|
14
|
+
Claude doesn't know. It can't see outside the current directory.
|
|
8
15
|
|
|
9
16
|
## The Solution
|
|
10
17
|
|
|
11
18
|
```bash
|
|
12
|
-
npm install -g claude-memory
|
|
13
|
-
claude-memory
|
|
19
|
+
npm install -g @contextmirror/claude-memory
|
|
20
|
+
claude-memory setup
|
|
14
21
|
```
|
|
15
22
|
|
|
16
|
-
Now Claude knows about all your projects. Ask "What other projects do I have?" or "
|
|
23
|
+
Now Claude knows about all your projects. Ask "What other projects do I have?" or "How do I handle auth in my API?" and Claude just knows.
|
|
17
24
|
|
|
18
25
|
## Quick Start
|
|
19
26
|
|
|
20
|
-
### 1. Install
|
|
27
|
+
### 1. Install globally
|
|
21
28
|
|
|
22
29
|
```bash
|
|
23
|
-
npm install -g claude-memory
|
|
30
|
+
npm install -g @contextmirror/claude-memory
|
|
24
31
|
```
|
|
25
32
|
|
|
26
|
-
### 2.
|
|
33
|
+
### 2. Run the setup wizard
|
|
27
34
|
|
|
28
35
|
```bash
|
|
29
|
-
claude-memory
|
|
36
|
+
claude-memory setup
|
|
30
37
|
```
|
|
31
38
|
|
|
32
|
-
|
|
39
|
+
This will:
|
|
40
|
+
- Scan your projects directory
|
|
41
|
+
- Configure MCP for Claude Code
|
|
42
|
+
- Optionally generate CLAUDE.md files
|
|
33
43
|
|
|
34
|
-
|
|
44
|
+
### 3. Restart Claude Code
|
|
35
45
|
|
|
36
|
-
|
|
46
|
+
That's it. Claude now has access to your project memory.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
**Alternative: Manual setup**
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# Scan your projects
|
|
54
|
+
claude-memory scan ~/Projects
|
|
55
|
+
|
|
56
|
+
# Add MCP to Claude Code (create ~/.mcp.json)
|
|
37
57
|
{
|
|
38
58
|
"mcpServers": {
|
|
39
59
|
"claude-memory": {
|
|
@@ -44,60 +64,239 @@ Create `.mcp.json` in your home directory or project:
|
|
|
44
64
|
}
|
|
45
65
|
```
|
|
46
66
|
|
|
47
|
-
|
|
67
|
+
## What Can You Ask?
|
|
68
|
+
|
|
69
|
+
Once set up, try asking Claude:
|
|
48
70
|
|
|
49
|
-
|
|
71
|
+
| Question | What Claude Does |
|
|
72
|
+
|----------|------------------|
|
|
73
|
+
| "What projects do I have?" | Lists all your projects with tech stacks |
|
|
74
|
+
| "Tell me about my API server" | Shows project details, branch, recent activity |
|
|
75
|
+
| "Which projects use React?" | Searches across all projects |
|
|
76
|
+
| "Generate a CLAUDE.md for this project" | Creates context documentation |
|
|
77
|
+
| "Is my project data up to date?" | Checks for stale data |
|
|
78
|
+
| "How do I handle auth in my other projects?" | Cross-project pattern lookup |
|
|
79
|
+
|
|
80
|
+
## Features
|
|
81
|
+
|
|
82
|
+
| Feature | Description |
|
|
83
|
+
|---------|-------------|
|
|
84
|
+
| **Cross-project awareness** | Claude knows about all your projects |
|
|
85
|
+
| **Staleness detection** | Automatically detects when projects need rescanning |
|
|
86
|
+
| **Quick scans** | Only rescan projects that have changed |
|
|
87
|
+
| **Update notifications** | Get notified when new versions are available |
|
|
88
|
+
| **CLAUDE.md generation** | Auto-generate project documentation |
|
|
89
|
+
| **MCP integration** | Works seamlessly with Claude Code |
|
|
50
90
|
|
|
51
91
|
## Commands
|
|
52
92
|
|
|
53
93
|
| Command | Description |
|
|
54
94
|
|---------|-------------|
|
|
95
|
+
| `claude-memory setup` | Interactive setup wizard (recommended) |
|
|
55
96
|
| `claude-memory scan [dir]` | Scan directory for projects |
|
|
97
|
+
| `claude-memory scan --quick` | Only rescan stale projects |
|
|
98
|
+
| `claude-memory scan --check` | Check what's stale without scanning |
|
|
56
99
|
| `claude-memory list` | List known projects |
|
|
57
100
|
| `claude-memory show <project>` | Show project details |
|
|
101
|
+
| `claude-memory briefing [dir]` | Generate CLAUDE.md for a project |
|
|
58
102
|
| `claude-memory init` | Generate CLAUDE.md for current project |
|
|
59
|
-
| `claude-memory
|
|
103
|
+
| `claude-memory exclude <project>` | Exclude project from future scans |
|
|
104
|
+
| `claude-memory include <project>` | Re-include an excluded project |
|
|
60
105
|
| `claude-memory mcp` | Start MCP server |
|
|
61
106
|
|
|
107
|
+
## Staleness Detection
|
|
108
|
+
|
|
109
|
+
claude-memory tracks when your projects change:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
claude-memory scan --check
|
|
113
|
+
|
|
114
|
+
# Output:
|
|
115
|
+
# š§ Claude Memory - Staleness Check
|
|
116
|
+
#
|
|
117
|
+
# ā ļø 2 project(s) need updating:
|
|
118
|
+
# š my-project (New commits since last scan)
|
|
119
|
+
# š another-project (Key files modified)
|
|
120
|
+
#
|
|
121
|
+
# Run `claude-memory scan --quick` to refresh only stale projects.
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**Detection methods:**
|
|
125
|
+
- **Git activity** - New commits since last scan
|
|
126
|
+
- **File changes** - package.json, CLAUDE.md, etc. modified
|
|
127
|
+
- **Age** - Projects not scanned in 7+ days
|
|
128
|
+
|
|
62
129
|
## MCP Tools
|
|
63
130
|
|
|
64
|
-
When connected, Claude Code gets these tools:
|
|
131
|
+
When connected, Claude Code gets access to these tools:
|
|
65
132
|
|
|
66
133
|
| Tool | Purpose |
|
|
67
134
|
|------|---------|
|
|
68
|
-
| `get_global_context` | Overview of all
|
|
135
|
+
| `get_global_context` | Overview of all projects + staleness info |
|
|
69
136
|
| `get_project_summary` | Details about a specific project |
|
|
70
137
|
| `get_project_analysis` | Deep analysis for CLAUDE.md generation |
|
|
71
138
|
| `search_projects` | Search across all projects |
|
|
72
139
|
| `record_insight` | Save cross-project patterns |
|
|
140
|
+
| `search_code` | **[Pro]** Search code across all projects |
|
|
141
|
+
|
|
142
|
+
### Example Interactions
|
|
143
|
+
|
|
144
|
+
**Ask about all projects:**
|
|
145
|
+
> "What projects do I have?"
|
|
146
|
+
|
|
147
|
+
Claude uses `get_global_context` and responds:
|
|
148
|
+
> "You have 5 projects: dashboard-app (React/Next.js), api-server (Node/Express), component-library (React/Storybook), cli-tool (TypeScript), and landing-site (Vite)."
|
|
149
|
+
|
|
150
|
+
**Get details about a specific project:**
|
|
151
|
+
> "Tell me about the api-server"
|
|
152
|
+
|
|
153
|
+
Claude uses `get_project_summary` and responds:
|
|
154
|
+
> "api-server is a Node.js/Express API with JWT authentication. It's on the `feature/auth` branch with uncommitted changes. Last activity was 2 days ago."
|
|
155
|
+
|
|
156
|
+
**Search across projects:**
|
|
157
|
+
> "Which of my projects use Tailwind?"
|
|
158
|
+
|
|
159
|
+
Claude uses `search_projects` and responds:
|
|
160
|
+
> "2 projects use Tailwind CSS: dashboard-app and landing-site."
|
|
161
|
+
|
|
162
|
+
**Generate documentation:**
|
|
163
|
+
> "Create a CLAUDE.md for this project"
|
|
164
|
+
|
|
165
|
+
Claude uses `get_project_analysis` to gather deep context, then writes a comprehensive CLAUDE.md file.
|
|
73
166
|
|
|
74
167
|
## How It Works
|
|
75
168
|
|
|
76
|
-
|
|
169
|
+
```
|
|
170
|
+
āāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāā
|
|
171
|
+
ā Project A ā ā Claude Memory ā ā Claude Code ā
|
|
172
|
+
ā (React App) āāāāā>ā MCP Server ā<āāāāā ā
|
|
173
|
+
āāāāāāāāāāāāāāāāāā⤠ā ā ā "What projects ā
|
|
174
|
+
ā Project B āāāāā>ā ~/.claude- ā ā use React?" ā
|
|
175
|
+
ā (API Server) ā ā memory/ ā ā ā
|
|
176
|
+
āāāāāāāāāāāāāāāāāā⤠ā context.json ā āāāāāāāāāāāāāāāāāāā
|
|
177
|
+
ā Project C āāāāā>ā ā
|
|
178
|
+
ā (CLI Tool) ā āāāāāāāāāāāāāāāāāāā
|
|
179
|
+
āāāāāāāāāāāāāāāāāāā
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
1. **Scan** - Finds projects by looking for package.json, Cargo.toml, pyproject.toml, go.mod, .git
|
|
77
183
|
2. **Extract** - Pulls name, description, tech stack, git info, CLAUDE.md content
|
|
78
184
|
3. **Store** - Saves to `~/.claude-memory/context.json`
|
|
79
185
|
4. **Serve** - MCP server exposes context to Claude Code
|
|
186
|
+
5. **Detect** - Monitors for staleness on each session start
|
|
80
187
|
|
|
81
|
-
##
|
|
188
|
+
## Data Storage
|
|
82
189
|
|
|
83
|
-
|
|
190
|
+
All data stays local on your machine:
|
|
84
191
|
|
|
85
|
-
|
|
86
|
-
-
|
|
87
|
-
|
|
88
|
-
|
|
192
|
+
```
|
|
193
|
+
~/.claude-memory/
|
|
194
|
+
āāā context.json # Project metadata (machine-readable)
|
|
195
|
+
āāā context.json.bak # Automatic backup
|
|
196
|
+
āāā global-context.md # Human-readable overview
|
|
197
|
+
āāā config.json # User configuration
|
|
198
|
+
āāā update-check.json # Update check cache (1/day)
|
|
199
|
+
āāā license.json # Pro license (if activated)
|
|
200
|
+
```
|
|
89
201
|
|
|
90
|
-
|
|
202
|
+
## Troubleshooting
|
|
91
203
|
|
|
92
|
-
|
|
204
|
+
### "No projects found"
|
|
93
205
|
|
|
94
|
-
|
|
206
|
+
Make sure you're pointing to the right directory:
|
|
207
|
+
```bash
|
|
208
|
+
# Check what directory you're scanning
|
|
209
|
+
claude-memory scan ~/Projects --check
|
|
95
210
|
|
|
211
|
+
# Common locations to try:
|
|
212
|
+
claude-memory scan ~/Code
|
|
213
|
+
claude-memory scan ~/dev
|
|
214
|
+
claude-memory scan ~/projects
|
|
96
215
|
```
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
216
|
+
|
|
217
|
+
Projects are detected by these files: `package.json`, `Cargo.toml`, `pyproject.toml`, `go.mod`, or `.git`
|
|
218
|
+
|
|
219
|
+
### "MCP tools not showing up in Claude Code"
|
|
220
|
+
|
|
221
|
+
1. Make sure `.mcp.json` exists in your home directory or project
|
|
222
|
+
2. Restart Claude Code completely (not just the conversation)
|
|
223
|
+
3. Check the MCP config is valid JSON:
|
|
224
|
+
```json
|
|
225
|
+
{
|
|
226
|
+
"mcpServers": {
|
|
227
|
+
"claude-memory": {
|
|
228
|
+
"command": "claude-memory",
|
|
229
|
+
"args": ["mcp"]
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### "Data seems outdated"
|
|
236
|
+
|
|
237
|
+
Run a quick scan to refresh stale projects:
|
|
238
|
+
```bash
|
|
239
|
+
claude-memory scan --quick
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
Or do a full rescan:
|
|
243
|
+
```bash
|
|
244
|
+
claude-memory scan ~/Projects
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
### "Git operations are slow"
|
|
248
|
+
|
|
249
|
+
If you have large repos, git operations may timeout (10s limit). This is normal - the project will still be scanned, just without git info.
|
|
250
|
+
|
|
251
|
+
### "Want to exclude a project"
|
|
252
|
+
|
|
253
|
+
```bash
|
|
254
|
+
# Exclude a project from future scans
|
|
255
|
+
claude-memory exclude my-secret-project
|
|
256
|
+
|
|
257
|
+
# See what's excluded
|
|
258
|
+
claude-memory excluded
|
|
259
|
+
|
|
260
|
+
# Re-include it later
|
|
261
|
+
claude-memory include my-secret-project
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
## Pro Features
|
|
265
|
+
|
|
266
|
+
Activate with `claude-memory activate <key>`. Get a license at https://claude-memory.dev
|
|
267
|
+
|
|
268
|
+
| Feature | Description |
|
|
269
|
+
|---------|-------------|
|
|
270
|
+
| Cross-project code search | Search code patterns across all your projects |
|
|
271
|
+
| Semantic search | Search by meaning, not just keywords (coming soon) |
|
|
272
|
+
|
|
273
|
+
## Update Notifications
|
|
274
|
+
|
|
275
|
+
claude-memory checks for updates automatically (once per day). When a new version is available:
|
|
276
|
+
|
|
100
277
|
```
|
|
278
|
+
ā¬ļø Update available: v0.4.0 ā v0.5.0
|
|
279
|
+
|
|
280
|
+
Run to update:
|
|
281
|
+
npm update -g @contextmirror/claude-memory
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
## FAQ
|
|
285
|
+
|
|
286
|
+
**Does this use Claude API tokens?**
|
|
287
|
+
No. claude-memory only stores metadata locally. It uses MCP to expose that data to Claude Code - no additional API calls.
|
|
288
|
+
|
|
289
|
+
**Does it work with Claude Pro/Team?**
|
|
290
|
+
Yes. It works with any Claude Code subscription.
|
|
291
|
+
|
|
292
|
+
**What languages are supported?**
|
|
293
|
+
Any language. Tech stack detection works best for: JavaScript/TypeScript, Python, Rust, Go. Others show as "other" but still work.
|
|
294
|
+
|
|
295
|
+
**How often should I rescan?**
|
|
296
|
+
Run `claude-memory scan --quick` when you've made changes to multiple projects. The `--quick` flag only rescans stale projects.
|
|
297
|
+
|
|
298
|
+
**Is my code uploaded anywhere?**
|
|
299
|
+
No. All data stays in `~/.claude-memory/` on your machine. Nothing is sent to any server.
|
|
101
300
|
|
|
102
301
|
## License
|
|
103
302
|
|
|
@@ -106,3 +305,7 @@ MIT
|
|
|
106
305
|
## Author
|
|
107
306
|
|
|
108
307
|
Nathan (with Claude as co-developer)
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
*Part of the [Context Mirror](https://github.com/contextmirror) project*
|
package/dist/cli.js
CHANGED
|
@@ -22,7 +22,7 @@ const program = new Command();
|
|
|
22
22
|
program
|
|
23
23
|
.name('claude-memory')
|
|
24
24
|
.description('Cross-project memory for Claude Code')
|
|
25
|
-
.version('0.
|
|
25
|
+
.version('0.4.2');
|
|
26
26
|
// Scan command
|
|
27
27
|
program
|
|
28
28
|
.command('scan')
|
|
@@ -37,7 +37,10 @@ program
|
|
|
37
37
|
if (options.check) {
|
|
38
38
|
const context = loadContext();
|
|
39
39
|
if (!context) {
|
|
40
|
-
console.log('No projects scanned yet
|
|
40
|
+
console.log('ā No projects scanned yet.\n');
|
|
41
|
+
console.log('Get started:');
|
|
42
|
+
console.log(' claude-memory setup # Interactive wizard (recommended)');
|
|
43
|
+
console.log(' claude-memory scan ~/Projects # Scan a specific directory');
|
|
41
44
|
return;
|
|
42
45
|
}
|
|
43
46
|
const report = detectStaleProjects(context);
|
|
@@ -119,7 +122,10 @@ program
|
|
|
119
122
|
.action(() => {
|
|
120
123
|
const context = loadContext();
|
|
121
124
|
if (!context) {
|
|
122
|
-
console.log('No projects scanned yet
|
|
125
|
+
console.log('ā No projects scanned yet.\n');
|
|
126
|
+
console.log('Get started:');
|
|
127
|
+
console.log(' claude-memory setup # Interactive wizard (recommended)');
|
|
128
|
+
console.log(' claude-memory scan ~/Projects # Scan a specific directory');
|
|
123
129
|
return;
|
|
124
130
|
}
|
|
125
131
|
console.log('š§ Known Projects\n');
|
|
@@ -139,14 +145,27 @@ program
|
|
|
139
145
|
.action((projectName) => {
|
|
140
146
|
const context = loadContext();
|
|
141
147
|
if (!context) {
|
|
142
|
-
console.log('No projects scanned yet
|
|
148
|
+
console.log('ā No projects scanned yet.\n');
|
|
149
|
+
console.log('Get started:');
|
|
150
|
+
console.log(' claude-memory setup # Interactive wizard (recommended)');
|
|
151
|
+
console.log(' claude-memory scan ~/Projects # Scan a specific directory');
|
|
143
152
|
return;
|
|
144
153
|
}
|
|
145
154
|
const project = context.projects.find((p) => p.name.toLowerCase() === projectName.toLowerCase() || p.path.includes(projectName));
|
|
146
155
|
if (!project) {
|
|
147
|
-
console.log(
|
|
148
|
-
console.log('
|
|
149
|
-
|
|
156
|
+
console.log(`ā Project not found: "${projectName}"\n`);
|
|
157
|
+
console.log('Did you mean one of these?\n');
|
|
158
|
+
// Show projects sorted by similarity to the query
|
|
159
|
+
const lowerQuery = projectName.toLowerCase();
|
|
160
|
+
const sorted = [...context.projects].sort((a, b) => {
|
|
161
|
+
const aScore = a.name.toLowerCase().includes(lowerQuery) ? 1 : 0;
|
|
162
|
+
const bScore = b.name.toLowerCase().includes(lowerQuery) ? 1 : 0;
|
|
163
|
+
return bScore - aScore;
|
|
164
|
+
});
|
|
165
|
+
sorted.slice(0, 5).forEach((p) => console.log(` ${p.name} (${p.path})`));
|
|
166
|
+
if (context.projects.length > 5) {
|
|
167
|
+
console.log(`\n ... and ${context.projects.length - 5} more. Run 'claude-memory list' to see all.`);
|
|
168
|
+
}
|
|
150
169
|
return;
|
|
151
170
|
}
|
|
152
171
|
console.log(`\nš ${project.name}\n`);
|
|
@@ -168,7 +187,10 @@ program
|
|
|
168
187
|
.action((projectQuery) => {
|
|
169
188
|
const context = loadContext();
|
|
170
189
|
if (!context) {
|
|
171
|
-
console.log('No projects scanned yet
|
|
190
|
+
console.log('ā No projects scanned yet.\n');
|
|
191
|
+
console.log('Get started:');
|
|
192
|
+
console.log(' claude-memory setup # Interactive wizard (recommended)');
|
|
193
|
+
console.log(' claude-memory scan ~/Projects # Scan a specific directory');
|
|
172
194
|
return;
|
|
173
195
|
}
|
|
174
196
|
// Find the project
|
|
@@ -181,7 +203,8 @@ program
|
|
|
181
203
|
console.log(' This project will be skipped in future scans.');
|
|
182
204
|
return;
|
|
183
205
|
}
|
|
184
|
-
console.log(
|
|
206
|
+
console.log(`ā Project not found: "${projectQuery}"\n`);
|
|
207
|
+
console.log('Tip: Use the project name or path. Run "claude-memory list" to see all projects.');
|
|
185
208
|
return;
|
|
186
209
|
}
|
|
187
210
|
addExclusion(project.path);
|
|
@@ -198,16 +221,23 @@ program
|
|
|
198
221
|
.action((projectQuery) => {
|
|
199
222
|
const context = loadContext();
|
|
200
223
|
if (!context) {
|
|
201
|
-
console.log('No projects scanned yet
|
|
224
|
+
console.log('ā No projects scanned yet.\n');
|
|
225
|
+
console.log('Get started:');
|
|
226
|
+
console.log(' claude-memory setup # Interactive wizard (recommended)');
|
|
227
|
+
console.log(' claude-memory scan ~/Projects # Scan a specific directory');
|
|
202
228
|
return;
|
|
203
229
|
}
|
|
204
230
|
const excluded = context.excludedProjects || [];
|
|
205
231
|
const match = excluded.find(p => p.toLowerCase().includes(projectQuery.toLowerCase()));
|
|
206
232
|
if (!match) {
|
|
207
|
-
console.log(
|
|
233
|
+
console.log(`ā Project not in exclusion list: "${projectQuery}"\n`);
|
|
208
234
|
if (excluded.length > 0) {
|
|
209
|
-
console.log('
|
|
210
|
-
excluded.forEach(p => console.log(`
|
|
235
|
+
console.log('Currently excluded:');
|
|
236
|
+
excluded.forEach(p => console.log(` ${p}`));
|
|
237
|
+
console.log('\nRun "claude-memory excluded" to see all excluded projects.');
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
console.log('No projects are currently excluded.');
|
|
211
241
|
}
|
|
212
242
|
return;
|
|
213
243
|
}
|
package/landing/index.html
CHANGED
|
@@ -739,7 +739,7 @@
|
|
|
739
739
|
<div class="price">$8 <span>/month</span></div>
|
|
740
740
|
<ul>
|
|
741
741
|
<li>Everything in Free</li>
|
|
742
|
-
<li
|
|
742
|
+
<li>Cross-project code search</li>
|
|
743
743
|
<li class="coming">Semantic search</li>
|
|
744
744
|
<li class="coming">Custom CLAUDE.md templates</li>
|
|
745
745
|
<li class="coming">Priority support</li>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contextmirror/claude-memory",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.2",
|
|
4
4
|
"description": "Cross-project memory for Claude Code - know about all your projects",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/cli.js",
|
|
@@ -19,10 +19,18 @@
|
|
|
19
19
|
},
|
|
20
20
|
"keywords": [
|
|
21
21
|
"claude",
|
|
22
|
+
"claude-code",
|
|
22
23
|
"mcp",
|
|
24
|
+
"model-context-protocol",
|
|
23
25
|
"memory",
|
|
24
26
|
"context",
|
|
25
|
-
"ai"
|
|
27
|
+
"ai",
|
|
28
|
+
"llm",
|
|
29
|
+
"anthropic",
|
|
30
|
+
"cross-project",
|
|
31
|
+
"developer-tools",
|
|
32
|
+
"productivity",
|
|
33
|
+
"code-assistant"
|
|
26
34
|
],
|
|
27
35
|
"author": "Nathan",
|
|
28
36
|
"license": "MIT",
|