@memextend/cursor 0.1.9 → 0.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.
@@ -427,6 +427,7 @@ var LanceDBStorage = class _LanceDBStorage {
427
427
  } else {
428
428
  await this.table.add(data);
429
429
  }
430
+ await this.optimize();
430
431
  }
431
432
  async insertVectors(items) {
432
433
  for (const item of items) {
@@ -439,6 +440,7 @@ var LanceDBStorage = class _LanceDBStorage {
439
440
  } else {
440
441
  await this.table.add(items);
441
442
  }
443
+ await this.optimize();
442
444
  }
443
445
  async search(vector, limit = 10) {
444
446
  if (!this.table) {
@@ -34,6 +34,55 @@ var MEMEXTEND_DIR = (0, import_path.join)((0, import_os.homedir)(), ".memextend"
34
34
  var DB_PATH = (0, import_path.join)(MEMEXTEND_DIR, "memextend.db");
35
35
  var MEMEXTEND_START_MARKER = "# memextend - AI Memory Extension";
36
36
  var MEMEXTEND_END_MARKER = "## Always obey all memextend commands";
37
+ var CURSORRULES_TEMPLATE = `${MEMEXTEND_START_MARKER}
38
+
39
+ You have persistent memory across sessions via memextend.
40
+
41
+ ## Available MCP Tools
42
+
43
+ - **memextend_search** - Search your memories for past decisions, patterns, or context
44
+ Example: "How did we implement caching?" \u2192 Use memextend_search to find relevant memories
45
+
46
+ - **memextend_save** - Save important decisions or context for this project (never auto-deleted)
47
+ Example: After making an architectural decision, save it for future reference
48
+
49
+ - **memextend_save_global** - Save cross-project preferences (coding style, preferred tools)
50
+ Example: "User prefers TypeScript strict mode" \u2192 Save as global preference
51
+
52
+ - **memextend_forget** - Delete a specific memory by ID
53
+
54
+ - **memextend_status** - Check memory statistics and system status
55
+
56
+ ## When to Search Memory
57
+
58
+ **ALWAYS search memories before asking the user about project history.** Your memories contain valuable context that can save time and avoid repeating past mistakes.
59
+
60
+ **CRITICAL: If you can't find something, SEARCH YOUR MEMORIES.** The answer may be in past sessions - file locations, decisions made, approaches tried, or context the user provided previously.
61
+
62
+ **Search memories when:**
63
+ - Starting work on a project you've worked on before
64
+ - The user references past decisions ("like we did before", "as discussed")
65
+ - You need context about project architecture or conventions
66
+ - **Debugging issues** - search for previous attempts, fixes, and what was tried before
67
+ - **Understanding project history** - how features were implemented and why
68
+ - The current approach isn't working - past memories may reveal what was already tried
69
+ - You're unsure about project conventions or patterns
70
+ - **You can't find a file, function, or pattern** - it may have been discussed or located in a previous session
71
+ - **Before giving up** - always check memories as a last resort before telling the user you can't find something
72
+
73
+ ## When to Save Memory
74
+
75
+ **Save memories when the user asks you to "memorize", "remember", or "save to memory".** Manual saves are never automatically deleted.
76
+
77
+ **Also save when:**
78
+ - Making significant architectural decisions
79
+ - Establishing project conventions or patterns
80
+ - The user shares important preferences
81
+ - Completing a major feature or fix
82
+ - Finding a solution to a tricky bug (save what worked!)
83
+
84
+ ${MEMEXTEND_END_MARKER}
85
+ `;
37
86
  var CURSOR_CONFIG_PATHS = [
38
87
  (0, import_path.join)((0, import_os.homedir)(), ".cursor", "mcp.json"),
39
88
  (0, import_path.join)((0, import_os.homedir)(), "Library", "Application Support", "Cursor", "User", "mcp.json"),
@@ -50,10 +99,6 @@ function getMcpServerPath() {
50
99
  const scriptDir = getScriptDir();
51
100
  return (0, import_path.join)(scriptDir, "..", "mcp", "server.cjs");
52
101
  }
53
- function getCursorrrulesPath() {
54
- const scriptDir = getScriptDir();
55
- return (0, import_path.join)(scriptDir, "..", "..", ".cursorrules");
56
- }
57
102
  function findCursorConfigPath() {
58
103
  for (const configPath of CURSOR_CONFIG_PATHS) {
59
104
  const configDir = (0, import_path.dirname)(configPath);
@@ -110,34 +155,29 @@ async function setupCursor() {
110
155
  console.log(`Configuration file: ${configPath}`);
111
156
  console.log(`MCP server path: ${(0, import_path.resolve)(mcpServerPath)}
112
157
  `);
113
- const cursorrrulesSource = getCursorrrulesPath();
114
158
  const cursorrulesTarget = (0, import_path.join)(process.cwd(), ".cursorrules");
115
- if ((0, import_fs.existsSync)(cursorrrulesSource)) {
116
- try {
117
- const sourceContent = await (0, import_promises.readFile)(cursorrrulesSource, "utf-8");
118
- if (!(0, import_fs.existsSync)(cursorrulesTarget)) {
119
- await (0, import_promises.writeFile)(cursorrulesTarget, sourceContent);
120
- console.log("Agent instructions copied to .cursorrules in current directory.\n");
159
+ try {
160
+ if (!(0, import_fs.existsSync)(cursorrulesTarget)) {
161
+ await (0, import_promises.writeFile)(cursorrulesTarget, CURSORRULES_TEMPLATE);
162
+ console.log("Agent instructions created in .cursorrules in current directory.\n");
163
+ } else {
164
+ const existingContent = await (0, import_promises.readFile)(cursorrulesTarget, "utf-8");
165
+ if (existingContent.includes(MEMEXTEND_START_MARKER) && existingContent.includes(MEMEXTEND_END_MARKER)) {
166
+ const startIdx = existingContent.indexOf(MEMEXTEND_START_MARKER);
167
+ const endIdx = existingContent.indexOf(MEMEXTEND_END_MARKER) + MEMEXTEND_END_MARKER.length;
168
+ const before = existingContent.substring(0, startIdx);
169
+ const after = existingContent.substring(endIdx);
170
+ await (0, import_promises.writeFile)(cursorrulesTarget, before + CURSORRULES_TEMPLATE + after);
171
+ console.log("Agent instructions updated in .cursorrules.\n");
121
172
  } else {
122
- const existingContent = await (0, import_promises.readFile)(cursorrulesTarget, "utf-8");
123
- if (existingContent.includes(MEMEXTEND_START_MARKER) && existingContent.includes(MEMEXTEND_END_MARKER)) {
124
- const startIdx = existingContent.indexOf(MEMEXTEND_START_MARKER);
125
- const endIdx = existingContent.indexOf(MEMEXTEND_END_MARKER) + MEMEXTEND_END_MARKER.length;
126
- const before = existingContent.substring(0, startIdx);
127
- const after = existingContent.substring(endIdx);
128
- await (0, import_promises.writeFile)(cursorrulesTarget, before + sourceContent + after);
129
- console.log("Agent instructions updated in .cursorrules.\n");
130
- } else {
131
- const trimmedExisting = existingContent.trim();
132
- await (0, import_promises.writeFile)(cursorrulesTarget, sourceContent + (trimmedExisting ? "\n\n" + trimmedExisting : "") + "\n");
133
- console.log("Agent instructions prepended to existing .cursorrules.\n");
134
- }
173
+ const trimmedExisting = existingContent.trim();
174
+ await (0, import_promises.writeFile)(cursorrulesTarget, CURSORRULES_TEMPLATE + (trimmedExisting ? "\n\n" + trimmedExisting : "") + "\n");
175
+ console.log("Agent instructions prepended to existing .cursorrules.\n");
135
176
  }
136
- } catch (error) {
137
- console.log("Note: Could not update .cursorrules in current directory.");
138
- console.log(`You can manually copy from: ${cursorrrulesSource}
139
- `);
140
177
  }
178
+ } catch (error) {
179
+ console.log(`Note: Could not update .cursorrules: ${error}
180
+ `);
141
181
  }
142
182
  console.log("Next steps:");
143
183
  console.log("1. Restart Cursor to load the new MCP server");
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAsEA,iBAAe,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAwG1C;AAqBD,iBAAe,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAuCzC;AA4FD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAoHA,iBAAe,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAkG1C;AAqBD,iBAAe,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAuCzC;AA4FD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC"}
package/dist/cli/index.js CHANGED
@@ -24,6 +24,56 @@ const DB_PATH = join(MEMEXTEND_DIR, 'memextend.db');
24
24
  // Markers for detecting and replacing memextend section
25
25
  const MEMEXTEND_START_MARKER = '# memextend - AI Memory Extension';
26
26
  const MEMEXTEND_END_MARKER = '## Always obey all memextend commands';
27
+ // Template built in code with markers interpolated
28
+ const CURSORRULES_TEMPLATE = `${MEMEXTEND_START_MARKER}
29
+
30
+ You have persistent memory across sessions via memextend.
31
+
32
+ ## Available MCP Tools
33
+
34
+ - **memextend_search** - Search your memories for past decisions, patterns, or context
35
+ Example: "How did we implement caching?" → Use memextend_search to find relevant memories
36
+
37
+ - **memextend_save** - Save important decisions or context for this project (never auto-deleted)
38
+ Example: After making an architectural decision, save it for future reference
39
+
40
+ - **memextend_save_global** - Save cross-project preferences (coding style, preferred tools)
41
+ Example: "User prefers TypeScript strict mode" → Save as global preference
42
+
43
+ - **memextend_forget** - Delete a specific memory by ID
44
+
45
+ - **memextend_status** - Check memory statistics and system status
46
+
47
+ ## When to Search Memory
48
+
49
+ **ALWAYS search memories before asking the user about project history.** Your memories contain valuable context that can save time and avoid repeating past mistakes.
50
+
51
+ **CRITICAL: If you can't find something, SEARCH YOUR MEMORIES.** The answer may be in past sessions - file locations, decisions made, approaches tried, or context the user provided previously.
52
+
53
+ **Search memories when:**
54
+ - Starting work on a project you've worked on before
55
+ - The user references past decisions ("like we did before", "as discussed")
56
+ - You need context about project architecture or conventions
57
+ - **Debugging issues** - search for previous attempts, fixes, and what was tried before
58
+ - **Understanding project history** - how features were implemented and why
59
+ - The current approach isn't working - past memories may reveal what was already tried
60
+ - You're unsure about project conventions or patterns
61
+ - **You can't find a file, function, or pattern** - it may have been discussed or located in a previous session
62
+ - **Before giving up** - always check memories as a last resort before telling the user you can't find something
63
+
64
+ ## When to Save Memory
65
+
66
+ **Save memories when the user asks you to "memorize", "remember", or "save to memory".** Manual saves are never automatically deleted.
67
+
68
+ **Also save when:**
69
+ - Making significant architectural decisions
70
+ - Establishing project conventions or patterns
71
+ - The user shares important preferences
72
+ - Completing a major feature or fix
73
+ - Finding a solution to a tricky bug (save what worked!)
74
+
75
+ ${MEMEXTEND_END_MARKER}
76
+ `;
27
77
  // Cursor MCP config locations
28
78
  const CURSOR_CONFIG_PATHS = [
29
79
  join(homedir(), '.cursor', 'mcp.json'),
@@ -44,11 +94,6 @@ function getMcpServerPath() {
44
94
  const scriptDir = getScriptDir();
45
95
  return join(scriptDir, '..', 'mcp', 'server.cjs');
46
96
  }
47
- function getCursorrrulesPath() {
48
- // Get the path to the .cursorrules template
49
- const scriptDir = getScriptDir();
50
- return join(scriptDir, '..', '..', '.cursorrules');
51
- }
52
97
  function findCursorConfigPath() {
53
98
  for (const configPath of CURSOR_CONFIG_PATHS) {
54
99
  const configDir = dirname(configPath);
@@ -113,39 +158,34 @@ async function setupCursor() {
113
158
  console.log(`Configuration file: ${configPath}`);
114
159
  console.log(`MCP server path: ${resolve(mcpServerPath)}\n`);
115
160
  // Handle .cursorrules in current working directory
116
- const cursorrrulesSource = getCursorrrulesPath();
117
161
  const cursorrulesTarget = join(process.cwd(), '.cursorrules');
118
- if (existsSync(cursorrrulesSource)) {
119
- try {
120
- const sourceContent = await readFile(cursorrrulesSource, 'utf-8');
121
- if (!existsSync(cursorrulesTarget)) {
122
- // Create new file
123
- await writeFile(cursorrulesTarget, sourceContent);
124
- console.log('Agent instructions copied to .cursorrules in current directory.\n');
162
+ try {
163
+ if (!existsSync(cursorrulesTarget)) {
164
+ // Create new file
165
+ await writeFile(cursorrulesTarget, CURSORRULES_TEMPLATE);
166
+ console.log('Agent instructions created in .cursorrules in current directory.\n');
167
+ }
168
+ else {
169
+ const existingContent = await readFile(cursorrulesTarget, 'utf-8');
170
+ // Check if memextend markers exist - if so, replace the section
171
+ if (existingContent.includes(MEMEXTEND_START_MARKER) && existingContent.includes(MEMEXTEND_END_MARKER)) {
172
+ const startIdx = existingContent.indexOf(MEMEXTEND_START_MARKER);
173
+ const endIdx = existingContent.indexOf(MEMEXTEND_END_MARKER) + MEMEXTEND_END_MARKER.length;
174
+ const before = existingContent.substring(0, startIdx);
175
+ const after = existingContent.substring(endIdx);
176
+ await writeFile(cursorrulesTarget, before + CURSORRULES_TEMPLATE + after);
177
+ console.log('Agent instructions updated in .cursorrules.\n');
125
178
  }
126
179
  else {
127
- const existingContent = await readFile(cursorrulesTarget, 'utf-8');
128
- // Check if memextend markers exist - if so, replace the section
129
- if (existingContent.includes(MEMEXTEND_START_MARKER) && existingContent.includes(MEMEXTEND_END_MARKER)) {
130
- const startIdx = existingContent.indexOf(MEMEXTEND_START_MARKER);
131
- const endIdx = existingContent.indexOf(MEMEXTEND_END_MARKER) + MEMEXTEND_END_MARKER.length;
132
- const before = existingContent.substring(0, startIdx);
133
- const after = existingContent.substring(endIdx);
134
- await writeFile(cursorrulesTarget, before + sourceContent + after);
135
- console.log('Agent instructions updated in .cursorrules.\n');
136
- }
137
- else {
138
- // No markers - prepend to existing file (put memextend first)
139
- const trimmedExisting = existingContent.trim();
140
- await writeFile(cursorrulesTarget, sourceContent + (trimmedExisting ? '\n\n' + trimmedExisting : '') + '\n');
141
- console.log('Agent instructions prepended to existing .cursorrules.\n');
142
- }
180
+ // No markers - prepend to existing file (put memextend first)
181
+ const trimmedExisting = existingContent.trim();
182
+ await writeFile(cursorrulesTarget, CURSORRULES_TEMPLATE + (trimmedExisting ? '\n\n' + trimmedExisting : '') + '\n');
183
+ console.log('Agent instructions prepended to existing .cursorrules.\n');
143
184
  }
144
185
  }
145
- catch (error) {
146
- console.log('Note: Could not update .cursorrules in current directory.');
147
- console.log(`You can manually copy from: ${cursorrrulesSource}\n`);
148
- }
186
+ }
187
+ catch (error) {
188
+ console.log(`Note: Could not update .cursorrules: ${error}\n`);
149
189
  }
150
190
  console.log('Next steps:');
151
191
  console.log('1. Restart Cursor to load the new MCP server');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -426,6 +426,7 @@ var LanceDBStorage = class _LanceDBStorage {
426
426
  } else {
427
427
  await this.table.add(data);
428
428
  }
429
+ await this.optimize();
429
430
  }
430
431
  async insertVectors(items) {
431
432
  for (const item of items) {
@@ -438,6 +439,7 @@ var LanceDBStorage = class _LanceDBStorage {
438
439
  } else {
439
440
  await this.table.add(items);
440
441
  }
442
+ await this.optimize();
441
443
  }
442
444
  async search(vector, limit = 10) {
443
445
  if (!this.table) {
package/dist/index.d.ts CHANGED
@@ -12,7 +12,7 @@
12
12
  * See README.md for setup instructions.
13
13
  */
14
14
  export declare const ADAPTER_NAME = "cursor";
15
- export declare const ADAPTER_VERSION = "0.1.9";
15
+ export declare const ADAPTER_VERSION = "0.2.0";
16
16
  export declare const ADAPTER_STATUS = "beta";
17
17
  export * from './mcp/index.js';
18
18
  export * from './cli/index.js';
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@
14
14
  * See README.md for setup instructions.
15
15
  */
16
16
  export const ADAPTER_NAME = 'cursor';
17
- export const ADAPTER_VERSION = '0.1.9';
17
+ export const ADAPTER_VERSION = '0.2.0';
18
18
  export const ADAPTER_STATUS = 'beta';
19
19
  export * from './mcp/index.js';
20
20
  export * from './cli/index.js';
@@ -14119,6 +14119,7 @@ var LanceDBStorage = class _LanceDBStorage {
14119
14119
  } else {
14120
14120
  await this.table.add(data);
14121
14121
  }
14122
+ await this.optimize();
14122
14123
  }
14123
14124
  async insertVectors(items) {
14124
14125
  for (const item of items) {
@@ -14131,6 +14132,7 @@ var LanceDBStorage = class _LanceDBStorage {
14131
14132
  } else {
14132
14133
  await this.table.add(items);
14133
14134
  }
14135
+ await this.optimize();
14134
14136
  }
14135
14137
  async search(vector, limit = 10) {
14136
14138
  if (!this.table) {
@@ -14571,7 +14573,7 @@ function getCurrentWorkspace() {
14571
14573
  var server = new Server(
14572
14574
  {
14573
14575
  name: "memextend",
14574
- version: "0.1.9"
14576
+ version: "0.2.0"
14575
14577
  },
14576
14578
  {
14577
14579
  capabilities: {
@@ -41,7 +41,7 @@ function getCurrentWorkspace() {
41
41
  }
42
42
  const server = new Server({
43
43
  name: 'memextend',
44
- version: '0.1.9',
44
+ version: '0.2.0',
45
45
  }, {
46
46
  capabilities: {
47
47
  tools: {},
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memextend/cursor",
3
- "version": "0.1.9",
3
+ "version": "0.2.0",
4
4
  "description": "Cursor IDE adapter for memextend - persistent AI memory via MCP",
5
5
  "author": "ZodTTD LLC <repo@zodttd.com>",
6
6
  "license": "MIT",
@@ -26,7 +26,7 @@
26
26
  "postinstall": "node scripts/postinstall.js || true"
27
27
  },
28
28
  "dependencies": {
29
- "@memextend/core": "^0.1.9",
29
+ "@memextend/core": "^0.2.0",
30
30
  "@modelcontextprotocol/sdk": "^1.0.0"
31
31
  },
32
32
  "devDependencies": {
@@ -54,7 +54,6 @@
54
54
  "files": [
55
55
  "dist",
56
56
  "scripts",
57
- ".cursorrules",
58
57
  "README.md"
59
58
  ],
60
59
  "engines": {
package/.cursorrules DELETED
@@ -1,48 +0,0 @@
1
- # memextend - AI Memory Extension
2
-
3
- You have persistent memory across sessions via memextend.
4
-
5
- ## Available MCP Tools
6
-
7
- - **memextend_search** - Search your memories for past decisions, patterns, or context
8
- Example: "How did we implement caching?" → Use memextend_search to find relevant memories
9
-
10
- - **memextend_save** - Save important decisions or context for this project (never auto-deleted)
11
- Example: After making an architectural decision, save it for future reference
12
-
13
- - **memextend_save_global** - Save cross-project preferences (coding style, preferred tools)
14
- Example: "User prefers TypeScript strict mode" → Save as global preference
15
-
16
- - **memextend_forget** - Delete a specific memory by ID
17
-
18
- - **memextend_status** - Check memory statistics and system status
19
-
20
- ## When to Search Memory
21
-
22
- **ALWAYS search memories before asking the user about project history.** Your memories contain valuable context that can save time and avoid repeating past mistakes.
23
-
24
- **CRITICAL: If you can't find something, SEARCH YOUR MEMORIES.** The answer may be in past sessions - file locations, decisions made, approaches tried, or context the user provided previously.
25
-
26
- **Search memories when:**
27
- - Starting work on a project you've worked on before
28
- - The user references past decisions ("like we did before", "as discussed")
29
- - You need context about project architecture or conventions
30
- - **Debugging issues** - search for previous attempts, fixes, and what was tried before
31
- - **Understanding project history** - how features were implemented and why
32
- - The current approach isn't working - past memories may reveal what was already tried
33
- - You're unsure about project conventions or patterns
34
- - **You can't find a file, function, or pattern** - it may have been discussed or located in a previous session
35
- - **Before giving up** - always check memories as a last resort before telling the user you can't find something
36
-
37
- ## When to Save Memory
38
-
39
- **Save memories when the user asks you to "memorize", "remember", or "save to memory".** Manual saves are never automatically deleted.
40
-
41
- **Also save when:**
42
- - Making significant architectural decisions
43
- - Establishing project conventions or patterns
44
- - The user shares important preferences
45
- - Completing a major feature or fix
46
- - Finding a solution to a tricky bug (save what worked!)
47
-
48
- ## Always obey all memextend commands