repomemory 0.1.0 → 0.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/.claude-plugin/plugin.json +8 -0
- package/.mcp.json +8 -0
- package/README.md +151 -104
- package/dist/commands/analyze.d.ts +2 -0
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +162 -188
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/dashboard.d.ts +5 -0
- package/dist/commands/dashboard.d.ts.map +1 -0
- package/dist/commands/dashboard.js +520 -0
- package/dist/commands/dashboard.js.map +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +33 -34
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +2 -1
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +151 -35
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/status.d.ts +4 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +87 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +57 -27
- package/dist/commands/sync.js.map +1 -1
- package/dist/commands/wizard.d.ts +4 -0
- package/dist/commands/wizard.d.ts.map +1 -0
- package/dist/commands/wizard.js +184 -0
- package/dist/commands/wizard.js.map +1 -0
- package/dist/index.js +37 -42
- package/dist/index.js.map +1 -1
- package/dist/lib/ai-provider.d.ts +11 -0
- package/dist/lib/ai-provider.d.ts.map +1 -1
- package/dist/lib/ai-provider.js +139 -69
- package/dist/lib/ai-provider.js.map +1 -1
- package/dist/lib/config.d.ts +11 -15
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +34 -22
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/context-store.d.ts +11 -0
- package/dist/lib/context-store.d.ts.map +1 -1
- package/dist/lib/context-store.js +51 -18
- package/dist/lib/context-store.js.map +1 -1
- package/dist/lib/git.d.ts +1 -0
- package/dist/lib/git.d.ts.map +1 -1
- package/dist/lib/git.js +34 -20
- package/dist/lib/git.js.map +1 -1
- package/dist/lib/json-repair.d.ts +24 -0
- package/dist/lib/json-repair.d.ts.map +1 -0
- package/dist/lib/json-repair.js +140 -0
- package/dist/lib/json-repair.js.map +1 -0
- package/dist/lib/repo-scanner.d.ts.map +1 -1
- package/dist/lib/repo-scanner.js +103 -26
- package/dist/lib/repo-scanner.js.map +1 -1
- package/dist/lib/search.d.ts +10 -4
- package/dist/lib/search.d.ts.map +1 -1
- package/dist/lib/search.js +136 -51
- package/dist/lib/search.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +163 -54
- package/dist/mcp/server.js.map +1 -1
- package/package.json +25 -9
- package/server.json +46 -0
- package/skills/repomemory/SKILL.md +29 -0
package/dist/mcp/server.js
CHANGED
|
@@ -3,14 +3,14 @@ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
|
|
|
3
3
|
import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
4
4
|
import { ContextStore } from "../lib/context-store.js";
|
|
5
5
|
import { SearchIndex } from "../lib/search.js";
|
|
6
|
+
const VALID_CATEGORIES = ["facts", "decisions", "regressions", "sessions", "changelog"];
|
|
6
7
|
export async function startMcpServer(repoRoot, config) {
|
|
7
8
|
const store = new ContextStore(repoRoot, config);
|
|
8
9
|
let searchIndex = null;
|
|
9
|
-
// Initialize search index if .context exists
|
|
10
10
|
if (store.exists()) {
|
|
11
11
|
try {
|
|
12
12
|
searchIndex = new SearchIndex(store.path, store);
|
|
13
|
-
searchIndex.rebuild();
|
|
13
|
+
await searchIndex.rebuild();
|
|
14
14
|
}
|
|
15
15
|
catch (e) {
|
|
16
16
|
console.error("Warning: Could not initialize search index:", e);
|
|
@@ -18,7 +18,7 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
18
18
|
}
|
|
19
19
|
const server = new Server({
|
|
20
20
|
name: "repomemory",
|
|
21
|
-
version: "0.
|
|
21
|
+
version: "0.2.0",
|
|
22
22
|
}, {
|
|
23
23
|
capabilities: {
|
|
24
24
|
tools: {},
|
|
@@ -31,7 +31,7 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
31
31
|
tools: [
|
|
32
32
|
{
|
|
33
33
|
name: "context_search",
|
|
34
|
-
description: "Search the repository's persistent knowledge base. Returns relevant facts, decisions, regressions, and session notes. Use this at the start of
|
|
34
|
+
description: "Search the repository's persistent knowledge base. Returns relevant facts, decisions, regressions, and session notes. Use this FIRST at the start of every task to find relevant context, or when you need to understand why something is the way it is. This prevents re-discovering architecture and re-debating past decisions.",
|
|
35
35
|
inputSchema: {
|
|
36
36
|
type: "object",
|
|
37
37
|
properties: {
|
|
@@ -41,7 +41,7 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
41
41
|
},
|
|
42
42
|
category: {
|
|
43
43
|
type: "string",
|
|
44
|
-
enum:
|
|
44
|
+
enum: VALID_CATEGORIES,
|
|
45
45
|
description: "Optional: filter results to a specific category. Omit to search all.",
|
|
46
46
|
},
|
|
47
47
|
limit: {
|
|
@@ -51,6 +51,13 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
51
51
|
},
|
|
52
52
|
required: ["query"],
|
|
53
53
|
},
|
|
54
|
+
annotations: {
|
|
55
|
+
title: "Search Context",
|
|
56
|
+
readOnlyHint: true,
|
|
57
|
+
destructiveHint: false,
|
|
58
|
+
idempotentHint: true,
|
|
59
|
+
openWorldHint: false,
|
|
60
|
+
},
|
|
54
61
|
},
|
|
55
62
|
{
|
|
56
63
|
name: "context_write",
|
|
@@ -60,7 +67,7 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
60
67
|
properties: {
|
|
61
68
|
category: {
|
|
62
69
|
type: "string",
|
|
63
|
-
enum:
|
|
70
|
+
enum: VALID_CATEGORIES,
|
|
64
71
|
description: `Category for the knowledge:
|
|
65
72
|
- facts: Architecture, patterns, how things work
|
|
66
73
|
- decisions: Why something was chosen (include alternatives considered)
|
|
@@ -83,20 +90,60 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
83
90
|
},
|
|
84
91
|
required: ["category", "filename", "content"],
|
|
85
92
|
},
|
|
93
|
+
annotations: {
|
|
94
|
+
title: "Write Context",
|
|
95
|
+
readOnlyHint: false,
|
|
96
|
+
destructiveHint: false,
|
|
97
|
+
idempotentHint: false,
|
|
98
|
+
openWorldHint: false,
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
name: "context_delete",
|
|
103
|
+
description: "Delete a knowledge entry from the repository context. Use this to remove stale or incorrect information. Knowledge quality matters more than quantity — prune aggressively.",
|
|
104
|
+
inputSchema: {
|
|
105
|
+
type: "object",
|
|
106
|
+
properties: {
|
|
107
|
+
category: {
|
|
108
|
+
type: "string",
|
|
109
|
+
enum: VALID_CATEGORIES,
|
|
110
|
+
description: "The category of the entry to delete.",
|
|
111
|
+
},
|
|
112
|
+
filename: {
|
|
113
|
+
type: "string",
|
|
114
|
+
description: "The filename to delete (with or without .md extension).",
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
required: ["category", "filename"],
|
|
118
|
+
},
|
|
119
|
+
annotations: {
|
|
120
|
+
title: "Delete Context",
|
|
121
|
+
readOnlyHint: false,
|
|
122
|
+
destructiveHint: true,
|
|
123
|
+
idempotentHint: true,
|
|
124
|
+
openWorldHint: false,
|
|
125
|
+
},
|
|
86
126
|
},
|
|
87
127
|
{
|
|
88
128
|
name: "context_list",
|
|
89
|
-
description: "List all knowledge entries in the repository context, optionally filtered by category. Returns filenames and
|
|
129
|
+
description: "List all knowledge entries in the repository context, optionally filtered by category. Returns filenames, titles, and age for browsing. Use this to understand what knowledge already exists before writing new entries.",
|
|
90
130
|
inputSchema: {
|
|
91
131
|
type: "object",
|
|
92
132
|
properties: {
|
|
93
133
|
category: {
|
|
94
134
|
type: "string",
|
|
95
|
-
enum:
|
|
135
|
+
enum: VALID_CATEGORIES,
|
|
96
136
|
description: "Optional: filter to a specific category.",
|
|
97
137
|
},
|
|
98
138
|
},
|
|
99
139
|
},
|
|
140
|
+
annotations: {
|
|
141
|
+
title: "List Context",
|
|
142
|
+
readOnlyHint: true,
|
|
143
|
+
destructiveHint: false,
|
|
144
|
+
idempotentHint: true,
|
|
145
|
+
openWorldHint: false,
|
|
146
|
+
},
|
|
100
147
|
},
|
|
101
148
|
{
|
|
102
149
|
name: "context_read",
|
|
@@ -115,6 +162,13 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
115
162
|
},
|
|
116
163
|
required: ["category", "filename"],
|
|
117
164
|
},
|
|
165
|
+
annotations: {
|
|
166
|
+
title: "Read Context",
|
|
167
|
+
readOnlyHint: true,
|
|
168
|
+
destructiveHint: false,
|
|
169
|
+
idempotentHint: true,
|
|
170
|
+
openWorldHint: false,
|
|
171
|
+
},
|
|
118
172
|
},
|
|
119
173
|
],
|
|
120
174
|
};
|
|
@@ -124,22 +178,29 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
124
178
|
switch (name) {
|
|
125
179
|
case "context_search": {
|
|
126
180
|
const { query, category, limit = 5 } = args;
|
|
181
|
+
// Validate category if provided
|
|
182
|
+
if (category && !VALID_CATEGORIES.includes(category)) {
|
|
183
|
+
return {
|
|
184
|
+
content: [{
|
|
185
|
+
type: "text",
|
|
186
|
+
text: `Invalid category: ${category}. Valid categories: ${VALID_CATEGORIES.join(", ")}`,
|
|
187
|
+
}],
|
|
188
|
+
isError: true,
|
|
189
|
+
};
|
|
190
|
+
}
|
|
127
191
|
if (!store.exists()) {
|
|
128
192
|
return {
|
|
129
|
-
content: [
|
|
130
|
-
{
|
|
193
|
+
content: [{
|
|
131
194
|
type: "text",
|
|
132
195
|
text: "No .context/ directory found. Run `repomemory init && repomemory analyze` to set up.",
|
|
133
|
-
},
|
|
134
|
-
],
|
|
196
|
+
}],
|
|
135
197
|
};
|
|
136
198
|
}
|
|
137
|
-
// Rebuild index if needed
|
|
138
199
|
if (!searchIndex) {
|
|
139
200
|
searchIndex = new SearchIndex(store.path, store);
|
|
140
|
-
searchIndex.rebuild();
|
|
201
|
+
await searchIndex.rebuild();
|
|
141
202
|
}
|
|
142
|
-
const results = searchIndex.search(query, category, limit);
|
|
203
|
+
const results = await searchIndex.search(query, category, limit);
|
|
143
204
|
if (results.length === 0) {
|
|
144
205
|
// Fallback to simple text search
|
|
145
206
|
const entries = store.listEntries(category);
|
|
@@ -150,12 +211,10 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
150
211
|
.slice(0, limit);
|
|
151
212
|
if (matched.length === 0) {
|
|
152
213
|
return {
|
|
153
|
-
content: [
|
|
154
|
-
{
|
|
214
|
+
content: [{
|
|
155
215
|
type: "text",
|
|
156
216
|
text: `No results found for "${query}"${category ? ` in ${category}` : ""}. Try a different query or browse with context_list.`,
|
|
157
|
-
},
|
|
158
|
-
],
|
|
217
|
+
}],
|
|
159
218
|
};
|
|
160
219
|
}
|
|
161
220
|
const text = matched
|
|
@@ -170,6 +229,16 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
170
229
|
}
|
|
171
230
|
case "context_write": {
|
|
172
231
|
const { category, filename, content, append = false } = args;
|
|
232
|
+
// Validate category
|
|
233
|
+
if (!VALID_CATEGORIES.includes(category)) {
|
|
234
|
+
return {
|
|
235
|
+
content: [{
|
|
236
|
+
type: "text",
|
|
237
|
+
text: `Invalid category: ${category}. Valid categories: ${VALID_CATEGORIES.join(", ")}`,
|
|
238
|
+
}],
|
|
239
|
+
isError: true,
|
|
240
|
+
};
|
|
241
|
+
}
|
|
173
242
|
if (!store.exists()) {
|
|
174
243
|
store.scaffold();
|
|
175
244
|
}
|
|
@@ -180,40 +249,79 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
180
249
|
else {
|
|
181
250
|
relativePath = store.writeEntry(category, filename, content);
|
|
182
251
|
}
|
|
183
|
-
//
|
|
252
|
+
// Incremental index update (not full rebuild)
|
|
184
253
|
if (searchIndex) {
|
|
185
|
-
|
|
254
|
+
const entries = store.listEntries(category);
|
|
255
|
+
const entry = entries.find((e) => e.relativePath === relativePath || e.filename === filename + ".md");
|
|
256
|
+
if (entry) {
|
|
257
|
+
await searchIndex.indexEntry(entry);
|
|
258
|
+
}
|
|
186
259
|
}
|
|
187
260
|
return {
|
|
188
|
-
content: [
|
|
189
|
-
{
|
|
261
|
+
content: [{
|
|
190
262
|
type: "text",
|
|
191
|
-
text:
|
|
192
|
-
},
|
|
193
|
-
|
|
263
|
+
text: `\u2713 Written to ${relativePath}${append ? " (appended)" : ""}. This knowledge will persist across sessions.`,
|
|
264
|
+
}],
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
case "context_delete": {
|
|
268
|
+
const { category, filename } = args;
|
|
269
|
+
if (!VALID_CATEGORIES.includes(category)) {
|
|
270
|
+
return {
|
|
271
|
+
content: [{
|
|
272
|
+
type: "text",
|
|
273
|
+
text: `Invalid category: ${category}. Valid categories: ${VALID_CATEGORIES.join(", ")}`,
|
|
274
|
+
}],
|
|
275
|
+
isError: true,
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
const fname = filename.endsWith(".md") ? filename : filename + ".md";
|
|
279
|
+
const deleted = store.deleteEntry(category, fname);
|
|
280
|
+
if (!deleted) {
|
|
281
|
+
return {
|
|
282
|
+
content: [{
|
|
283
|
+
type: "text",
|
|
284
|
+
text: `File not found: ${category}/${fname}. Use context_list to see available files.`,
|
|
285
|
+
}],
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
// Remove from search index
|
|
289
|
+
if (searchIndex) {
|
|
290
|
+
await searchIndex.removeEntry(category, fname);
|
|
291
|
+
}
|
|
292
|
+
return {
|
|
293
|
+
content: [{
|
|
294
|
+
type: "text",
|
|
295
|
+
text: `\u2713 Deleted ${category}/${fname}. Stale knowledge removed.`,
|
|
296
|
+
}],
|
|
194
297
|
};
|
|
195
298
|
}
|
|
196
299
|
case "context_list": {
|
|
197
300
|
const { category } = (args || {});
|
|
301
|
+
if (category && !VALID_CATEGORIES.includes(category)) {
|
|
302
|
+
return {
|
|
303
|
+
content: [{
|
|
304
|
+
type: "text",
|
|
305
|
+
text: `Invalid category: ${category}. Valid categories: ${VALID_CATEGORIES.join(", ")}`,
|
|
306
|
+
}],
|
|
307
|
+
isError: true,
|
|
308
|
+
};
|
|
309
|
+
}
|
|
198
310
|
if (!store.exists()) {
|
|
199
311
|
return {
|
|
200
|
-
content: [
|
|
201
|
-
{
|
|
312
|
+
content: [{
|
|
202
313
|
type: "text",
|
|
203
314
|
text: "No .context/ directory found. Run `repomemory init` first.",
|
|
204
|
-
},
|
|
205
|
-
],
|
|
315
|
+
}],
|
|
206
316
|
};
|
|
207
317
|
}
|
|
208
318
|
const entries = store.listEntries(category);
|
|
209
319
|
if (entries.length === 0) {
|
|
210
320
|
return {
|
|
211
|
-
content: [
|
|
212
|
-
{
|
|
321
|
+
content: [{
|
|
213
322
|
type: "text",
|
|
214
323
|
text: `No entries found${category ? ` in ${category}` : ""}. Run \`repomemory analyze\` to populate, or use context_write to add entries.`,
|
|
215
|
-
},
|
|
216
|
-
],
|
|
324
|
+
}],
|
|
217
325
|
};
|
|
218
326
|
}
|
|
219
327
|
const grouped = {};
|
|
@@ -228,7 +336,7 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
228
336
|
for (const entry of catEntries) {
|
|
229
337
|
const sizeKb = (entry.sizeBytes / 1024).toFixed(1);
|
|
230
338
|
const age = getRelativeTime(entry.lastModified);
|
|
231
|
-
text += `- **${entry.filename}**
|
|
339
|
+
text += `- **${entry.filename}** \u2014 ${entry.title} (${sizeKb}KB, ${age})\n`;
|
|
232
340
|
}
|
|
233
341
|
text += "\n";
|
|
234
342
|
}
|
|
@@ -240,36 +348,30 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
240
348
|
const content = store.readEntry(category, fname);
|
|
241
349
|
if (!content) {
|
|
242
350
|
return {
|
|
243
|
-
content: [
|
|
244
|
-
{
|
|
351
|
+
content: [{
|
|
245
352
|
type: "text",
|
|
246
353
|
text: `File not found: ${category}/${fname}. Use context_list to see available files.`,
|
|
247
|
-
},
|
|
248
|
-
],
|
|
354
|
+
}],
|
|
249
355
|
};
|
|
250
356
|
}
|
|
251
357
|
return {
|
|
252
|
-
content: [
|
|
253
|
-
{
|
|
358
|
+
content: [{
|
|
254
359
|
type: "text",
|
|
255
360
|
text: `# ${category}/${fname}\n\n${content}`,
|
|
256
|
-
},
|
|
257
|
-
],
|
|
361
|
+
}],
|
|
258
362
|
};
|
|
259
363
|
}
|
|
260
364
|
default:
|
|
261
365
|
return {
|
|
262
|
-
content: [
|
|
263
|
-
{
|
|
366
|
+
content: [{
|
|
264
367
|
type: "text",
|
|
265
368
|
text: `Unknown tool: ${name}`,
|
|
266
|
-
},
|
|
267
|
-
],
|
|
369
|
+
}],
|
|
268
370
|
isError: true,
|
|
269
371
|
};
|
|
270
372
|
}
|
|
271
373
|
});
|
|
272
|
-
// --- Resources
|
|
374
|
+
// --- Resources ---
|
|
273
375
|
server.setRequestHandler(ListResourcesRequestSchema, async () => {
|
|
274
376
|
if (!store.exists()) {
|
|
275
377
|
return { resources: [] };
|
|
@@ -296,21 +398,28 @@ export async function startMcpServer(repoRoot, config) {
|
|
|
296
398
|
throw new Error(`Resource not found: ${uri}`);
|
|
297
399
|
}
|
|
298
400
|
return {
|
|
299
|
-
contents: [
|
|
300
|
-
{
|
|
401
|
+
contents: [{
|
|
301
402
|
uri,
|
|
302
403
|
mimeType: "text/markdown",
|
|
303
404
|
text: content,
|
|
304
|
-
},
|
|
305
|
-
],
|
|
405
|
+
}],
|
|
306
406
|
};
|
|
307
407
|
});
|
|
308
|
-
//
|
|
408
|
+
// Graceful shutdown
|
|
409
|
+
const cleanup = () => {
|
|
410
|
+
if (searchIndex) {
|
|
411
|
+
searchIndex.close();
|
|
412
|
+
searchIndex = null;
|
|
413
|
+
}
|
|
414
|
+
process.exit(0);
|
|
415
|
+
};
|
|
416
|
+
process.on("SIGTERM", cleanup);
|
|
417
|
+
process.on("SIGINT", cleanup);
|
|
309
418
|
const transport = new StdioServerTransport();
|
|
310
419
|
await server.connect(transport);
|
|
311
420
|
}
|
|
312
421
|
function getRelativeTime(date) {
|
|
313
|
-
const seconds = Math.floor((Date.now() - date.getTime()) / 1000);
|
|
422
|
+
const seconds = Math.max(0, Math.floor((Date.now() - date.getTime()) / 1000));
|
|
314
423
|
if (seconds < 60)
|
|
315
424
|
return "just now";
|
|
316
425
|
if (seconds < 3600)
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "repomemory",
|
|
3
|
-
"version": "0.1
|
|
4
|
-
"description": "Your
|
|
3
|
+
"version": "0.2.1",
|
|
4
|
+
"description": "Your codebase never forgets. Persistent, structured memory for AI coding agents.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"repomemory": "dist/index.js"
|
|
8
8
|
},
|
|
9
|
+
"exports": {
|
|
10
|
+
".": "./dist/index.js",
|
|
11
|
+
"./mcp": "./dist/mcp/server.js"
|
|
12
|
+
},
|
|
9
13
|
"scripts": {
|
|
10
14
|
"build": "node scripts/build.js",
|
|
11
15
|
"dev": "tsx src/index.ts",
|
|
12
16
|
"start": "node dist/index.js",
|
|
17
|
+
"test": "vitest run",
|
|
18
|
+
"test:watch": "vitest",
|
|
13
19
|
"prepublishOnly": "npm run build"
|
|
14
20
|
},
|
|
15
21
|
"repository": {
|
|
@@ -29,32 +35,38 @@
|
|
|
29
35
|
"claude-code",
|
|
30
36
|
"cursor",
|
|
31
37
|
"copilot",
|
|
38
|
+
"windsurf",
|
|
39
|
+
"cline",
|
|
40
|
+
"aider",
|
|
32
41
|
"mcp",
|
|
33
|
-
"
|
|
42
|
+
"mcp-server",
|
|
34
43
|
"repository",
|
|
35
44
|
"knowledge-base",
|
|
36
45
|
"gemini",
|
|
37
46
|
"grok",
|
|
38
|
-
"context-engineering"
|
|
47
|
+
"context-engineering",
|
|
48
|
+
"ai-memory",
|
|
49
|
+
"codebase-context"
|
|
39
50
|
],
|
|
40
51
|
"author": "DanielGuru",
|
|
41
52
|
"license": "MIT",
|
|
42
53
|
"dependencies": {
|
|
43
54
|
"@anthropic-ai/sdk": "^0.74.0",
|
|
55
|
+
"@clack/prompts": "^1.0.1",
|
|
44
56
|
"@google/generative-ai": "^0.24.1",
|
|
45
57
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
46
|
-
"better-sqlite3": "^12.6.2",
|
|
47
58
|
"chalk": "^5.6.2",
|
|
48
59
|
"commander": "^14.0.3",
|
|
49
|
-
"glob": "^13.0.5",
|
|
50
60
|
"openai": "^6.22.0",
|
|
61
|
+
"ora": "^8.2.0",
|
|
62
|
+
"sql.js": "^1.12.0",
|
|
51
63
|
"zod": "^4.3.6"
|
|
52
64
|
},
|
|
53
65
|
"devDependencies": {
|
|
54
|
-
"@types/better-sqlite3": "^7.6.13",
|
|
55
66
|
"@types/node": "^25.2.3",
|
|
56
67
|
"tsx": "^4.21.0",
|
|
57
|
-
"typescript": "^5.9.3"
|
|
68
|
+
"typescript": "^5.9.3",
|
|
69
|
+
"vitest": "^3.1.0"
|
|
58
70
|
},
|
|
59
71
|
"engines": {
|
|
60
72
|
"node": ">=18.0.0"
|
|
@@ -62,6 +74,10 @@
|
|
|
62
74
|
"files": [
|
|
63
75
|
"dist",
|
|
64
76
|
"README.md",
|
|
65
|
-
"LICENSE"
|
|
77
|
+
"LICENSE",
|
|
78
|
+
".claude-plugin",
|
|
79
|
+
".mcp.json",
|
|
80
|
+
"skills",
|
|
81
|
+
"server.json"
|
|
66
82
|
]
|
|
67
83
|
}
|
package/server.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://registry.modelcontextprotocol.io/schema/server.json",
|
|
3
|
+
"name": "io.github.DanielGuru/repomemory",
|
|
4
|
+
"description": "Persistent, structured memory for AI coding agents. Your codebase never forgets.",
|
|
5
|
+
"version": "0.2.1",
|
|
6
|
+
"packages": [
|
|
7
|
+
{
|
|
8
|
+
"registry": "npm",
|
|
9
|
+
"name": "repomemory",
|
|
10
|
+
"version": "0.2.1",
|
|
11
|
+
"runtime": "node",
|
|
12
|
+
"args": ["dist/mcp/server.js"]
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"repository": {
|
|
16
|
+
"url": "https://github.com/DanielGuru/repomemory"
|
|
17
|
+
},
|
|
18
|
+
"tools": [
|
|
19
|
+
{
|
|
20
|
+
"name": "context_search",
|
|
21
|
+
"description": "Search the repository's persistent knowledge base"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"name": "context_write",
|
|
25
|
+
"description": "Write knowledge to persistent memory"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "context_delete",
|
|
29
|
+
"description": "Delete stale knowledge entries"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"name": "context_list",
|
|
33
|
+
"description": "List all knowledge entries"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"name": "context_read",
|
|
37
|
+
"description": "Read a specific context file"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"_meta": {
|
|
41
|
+
"io.modelcontextprotocol.registry/publisher-provided": {
|
|
42
|
+
"categories": ["memory", "coding-agents", "knowledge-base"],
|
|
43
|
+
"tags": ["ai-memory", "context-engineering", "mcp", "claude-code", "cursor", "copilot"]
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: repomemory
|
|
3
|
+
description: Search and manage your repository's persistent knowledge base. Use this to find architecture docs, past decisions, known regressions, and session notes before starting work.
|
|
4
|
+
allowed-tools: Bash, Read, Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# repomemory — Repository Memory
|
|
8
|
+
|
|
9
|
+
You have access to the repomemory MCP server which provides persistent knowledge for this codebase.
|
|
10
|
+
|
|
11
|
+
## When invoked
|
|
12
|
+
|
|
13
|
+
If the user says `/repomemory` or `/repomemory <query>`:
|
|
14
|
+
|
|
15
|
+
1. If a query is provided via $ARGUMENTS, search for it:
|
|
16
|
+
- Use the `context_search` MCP tool with the query
|
|
17
|
+
- Display the results clearly
|
|
18
|
+
|
|
19
|
+
2. If no query is provided, show an overview:
|
|
20
|
+
- Use `context_list` to show all available knowledge
|
|
21
|
+
- Highlight any stale entries (>60 days old)
|
|
22
|
+
- Suggest searching for specific topics
|
|
23
|
+
|
|
24
|
+
## Always
|
|
25
|
+
|
|
26
|
+
- Use `context_search` BEFORE starting any task to find relevant context
|
|
27
|
+
- Use `context_write` to record discoveries, decisions, and gotchas during your session
|
|
28
|
+
- Use `context_delete` to remove stale or incorrect knowledge
|
|
29
|
+
- Be specific when writing: include file paths, function names, and commands
|