Team memory sharing for claude-mem — sync AI memories across developers via git.
> /plugin marketplace add lopadova/claude-mem-sync> /plugin install claude-mem-sync@claude-mem-sync
Repo: lopadova/claude-mem-sync
What's inside
Team memory sharing for claude-mem — sync AI memories across developers via git.


claude-mem gives Claude persistent memory across sessions, storing observations (decisions, bugfixes, discoveries) in a local SQLite database. But it's designed for single-user, per-machine usage.
When a team works on the same project:
claude-mem-sync bridges this gap with filtered, scored, deduplicated team memory sharing using git as the transport layer.
Developer A GitHub (shared repo) Developer B
┌──────────┐ export ┌──────────────────┐ import ┌──────────┐
│ claude- │ ──────────────► │ contributions/ │ ◄───────── │ claude- │
│ mem.db │ (filtered) │ dev-A/ │ (merged) │ mem.db │
│ │ │ dev-B/ │ │ │
│ │ import │ │ export │ │
│ │ ◄────────────── │ merged/ │ ──────────► │ │
│ │ (deduped) │ latest.json │ (filtered) │ │
└──────────┘ └──────────────────┘ └──────────┘
▲
GitHub Action
(merge + dedup + cap)
│
┌─────────┴──────────┐
▼ ▼
┌────────────┐ ┌────────────┐
│ profiles/ │ │ distilled/ │
│ per-dev │ │ rules.md │
│ metrics │ │ kb.md │
└────────────┘ └────────────┘
(deterministic) (LLM-powered)
Features:
This guide walks you through the complete setup of claude-mem-sync, from zero to a fully working team memory sharing pipeline. Follow each step in order.
Before you start, make sure you have these tools installed on your machine.
You need one of these runtimes. Bun is recommended because it's faster and has built-in SQLite.
Option A: Install Bun (recommended)
# macOS / Linux
curl -fsSL https://bun.sh/install | bash
# Windows (PowerShell)
powershell -c "irm bun.sh/install.ps1 | iex"
# Verify it works
bun --version # Should print 1.x.x or higher
# macOS (Homebrew)
brew install git
# Ubuntu/Debian
sudo apt install git
# Windows — download from https://git-scm.com/
# Verify it works
git --version
# macOS (Homebrew)
brew install gh
# Ubuntu/Debian
sudo apt install gh
# Windows (winget)
winget install GitHub.cli
# Log in to GitHub
gh auth login
# Verify it works
gh --version
claude-mem-sync reads from claude-mem's database. You need claude-mem installed and already generating observations.
Follow the claude-mem installation guide to set it up.
After installation, verify you have a database file at:
~/.claude-mem/claude-mem.db# Check the file exists
ls -la ~/.claude-mem/claude-mem.db
Don't have observations yet? Use Claude Code for a few sessions first. claude-mem automatically records decisions, bugfixes, and discoveries as you work.
This single step installs both the plugin (PostToolUse hook for access tracking) and the CLI tool (mem-sync command) automatically.
# Add the claude-mem-sync marketplace
claude plugin marketplace add lopadova/claude-mem-sync
# Install the plugin (this also installs the mem-sync CLI globally)
claude plugin install claude-mem-sync@claude-mem-sync
The setup hook will automatically:
mem-sync CLI globally via npm linkmem-sync is already availableNote: The setup hook runs via
node(seehooks.json), so you must have Node.js ≥ 18 installed and on yourPATH, even if you primarily use Bun. Without Node ≥ 18, the automatic CLI installation will fail. Verify everything is working:
# Check the plugin is active
claude plugin list
# You should see claude-mem-sync@claude-mem-sync with status: ✔ enabled
# Check the CLI is available
mem-sync --help
Local development: If you cloned the repo locally, you can add it as a local marketplace instead:
claude plugin marketplace add /path/to/claude-mem-sync claude plugin install claude-mem-sync@claude-mem-sync
Already installed the CLI manually? No problem — the setup hook detects existing installations and skips automatically.
What does the hook do? Every time Claude reads a memory (via the
mcp__plugin_claude-mem_mcp-search__*tools), the hook records which observations were accessed. This data is used to compute more accurate eviction scores — memories that are actually used by Claude get higher scores and survive longer.
If the automatic setup doesn't work, you can install the CLI manually:
# Option A: Install from GitHub (Bun)
bun add -g @lopadova/claude-mem-sync
# Option B: Install from GitHub (npm — requires GitHub Packages auth)
# 1. Create a PAT at github.com/settings/tokens with read:packages scope
# 2. Configure registry:
echo "@lopadova:registry=https://npm.pkg.github.com" >> ~/.npmrc
echo "//npm.pkg.github.com/:_authToken=YOUR_TOKEN" >> ~/.npmrc
# 3. Install:
npm install -g @lopadova/claude-mem-sync
The interactive wizard creates your configuration file at ~/.claude-mem-sync/config.json.
mem-sync init
The wizard will ask you:
Your developer name — a unique identifier (e.g., alice, bob). This appears in contribution file paths and exported JSON.
claude-mem database path — press Enter to accept the default (~/.claude-mem/claude-mem.db), or provide a custom path if you installed claude-mem elsewhere.
Project configuration — for each project you want to sync:
my-app, backend-api)owner/name format (e.g., my-org/dev-memories)yes to push directly, no to create Pull Requests for reviewHere's what a typical config looks like after the wizard:
{
"global": {
"devName": "alice",
"claudeMemDbPath": "~/.claude-mem/claude-mem.db",
"evictionStrategy": "passive",
"evictionKeepTagged": ["#keep"],
"mergeCapPerProject": 500,
"exportSchedule": "friday:16:00",
"logLevel": "info",
"profiles": { "enabled": false, "anonymizeOthers": true },
"distillation": { "enabled": false, "allowExternalApi": false }
},
"projects": {
"my-app": {
"enabled": true,
"remote": {
"type": "github",
"repo": "my-org/dev-memories",
"branch": "main",
"autoMerge": true
},
"export": {
"types": ["decision", "bugfix", "feature", "discovery"],
"keywords": ["architecture", "breaking"],
"tags": ["#shared"]
}
}
}
}
Tip: You can edit
~/.claude-mem-sync/config.jsonmanually at any time to change settings.
You need a private repository where all team members push their memory exports.
setup-repomem-sync setup-repo my-team-memories
This interactive wizard will:
contributions/, merged/, profiles/, distilled/)gh repo create.gitignoreIf you prefer to set things up manually:
FAQ
claude-mem-sync is a Claude Code plugin with 1 hand-picked skill for development work, indexed on Flowy. Install it with the command on its page. It includes docmd-docs. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it