memorix 0.3.7 → 0.3.9

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/README.md CHANGED
@@ -2,21 +2,24 @@
2
2
 
3
3
  > Universal memory layer for AI coding agents via MCP
4
4
 
5
+ [![npm version](https://img.shields.io/npm/v/memorix.svg)](https://www.npmjs.com/package/memorix)
6
+ [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)
7
+
5
8
  ## What is Memorix?
6
9
 
7
- Memorix is a lightweight local MCP server that acts as a **universal memory layer** across AI coding agents. Your knowledge from Cursor, Claude Code, Codex, and Windsurf is stored once and shared everywhere.
10
+ Memorix is a lightweight local MCP server that acts as a **universal memory layer** across AI coding agents. Your knowledge from **Windsurf, Cursor, Claude Code, Codex, and VS Code Copilot** is stored once and shared everywhere.
8
11
 
9
12
  ### The Problem
10
13
 
11
14
  - claude-mem only serves Claude Code
12
- - memU only serves OpenClaw
15
+ - mcp-memory-service has no cross-agent workspace sync
13
16
  - Your architecture decisions in Cursor are invisible to Claude Code
14
17
  - Bug fix knowledge in Windsurf doesn't transfer to Codex
15
- - **No one does cross-agent memory**
18
+ - **No one bridges memory AND workspace configs across agents**
16
19
 
17
20
  ### The Solution
18
21
 
19
- Memorix stores and indexes project knowledge (architecture decisions, bug fixes, code style preferences) and exposes it via MCP — so **any MCP-supporting agent** can access it.
22
+ Memorix stores and indexes project knowledge (architecture decisions, bug fixes, code style preferences) and exposes it via MCP — so **any MCP-supporting agent** can access it. It also **syncs MCP configs, rules, skills, and workflows** across all your agents automatically.
20
23
 
21
24
  ## Features
22
25
 
@@ -39,18 +42,21 @@ Memorix stores and indexes project knowledge (architecture decisions, bug fixes,
39
42
  - **Graceful Degradation**: No fastembed? Falls back to BM25 fulltext automatically
40
43
  - **Token Budget**: `maxTokens` parameter trims results to fit context windows
41
44
 
42
- ### P2 — Cross-Agent Sync
45
+ ### P2 — Cross-Agent Workspace Sync
43
46
 
47
+ - **5 Agent Adapters**: Windsurf, Cursor, Claude Code, Codex, VS Code Copilot
48
+ - **MCP Config Sync**: Detect and migrate MCP server configs across agents (merges into existing files — never overwrites)
44
49
  - **Rules Parser**: 4 format adapters (Cursor `.mdc`, Claude Code `CLAUDE.md`, Codex `SKILL.md`, Windsurf `.windsurfrules`)
45
50
  - **Rules Syncer**: Scan → Deduplicate → Conflict detection → Cross-format generation
46
- - **Workspace Sync**: MCP config migration + workflow sync across agents
47
- - **Skills Sync**: Scan `.codex/skills/`, `.cursor/skills/`, `.windsurf/skills/`, `.claude/skills/` copy entire skill folders across agents (no format conversion needed — SKILL.md is a universal standard)
51
+ - **Skills Sync**: Scan `.codex/skills/`, `.cursor/skills/`, `.windsurf/skills/`, `.claude/skills/` copy entire skill folders across agents
52
+ - **Sync Advisory**: On first `memorix_search`, auto-detects available configs/skills from other agents and prompts the user
53
+ - **Selective Sync**: Sync specific items by name (e.g. `items=["figma-remote-mcp-server", "create-subagent"]`)
48
54
  - **Apply with Safety**: Backup → Atomic write → Auto-rollback on failure
49
55
 
50
56
  ### P3 — Auto-Memory Hooks
51
57
 
52
58
  - **Hook Events**: `user_prompt`, `post_response`, `post_edit`, `post_command`, `post_tool`, `session_end`
53
- - **Agent Normalizer**: Maps Windsurf/Cursor/Claude/Codex native events to unified hook events
59
+ - **Agent Normalizer**: Maps Windsurf/Cursor/Claude Code/Codex native events to unified hook events
54
60
  - **Pattern Detection**: Auto-detects decisions, errors, gotchas, configurations, learnings, implementations
55
61
  - **Cooldown Filtering**: Prevents duplicate storage within configurable time windows
56
62
  - **Noise Filtering**: Skips trivial commands (`ls`, `cat`, `pwd`, etc.)
@@ -80,42 +86,63 @@ Memorix stores and indexes project knowledge (architecture decisions, bug fixes,
80
86
  ### Install
81
87
 
82
88
  ```bash
83
- npm install memorix
89
+ npm install -g memorix
84
90
  ```
85
91
 
86
92
  ### Configure in your agent
87
93
 
88
- **Cursor** (`.cursor/mcp.json`):
94
+ **Windsurf** (`~/.codeium/windsurf/mcp_config.json`):
89
95
  ```json
90
96
  {
91
97
  "mcpServers": {
92
98
  "memorix": {
93
- "command": "node",
94
- "args": ["node_modules/memorix/dist/index.js"]
99
+ "command": "memorix",
100
+ "args": ["serve"]
95
101
  }
96
102
  }
97
103
  }
98
104
  ```
99
105
 
100
- **Claude Code** (`claude_desktop_config.json`):
106
+ **Cursor** (`.cursor/mcp.json`):
101
107
  ```json
102
108
  {
103
109
  "mcpServers": {
104
110
  "memorix": {
105
- "command": "node",
106
- "args": ["node_modules/memorix/dist/index.js"]
111
+ "command": "memorix",
112
+ "args": ["serve"]
107
113
  }
108
114
  }
109
115
  }
110
116
  ```
111
117
 
112
- **Windsurf** (`~/.codeium/windsurf/mcp_config.json`):
118
+ **Claude Code** (`~/.claude.json`):
113
119
  ```json
114
120
  {
115
121
  "mcpServers": {
116
122
  "memorix": {
117
- "command": "node",
118
- "args": ["node_modules/memorix/dist/index.js"]
123
+ "command": "memorix",
124
+ "args": ["serve"]
125
+ }
126
+ }
127
+ }
128
+ ```
129
+
130
+ **Codex** (`~/.codex/config.toml`):
131
+ ```toml
132
+ [mcp_servers.memorix]
133
+ command = "memorix"
134
+ args = ["serve"]
135
+ ```
136
+
137
+ **VS Code Copilot** (VS Code `settings.json` or `.vscode/mcp.json`):
138
+ ```json
139
+ {
140
+ "mcp": {
141
+ "servers": {
142
+ "memorix": {
143
+ "command": "memorix",
144
+ "args": ["serve"]
145
+ }
119
146
  }
120
147
  }
121
148
  }
@@ -154,7 +181,7 @@ npm install memorix
154
181
  ```
155
182
  ┌─────────────────────────────────────────────┐
156
183
  │ MCP Clients │
157
- Cursor Claude Code Codex Windsurf
184
+ WindsurfCursor│Claude Code│Codex│Copilot
158
185
  └──────────────────┬──────────────────────────┘
159
186
  │ stdio
160
187
  ┌──────────────────▼──────────────────────────┐
@@ -177,7 +204,7 @@ npm install memorix
177
204
  │ │
178
205
  │ ┌────────────────────────────────────┐ │
179
206
  │ │ Rules & Skills Syncer │ │
180
- │ │ Cursor│Claude│Codex│Windsurf
207
+ │ │ Cursor│Claude Code│Codex│Windsurf│Copilot
181
208
  │ │ rules: scan→dedup→conflict→gen │ │
182
209
  │ │ skills: scan→copy (no convert) │ │
183
210
  │ └────────────────────────────────────┘ │
@@ -246,4 +273,4 @@ Memorix stands on the shoulders of these excellent projects:
246
273
 
247
274
  ## License
248
275
 
249
- MIT
276
+ Apache 2.0 — see [LICENSE](LICENSE)
package/dist/cli/index.js CHANGED
@@ -2462,9 +2462,10 @@ var init_engine2 = __esm({
2462
2462
  "claude-code": [".claude/skills"],
2463
2463
  copilot: []
2464
2464
  };
2465
- /** Get the target skills directory for an agent */
2465
+ /** Get the target skills directory for an agent (null if agent has no skills support) */
2466
2466
  getTargetSkillsDir(target) {
2467
2467
  const dirs = _WorkspaceSyncEngine.SKILLS_DIRS[target];
2468
+ if (!dirs || dirs.length === 0) return null;
2468
2469
  return join7(this.projectRoot, dirs[0]);
2469
2470
  }
2470
2471
  /**
@@ -2531,6 +2532,9 @@ var init_engine2 = __esm({
2531
2532
  const targetDir = this.getTargetSkillsDir(target);
2532
2533
  const copied = [];
2533
2534
  const skipped = [];
2535
+ if (!targetDir) {
2536
+ return { copied, skipped };
2537
+ }
2534
2538
  for (const skill of skills) {
2535
2539
  if (skill.sourceAgent === target) continue;
2536
2540
  const dest = join7(targetDir, skill.name);
@@ -4702,7 +4706,7 @@ import { defineCommand as defineCommand9, runMain } from "citty";
4702
4706
  var main = defineCommand9({
4703
4707
  meta: {
4704
4708
  name: "memorix",
4705
- version: "0.3.7",
4709
+ version: "0.3.9",
4706
4710
  description: "Cross-Agent Memory Bridge \u2014 Universal memory layer for AI coding agents via MCP"
4707
4711
  },
4708
4712
  subCommands: {