memoir-cli 3.1.1 → 3.2.1
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/GAMEPLAN.md +235 -0
- package/LAUNCH_POSTS.md +247 -0
- package/MARKETING.md +143 -0
- package/POSTS-READY-TO-GO.md +215 -0
- package/README.md +95 -89
- package/bin/memoir.js +78 -3
- package/demo.svg +201 -0
- package/landing-page-v2.html +690 -0
- package/mcp-publisher +0 -0
- package/package.json +28 -23
- package/server.json +20 -0
- package/src/commands/projects.js +240 -0
- package/src/commands/push.js +5 -3
- package/src/commands/restore.js +197 -3
- package/src/commands/share.js +192 -0
- package/src/commands/upgrade.js +107 -0
- package/src/context/capture.js +77 -0
- package/src/mcp.js +429 -0
- package/src/providers/index.js +6 -6
- package/src/security/encryption.js +98 -46
- package/src/workspace/tracker.js +4 -4
package/demo.svg
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
<svg viewBox="0 0 700 1260" xmlns="http://www.w3.org/2000/svg" width="700" preserveAspectRatio="xMidYMid meet">
|
|
2
|
+
<defs>
|
|
3
|
+
<style>
|
|
4
|
+
@keyframes fadeIn {
|
|
5
|
+
0% { opacity: 0; }
|
|
6
|
+
5% { opacity: 1; }
|
|
7
|
+
100% { opacity: 1; }
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
@keyframes blink {
|
|
11
|
+
0%, 49%, 100% { opacity: 1; }
|
|
12
|
+
50%, 99% { opacity: 0; }
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.terminal-bg { fill: #1e1e2e; }
|
|
16
|
+
|
|
17
|
+
.chrome-bar { fill: #2d2d44; }
|
|
18
|
+
.chrome-dot-red { fill: #ff5f56; }
|
|
19
|
+
.chrome-dot-yellow { fill: #ffbd2e; }
|
|
20
|
+
.chrome-dot-green { fill: #27c93f; }
|
|
21
|
+
|
|
22
|
+
.title { font-size: 24px; font-weight: bold; fill: #22d3ee; font-family: 'JetBrains Mono', monospace; }
|
|
23
|
+
.subtitle { font-size: 14px; fill: #71717a; font-family: 'JetBrains Mono', monospace; }
|
|
24
|
+
.command { font-size: 16px; fill: #e4e4e7; font-family: 'JetBrains Mono', monospace; }
|
|
25
|
+
.prompt { font-size: 16px; fill: #7c6ef0; font-family: 'JetBrains Mono', monospace; font-weight: bold; }
|
|
26
|
+
.success { font-size: 16px; fill: #4ade80; font-family: 'JetBrains Mono', monospace; }
|
|
27
|
+
.comment { font-size: 14px; fill: #eab308; font-family: 'JetBrains Mono', monospace; }
|
|
28
|
+
.dim { font-size: 14px; fill: #71717a; font-family: 'JetBrains Mono', monospace; }
|
|
29
|
+
.error { font-size: 16px; fill: #ef4444; font-family: 'JetBrains Mono', monospace; }
|
|
30
|
+
|
|
31
|
+
.line-1 { animation: fadeIn 0.3s ease-out 0.0s both; }
|
|
32
|
+
.line-2 { animation: fadeIn 0.3s ease-out 0.3s both; }
|
|
33
|
+
.line-3 { animation: fadeIn 0.3s ease-out 0.6s both; }
|
|
34
|
+
.line-4 { animation: fadeIn 0.3s ease-out 0.9s both; }
|
|
35
|
+
.line-5 { animation: fadeIn 0.3s ease-out 1.2s both; }
|
|
36
|
+
.line-6 { animation: fadeIn 0.3s ease-out 1.5s both; }
|
|
37
|
+
.line-7 { animation: fadeIn 0.3s ease-out 1.8s both; }
|
|
38
|
+
.line-8 { animation: fadeIn 0.3s ease-out 2.1s both; }
|
|
39
|
+
.line-9 { animation: fadeIn 0.3s ease-out 2.4s both; }
|
|
40
|
+
.line-10 { animation: fadeIn 0.3s ease-out 2.7s both; }
|
|
41
|
+
.line-11 { animation: fadeIn 0.3s ease-out 3.0s both; }
|
|
42
|
+
.line-12 { animation: fadeIn 0.3s ease-out 3.3s both; }
|
|
43
|
+
.line-13 { animation: fadeIn 0.3s ease-out 3.6s both; }
|
|
44
|
+
.line-14 { animation: fadeIn 0.3s ease-out 3.9s both; }
|
|
45
|
+
.line-15 { animation: fadeIn 0.3s ease-out 4.2s both; }
|
|
46
|
+
.line-16 { animation: fadeIn 0.3s ease-out 4.5s both; }
|
|
47
|
+
.line-17 { animation: fadeIn 0.3s ease-out 4.8s both; }
|
|
48
|
+
.line-18 { animation: fadeIn 0.3s ease-out 5.1s both; }
|
|
49
|
+
.line-19 { animation: fadeIn 0.3s ease-out 5.4s both; }
|
|
50
|
+
.line-20 { animation: fadeIn 0.3s ease-out 5.7s both; }
|
|
51
|
+
.line-21 { animation: fadeIn 0.3s ease-out 6.0s both; }
|
|
52
|
+
.line-22 { animation: fadeIn 0.3s ease-out 6.3s both; }
|
|
53
|
+
.line-23 { animation: fadeIn 0.3s ease-out 6.6s both; }
|
|
54
|
+
.line-24 { animation: fadeIn 0.3s ease-out 6.9s both; }
|
|
55
|
+
.line-25 { animation: fadeIn 0.3s ease-out 7.2s both; }
|
|
56
|
+
.line-26 { animation: fadeIn 0.3s ease-out 7.5s both; }
|
|
57
|
+
.line-27 { animation: fadeIn 0.3s ease-out 7.8s both; }
|
|
58
|
+
.line-28 { animation: fadeIn 0.3s ease-out 8.1s both; }
|
|
59
|
+
.line-29 { animation: fadeIn 0.3s ease-out 8.4s both; }
|
|
60
|
+
.line-30 { animation: fadeIn 0.3s ease-out 8.7s both; }
|
|
61
|
+
.line-31 { animation: fadeIn 0.3s ease-out 9.0s both; }
|
|
62
|
+
.line-32 { animation: fadeIn 0.3s ease-out 9.3s both; }
|
|
63
|
+
.line-33 { animation: fadeIn 0.3s ease-out 9.6s both; }
|
|
64
|
+
.line-34 { animation: fadeIn 0.3s ease-out 9.9s both; }
|
|
65
|
+
.line-35 { animation: fadeIn 0.3s ease-out 10.2s both; }
|
|
66
|
+
.line-36 { animation: fadeIn 0.3s ease-out 10.5s both; }
|
|
67
|
+
.line-37 { animation: fadeIn 0.3s ease-out 10.8s both; }
|
|
68
|
+
.line-38 { animation: fadeIn 0.3s ease-out 11.1s both; }
|
|
69
|
+
.line-39 { animation: fadeIn 0.3s ease-out 11.4s both; }
|
|
70
|
+
.line-40 { animation: fadeIn 0.3s ease-out 11.7s both; }
|
|
71
|
+
.line-41 { animation: fadeIn 0.3s ease-out 12.0s both; }
|
|
72
|
+
.line-42 { animation: fadeIn 0.3s ease-out 12.3s both; }
|
|
73
|
+
.line-43 { animation: fadeIn 0.3s ease-out 12.6s both; }
|
|
74
|
+
.line-44 { animation: fadeIn 0.3s ease-out 12.9s both; }
|
|
75
|
+
|
|
76
|
+
.cursor { animation: blink 0.8s infinite 13.5s; }
|
|
77
|
+
</style>
|
|
78
|
+
</defs>
|
|
79
|
+
|
|
80
|
+
<!-- Background -->
|
|
81
|
+
<rect class="terminal-bg" width="700" height="1260" rx="12" ry="12"/>
|
|
82
|
+
|
|
83
|
+
<!-- Chrome bar -->
|
|
84
|
+
<rect class="chrome-bar" width="700" height="30"/>
|
|
85
|
+
<circle class="chrome-dot-red" cx="20" cy="15" r="6"/>
|
|
86
|
+
<circle class="chrome-dot-yellow" cx="50" cy="15" r="6"/>
|
|
87
|
+
<circle class="chrome-dot-green" cx="80" cy="15" r="6"/>
|
|
88
|
+
|
|
89
|
+
<!-- Content -->
|
|
90
|
+
<g class="line-1">
|
|
91
|
+
<text class="title" x="20" y="80">memoir</text>
|
|
92
|
+
<text class="subtitle" x="180" y="80">— Your AI remembers everything.</text>
|
|
93
|
+
</g>
|
|
94
|
+
|
|
95
|
+
<text class="command line-2" x="20" y="120">npm install -g memoir-cli</text>
|
|
96
|
+
|
|
97
|
+
<text class="comment line-3" x="20" y="170"># See what AI tools are on this machine</text>
|
|
98
|
+
|
|
99
|
+
<g class="line-4">
|
|
100
|
+
<text class="prompt" x="20" y="210">❯ </text>
|
|
101
|
+
<text class="command" x="50" y="210">memoir status</text>
|
|
102
|
+
</g>
|
|
103
|
+
|
|
104
|
+
<text class="subtitle line-5" x="20" y="260">memoir v3.2.0</text>
|
|
105
|
+
|
|
106
|
+
<text class="subtitle line-6" x="20" y="300">Detected AI tools:</text>
|
|
107
|
+
|
|
108
|
+
<g class="line-7">
|
|
109
|
+
<text class="success" x="20" y="340">✔ </text>
|
|
110
|
+
<text class="command" x="50" y="340">Claude Code ~/.claude/ (settings, memory, CLAUDE.md)</text>
|
|
111
|
+
</g>
|
|
112
|
+
|
|
113
|
+
<g class="line-8">
|
|
114
|
+
<text class="success" x="20" y="375">✔ </text>
|
|
115
|
+
<text class="command" x="50" y="375">Gemini CLI ~/.gemini/ (config, GEMINI.md)</text>
|
|
116
|
+
</g>
|
|
117
|
+
|
|
118
|
+
<g class="line-9">
|
|
119
|
+
<text class="success" x="20" y="410">✔ </text>
|
|
120
|
+
<text class="command" x="50" y="410">Cursor .cursorrules (settings, keybindings)</text>
|
|
121
|
+
</g>
|
|
122
|
+
|
|
123
|
+
<g class="line-10">
|
|
124
|
+
<text class="success" x="20" y="445">✔ </text>
|
|
125
|
+
<text class="command" x="50" y="445">Codex ~/.codex/ (config, AGENTS.md)</text>
|
|
126
|
+
</g>
|
|
127
|
+
|
|
128
|
+
<g class="line-11">
|
|
129
|
+
<text class="success" x="20" y="480">✔ </text>
|
|
130
|
+
<text class="command" x="50" y="480">Aider ~/.aider.conf.yml</text>
|
|
131
|
+
</g>
|
|
132
|
+
|
|
133
|
+
<text class="subtitle line-12" x="20" y="520">5 tools found on this machine.</text>
|
|
134
|
+
|
|
135
|
+
<text class="comment line-13" x="20" y="570"># Back up everything in one command</text>
|
|
136
|
+
|
|
137
|
+
<g class="line-14">
|
|
138
|
+
<text class="prompt" x="20" y="610">❯ </text>
|
|
139
|
+
<text class="command" x="50" y="610">memoir push</text>
|
|
140
|
+
</g>
|
|
141
|
+
|
|
142
|
+
<g class="line-15">
|
|
143
|
+
<text class="success" x="20" y="655">✔ </text>
|
|
144
|
+
<text class="command" x="50" y="655">AI memory backed up (5 tools, 23 files)</text>
|
|
145
|
+
</g>
|
|
146
|
+
|
|
147
|
+
<g class="line-16">
|
|
148
|
+
<text class="success" x="20" y="690">✔ </text>
|
|
149
|
+
<text class="command" x="50" y="690">Session context captured</text>
|
|
150
|
+
</g>
|
|
151
|
+
|
|
152
|
+
<g class="line-17">
|
|
153
|
+
<text class="success" x="20" y="725">✔ </text>
|
|
154
|
+
<text class="command" x="50" y="725">Workspace: 44 projects (17 git, 23 bundled)</text>
|
|
155
|
+
</g>
|
|
156
|
+
|
|
157
|
+
<g class="line-18">
|
|
158
|
+
<text class="dim" x="20" y="765">🔒 E2E encrypted · pushed in 3.2s</text>
|
|
159
|
+
</g>
|
|
160
|
+
|
|
161
|
+
<text class="comment line-19" x="20" y="815"># Simulate switching machines...</text>
|
|
162
|
+
|
|
163
|
+
<g class="line-20">
|
|
164
|
+
<text class="error" x="20" y="855">[wiped all AI configs]</text>
|
|
165
|
+
</g>
|
|
166
|
+
|
|
167
|
+
<text class="comment line-21" x="20" y="905"># Restore on the new machine</text>
|
|
168
|
+
|
|
169
|
+
<g class="line-22">
|
|
170
|
+
<text class="prompt" x="20" y="945">❯ </text>
|
|
171
|
+
<text class="command" x="50" y="945">memoir restore --yes</text>
|
|
172
|
+
</g>
|
|
173
|
+
|
|
174
|
+
<g class="line-23">
|
|
175
|
+
<text class="success" x="20" y="990">✔ </text>
|
|
176
|
+
<text class="command" x="50" y="990">AI memory restored (Claude, Gemini, Cursor, Codex, Aider)</text>
|
|
177
|
+
</g>
|
|
178
|
+
|
|
179
|
+
<g class="line-24">
|
|
180
|
+
<text class="success" x="20" y="1025">✔ </text>
|
|
181
|
+
<text class="command" x="50" y="1025">44 projects cloned & unpacked</text>
|
|
182
|
+
</g>
|
|
183
|
+
|
|
184
|
+
<g class="line-25">
|
|
185
|
+
<text class="success" x="20" y="1060">✔ </text>
|
|
186
|
+
<text class="command" x="50" y="1060">Uncommitted changes applied</text>
|
|
187
|
+
</g>
|
|
188
|
+
|
|
189
|
+
<g class="line-26">
|
|
190
|
+
<text class="success" x="20" y="1095">✔ </text>
|
|
191
|
+
<text class="command" x="50" y="1095">Session context injected — AI picks up mid-conversation</text>
|
|
192
|
+
</g>
|
|
193
|
+
|
|
194
|
+
<text class="subtitle line-27" x="20" y="1140">Done. All AI memory restored in seconds.</text>
|
|
195
|
+
|
|
196
|
+
<text class="command line-28" x="20" y="1180">npm install -g memoir-cli</text>
|
|
197
|
+
|
|
198
|
+
<!-- Blinking cursor -->
|
|
199
|
+
<text class="command cursor" x="20" y="1220">_</text>
|
|
200
|
+
|
|
201
|
+
</svg>
|