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/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/LAUNCH_POSTS.md
ADDED
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
# Memoir Launch Posts — Ready to Copy & Paste
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## 1. Hacker News — Show HN
|
|
6
|
+
|
|
7
|
+
**Title:** Show HN: Memoir – Sync your AI coding memory across 11 tools and every device
|
|
8
|
+
|
|
9
|
+
**Text:**
|
|
10
|
+
|
|
11
|
+
I switch between a Mac and a PC daily. Every time, my Claude Code rules, Gemini instructions, Cursor settings — gone. Trapped in hidden dotfiles on whichever machine I used last.
|
|
12
|
+
|
|
13
|
+
I built memoir to fix this. It's a CLI that backs up, restores, and syncs your AI memory across devices and tools. It supports 11 tools: Claude Code, Gemini CLI, ChatGPT, OpenAI Codex, Cursor, GitHub Copilot, Windsurf, Zed, Cline, Continue.dev, and Aider.
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
memoir push # back up everything — AI configs, projects, session state
|
|
17
|
+
memoir restore # restore on any machine — AI picks up mid-conversation
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
What makes it different from dotfile managers:
|
|
21
|
+
|
|
22
|
+
1. **AI-aware translation.** `memoir migrate --from claude --to cursor` uses AI to rewrite your instructions following each tool's conventions — not just file copy.
|
|
23
|
+
|
|
24
|
+
2. **Session handoff.** memoir captures what you were doing (files changed, errors hit, decisions made) and injects it on restore so your AI picks up mid-conversation.
|
|
25
|
+
|
|
26
|
+
3. **Workspace sync.** Git repos are auto-cloned, non-git projects are bundled, and uncommitted changes are saved as patches and reapplied.
|
|
27
|
+
|
|
28
|
+
4. **MCP server.** `memoir mcp` gives your editor 6 tools to search, read, and save memories without leaving the conversation.
|
|
29
|
+
|
|
30
|
+
5. **E2E encrypted.** AES-256-GCM. Secret scanning auto-redacts API keys and tokens before sync. Zero-knowledge — we can't read your data.
|
|
31
|
+
|
|
32
|
+
It syncs three layers no other tool connects: AI memory (configs + instructions), session state (what you were doing), and workspace (your actual projects).
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
npm install -g memoir-cli
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
~100kb installed. MIT licensed. Cloud sync available (free tier: 3 backups). Would love feedback — especially on what workflows you'd want next. Thinking about shareable context links so you can onboard a teammate with one URL.
|
|
39
|
+
|
|
40
|
+
https://github.com/camgitt/memoir
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## 2. Reddit — r/programming
|
|
45
|
+
|
|
46
|
+
**Title:** I built a CLI that syncs your AI coding memory across 11 tools and every device
|
|
47
|
+
|
|
48
|
+
**Body:**
|
|
49
|
+
|
|
50
|
+
Every AI coding tool stores your preferences in its own hidden config files. Claude has `~/.claude/` and `CLAUDE.md`. Cursor has `.cursorrules`. Gemini has `GEMINI.md`. None of them talk to each other, and none of them sync between machines.
|
|
51
|
+
|
|
52
|
+
I got tired of re-teaching my AI tools every time I switched from my Mac to my PC, so I built **memoir** — a CLI that backs up, restores, and translates your AI memory across devices and tools.
|
|
53
|
+
|
|
54
|
+
**What it does:**
|
|
55
|
+
|
|
56
|
+
- `memoir push` — backs up AI configs, project knowledge, and your current coding session
|
|
57
|
+
- `memoir restore` — restores everything on any machine (Mac, Windows, Linux)
|
|
58
|
+
- `memoir migrate --from claude --to cursor` — AI-powered translation between tools (rewrites conventions, doesn't just copy files)
|
|
59
|
+
- `memoir mcp` — MCP server so your editor can search/save memories in-conversation
|
|
60
|
+
|
|
61
|
+
**What makes it interesting:**
|
|
62
|
+
|
|
63
|
+
It doesn't just sync config files. It captures *session state* — what files you changed, what decisions you made, what you were debugging — and injects that context when you restore. Your AI literally picks up where you left off.
|
|
64
|
+
|
|
65
|
+
It also syncs your actual workspace: git repos are auto-cloned, non-git projects are bundled and unpacked, uncommitted changes are saved as patches.
|
|
66
|
+
|
|
67
|
+
E2E encrypted (AES-256-GCM), secret scanning built in, MIT licensed.
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
npm install -g memoir-cli
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
GitHub: https://github.com/camgitt/memoir
|
|
74
|
+
Website: https://memoir.sh
|
|
75
|
+
|
|
76
|
+
Would love to hear what workflows people would find useful. Currently thinking about shareable context links for team onboarding.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## 3. Reddit — r/cursor
|
|
81
|
+
|
|
82
|
+
**Title:** Sync your .cursorrules and AI context across machines (and 10 other AI tools)
|
|
83
|
+
|
|
84
|
+
**Body:**
|
|
85
|
+
|
|
86
|
+
Quick question for multi-machine Cursor users — how are you keeping your `.cursorrules` and settings in sync across devices?
|
|
87
|
+
|
|
88
|
+
I built **memoir** because I kept losing my AI context switching between machines. It's a CLI that syncs Cursor configs alongside 10 other AI tools — Claude Code, Gemini CLI, ChatGPT, Codex, Copilot, Windsurf, Zed, Cline, Continue.dev, and Aider. 11 tools total.
|
|
89
|
+
|
|
90
|
+
The part that's been most useful for me:
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
memoir migrate --from claude --to cursor
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
This uses AI to actually *translate* your Claude CLAUDE.md into a proper `.cursorrules` that follows Cursor's conventions. Not a file copy — a real rewrite.
|
|
97
|
+
|
|
98
|
+
It also captures your current coding session and lets you resume on another machine. Your AI picks up mid-conversation.
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
npm install -g memoir-cli
|
|
102
|
+
memoir init
|
|
103
|
+
memoir push # backs up .cursorrules + settings + projects
|
|
104
|
+
memoir restore # restores everything on another machine
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
E2E encrypted, MIT licensed, free tier available.
|
|
108
|
+
|
|
109
|
+
GitHub: https://github.com/camgitt/memoir
|
|
110
|
+
|
|
111
|
+
What other Cursor-specific workflows would be useful? Happy to add things.
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## 4. Reddit — r/neovim
|
|
116
|
+
|
|
117
|
+
**Title:** memoir — sync your AI coding context (Aider, Cline, Continue.dev) across machines from the terminal
|
|
118
|
+
|
|
119
|
+
**Body:**
|
|
120
|
+
|
|
121
|
+
For terminal-first devs using AI tools alongside Neovim — I built a CLI that syncs your AI memory across machines and tools.
|
|
122
|
+
|
|
123
|
+
If you're using Aider, Cline, or Continue.dev, you've probably got config files and project instructions scattered across `~/.aider.conf.yml`, `.clinerules`, `.continuerules`, etc. memoir backs all of that up and restores it on any machine.
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
memoir push # backs up AI configs + projects + session state
|
|
127
|
+
memoir restore # restores on any machine
|
|
128
|
+
memoir migrate --from aider --to cline # AI-powered translation
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
It also ships an MCP server (`memoir mcp`) that gives your tools 6 commands to search, read, and save memories without leaving your workflow.
|
|
132
|
+
|
|
133
|
+
The workspace sync is nice too — git repos auto-clone, non-git projects get bundled, uncommitted changes are saved as patches and reapplied.
|
|
134
|
+
|
|
135
|
+
Everything's E2E encrypted (AES-256-GCM) with secret scanning. MIT licensed.
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
npm install -g memoir-cli
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
https://github.com/camgitt/memoir
|
|
142
|
+
|
|
143
|
+
Would love feedback from the terminal crowd. What AI tool integrations would you want to see next?
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## 5. X/Twitter Launch Thread
|
|
148
|
+
|
|
149
|
+
**Tweet 1 (hook):**
|
|
150
|
+
AI tools forget you every time you switch machines.
|
|
151
|
+
|
|
152
|
+
I built memoir — a CLI that syncs your AI memory across 11 tools and every device.
|
|
153
|
+
|
|
154
|
+
One command to save. One command to restore. Your AI picks up mid-conversation.
|
|
155
|
+
|
|
156
|
+
Here's what it does 🧵
|
|
157
|
+
|
|
158
|
+
**Tweet 2:**
|
|
159
|
+
The problem: Claude has CLAUDE.md. Cursor has .cursorrules. Gemini has GEMINI.md.
|
|
160
|
+
|
|
161
|
+
None of them sync. None of them talk to each other.
|
|
162
|
+
|
|
163
|
+
Switch machines? Start from zero. Switch tools? Re-teach everything.
|
|
164
|
+
|
|
165
|
+
memoir fixes this.
|
|
166
|
+
|
|
167
|
+
**Tweet 3:**
|
|
168
|
+
```
|
|
169
|
+
memoir push # save everything
|
|
170
|
+
memoir restore # restore anywhere
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
It syncs three layers:
|
|
174
|
+
→ AI memory (configs across 11 tools)
|
|
175
|
+
→ Session state (what you were doing)
|
|
176
|
+
→ Workspace (your actual projects)
|
|
177
|
+
|
|
178
|
+
**Tweet 4:**
|
|
179
|
+
The killer feature: AI-powered translation between tools.
|
|
180
|
+
|
|
181
|
+
```
|
|
182
|
+
memoir migrate --from claude --to cursor
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
This doesn't just copy files. It rewrites your Claude instructions into proper .cursorrules following Cursor's conventions.
|
|
186
|
+
|
|
187
|
+
Works between all 11 tools.
|
|
188
|
+
|
|
189
|
+
**Tweet 5:**
|
|
190
|
+
Session handoff is the other thing nothing else does.
|
|
191
|
+
|
|
192
|
+
memoir captures what files you changed, what decisions you made, what you were debugging.
|
|
193
|
+
|
|
194
|
+
On restore, it injects that context. Your AI literally picks up where you left off.
|
|
195
|
+
|
|
196
|
+
**Tweet 6:**
|
|
197
|
+
Security:
|
|
198
|
+
→ E2E encrypted (AES-256-GCM)
|
|
199
|
+
→ Secret scanning catches API keys, tokens, passwords
|
|
200
|
+
→ Auto-redacted before sync
|
|
201
|
+
→ Zero-knowledge — we can't read your data
|
|
202
|
+
|
|
203
|
+
**Tweet 7:**
|
|
204
|
+
```
|
|
205
|
+
npm install -g memoir-cli
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
Free & open source. MIT licensed. ~100kb.
|
|
209
|
+
|
|
210
|
+
Cloud sync available. MCP server included so your editor can search memories in-conversation.
|
|
211
|
+
|
|
212
|
+
GitHub: github.com/camgitt/memoir
|
|
213
|
+
Website: memoir.sh
|
|
214
|
+
|
|
215
|
+
Try it and let me know what you think ↓
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Posting Strategy
|
|
220
|
+
|
|
221
|
+
### Timing
|
|
222
|
+
- **Hacker News:** Tuesday or Wednesday, 8-9am ET (peak HN traffic)
|
|
223
|
+
- **Reddit r/programming:** Same day as HN, 2-3 hours after
|
|
224
|
+
- **Reddit r/cursor:** Day after HN post
|
|
225
|
+
- **Reddit r/neovim:** Day after HN post (different audience, won't cannibalize)
|
|
226
|
+
- **X/Twitter thread:** Same day as HN, post in the morning, then reply-thread throughout the day
|
|
227
|
+
|
|
228
|
+
### Engagement Rules
|
|
229
|
+
1. **Reply to every comment** within the first 2 hours — HN and Reddit rank by early engagement
|
|
230
|
+
2. **Don't be defensive** — if someone says "this is just dotfiles," acknowledge it and explain the session handoff + translation layer
|
|
231
|
+
3. **Ask questions back** — "What tools are you using?" and "What would you want synced?" drives comments
|
|
232
|
+
4. **Have a demo GIF ready** — link to your demo.gif in early replies
|
|
233
|
+
5. **Upvote timing** — ask 2-3 friends to upvote within the first 30 minutes (critical for HN front page)
|
|
234
|
+
|
|
235
|
+
### Expected Objections & Responses
|
|
236
|
+
|
|
237
|
+
**"This is just a dotfiles manager"**
|
|
238
|
+
→ "Dotfiles managers sync files. memoir syncs AI context — it captures your session state (what you were debugging, what decisions you made) and injects it on restore. It also translates between tools using AI, not file copy. The workspace sync with uncommitted patches is a layer above dotfiles too."
|
|
239
|
+
|
|
240
|
+
**"Why not just use git?"**
|
|
241
|
+
→ "Git syncs code. memoir syncs the AI layer on top of it — your CLAUDE.md, .cursorrules, session context, and tool configs. Plus it handles non-git projects (bundles them), and saves uncommitted work as patches. It's the layer between your code and your AI."
|
|
242
|
+
|
|
243
|
+
**"I don't use multiple machines"**
|
|
244
|
+
→ "Fair — but do you use multiple AI tools? `memoir migrate` translates your context between them. And the MCP server is useful on a single machine for searching across all your AI memories."
|
|
245
|
+
|
|
246
|
+
**"Security concerns with syncing AI configs"**
|
|
247
|
+
→ "E2E encrypted before it leaves your machine (AES-256-GCM). Built-in secret scanner catches API keys, tokens, passwords — auto-redacted. Zero-knowledge architecture. Run `memoir doctor` to see exactly what gets synced."
|
package/MARKETING.md
ADDED
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# memoir Marketing Plan
|
|
2
|
+
|
|
3
|
+
## Key Metric
|
|
4
|
+
Weekly active `memoir_recall` calls. Not installs, not stars, not waitlist. If AI tools are calling memoir_recall regularly, the product is working.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Phase 1: Directory Listings (Week 1)
|
|
9
|
+
|
|
10
|
+
### 1. awesome-mcp-servers PR
|
|
11
|
+
**Repo:** https://github.com/punkpeye/awesome-mcp-servers (or appcypher)
|
|
12
|
+
**PR title:** Add Memoir to Development Tools
|
|
13
|
+
**Line to add** (alphabetical, between Mastra and Maven):
|
|
14
|
+
```
|
|
15
|
+
- [Memoir](https://github.com/camgitt/memoir) - Persistent memory for AI coding tools via MCP. Your AI remembers across sessions, tools, and machines
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### 2. mcp.so Submission
|
|
19
|
+
**Submit:** https://github.com/chatmcp/mcpso/issues/new
|
|
20
|
+
**Title:** Add Memoir — persistent memory MCP server for AI coding tools
|
|
21
|
+
**Body:**
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
## Server Info
|
|
25
|
+
- **Name:** memoir-cli
|
|
26
|
+
- **Repository:** https://github.com/camgitt/memoir
|
|
27
|
+
- **npm:** https://www.npmjs.com/package/memoir-cli
|
|
28
|
+
- **Website:** https://memoir.sh
|
|
29
|
+
- **Author:** camgitt
|
|
30
|
+
- **License:** MIT
|
|
31
|
+
- **Language:** JavaScript (ESM)
|
|
32
|
+
- **Transport:** stdio
|
|
33
|
+
|
|
34
|
+
## Description
|
|
35
|
+
MCP server that gives AI coding tools persistent memory across sessions. Your AI can search, read, and save memories automatically. Works with Claude Code, Cursor, Windsurf, and any MCP-compatible client.
|
|
36
|
+
|
|
37
|
+
## MCP Tools
|
|
38
|
+
| Tool | Description |
|
|
39
|
+
|------|-------------|
|
|
40
|
+
| `memoir_recall` | Search across all AI memories |
|
|
41
|
+
| `memoir_remember` | Save context for future sessions |
|
|
42
|
+
| `memoir_read` | Read a specific memory file |
|
|
43
|
+
| `memoir_list` | List all memory files by tool |
|
|
44
|
+
| `memoir_status` | Show detected AI tools |
|
|
45
|
+
| `memoir_profiles` | Switch work/personal profiles |
|
|
46
|
+
|
|
47
|
+
## Installation
|
|
48
|
+
npm install -g memoir-cli
|
|
49
|
+
|
|
50
|
+
## Client Setup
|
|
51
|
+
Add to ~/.mcp.json:
|
|
52
|
+
{ "mcpServers": { "memoir": { "command": "memoir-mcp" } } }
|
|
53
|
+
|
|
54
|
+
## Tags
|
|
55
|
+
memory, mcp, ai-tools, developer-tools, persistent-context, cli, claude, cursor
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### 3. PulseMCP
|
|
59
|
+
**Submit:** https://www.pulsemcp.com/submit
|
|
60
|
+
Fill in: name, GitHub URL, npm URL, description.
|
|
61
|
+
|
|
62
|
+
### 4. Smithery.ai
|
|
63
|
+
```bash
|
|
64
|
+
npx smithery auth login
|
|
65
|
+
npx smithery mcp publish "https://github.com/camgitt/memoir" -n @camgitt/memoir
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### 5. Official MCP Registry
|
|
69
|
+
Requires adding `mcpName` to package.json and using mcp-publisher CLI.
|
|
70
|
+
```bash
|
|
71
|
+
npx @anthropic/mcp-publisher init
|
|
72
|
+
npx @anthropic/mcp-publisher publish
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Phase 2: Launch Posts (Week 1-2)
|
|
78
|
+
|
|
79
|
+
### Show HN
|
|
80
|
+
See SHOW_HN.md. Post Tuesday or Wednesday 8-10am ET.
|
|
81
|
+
|
|
82
|
+
### Reddit Posts (1 per sub, spread across 3 days)
|
|
83
|
+
|
|
84
|
+
**r/ClaudeAI:**
|
|
85
|
+
Title: I built an MCP server that gives Claude long-term memory across sessions
|
|
86
|
+
Body: "Got tired of re-explaining my project to Claude every conversation. Built an MCP server called memoir that lets Claude search and save memories automatically. Tell it your auth setup once — it remembers next week. Free, open source, MIT licensed. Works with Cursor and 9 other tools too. https://github.com/camgitt/memoir Would love feedback."
|
|
87
|
+
|
|
88
|
+
**r/cursor:**
|
|
89
|
+
Title: MCP server that syncs your project context between Cursor, Claude Code, and other tools
|
|
90
|
+
Body: "Built memoir — an MCP server that gives your AI tools shared memory. You explain something in Cursor, and Claude Code knows it too. Also handles migrating your .cursorrules to other tools. Free CLI, MIT licensed. https://github.com/camgitt/memoir"
|
|
91
|
+
|
|
92
|
+
**r/ChatGPTCoding:**
|
|
93
|
+
Title: Open source tool that gives AI coding tools persistent memory (works with 11 tools)
|
|
94
|
+
Body: "memoir is an MCP server + CLI that syncs your AI memory across Claude, Cursor, ChatGPT, Gemini, and 7 more tools. Your AI remembers your codebase across sessions. Also backs up all your AI configs and restores them on a new machine in 60 seconds. https://memoir.sh"
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Phase 3: Social + Content (Week 2-3)
|
|
99
|
+
|
|
100
|
+
### X/Twitter Clips
|
|
101
|
+
- 15-sec screen recording: memoir_recall in Claude Code
|
|
102
|
+
- 15-sec screen recording: memoir migrate from Cursor to Claude
|
|
103
|
+
- 15-sec screen recording: memoir restore on a fresh machine
|
|
104
|
+
- Post across AlgoThesis + personal accounts
|
|
105
|
+
|
|
106
|
+
### Blog Post
|
|
107
|
+
Title: "How MCP Gives Your AI Tools Persistent Memory"
|
|
108
|
+
Target keywords: "MCP memory server", "Claude Code memory", "AI coding context"
|
|
109
|
+
Publish on memoir.sh/blog, cross-post to dev.to
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Phase 4: First 10 Users (Week 2-3)
|
|
114
|
+
|
|
115
|
+
### Discord Communities
|
|
116
|
+
- Claude Code official Discord
|
|
117
|
+
- Cursor community Discord
|
|
118
|
+
- AI/ML Discord servers
|
|
119
|
+
- Don't promote — ask for feedback: "Building an MCP memory layer, would love testers"
|
|
120
|
+
|
|
121
|
+
### Direct Outreach
|
|
122
|
+
- Find people complaining about AI context loss on Twitter/Reddit
|
|
123
|
+
- Reply with genuine help, mention memoir if relevant
|
|
124
|
+
- Not spammy — just useful
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## NOT Doing Yet
|
|
129
|
+
- Stripe/payments (need users first)
|
|
130
|
+
- Product Hunt (low conversion for CLI tools)
|
|
131
|
+
- Teams tier (need solo users first)
|
|
132
|
+
- Paid ads (premature)
|
|
133
|
+
- Conference talks (too early)
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Timeline
|
|
138
|
+
| Week | Focus | Goal |
|
|
139
|
+
|------|-------|------|
|
|
140
|
+
| 1 | Directory listings + Show HN | Listed in 5+ directories, 50+ stars |
|
|
141
|
+
| 2 | Reddit + Discord + X clips | 10 active users |
|
|
142
|
+
| 3 | Blog post + iterate on feedback | 25 active users, first feature from user feedback |
|
|
143
|
+
| 4 | Repeat what worked, double down | 50+ weekly memoir_recall calls |
|