memoir-cli 3.1.0 → 3.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/GAMEPLAN.md +235 -0
- package/README.md +152 -54
- package/bin/memoir.js +78 -3
- package/package.json +9 -4
- package/src/commands/projects.js +240 -0
- package/src/commands/push.js +18 -4
- 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 +223 -1
- 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/GAMEPLAN.md
ADDED
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
# Memoir Business Game Plan
|
|
2
|
+
**Date:** March 25, 2026 | **Status:** Pre-revenue | **Author:** Boardroom consensus + CEO directive
|
|
3
|
+
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Current State
|
|
7
|
+
|
|
8
|
+
| Metric | Value |
|
|
9
|
+
|--------|-------|
|
|
10
|
+
| Version | 3.1.2 (npm) |
|
|
11
|
+
| Revenue | $0 |
|
|
12
|
+
| Users | ~50 npm downloads |
|
|
13
|
+
| AI Tools Supported | 11 (Claude, Gemini, Cursor, Copilot, Windsurf, Zed, Cline, Continue, Aider, Codex, ChatGPT) |
|
|
14
|
+
| Cloud Backend | Supabase (auth + storage + PostgreSQL) |
|
|
15
|
+
| Landing Page | memoir.sh (Vercel, 13 blog posts, no email capture) |
|
|
16
|
+
| Blog Posts | 13 SEO-targeted articles |
|
|
17
|
+
| Analytics | None (CLI or website) |
|
|
18
|
+
| Payment Processing | None |
|
|
19
|
+
| Team Features | None |
|
|
20
|
+
| Shareable Links | None |
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## What's Already Built (Don't Rebuild)
|
|
25
|
+
|
|
26
|
+
- **CLI core** — push, restore, snapshot, resume, migrate, diff, profiles, doctor
|
|
27
|
+
- **Cloud sync** — Supabase auth (email/password), gzipped bundles in Storage, PostgreSQL metadata
|
|
28
|
+
- **Free/Pro tiers** — enforced in code (Free: 3 backups, Pro: 50) — but no way to pay for Pro
|
|
29
|
+
- **Version history** — cloud backups versioned, restore from any version
|
|
30
|
+
- **E2E encryption** — AES-256-GCM, async scrypt (just fixed), client-side before upload
|
|
31
|
+
- **Workspace sync** — clones git repos, bundles non-git projects, applies uncommitted patches
|
|
32
|
+
- **Session handoff** — snapshot current session, resume on another machine
|
|
33
|
+
- **Landing page** — memoir.sh with animated terminal demo, tool marquee, FAQ, competitor comparison
|
|
34
|
+
- **13 SEO blog posts** — sync guides for each tool, comparisons, setup guides
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## The Plan: 4 Phases
|
|
39
|
+
|
|
40
|
+
### Phase 1: Monetization Foundation (Week 1-2)
|
|
41
|
+
> **Goal:** Accept money. Capture emails. Track usage.
|
|
42
|
+
|
|
43
|
+
| Task | Priority | Effort | Details |
|
|
44
|
+
|------|----------|--------|---------|
|
|
45
|
+
| Add Stripe integration | P0 | 1 day | Connect to Pro tier ($15/mo individual, already priced in competitor comparison) |
|
|
46
|
+
| `memoir upgrade` command | P0 | 0.5 day | Opens Stripe checkout from CLI, activates Pro |
|
|
47
|
+
| Add pricing page to memoir.sh | P0 | 0.5 day | Free vs Pro vs Teams (coming soon) |
|
|
48
|
+
| Add email capture / waitlist | P0 | 0.5 day | "Get notified for Teams" — collect emails on memoir.sh |
|
|
49
|
+
| Add PostHog analytics to CLI | P1 | 0.5 day | Anonymous: commands used, tool count, machine OS, cloud vs local |
|
|
50
|
+
| Add PostHog to memoir.sh | P1 | 0.5 day | Page views, blog reads, install clicks |
|
|
51
|
+
| `memoir doctor` completion | P2 | 0.5 day | Finish the stubbed diagnostics command |
|
|
52
|
+
|
|
53
|
+
**Phase 1 deliverable:** People can pay. We know who's using what.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
### Phase 2: Viral Loop + Shareability (Week 3-4)
|
|
58
|
+
> **Goal:** Every user brings one more user.
|
|
59
|
+
|
|
60
|
+
| Task | Priority | Effort | Details |
|
|
61
|
+
|------|----------|--------|---------|
|
|
62
|
+
| Shareable context links | P0 | 2 days | `memoir share` → generates encrypted link (Supabase signed URL, 24hr expiry). Recipient runs `memoir restore --from <link>` |
|
|
63
|
+
| Share landing page | P0 | 0.5 day | When link is opened in browser (not CLI), show "Install memoir to restore this context" with one-click copy |
|
|
64
|
+
| Team invite flow | P1 | 1 day | `memoir team create`, `memoir team invite <email>` — shared backup namespace in Supabase |
|
|
65
|
+
| Onboarding context | P1 | 0.5 day | `memoir push --share` generates a restore link printed to terminal. Copy-paste to Slack |
|
|
66
|
+
| "Synced with memoir" badge | P2 | 0.5 day | Auto-append to CLAUDE.md / .cursorrules when synced — passive discovery |
|
|
67
|
+
|
|
68
|
+
**Phase 2 deliverable:** Sharing is the viral loop. Every shared link = a new install prompt.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
### Phase 3: Teams Tier (Week 5-8)
|
|
73
|
+
> **Goal:** $29/seat/month revenue from dev teams.
|
|
74
|
+
|
|
75
|
+
| Task | Priority | Effort | Details |
|
|
76
|
+
|------|----------|--------|---------|
|
|
77
|
+
| Organizations in Supabase | P0 | 2 days | `organizations` table, `org_members` table, role-based (admin/member) |
|
|
78
|
+
| Shared team backups | P0 | 2 days | `memoir push --team` syncs to org namespace. All members can restore team context |
|
|
79
|
+
| Team dashboard (web) | P1 | 3 days | memoir.sh/dashboard — see team members, backup history, storage usage |
|
|
80
|
+
| Seat-based billing | P0 | 1 day | Stripe per-seat subscription, enforce in CLI |
|
|
81
|
+
| Context inheritance | P1 | 1 day | `memoir restore --from <teammate>` — pull specific teammate's context with permission |
|
|
82
|
+
| Audit log | P2 | 1 day | Who pushed, who restored, when — enterprise compliance checkbox |
|
|
83
|
+
| SSO (Google/GitHub) | P2 | 1 day | Enterprise teams expect OAuth, not email/password |
|
|
84
|
+
|
|
85
|
+
**Phase 3 deliverable:** Teams can buy seats, share context, see a dashboard.
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
### Phase 4: Enterprise + Moat (Week 9-12)
|
|
90
|
+
> **Goal:** First $5k MRR. Lock-in through history depth.
|
|
91
|
+
|
|
92
|
+
| Task | Priority | Effort | Details |
|
|
93
|
+
|------|----------|--------|---------|
|
|
94
|
+
| Context time-travel | P1 | 3 days | `memoir restore --version 5 --tool claude` — restore any tool to any point in history |
|
|
95
|
+
| Diff between versions | P1 | 1 day | `memoir diff v3 v7` — show what changed in AI context between versions |
|
|
96
|
+
| Context quality scoring | P2 | 2 days | Auto-tag backups: files changed, decisions made, session length. Surface "important" snapshots |
|
|
97
|
+
| Enterprise pricing page | P1 | 0.5 day | $99/seat/month with SLA, priority support, SSO, audit logs |
|
|
98
|
+
| SOC2 narrative | P2 | 1 day | Document E2E encryption, zero-knowledge architecture, audit trail for compliance conversations |
|
|
99
|
+
| API for integrations | P2 | 3 days | REST API: programmatic backup/restore for CI/CD pipelines, onboarding scripts |
|
|
100
|
+
|
|
101
|
+
**Phase 4 deliverable:** Enterprise-ready product with deep history moat.
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Pricing Structure
|
|
106
|
+
|
|
107
|
+
| Tier | Price | Limits | Target |
|
|
108
|
+
|------|-------|--------|--------|
|
|
109
|
+
| **Free** | $0/forever | 3 cloud backups, local unlimited, 1 machine | Solo devs trying it out |
|
|
110
|
+
| **Pro** | $15/month | 50 cloud backups, unlimited machines, version history | Power users, multi-machine devs |
|
|
111
|
+
| **Teams** | $29/seat/month | Shared team context, dashboard, audit log, 200 backups/team | Dev teams (5-20 people) |
|
|
112
|
+
| **Enterprise** | $99/seat/month | SSO, SLA, API access, compliance docs, unlimited backups | Companies (20+) |
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Positioning
|
|
117
|
+
|
|
118
|
+
| Audience | Message |
|
|
119
|
+
|----------|---------|
|
|
120
|
+
| Individual dev | "Never lose your AI context again" |
|
|
121
|
+
| Dev team lead | "Onboard devs in 60 seconds with full AI context" |
|
|
122
|
+
| Enterprise buyer | "SOC2-ready AI workflow continuity" |
|
|
123
|
+
| SEO / content | "Git for your AI setup" |
|
|
124
|
+
|
|
125
|
+
**One-liner:** memoir syncs your AI memory across every machine and every teammate.
|
|
126
|
+
|
|
127
|
+
**Anti-positioning (what we're NOT):** Not a dotfiles manager. Not VS Code Sync. Not a cloud IDE. We sync the AI layer — the conversations, decisions, and context that make your tools smart.
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## First 100 Users Plan
|
|
132
|
+
|
|
133
|
+
| Week | Action | Target |
|
|
134
|
+
|------|--------|--------|
|
|
135
|
+
| 1 | Ship Stripe + pricing page | Accept payments |
|
|
136
|
+
| 2 | Post on r/programming, r/neovim, r/cursor, Hacker News | 500 page views |
|
|
137
|
+
| 3 | Cold DM 50 developers who tweet about Claude/Cursor context loss | 10 installs |
|
|
138
|
+
| 4 | Ship shareable links, post demo video on X/Twitter | 20 shares |
|
|
139
|
+
| 5-6 | Reach out to 10 companies using Cursor (check their GitHub for .cursorrules) | 3 team pilots |
|
|
140
|
+
| 7-8 | Ship Teams tier, convert pilots to paid | First $290 MRR |
|
|
141
|
+
| 9-12 | Content marketing: "How Company X onboards devs in 60s" case study | 100 users, $1k+ MRR |
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Supabase Schema Changes Needed
|
|
146
|
+
|
|
147
|
+
```sql
|
|
148
|
+
-- Organizations
|
|
149
|
+
CREATE TABLE organizations (
|
|
150
|
+
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
151
|
+
name TEXT NOT NULL,
|
|
152
|
+
slug TEXT UNIQUE NOT NULL,
|
|
153
|
+
owner_id UUID REFERENCES auth.users(id),
|
|
154
|
+
plan TEXT DEFAULT 'teams',
|
|
155
|
+
stripe_customer_id TEXT,
|
|
156
|
+
stripe_subscription_id TEXT,
|
|
157
|
+
created_at TIMESTAMPTZ DEFAULT now()
|
|
158
|
+
);
|
|
159
|
+
|
|
160
|
+
-- Org members
|
|
161
|
+
CREATE TABLE org_members (
|
|
162
|
+
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
163
|
+
org_id UUID REFERENCES organizations(id) ON DELETE CASCADE,
|
|
164
|
+
user_id UUID REFERENCES auth.users(id),
|
|
165
|
+
role TEXT DEFAULT 'member' CHECK (role IN ('admin', 'member')),
|
|
166
|
+
invited_by UUID REFERENCES auth.users(id),
|
|
167
|
+
joined_at TIMESTAMPTZ DEFAULT now(),
|
|
168
|
+
UNIQUE(org_id, user_id)
|
|
169
|
+
);
|
|
170
|
+
|
|
171
|
+
-- Shared links
|
|
172
|
+
CREATE TABLE shared_links (
|
|
173
|
+
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
174
|
+
backup_id UUID REFERENCES backups(id),
|
|
175
|
+
created_by UUID REFERENCES auth.users(id),
|
|
176
|
+
token TEXT UNIQUE NOT NULL,
|
|
177
|
+
expires_at TIMESTAMPTZ NOT NULL,
|
|
178
|
+
max_uses INT DEFAULT 1,
|
|
179
|
+
use_count INT DEFAULT 0,
|
|
180
|
+
created_at TIMESTAMPTZ DEFAULT now()
|
|
181
|
+
);
|
|
182
|
+
|
|
183
|
+
-- Add org_id to backups for team backups
|
|
184
|
+
ALTER TABLE backups ADD COLUMN org_id UUID REFERENCES organizations(id);
|
|
185
|
+
|
|
186
|
+
-- Add stripe fields to subscriptions
|
|
187
|
+
ALTER TABLE subscriptions ADD COLUMN stripe_customer_id TEXT;
|
|
188
|
+
ALTER TABLE subscriptions ADD COLUMN stripe_subscription_id TEXT;
|
|
189
|
+
ALTER TABLE subscriptions ADD COLUMN seats INT DEFAULT 1;
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## New CLI Commands Summary
|
|
195
|
+
|
|
196
|
+
```
|
|
197
|
+
memoir upgrade # Open Stripe checkout, activate Pro
|
|
198
|
+
memoir share # Generate encrypted shareable link
|
|
199
|
+
memoir team create # Create a team organization
|
|
200
|
+
memoir team invite # Invite teammate by email
|
|
201
|
+
memoir team list # List team members
|
|
202
|
+
memoir push --team # Push to team namespace
|
|
203
|
+
memoir restore --from # Restore from shared link or teammate
|
|
204
|
+
memoir history --diff # Diff between backup versions
|
|
205
|
+
memoir analytics # Show your usage stats (local)
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
## Risk Register
|
|
211
|
+
|
|
212
|
+
| Risk | Likelihood | Impact | Mitigation |
|
|
213
|
+
|------|-----------|--------|------------|
|
|
214
|
+
| AI tools change config paths | High | Medium | Version-gated path detection, community PRs for new tools |
|
|
215
|
+
| Supabase costs spike with users | Medium | Medium | Gzip compression (already done), enforce tier limits, monitor |
|
|
216
|
+
| Nobody pays for Pro | High | High | Validate with shareable links first (free viral), watch conversion |
|
|
217
|
+
| Enterprise competitor (JetBrains, GitHub) builds this | Medium | High | Move fast, own the CLI mindshare, community moat |
|
|
218
|
+
| ToS violations syncing AI configs | Low | High | Only sync user-owned files (configs, not conversations). Document clearly |
|
|
219
|
+
| Data breach of cloud backups | Low | Critical | E2E encryption means we literally can't read user data. Zero-knowledge by design |
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## This Week's Checklist
|
|
224
|
+
|
|
225
|
+
- [ ] Stripe account setup + integration in CLI
|
|
226
|
+
- [ ] `memoir upgrade` command
|
|
227
|
+
- [ ] Pricing page on memoir.sh
|
|
228
|
+
- [ ] Email capture for Teams waitlist on memoir.sh
|
|
229
|
+
- [ ] PostHog analytics on CLI (anonymous, opt-out available)
|
|
230
|
+
- [ ] PostHog analytics on memoir.sh
|
|
231
|
+
- [ ] Post in 3 subreddits about memoir
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
*"The CLI is the funnel. Cloud is the product. Teams is the business."*
|
package/README.md
CHANGED
|
@@ -2,43 +2,59 @@
|
|
|
2
2
|
|
|
3
3
|
# memoir
|
|
4
4
|
|
|
5
|
-
**
|
|
5
|
+
**AI tools forget you. memoir doesn't.**
|
|
6
6
|
|
|
7
7
|
[](https://npmjs.org/package/memoir-cli)
|
|
8
8
|
[](https://npmjs.org/package/memoir-cli)
|
|
9
9
|
[](https://opensource.org/licenses/MIT)
|
|
10
10
|
[](https://nodejs.org)
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
Sync memory across 11 AI tools. Search it all from your editor via MCP. One CLI, every device.
|
|
13
13
|
|
|
14
14
|
[Website](https://memoir.sh) • [npm](https://npmjs.org/package/memoir-cli) • [Blog](https://memoir.sh/blog)
|
|
15
15
|
|
|
16
16
|
<br />
|
|
17
17
|
|
|
18
|
-

|
|
19
|
-
|
|
20
18
|
</div>
|
|
21
19
|
|
|
22
|
-
##
|
|
20
|
+
## The Problem
|
|
23
21
|
|
|
24
|
-
You spend weeks teaching
|
|
22
|
+
You spend weeks teaching Claude how you code. Your projects are dialed in. Your AI knows your stack, your decisions, your preferences.
|
|
25
23
|
|
|
26
|
-
Then you
|
|
24
|
+
Then you switch machines. **Everything is gone.** Your AI has amnesia. Your projects aren't there. You start from zero.
|
|
27
25
|
|
|
28
|
-
|
|
26
|
+
## The Fix
|
|
29
27
|
|
|
30
28
|
```bash
|
|
29
|
+
# On your main machine
|
|
30
|
+
memoir push
|
|
31
|
+
|
|
32
|
+
# On any other machine
|
|
31
33
|
npm install -g memoir-cli
|
|
34
|
+
memoir restore -y
|
|
35
|
+
|
|
36
|
+
# Done. Everything's back:
|
|
37
|
+
# ✔ AI memory restored (Claude, Gemini, Cursor, 11 tools)
|
|
38
|
+
# ✔ 44 projects cloned & unpacked
|
|
39
|
+
# ✔ Uncommitted changes applied
|
|
40
|
+
# ✔ Session context injected — AI picks up mid-conversation
|
|
32
41
|
```
|
|
33
42
|
|
|
34
|
-
|
|
43
|
+
One command to save. One command to restore. That's it.
|
|
44
|
+
|
|
45
|
+
## What Gets Synced
|
|
46
|
+
|
|
47
|
+
memoir syncs three layers that no other tool connects:
|
|
48
|
+
|
|
49
|
+
### Layer 1: AI Memory
|
|
50
|
+
Your AI tool configs, preferences, and project knowledge across 11 tools.
|
|
35
51
|
|
|
36
52
|
| Tool | What gets synced |
|
|
37
53
|
|------|-----------------|
|
|
38
|
-
| **ChatGPT** | CHATGPT.md custom instructions |
|
|
39
54
|
| **Claude Code** | ~/.claude/ settings, memory, CLAUDE.md files |
|
|
40
55
|
| **Gemini CLI** | ~/.gemini/ config, GEMINI.md files |
|
|
41
|
-
| **
|
|
56
|
+
| **ChatGPT** | CHATGPT.md custom instructions |
|
|
57
|
+
| **OpenAI Codex** | ~/.codex/ config, AGENTS.md |
|
|
42
58
|
| **Cursor** | Settings, keybindings, .cursorrules |
|
|
43
59
|
| **GitHub Copilot** | Config, copilot-instructions.md |
|
|
44
60
|
| **Windsurf** | Settings, keybindings, .windsurfrules |
|
|
@@ -47,7 +63,37 @@ npm install -g memoir-cli
|
|
|
47
63
|
| **Continue.dev** | Config, .continuerules |
|
|
48
64
|
| **Aider** | .aider.conf.yml, system prompt |
|
|
49
65
|
|
|
50
|
-
|
|
66
|
+
### Layer 2: Session State
|
|
67
|
+
What you were **doing** — not just what your AI knows, but the active context.
|
|
68
|
+
|
|
69
|
+
- Last coding session captured automatically
|
|
70
|
+
- What files you changed, what errors you hit, what decisions you made
|
|
71
|
+
- Injected into your AI on restore so it picks up mid-conversation
|
|
72
|
+
- Secrets auto-redacted (API keys, tokens, passwords stripped before sync)
|
|
73
|
+
|
|
74
|
+
### Layer 3: Workspace (NEW in v3.1)
|
|
75
|
+
Your actual projects — code, files, everything.
|
|
76
|
+
|
|
77
|
+
- **Git projects:** Remote URLs saved, auto-cloned on restore
|
|
78
|
+
- **Non-git projects:** Bundled as compressed archives, unpacked on restore
|
|
79
|
+
- **Uncommitted work:** Saved as patches, applied after clone
|
|
80
|
+
- **Zero git commands needed** — memoir handles it all
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
memoir push on Mac:
|
|
84
|
+
✔ AI memory backed up
|
|
85
|
+
✔ Session context captured
|
|
86
|
+
✔ Workspace: 44 projects (17 git, 23 bundled)
|
|
87
|
+
🔒 E2E encrypted
|
|
88
|
+
|
|
89
|
+
memoir restore on Windows:
|
|
90
|
+
✔ AI memory restored
|
|
91
|
+
✔ stock-market-book → C:\Users\You\stock-market-book (cloned)
|
|
92
|
+
✔ socialslink → C:\Users\You\socialslink (cloned)
|
|
93
|
+
✔ btc-trader → C:\Users\You\btc-trader (unpacked)
|
|
94
|
+
✔ 41 more projects restored
|
|
95
|
+
📋 Session context injected — Claude picks up where you left off
|
|
96
|
+
```
|
|
51
97
|
|
|
52
98
|
## Quick Start
|
|
53
99
|
|
|
@@ -55,41 +101,81 @@ Plus **per-project configs** — memoir scans your filesystem for CLAUDE.md, GEM
|
|
|
55
101
|
# Install
|
|
56
102
|
npm install -g memoir-cli
|
|
57
103
|
|
|
58
|
-
# First-time setup
|
|
104
|
+
# First-time setup
|
|
59
105
|
memoir init
|
|
60
106
|
|
|
61
|
-
# Back up
|
|
107
|
+
# Back up everything
|
|
62
108
|
memoir push
|
|
63
109
|
|
|
64
|
-
# Restore on
|
|
110
|
+
# Restore on any machine
|
|
65
111
|
memoir restore
|
|
66
112
|
```
|
|
67
113
|
|
|
68
|
-
|
|
114
|
+
## MCP Server (NEW in v3.2)
|
|
115
|
+
|
|
116
|
+
memoir ships an MCP server so your AI tools can search, read, and save memories without leaving the conversation.
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
# Start the server
|
|
120
|
+
memoir mcp
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**Claude Code** — add to `~/.mcp.json`:
|
|
124
|
+
```json
|
|
125
|
+
{
|
|
126
|
+
"mcpServers": {
|
|
127
|
+
"memoir": { "command": "memoir-mcp" }
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
**Cursor** — add to `.cursor/mcp.json`:
|
|
133
|
+
```json
|
|
134
|
+
{
|
|
135
|
+
"mcpServers": {
|
|
136
|
+
"memoir": { "command": "memoir-mcp" }
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Your editor gets 6 tools: `memoir_recall` (search all memories), `memoir_remember` (save context), `memoir_list`, `memoir_read`, `memoir_status`, and `memoir_profiles`. Zero cost — runs locally.
|
|
69
142
|
|
|
70
143
|
## Key Features
|
|
71
144
|
|
|
72
|
-
###
|
|
145
|
+
### Workspace sync
|
|
73
146
|
```bash
|
|
74
|
-
memoir
|
|
75
|
-
#
|
|
147
|
+
memoir push # scans all projects, saves git URLs + bundles non-git projects
|
|
148
|
+
memoir restore # auto-clones repos, unpacks bundles, applies uncommitted patches
|
|
76
149
|
```
|
|
77
150
|
|
|
78
|
-
|
|
151
|
+
No manual git commands. memoir detects your projects, tracks their remotes, and restores them anywhere.
|
|
79
152
|
|
|
153
|
+
### Translate between AI tools
|
|
80
154
|
```bash
|
|
155
|
+
memoir migrate --from chatgpt --to claude
|
|
156
|
+
# AI-powered — rewrites conventions, not copy-paste
|
|
157
|
+
|
|
81
158
|
memoir migrate --from chatgpt --to all
|
|
159
|
+
# Translate to every tool at once
|
|
82
160
|
```
|
|
83
161
|
|
|
84
162
|
### Session handoff
|
|
85
163
|
```bash
|
|
86
|
-
#
|
|
164
|
+
# Capture your session (automatic on push, or manual)
|
|
87
165
|
memoir snapshot
|
|
88
166
|
|
|
89
167
|
# Pick up on another machine
|
|
90
168
|
memoir resume --inject --to claude
|
|
91
169
|
```
|
|
92
170
|
|
|
171
|
+
### E2E Encryption
|
|
172
|
+
```bash
|
|
173
|
+
memoir encrypt # toggle encryption on/off
|
|
174
|
+
memoir push # prompted for passphrase, AES-256-GCM encrypted
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
Your backup is encrypted before it leaves your machine. Even if your storage is compromised, your data is safe. Secret scanning auto-redacts API keys, tokens, and passwords.
|
|
178
|
+
|
|
93
179
|
### Profiles (personal / work)
|
|
94
180
|
```bash
|
|
95
181
|
memoir profile create work
|
|
@@ -107,23 +193,24 @@ memoir cloud restore # restore from any version
|
|
|
107
193
|
memoir history # view all backup versions
|
|
108
194
|
```
|
|
109
195
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
### Security
|
|
196
|
+
### Cross-platform (Mac / Windows / Linux)
|
|
113
197
|
```bash
|
|
114
|
-
|
|
115
|
-
|
|
198
|
+
# Push from Mac
|
|
199
|
+
memoir push
|
|
200
|
+
|
|
201
|
+
# Restore on Windows — paths remap automatically
|
|
202
|
+
memoir restore
|
|
116
203
|
```
|
|
117
204
|
|
|
118
|
-
|
|
205
|
+
Claude's memory paths are automatically remapped between platforms. Projects are cloned to the right locations. It just works.
|
|
119
206
|
|
|
120
207
|
## All Commands
|
|
121
208
|
|
|
122
209
|
| Command | What it does |
|
|
123
210
|
|---------|-------------|
|
|
124
211
|
| `memoir init` | Setup wizard — GitHub or local storage |
|
|
125
|
-
| `memoir push` | Back up
|
|
126
|
-
| `memoir restore` | Restore on a new machine |
|
|
212
|
+
| `memoir push` | Back up AI memory + workspace + session |
|
|
213
|
+
| `memoir restore` | Restore everything on a new machine |
|
|
127
214
|
| `memoir status` | Show detected AI tools |
|
|
128
215
|
| `memoir doctor` | Diagnose issues, scan for secrets |
|
|
129
216
|
| `memoir view` | Preview what's in your backup |
|
|
@@ -131,66 +218,77 @@ memoir **never** syncs credentials, API keys, .env files, or auth tokens.
|
|
|
131
218
|
| `memoir migrate` | Translate memory between tools via AI |
|
|
132
219
|
| `memoir snapshot` | Capture current coding session |
|
|
133
220
|
| `memoir resume` | Pick up where you left off |
|
|
221
|
+
| `memoir encrypt` | Toggle E2E encryption |
|
|
134
222
|
| `memoir profile` | Manage profiles (personal/work) |
|
|
135
223
|
| `memoir cloud push` | Back up to memoir cloud |
|
|
136
224
|
| `memoir cloud restore` | Restore from memoir cloud |
|
|
137
225
|
| `memoir history` | View cloud backup versions |
|
|
138
226
|
| `memoir login` | Sign in to memoir cloud |
|
|
227
|
+
| `memoir mcp` | Start MCP server for editor integration |
|
|
139
228
|
| `memoir update` | Self-update to latest version |
|
|
140
229
|
|
|
141
230
|
## How memoir compares
|
|
142
231
|
|
|
143
|
-
| Feature | memoir |
|
|
144
|
-
|
|
145
|
-
|
|
|
232
|
+
| Feature | memoir | dotfiles managers | ai-rulez | memories.sh |
|
|
233
|
+
|---------|--------|-------------------|----------|-------------|
|
|
234
|
+
| AI memory sync | **11 tools** | No | 18 tools | 3 tools |
|
|
235
|
+
| Workspace sync | **Yes** | No | No | No |
|
|
236
|
+
| Session handoff | **Yes** | No | No | No |
|
|
146
237
|
| AI-powered translation | **Yes** | No | No | No |
|
|
147
|
-
|
|
|
238
|
+
| E2E encryption | **Yes** | No | No | No |
|
|
239
|
+
| Secret scanning | **Yes** | Some | No | No |
|
|
240
|
+
| Cross-platform remap | **Yes** | Some | No | No |
|
|
241
|
+
| Uncommitted work patches | **Yes** | No | No | No |
|
|
148
242
|
| Cloud backup | **Yes** | No | No | Yes ($15/mo) |
|
|
149
|
-
| Version history | **Yes** | No | No | No |
|
|
150
|
-
| Session handoff | **Yes** | No | No | No |
|
|
151
243
|
| Profiles | **Yes** | No | No | No |
|
|
152
|
-
|
|
|
244
|
+
| MCP server | **Yes** | No | No | No |
|
|
153
245
|
| Free & open source | **Yes** | Yes | Yes | No |
|
|
154
246
|
|
|
155
|
-
memoir is free and open source. Cloud sync starts at $0 (3 backups free).
|
|
156
|
-
|
|
157
247
|
## Common Workflows
|
|
158
248
|
|
|
159
|
-
### New
|
|
249
|
+
### New machine setup
|
|
160
250
|
```bash
|
|
161
251
|
# Old machine
|
|
162
252
|
memoir push
|
|
163
253
|
|
|
164
|
-
# New machine
|
|
165
|
-
npm install -g memoir-cli
|
|
166
|
-
memoir init # connect to same repo
|
|
167
|
-
memoir restore # all configs restored in seconds
|
|
254
|
+
# New machine — one command, everything's back
|
|
255
|
+
npm install -g memoir-cli && memoir init && memoir restore -y
|
|
168
256
|
```
|
|
169
257
|
|
|
170
|
-
###
|
|
258
|
+
### Daily sync between machines
|
|
171
259
|
```bash
|
|
172
|
-
memoir
|
|
173
|
-
#
|
|
260
|
+
memoir push # end of day on laptop
|
|
261
|
+
memoir restore # next morning on desktop — AI knows what you were doing
|
|
174
262
|
```
|
|
175
263
|
|
|
176
|
-
###
|
|
264
|
+
### Switching AI tools
|
|
177
265
|
```bash
|
|
178
|
-
memoir
|
|
179
|
-
|
|
266
|
+
memoir migrate --from chatgpt --to claude
|
|
267
|
+
# Your custom instructions become a proper CLAUDE.md
|
|
180
268
|
```
|
|
181
269
|
|
|
182
|
-
###
|
|
270
|
+
### Team onboarding
|
|
183
271
|
```bash
|
|
184
|
-
#
|
|
185
|
-
memoir push
|
|
272
|
+
# Senior dev pushes team config
|
|
273
|
+
memoir push --profile team
|
|
186
274
|
|
|
187
|
-
#
|
|
188
|
-
memoir restore
|
|
275
|
+
# New hire runs one command
|
|
276
|
+
memoir restore --profile team
|
|
277
|
+
# Every project cloned. Every AI tool configured. Day one productive.
|
|
189
278
|
```
|
|
190
279
|
|
|
280
|
+
## Security
|
|
281
|
+
|
|
282
|
+
- **E2E encryption** — AES-256-GCM with scrypt key derivation
|
|
283
|
+
- **Secret scanning** — 20+ patterns detect API keys, tokens, passwords, connection strings
|
|
284
|
+
- **Auto-redaction** — secrets stripped from session handoffs before sync
|
|
285
|
+
- **No credentials synced** — .env files, auth tokens, and API keys are never included
|
|
286
|
+
- **Passphrase verified** — wrong passphrase caught before decrypt attempt
|
|
287
|
+
|
|
191
288
|
## Requirements
|
|
192
289
|
|
|
193
290
|
- Node.js >= 18
|
|
291
|
+
- Git (for workspace sync)
|
|
194
292
|
- Works on macOS, Windows, Linux
|
|
195
293
|
|
|
196
294
|
## Contributing
|