@contextmirror/claude-memory 0.1.0 โ 0.2.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.
- package/dist/briefing/briefingGenerator.d.ts +72 -0
- package/dist/briefing/briefingGenerator.js +593 -0
- package/dist/cli.js +92 -23
- package/dist/setup/setupWizard.d.ts +23 -0
- package/dist/setup/setupWizard.js +196 -0
- package/landing/index.html +455 -0
- package/package.json +4 -2
|
@@ -0,0 +1,455 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Claude Memory - Cross-project memory for Claude Code</title>
|
|
7
|
+
<meta name="description" content="Give Claude awareness of ALL your projects. One command, and Claude knows your entire development environment.">
|
|
8
|
+
|
|
9
|
+
<style>
|
|
10
|
+
:root {
|
|
11
|
+
--bg: #0a0a0a;
|
|
12
|
+
--text: #e5e5e5;
|
|
13
|
+
--accent: #6366f1;
|
|
14
|
+
--accent-light: #818cf8;
|
|
15
|
+
--muted: #737373;
|
|
16
|
+
--card-bg: #171717;
|
|
17
|
+
--border: #262626;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
* {
|
|
21
|
+
margin: 0;
|
|
22
|
+
padding: 0;
|
|
23
|
+
box-sizing: border-box;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
body {
|
|
27
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
28
|
+
background: var(--bg);
|
|
29
|
+
color: var(--text);
|
|
30
|
+
line-height: 1.6;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.container {
|
|
34
|
+
max-width: 900px;
|
|
35
|
+
margin: 0 auto;
|
|
36
|
+
padding: 0 24px;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/* Header */
|
|
40
|
+
header {
|
|
41
|
+
padding: 24px 0;
|
|
42
|
+
border-bottom: 1px solid var(--border);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.logo {
|
|
46
|
+
font-size: 20px;
|
|
47
|
+
font-weight: 600;
|
|
48
|
+
display: flex;
|
|
49
|
+
align-items: center;
|
|
50
|
+
gap: 8px;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.logo-icon {
|
|
54
|
+
font-size: 24px;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/* Hero */
|
|
58
|
+
.hero {
|
|
59
|
+
padding: 80px 0;
|
|
60
|
+
text-align: center;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.hero h1 {
|
|
64
|
+
font-size: 48px;
|
|
65
|
+
font-weight: 700;
|
|
66
|
+
margin-bottom: 16px;
|
|
67
|
+
background: linear-gradient(135deg, #fff 0%, var(--accent-light) 100%);
|
|
68
|
+
-webkit-background-clip: text;
|
|
69
|
+
-webkit-text-fill-color: transparent;
|
|
70
|
+
background-clip: text;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.hero .subtitle {
|
|
74
|
+
font-size: 20px;
|
|
75
|
+
color: var(--muted);
|
|
76
|
+
margin-bottom: 40px;
|
|
77
|
+
max-width: 600px;
|
|
78
|
+
margin-left: auto;
|
|
79
|
+
margin-right: auto;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/* Install box */
|
|
83
|
+
.install-box {
|
|
84
|
+
background: var(--card-bg);
|
|
85
|
+
border: 1px solid var(--border);
|
|
86
|
+
border-radius: 12px;
|
|
87
|
+
padding: 24px;
|
|
88
|
+
margin-bottom: 40px;
|
|
89
|
+
max-width: 500px;
|
|
90
|
+
margin-left: auto;
|
|
91
|
+
margin-right: auto;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.install-box code {
|
|
95
|
+
display: block;
|
|
96
|
+
font-family: 'SF Mono', 'Fira Code', monospace;
|
|
97
|
+
font-size: 16px;
|
|
98
|
+
color: var(--accent-light);
|
|
99
|
+
margin-bottom: 16px;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.install-box .note {
|
|
103
|
+
font-size: 14px;
|
|
104
|
+
color: var(--muted);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/* Features */
|
|
108
|
+
.features {
|
|
109
|
+
padding: 60px 0;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.features h2 {
|
|
113
|
+
text-align: center;
|
|
114
|
+
font-size: 32px;
|
|
115
|
+
margin-bottom: 48px;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.feature-grid {
|
|
119
|
+
display: grid;
|
|
120
|
+
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
|
121
|
+
gap: 24px;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.feature-card {
|
|
125
|
+
background: var(--card-bg);
|
|
126
|
+
border: 1px solid var(--border);
|
|
127
|
+
border-radius: 12px;
|
|
128
|
+
padding: 24px;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.feature-card h3 {
|
|
132
|
+
font-size: 18px;
|
|
133
|
+
margin-bottom: 8px;
|
|
134
|
+
display: flex;
|
|
135
|
+
align-items: center;
|
|
136
|
+
gap: 8px;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.feature-card p {
|
|
140
|
+
color: var(--muted);
|
|
141
|
+
font-size: 15px;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/* How it works */
|
|
145
|
+
.how-it-works {
|
|
146
|
+
padding: 60px 0;
|
|
147
|
+
border-top: 1px solid var(--border);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.how-it-works h2 {
|
|
151
|
+
text-align: center;
|
|
152
|
+
font-size: 32px;
|
|
153
|
+
margin-bottom: 48px;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.steps {
|
|
157
|
+
display: flex;
|
|
158
|
+
flex-direction: column;
|
|
159
|
+
gap: 32px;
|
|
160
|
+
max-width: 600px;
|
|
161
|
+
margin: 0 auto;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.step {
|
|
165
|
+
display: flex;
|
|
166
|
+
gap: 16px;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.step-number {
|
|
170
|
+
width: 32px;
|
|
171
|
+
height: 32px;
|
|
172
|
+
background: var(--accent);
|
|
173
|
+
border-radius: 50%;
|
|
174
|
+
display: flex;
|
|
175
|
+
align-items: center;
|
|
176
|
+
justify-content: center;
|
|
177
|
+
font-weight: 600;
|
|
178
|
+
flex-shrink: 0;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.step-content h3 {
|
|
182
|
+
font-size: 18px;
|
|
183
|
+
margin-bottom: 4px;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.step-content p {
|
|
187
|
+
color: var(--muted);
|
|
188
|
+
font-size: 15px;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
.step-content code {
|
|
192
|
+
display: block;
|
|
193
|
+
background: var(--card-bg);
|
|
194
|
+
border: 1px solid var(--border);
|
|
195
|
+
border-radius: 6px;
|
|
196
|
+
padding: 8px 12px;
|
|
197
|
+
margin-top: 8px;
|
|
198
|
+
font-family: 'SF Mono', 'Fira Code', monospace;
|
|
199
|
+
font-size: 14px;
|
|
200
|
+
color: var(--accent-light);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
/* Pricing */
|
|
204
|
+
.pricing {
|
|
205
|
+
padding: 60px 0;
|
|
206
|
+
border-top: 1px solid var(--border);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
.pricing h2 {
|
|
210
|
+
text-align: center;
|
|
211
|
+
font-size: 32px;
|
|
212
|
+
margin-bottom: 48px;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.pricing-grid {
|
|
216
|
+
display: grid;
|
|
217
|
+
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
|
218
|
+
gap: 24px;
|
|
219
|
+
max-width: 700px;
|
|
220
|
+
margin: 0 auto;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
.pricing-card {
|
|
224
|
+
background: var(--card-bg);
|
|
225
|
+
border: 1px solid var(--border);
|
|
226
|
+
border-radius: 12px;
|
|
227
|
+
padding: 32px;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.pricing-card.featured {
|
|
231
|
+
border-color: var(--accent);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
.pricing-card h3 {
|
|
235
|
+
font-size: 20px;
|
|
236
|
+
margin-bottom: 8px;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
.pricing-card .price {
|
|
240
|
+
font-size: 36px;
|
|
241
|
+
font-weight: 700;
|
|
242
|
+
margin-bottom: 16px;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
.pricing-card .price span {
|
|
246
|
+
font-size: 16px;
|
|
247
|
+
font-weight: 400;
|
|
248
|
+
color: var(--muted);
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
.pricing-card ul {
|
|
252
|
+
list-style: none;
|
|
253
|
+
margin-bottom: 24px;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
.pricing-card li {
|
|
257
|
+
padding: 8px 0;
|
|
258
|
+
color: var(--muted);
|
|
259
|
+
display: flex;
|
|
260
|
+
align-items: center;
|
|
261
|
+
gap: 8px;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
.pricing-card li::before {
|
|
265
|
+
content: "โ";
|
|
266
|
+
color: var(--accent-light);
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
.btn {
|
|
270
|
+
display: inline-block;
|
|
271
|
+
background: var(--accent);
|
|
272
|
+
color: white;
|
|
273
|
+
padding: 12px 24px;
|
|
274
|
+
border-radius: 8px;
|
|
275
|
+
text-decoration: none;
|
|
276
|
+
font-weight: 500;
|
|
277
|
+
text-align: center;
|
|
278
|
+
width: 100%;
|
|
279
|
+
transition: background 0.2s;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
.btn:hover {
|
|
283
|
+
background: var(--accent-light);
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
.btn-outline {
|
|
287
|
+
background: transparent;
|
|
288
|
+
border: 1px solid var(--border);
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
.btn-outline:hover {
|
|
292
|
+
background: var(--card-bg);
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
/* Footer */
|
|
296
|
+
footer {
|
|
297
|
+
padding: 40px 0;
|
|
298
|
+
border-top: 1px solid var(--border);
|
|
299
|
+
text-align: center;
|
|
300
|
+
color: var(--muted);
|
|
301
|
+
font-size: 14px;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
footer a {
|
|
305
|
+
color: var(--text);
|
|
306
|
+
text-decoration: none;
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
footer a:hover {
|
|
310
|
+
text-decoration: underline;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
/* Badge */
|
|
314
|
+
.badge {
|
|
315
|
+
display: inline-block;
|
|
316
|
+
background: var(--accent);
|
|
317
|
+
color: white;
|
|
318
|
+
font-size: 12px;
|
|
319
|
+
padding: 2px 8px;
|
|
320
|
+
border-radius: 4px;
|
|
321
|
+
margin-left: 8px;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
@media (max-width: 600px) {
|
|
325
|
+
.hero h1 {
|
|
326
|
+
font-size: 32px;
|
|
327
|
+
}
|
|
328
|
+
.hero .subtitle {
|
|
329
|
+
font-size: 16px;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
</style>
|
|
333
|
+
</head>
|
|
334
|
+
<body>
|
|
335
|
+
<header>
|
|
336
|
+
<div class="container">
|
|
337
|
+
<div class="logo">
|
|
338
|
+
<span class="logo-icon">๐ง </span>
|
|
339
|
+
claude-memory
|
|
340
|
+
</div>
|
|
341
|
+
</div>
|
|
342
|
+
</header>
|
|
343
|
+
|
|
344
|
+
<section class="hero">
|
|
345
|
+
<div class="container">
|
|
346
|
+
<h1>Cross-project memory for Claude Code</h1>
|
|
347
|
+
<p class="subtitle">
|
|
348
|
+
Every Claude session starts fresh. Not anymore. Give Claude awareness of ALL your projects with one command.
|
|
349
|
+
</p>
|
|
350
|
+
|
|
351
|
+
<div class="install-box">
|
|
352
|
+
<code>npm install -g @contextmirror/claude-memory</code>
|
|
353
|
+
<code>claude-memory setup</code>
|
|
354
|
+
<p class="note">Then restart Claude Code. That's it.</p>
|
|
355
|
+
</div>
|
|
356
|
+
</div>
|
|
357
|
+
</section>
|
|
358
|
+
|
|
359
|
+
<section class="features">
|
|
360
|
+
<div class="container">
|
|
361
|
+
<h2>What you get</h2>
|
|
362
|
+
<div class="feature-grid">
|
|
363
|
+
<div class="feature-card">
|
|
364
|
+
<h3>๐ Project Discovery</h3>
|
|
365
|
+
<p>Automatically scans your projects folder and detects all your codebases - Node.js, Python, Rust, Go, and more.</p>
|
|
366
|
+
</div>
|
|
367
|
+
<div class="feature-card">
|
|
368
|
+
<h3>๐ Auto-generated CLAUDE.md</h3>
|
|
369
|
+
<p>Generate comprehensive context files for any project. Structure, patterns, dependencies - all analyzed automatically.</p>
|
|
370
|
+
</div>
|
|
371
|
+
<div class="feature-card">
|
|
372
|
+
<h3>๐ MCP Integration</h3>
|
|
373
|
+
<p>Exposes your project knowledge via MCP, so Claude Code can query it in real-time.</p>
|
|
374
|
+
</div>
|
|
375
|
+
<div class="feature-card">
|
|
376
|
+
<h3>๐ฌ Natural Queries</h3>
|
|
377
|
+
<p>"What projects do I have?" "Tell me about my API project" - Claude just knows.</p>
|
|
378
|
+
</div>
|
|
379
|
+
</div>
|
|
380
|
+
</div>
|
|
381
|
+
</section>
|
|
382
|
+
|
|
383
|
+
<section class="how-it-works">
|
|
384
|
+
<div class="container">
|
|
385
|
+
<h2>How it works</h2>
|
|
386
|
+
<div class="steps">
|
|
387
|
+
<div class="step">
|
|
388
|
+
<div class="step-number">1</div>
|
|
389
|
+
<div class="step-content">
|
|
390
|
+
<h3>Install globally</h3>
|
|
391
|
+
<p>One npm command to install</p>
|
|
392
|
+
<code>npm install -g @contextmirror/claude-memory</code>
|
|
393
|
+
</div>
|
|
394
|
+
</div>
|
|
395
|
+
<div class="step">
|
|
396
|
+
<div class="step-number">2</div>
|
|
397
|
+
<div class="step-content">
|
|
398
|
+
<h3>Run setup</h3>
|
|
399
|
+
<p>Scans your projects, generates CLAUDE.md files, configures MCP</p>
|
|
400
|
+
<code>claude-memory setup</code>
|
|
401
|
+
</div>
|
|
402
|
+
</div>
|
|
403
|
+
<div class="step">
|
|
404
|
+
<div class="step-number">3</div>
|
|
405
|
+
<div class="step-content">
|
|
406
|
+
<h3>Restart Claude Code</h3>
|
|
407
|
+
<p>Claude now has memory of all your projects</p>
|
|
408
|
+
</div>
|
|
409
|
+
</div>
|
|
410
|
+
</div>
|
|
411
|
+
</div>
|
|
412
|
+
</section>
|
|
413
|
+
|
|
414
|
+
<section class="pricing">
|
|
415
|
+
<div class="container">
|
|
416
|
+
<h2>Pricing</h2>
|
|
417
|
+
<div class="pricing-grid">
|
|
418
|
+
<div class="pricing-card">
|
|
419
|
+
<h3>Free</h3>
|
|
420
|
+
<div class="price">$0</div>
|
|
421
|
+
<ul>
|
|
422
|
+
<li>Unlimited project scanning</li>
|
|
423
|
+
<li>Basic CLAUDE.md generation</li>
|
|
424
|
+
<li>MCP server integration</li>
|
|
425
|
+
<li>CLI tools</li>
|
|
426
|
+
</ul>
|
|
427
|
+
<a href="https://www.npmjs.com/package/@contextmirror/claude-memory" class="btn btn-outline">Install Free</a>
|
|
428
|
+
</div>
|
|
429
|
+
<div class="pricing-card featured">
|
|
430
|
+
<h3>Pro <span class="badge">Coming Soon</span></h3>
|
|
431
|
+
<div class="price">$8 <span>/month</span></div>
|
|
432
|
+
<ul>
|
|
433
|
+
<li>Everything in Free</li>
|
|
434
|
+
<li>AI-enhanced briefings</li>
|
|
435
|
+
<li>Pattern detection</li>
|
|
436
|
+
<li>Auto-sync on changes</li>
|
|
437
|
+
<li>Priority support</li>
|
|
438
|
+
</ul>
|
|
439
|
+
<a href="#" class="btn">Join Waitlist</a>
|
|
440
|
+
</div>
|
|
441
|
+
</div>
|
|
442
|
+
</div>
|
|
443
|
+
</section>
|
|
444
|
+
|
|
445
|
+
<footer>
|
|
446
|
+
<div class="container">
|
|
447
|
+
<p>
|
|
448
|
+
Built by <a href="https://github.com/contextmirror">@contextmirror</a> ยท
|
|
449
|
+
<a href="https://www.npmjs.com/package/@contextmirror/claude-memory">npm</a> ยท
|
|
450
|
+
<a href="https://github.com/contextmirror/claude-memory">GitHub</a>
|
|
451
|
+
</p>
|
|
452
|
+
</div>
|
|
453
|
+
</footer>
|
|
454
|
+
</body>
|
|
455
|
+
</html>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contextmirror/claude-memory",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Cross-project memory for Claude Code - know about all your projects",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/cli.js",
|
|
@@ -12,7 +12,9 @@
|
|
|
12
12
|
"dev": "tsc --watch",
|
|
13
13
|
"scan": "node dist/cli.js scan",
|
|
14
14
|
"mcp": "node dist/mcp/server.js",
|
|
15
|
-
"
|
|
15
|
+
"setup": "node dist/cli.js setup",
|
|
16
|
+
"test": "vitest",
|
|
17
|
+
"postinstall": "echo '\\n๐ง Run \"claude-memory setup\" to configure your projects!\\n'"
|
|
16
18
|
},
|
|
17
19
|
"keywords": [
|
|
18
20
|
"claude",
|