shelbymcp 0.2.0 → 0.2.2
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 +46 -30
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +1 -0
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/protocol.d.ts +1 -0
- package/dist/cli/protocol.d.ts.map +1 -1
- package/dist/cli/protocol.js +6 -3
- package/dist/cli/protocol.js.map +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +180 -77
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/uninstall.d.ts.map +1 -1
- package/dist/cli/uninstall.js +101 -37
- package/dist/cli/uninstall.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
|
|
26
26
|
Every AI memory server is a bag of embeddings. **ShelbyMCP connects your thoughts.**
|
|
27
27
|
|
|
28
|
-
ShelbyMCP is a zero-dependency MCP memory server with a built-in knowledge graph. It gives Claude Code, Cursor, Codex, Windsurf, and any MCP-compatible AI tool persistent memory that understands how your thoughts are related — not just what they contain.
|
|
28
|
+
ShelbyMCP is a zero-dependency MCP memory server with a built-in knowledge graph. It gives Claude Code, Cursor, Codex, Windsurf, Gemini, Antigravity, and any MCP-compatible AI tool persistent memory that understands how your thoughts are related — not just what they contain.
|
|
29
29
|
|
|
30
30
|
Ship it with the **Forage skill**, a scheduled task that runs on your existing AI subscription to continuously enrich, consolidate, and connect your memories. No Docker. No Python. No cloud accounts. Just a binary and a database file.
|
|
31
31
|
|
|
@@ -44,7 +44,7 @@ Ship it with the **Forage skill**, a scheduled task that runs on your existing A
|
|
|
44
44
|
|
|
45
45
|
## Quick Start
|
|
46
46
|
|
|
47
|
-
### Install
|
|
47
|
+
### 1. Install
|
|
48
48
|
|
|
49
49
|
```bash
|
|
50
50
|
# npx (no install needed)
|
|
@@ -55,36 +55,45 @@ npm install -g shelbymcp
|
|
|
55
55
|
|
|
56
56
|
# Or build from source
|
|
57
57
|
git clone https://github.com/Studio-Moser/shelbymcp.git
|
|
58
|
-
cd shelbymcp
|
|
59
|
-
npm install && npm run build
|
|
58
|
+
cd shelbymcp && npm install && npm run build
|
|
60
59
|
```
|
|
61
60
|
|
|
62
|
-
###
|
|
61
|
+
### 2. Set Up Your Agent
|
|
63
62
|
|
|
64
|
-
|
|
63
|
+
The CLI auto-configures everything — MCP server registration, Memory Protocol, and optional Forage skill:
|
|
65
64
|
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}
|
|
65
|
+
```bash
|
|
66
|
+
shelbymcp setup claude-code --forage # Claude Code CLI
|
|
67
|
+
shelbymcp setup claude-desktop --forage # Claude Desktop app
|
|
68
|
+
shelbymcp setup cursor --forage # Cursor IDE
|
|
69
|
+
shelbymcp setup codex --forage # OpenAI Codex
|
|
70
|
+
shelbymcp setup windsurf --forage # Windsurf (Codeium)
|
|
71
|
+
shelbymcp setup gemini --forage # Gemini CLI
|
|
72
|
+
shelbymcp setup antigravity --forage # Antigravity (Google)
|
|
75
73
|
```
|
|
76
74
|
|
|
77
|
-
|
|
75
|
+
Drop `--forage` if you just want the MCP server without the scheduled enrichment skill.
|
|
76
|
+
|
|
77
|
+
That's it. The CLI registers the MCP server, adds the Memory Protocol to the right place, and installs the Forage skill. See [docs/AGENT-SETUP.md](docs/AGENT-SETUP.md) for manual config and platform-specific details.
|
|
78
|
+
|
|
79
|
+
### 3. Add the Memory Protocol
|
|
78
80
|
|
|
79
|
-
|
|
81
|
+
Most agents get the Memory Protocol added automatically during setup. For agents that require manual steps, the CLI will tell you exactly what to do. Here's where it goes:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
shelbymcp protocol >> ~/.claude/CLAUDE.md # Claude Code (auto)
|
|
85
|
+
shelbymcp protocol >> ~/.codex/AGENTS.md # Codex (auto)
|
|
86
|
+
shelbymcp protocol >> ~/.codeium/windsurf/memories/global_rules.md # Windsurf (auto)
|
|
87
|
+
shelbymcp protocol >> ~/.gemini/GEMINI.md # Gemini CLI / Antigravity (auto)
|
|
88
|
+
```
|
|
80
89
|
|
|
81
|
-
|
|
90
|
+
For Cursor, paste into **Settings > Rules > User Rules**. For Claude Desktop, paste into **Settings > Profile**. The Memory Protocol tells your agent *when* to save and search — without it, the tools are available but won't be used proactively.
|
|
82
91
|
|
|
83
|
-
###
|
|
92
|
+
### 4. Verify
|
|
84
93
|
|
|
85
|
-
|
|
94
|
+
Ask your agent: *"What memory tools do you have available?"*
|
|
86
95
|
|
|
87
|
-
|
|
96
|
+
It should list 9 tools. Then test: *"Remember that I prefer dark mode in all my apps."* — and in a new session: *"What do you know about my preferences?"*
|
|
88
97
|
|
|
89
98
|
---
|
|
90
99
|
|
|
@@ -185,17 +194,24 @@ ShelbyMCP works fine without it — you get persistent storage, FTS5 search, and
|
|
|
185
194
|
|
|
186
195
|
---
|
|
187
196
|
|
|
188
|
-
##
|
|
197
|
+
## CLI Reference
|
|
198
|
+
|
|
199
|
+
```
|
|
200
|
+
shelbymcp Start the MCP server (stdio)
|
|
201
|
+
shelbymcp setup <agent> Set up ShelbyMCP for an agent
|
|
202
|
+
shelbymcp setup <agent> --forage ...and install the Forage skill
|
|
203
|
+
shelbymcp uninstall <agent> Remove ShelbyMCP from an agent
|
|
204
|
+
shelbymcp protocol Print the Memory Protocol
|
|
205
|
+
shelbymcp forage Print the Forage skill prompt
|
|
206
|
+
shelbymcp help Show help
|
|
207
|
+
shelbymcp --version Print version
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
**Supported agents:** `claude-code`, `claude-desktop`, `cursor`, `codex`, `windsurf`, `gemini`, `antigravity`
|
|
189
211
|
|
|
190
|
-
|
|
212
|
+
**Server flags:** `--db <path>` (custom database path), `--verbose` (debug logging)
|
|
191
213
|
|
|
192
|
-
-
|
|
193
|
-
- Cursor
|
|
194
|
-
- Codex
|
|
195
|
-
- Windsurf
|
|
196
|
-
- Gemini CLI
|
|
197
|
-
- OpenCode
|
|
198
|
-
- Any MCP-compatible client
|
|
214
|
+
See [docs/AGENT-SETUP.md](docs/AGENT-SETUP.md) for manual config, platform-specific details, and setup for other MCP-compatible clients.
|
|
199
215
|
|
|
200
216
|
---
|
|
201
217
|
|
package/dist/cli/help.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,IAAI,IAAI,CAiChC"}
|
package/dist/cli/help.js
CHANGED
package/dist/cli/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS;IACvB,OAAO,CAAC,GAAG,CAAC
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS;IACvB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oEA+BsD,CAAC,CAAC;AACtE,CAAC"}
|
package/dist/cli/protocol.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
export declare const MEMORY_PROTOCOL = "## Memory (ShelbyMCP)\n\nYou have persistent memory via ShelbyMCP MCP tools. Memory survives across sessions and is shared across all AI tools the user works with. You MUST use it \u2014 do not rely on conversation context alone.\n\n### When to SAVE (mandatory)\n\nYou MUST call `capture_thought` after any of these events:\n\n- **Decisions**: Architecture choices, library selections, tradeoffs considered (\"We chose CloudKit over Firebase because...\")\n- **Preferences**: User likes/dislikes, workflow habits, coding style (\"User prefers functional components over class components\")\n- **People & roles**: Who does what (\"Sarah owns the auth service, Mike handles DevOps\")\n- **Project context**: Goals, deadlines, constraints, scope changes (\"Launch target is March 15, blocked on API approval\")\n- **Bugs & fixes**: Root cause discoveries, workarounds, things that broke (\"Memory leak was caused by unclosed DB connections in the edge traversal loop\")\n- **Architecture & patterns**: System design, data flow, conventions (\"All API responses use the envelope pattern: { data, error, meta }\")\n- **Insights**: Non-obvious learnings, things that surprised you (\"FTS5 porter tokenizer handles plurals but not acronyms\")\n\nAlways include: a `summary` (one-line, <100 chars), a `type`, relevant `topics`, and link to `related_to` thoughts when applicable.\n\n### When to SEARCH (mandatory)\n\nYou MUST call `search_thoughts` or `list_thoughts` before:\n\n- **Starting work on any task** \u2014 check what's already known about this area\n- **Making a decision** \u2014 check for prior decisions on the same topic\n- **When something feels familiar** \u2014 it probably is; search for it\n- **After context compaction** \u2014 immediately search to recover session context\n- **When the user says** \"remember\", \"recall\", \"what do we know about\", \"what did we decide\"\n\n### What NOT to save\n\n- Ephemeral debugging output (stack traces, log lines you're actively reading)\n- Code content that's already in git (save the *decision* about code, not the code itself)\n- Transient conversation (\"let me think about this...\" \u2014 save the conclusion, not the process)\n- Duplicate information \u2014 search first, update existing thoughts instead of creating new ones\n\n### How to save well\n\n1. **Summary first.** Search results only show summaries. A thought without a summary is invisible to search.\n2. **Type accurately.** Use `decision`, `task`, `question`, `reference`, `insight`, or `note`. Don't default everything to `note`.\n3. **Tag topics and people.** These are the primary filters for `list_thoughts`.\n4. **Link related thoughts.** Use `manage_edges` to connect decisions to the tasks they affect, references to the insights they support.\n5. **Update, don't duplicate.** If a thought exists but is outdated, use `update_thought`. Don't create a new one.";
|
|
1
2
|
export declare function printProtocol(): void;
|
|
2
3
|
//# sourceMappingURL=protocol.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/cli/protocol.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/cli/protocol.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,m1FAyCyF,CAAC;AAEtH,wBAAgB,aAAa,IAAI,IAAI,CASpC"}
|
package/dist/cli/protocol.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const MEMORY_PROTOCOL = `## Memory (ShelbyMCP)
|
|
1
|
+
export const MEMORY_PROTOCOL = `## Memory (ShelbyMCP)
|
|
2
2
|
|
|
3
3
|
You have persistent memory via ShelbyMCP MCP tools. Memory survives across sessions and is shared across all AI tools the user works with. You MUST use it — do not rely on conversation context alone.
|
|
4
4
|
|
|
@@ -41,8 +41,11 @@ You MUST call \`search_thoughts\` or \`list_thoughts\` before:
|
|
|
41
41
|
4. **Link related thoughts.** Use \`manage_edges\` to connect decisions to the tasks they affect, references to the insights they support.
|
|
42
42
|
5. **Update, don't duplicate.** If a thought exists but is outdated, use \`update_thought\`. Don't create a new one.`;
|
|
43
43
|
export function printProtocol() {
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
// Only show the hint when output is going to a terminal (not piped to a file)
|
|
45
|
+
if (process.stdout.isTTY) {
|
|
46
|
+
console.error("Copy the output below and paste it into your agent's rules file.\n" +
|
|
47
|
+
"Or pipe directly: shelbymcp protocol >> CLAUDE.md\n");
|
|
48
|
+
}
|
|
46
49
|
console.log(MEMORY_PROTOCOL);
|
|
47
50
|
}
|
|
48
51
|
//# sourceMappingURL=protocol.js.map
|
package/dist/cli/protocol.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/cli/protocol.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/cli/protocol.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qHAyCsF,CAAC;AAEtH,MAAM,UAAU,aAAa;IAC3B,8EAA8E;IAC9E,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CACX,oEAAoE;YACpE,qDAAqD,CACtD,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAC/B,CAAC"}
|
package/dist/cli/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AAwcA,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CA6CzE"}
|
package/dist/cli/setup.js
CHANGED
|
@@ -1,8 +1,45 @@
|
|
|
1
|
-
import { existsSync, readFileSync, writeFileSync, mkdirSync, cpSync } from "node:fs";
|
|
1
|
+
import { existsSync, readFileSync, writeFileSync, appendFileSync, mkdirSync, cpSync } from "node:fs";
|
|
2
2
|
import { resolve, dirname } from "node:path";
|
|
3
3
|
import { homedir } from "node:os";
|
|
4
4
|
import { execSync } from "node:child_process";
|
|
5
5
|
import { fileURLToPath } from "node:url";
|
|
6
|
+
import { MEMORY_PROTOCOL } from "./protocol.js";
|
|
7
|
+
const isWindows = process.platform === "win32";
|
|
8
|
+
/** Use `where` on Windows, `which` elsewhere to locate a CLI binary */
|
|
9
|
+
function whichCmd(bin) {
|
|
10
|
+
return isWindows ? `where ${bin}` : `which ${bin}`;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Detect whether nvm (Node Version Manager) is active.
|
|
14
|
+
* On macOS/Linux, nvm sets NVM_DIR and modifies PATH in the shell profile.
|
|
15
|
+
* Apps that launch processes directly (Claude Desktop, Cursor, Windsurf, Antigravity)
|
|
16
|
+
* don't source the shell profile, so `npx` resolves to the wrong Node version.
|
|
17
|
+
*/
|
|
18
|
+
function hasNvm() {
|
|
19
|
+
if (isWindows)
|
|
20
|
+
return false; // nvm-windows modifies system PATH directly
|
|
21
|
+
return Boolean(process.env.NVM_DIR) || existsSync(resolve(homedir(), ".nvm"));
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Build the MCP server command entry for JSON configs.
|
|
25
|
+
* When nvm is detected, uses absolute paths to the current Node binary and npx,
|
|
26
|
+
* and sets PATH so that child processes spawned by npx also find the correct Node.
|
|
27
|
+
* Without the PATH override, npx's child `node` resolves to an old nvm version
|
|
28
|
+
* that doesn't support modern syntax like `?.` or `??`.
|
|
29
|
+
*/
|
|
30
|
+
function buildServerCommand() {
|
|
31
|
+
if (hasNvm()) {
|
|
32
|
+
const nodePath = process.execPath;
|
|
33
|
+
const nodeBinDir = dirname(nodePath);
|
|
34
|
+
const npxPath = resolve(nodeBinDir, "npx");
|
|
35
|
+
return {
|
|
36
|
+
command: nodePath,
|
|
37
|
+
args: [npxPath, "shelbymcp"],
|
|
38
|
+
env: { PATH: `${nodeBinDir}:/usr/local/bin:/opt/homebrew/bin:/usr/bin:/bin:/usr/sbin:/sbin` },
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
return { command: "npx", args: ["shelbymcp"] };
|
|
42
|
+
}
|
|
6
43
|
const AGENTS = [
|
|
7
44
|
"claude-code",
|
|
8
45
|
"claude-desktop",
|
|
@@ -10,6 +47,7 @@ const AGENTS = [
|
|
|
10
47
|
"codex",
|
|
11
48
|
"windsurf",
|
|
12
49
|
"gemini",
|
|
50
|
+
"antigravity",
|
|
13
51
|
];
|
|
14
52
|
function isAgent(name) {
|
|
15
53
|
return AGENTS.includes(name);
|
|
@@ -23,7 +61,22 @@ function getPackageRoot() {
|
|
|
23
61
|
function getSkillSourcePath() {
|
|
24
62
|
return resolve(getPackageRoot(), "skills", "shelby-forage");
|
|
25
63
|
}
|
|
26
|
-
function
|
|
64
|
+
function appendProtocolToFile(filePath) {
|
|
65
|
+
if (existsSync(filePath)) {
|
|
66
|
+
const existing = readFileSync(filePath, "utf-8");
|
|
67
|
+
if (existing.includes("## Memory (ShelbyMCP)")) {
|
|
68
|
+
console.log(`\nMemory Protocol already present in ${filePath}`);
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const dir = dirname(filePath);
|
|
73
|
+
if (!existsSync(dir)) {
|
|
74
|
+
mkdirSync(dir, { recursive: true });
|
|
75
|
+
}
|
|
76
|
+
appendFileSync(filePath, "\n" + MEMORY_PROTOCOL + "\n");
|
|
77
|
+
console.log(`\nMemory Protocol added to ${filePath}`);
|
|
78
|
+
}
|
|
79
|
+
function mergeJsonConfig(filePath, serverEntry, serverKey = "shelbymcp") {
|
|
27
80
|
let config = {};
|
|
28
81
|
if (existsSync(filePath)) {
|
|
29
82
|
try {
|
|
@@ -37,12 +90,12 @@ function mergeJsonConfig(filePath, serverEntry) {
|
|
|
37
90
|
config.mcpServers = {};
|
|
38
91
|
}
|
|
39
92
|
const servers = config.mcpServers;
|
|
40
|
-
if (servers
|
|
41
|
-
console.log(`"
|
|
93
|
+
if (servers[serverKey]) {
|
|
94
|
+
console.log(`"${serverKey}" server already exists in ${filePath}`);
|
|
42
95
|
console.log("To reconfigure, remove the existing entry first.");
|
|
43
96
|
return false;
|
|
44
97
|
}
|
|
45
|
-
servers
|
|
98
|
+
servers[serverKey] = serverEntry;
|
|
46
99
|
const dir = dirname(filePath);
|
|
47
100
|
if (!existsSync(dir)) {
|
|
48
101
|
mkdirSync(dir, { recursive: true });
|
|
@@ -94,31 +147,43 @@ function printForageInstructions(agent) {
|
|
|
94
147
|
console.log("Note: Gemini has a max of 10 active scheduled actions.");
|
|
95
148
|
console.log("MCP tool access in scheduled actions is uncertain — test to confirm.");
|
|
96
149
|
break;
|
|
150
|
+
case "antigravity":
|
|
151
|
+
console.log("Antigravity has no scheduler. To run Forage manually, paste the");
|
|
152
|
+
console.log("output of `shelbymcp forage` into an Antigravity conversation");
|
|
153
|
+
console.log("whenever you want to maintain your memories.");
|
|
154
|
+
break;
|
|
97
155
|
}
|
|
98
156
|
}
|
|
157
|
+
// ---------------------------------------------------------------------------
|
|
158
|
+
// Agent setup functions
|
|
159
|
+
// ---------------------------------------------------------------------------
|
|
99
160
|
function setupClaudeCode(forage) {
|
|
100
161
|
try {
|
|
101
|
-
execSync("
|
|
162
|
+
execSync(whichCmd("claude"), { stdio: "ignore" });
|
|
102
163
|
}
|
|
103
164
|
catch {
|
|
104
165
|
console.log("Claude Code CLI not found. Install it from https://code.claude.com\n");
|
|
105
166
|
console.log("Once installed, run:");
|
|
106
|
-
console.log(" claude mcp add -s user -t stdio
|
|
167
|
+
console.log(" claude mcp add -s user -t stdio shelbymcp -- npx shelbymcp");
|
|
107
168
|
return;
|
|
108
169
|
}
|
|
109
170
|
console.log("Adding ShelbyMCP to Claude Code CLI (user scope)...\n");
|
|
110
171
|
try {
|
|
111
|
-
execSync("claude mcp add -s user -t stdio
|
|
172
|
+
execSync("claude mcp add -s user -t stdio shelbymcp -- npx shelbymcp", {
|
|
112
173
|
stdio: "inherit",
|
|
113
174
|
});
|
|
114
175
|
console.log("\nShelbyMCP added to Claude Code CLI.");
|
|
115
176
|
}
|
|
116
177
|
catch {
|
|
117
178
|
console.log("\nCould not add automatically. Run manually:");
|
|
118
|
-
console.log(" claude mcp add -s user -t stdio
|
|
179
|
+
console.log(" claude mcp add -s user -t stdio shelbymcp -- npx shelbymcp");
|
|
180
|
+
}
|
|
181
|
+
// Auto-append Memory Protocol to ~/.claude/CLAUDE.md
|
|
182
|
+
const claudeMdPath = resolve(homedir(), ".claude/CLAUDE.md");
|
|
183
|
+
appendProtocolToFile(claudeMdPath);
|
|
184
|
+
if (!forage) {
|
|
185
|
+
console.log("\nShelbyMCP installed for Claude Code!");
|
|
119
186
|
}
|
|
120
|
-
console.log("\nNext: Add the Memory Protocol to your rules file:");
|
|
121
|
-
console.log(" shelbymcp protocol >> ~/.claude/CLAUDE.md");
|
|
122
187
|
if (forage) {
|
|
123
188
|
const skillSource = getSkillSourcePath();
|
|
124
189
|
const skillDest = resolve(homedir(), ".claude/scheduled-tasks/shelby-forage");
|
|
@@ -140,6 +205,7 @@ function setupClaudeCode(forage) {
|
|
|
140
205
|
console.log("Could not find skills/shelby-forage/SKILL.md in the package.");
|
|
141
206
|
console.log("Install manually: shelbymcp forage > ~/.claude/scheduled-tasks/shelby-forage/SKILL.md");
|
|
142
207
|
}
|
|
208
|
+
console.log("\nShelbyMCP installed for Claude Code!");
|
|
143
209
|
}
|
|
144
210
|
}
|
|
145
211
|
function setupClaudeDesktop(forage) {
|
|
@@ -159,132 +225,165 @@ function setupClaudeDesktop(forage) {
|
|
|
159
225
|
console.log("Open Claude Desktop > Settings > Developer > Edit Config");
|
|
160
226
|
console.log("Add this to the mcpServers object:\n");
|
|
161
227
|
console.log(JSON.stringify({
|
|
162
|
-
|
|
163
|
-
command: "npx",
|
|
164
|
-
args: ["shelbymcp"],
|
|
165
|
-
},
|
|
228
|
+
shelbymcp: buildServerCommand(),
|
|
166
229
|
}, null, 2));
|
|
167
230
|
console.log("\nIMPORTANT: Quit and restart Claude Desktop after editing.");
|
|
168
231
|
console.log("\nNote: Claude Desktop and Claude Code CLI have separate configs.");
|
|
169
232
|
console.log("Setting up one does NOT configure the other.");
|
|
170
233
|
console.log("\nNext: Add the Memory Protocol to your Desktop profile:");
|
|
171
|
-
console.log("
|
|
172
|
-
console.log("
|
|
234
|
+
console.log(" 1. Run: shelbymcp protocol");
|
|
235
|
+
console.log(" 2. Copy the output");
|
|
236
|
+
console.log(" 3. Open Settings > Profile > \"What preferences should Claude consider?\"");
|
|
237
|
+
console.log(" 4. Paste the protocol text into that field");
|
|
173
238
|
if (forage) {
|
|
174
239
|
printForageInstructions("claude-desktop");
|
|
175
240
|
}
|
|
241
|
+
console.log("\nFollow the steps above to finish installing ShelbyMCP for Claude Desktop.");
|
|
176
242
|
}
|
|
177
243
|
function setupCursor(forage) {
|
|
178
244
|
const configPath = resolve(homedir(), ".cursor/mcp.json");
|
|
179
|
-
const entry = {
|
|
180
|
-
command: "npx",
|
|
181
|
-
args: ["shelbymcp"],
|
|
182
|
-
};
|
|
245
|
+
const entry = { type: "stdio", ...buildServerCommand() };
|
|
183
246
|
mergeJsonConfig(configPath, entry);
|
|
184
247
|
console.log("\nOr add via UI: Settings > Tools & MCP > New MCP Server");
|
|
185
|
-
console.log("\nNext: Add the Memory Protocol
|
|
248
|
+
console.log("\nNext: Add the Memory Protocol to Cursor:");
|
|
249
|
+
console.log(" 1. Open Cursor Settings > Rules");
|
|
250
|
+
console.log(" 2. Under \"User Rules\", paste the output of: shelbymcp protocol");
|
|
251
|
+
console.log(" (This applies the Memory Protocol to all your Cursor projects)");
|
|
252
|
+
console.log("");
|
|
253
|
+
console.log(" Or, to add per-project instead, run from your project root:");
|
|
186
254
|
console.log(" mkdir -p .cursor/rules");
|
|
187
|
-
console.log("
|
|
188
|
-
console.log("
|
|
255
|
+
console.log(" shelbymcp protocol > .cursor/rules/shelbymcp.mdc");
|
|
256
|
+
console.log(" (Then prepend '---\\nalwaysApply: true\\n---\\n' to the file)");
|
|
189
257
|
if (forage) {
|
|
190
258
|
printForageInstructions("cursor");
|
|
191
259
|
}
|
|
260
|
+
console.log("\nShelbyMCP MCP server installed for Cursor!");
|
|
192
261
|
}
|
|
193
262
|
function setupCodex(forage) {
|
|
194
263
|
try {
|
|
195
|
-
execSync("
|
|
264
|
+
execSync(whichCmd("codex"), { stdio: "ignore" });
|
|
196
265
|
}
|
|
197
266
|
catch {
|
|
198
267
|
console.log("Codex CLI not found.\n");
|
|
199
268
|
console.log("Add this to ~/.codex/config.toml:\n");
|
|
200
|
-
console.log("[mcp_servers.
|
|
269
|
+
console.log("[mcp_servers.shelbymcp]");
|
|
201
270
|
console.log('command = "npx"');
|
|
202
271
|
console.log('args = ["shelbymcp"]');
|
|
203
|
-
|
|
204
|
-
|
|
272
|
+
// Auto-append Memory Protocol to ~/.codex/AGENTS.md
|
|
273
|
+
const agentsMdPath = resolve(homedir(), ".codex/AGENTS.md");
|
|
274
|
+
appendProtocolToFile(agentsMdPath);
|
|
205
275
|
if (forage) {
|
|
206
276
|
printForageInstructions("codex");
|
|
207
277
|
}
|
|
278
|
+
console.log("\nShelbyMCP installed for Codex!");
|
|
208
279
|
return;
|
|
209
280
|
}
|
|
210
281
|
console.log("Adding ShelbyMCP to Codex...\n");
|
|
211
282
|
try {
|
|
212
|
-
execSync("codex mcp add
|
|
283
|
+
execSync("codex mcp add shelbymcp -- npx shelbymcp", { stdio: "inherit" });
|
|
213
284
|
console.log("\nShelbyMCP added to Codex.");
|
|
214
285
|
}
|
|
215
286
|
catch {
|
|
216
287
|
console.log("\nCould not add automatically. Add to ~/.codex/config.toml:\n");
|
|
217
|
-
console.log("[mcp_servers.
|
|
288
|
+
console.log("[mcp_servers.shelbymcp]");
|
|
218
289
|
console.log('command = "npx"');
|
|
219
290
|
console.log('args = ["shelbymcp"]');
|
|
220
291
|
}
|
|
221
|
-
|
|
222
|
-
|
|
292
|
+
// Auto-append Memory Protocol to ~/.codex/AGENTS.md
|
|
293
|
+
const agentsMdPath = resolve(homedir(), ".codex/AGENTS.md");
|
|
294
|
+
appendProtocolToFile(agentsMdPath);
|
|
223
295
|
if (forage) {
|
|
224
296
|
printForageInstructions("codex");
|
|
225
297
|
}
|
|
298
|
+
console.log("\nShelbyMCP installed for Codex!");
|
|
226
299
|
}
|
|
227
300
|
function setupWindsurf(forage) {
|
|
228
|
-
const
|
|
229
|
-
|
|
230
|
-
if (platform === "win32") {
|
|
231
|
-
configPath = resolve(process.env.USERPROFILE ?? homedir(), ".codeium/windsurf/mcp_config.json");
|
|
232
|
-
}
|
|
233
|
-
else {
|
|
234
|
-
configPath = resolve(homedir(), ".codeium/windsurf/mcp_config.json");
|
|
235
|
-
}
|
|
236
|
-
const entry = {
|
|
237
|
-
command: "npx",
|
|
238
|
-
args: ["shelbymcp"],
|
|
239
|
-
};
|
|
240
|
-
mergeJsonConfig(configPath, entry);
|
|
301
|
+
const configPath = resolve(homedir(), ".codeium/windsurf/mcp_config.json");
|
|
302
|
+
mergeJsonConfig(configPath, buildServerCommand());
|
|
241
303
|
console.log("\nOr add via UI: Settings > Cascade > MCP Servers");
|
|
242
|
-
|
|
243
|
-
|
|
304
|
+
// Auto-append Memory Protocol to global rules
|
|
305
|
+
const globalRulesPath = resolve(homedir(), ".codeium/windsurf/memories/global_rules.md");
|
|
306
|
+
appendProtocolToFile(globalRulesPath);
|
|
244
307
|
if (forage) {
|
|
245
308
|
printForageInstructions("windsurf");
|
|
246
309
|
}
|
|
310
|
+
console.log("\nShelbyMCP installed for Windsurf!");
|
|
247
311
|
}
|
|
248
312
|
function setupGemini(forage) {
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
313
|
+
try {
|
|
314
|
+
execSync(whichCmd("gemini"), { stdio: "ignore" });
|
|
315
|
+
}
|
|
316
|
+
catch {
|
|
317
|
+
// Gemini CLI not found — fall back to manual JSON config
|
|
318
|
+
const configPath = resolve(homedir(), ".gemini/settings.json");
|
|
319
|
+
const entry = buildServerCommand();
|
|
320
|
+
let config = {};
|
|
321
|
+
if (existsSync(configPath)) {
|
|
322
|
+
try {
|
|
323
|
+
config = JSON.parse(readFileSync(configPath, "utf-8"));
|
|
324
|
+
}
|
|
325
|
+
catch {
|
|
326
|
+
console.error(`Warning: Could not parse ${configPath}. Creating new file.`);
|
|
327
|
+
}
|
|
259
328
|
}
|
|
260
|
-
|
|
261
|
-
|
|
329
|
+
if (!config.mcpServers || typeof config.mcpServers !== "object") {
|
|
330
|
+
config.mcpServers = {};
|
|
262
331
|
}
|
|
332
|
+
const servers = config.mcpServers;
|
|
333
|
+
if (servers.shelbymcp) {
|
|
334
|
+
console.log(`"shelbymcp" server already exists in ${configPath}`);
|
|
335
|
+
console.log("To reconfigure, remove the existing entry first.");
|
|
336
|
+
}
|
|
337
|
+
else {
|
|
338
|
+
servers.shelbymcp = entry;
|
|
339
|
+
const dir = dirname(configPath);
|
|
340
|
+
if (!existsSync(dir)) {
|
|
341
|
+
mkdirSync(dir, { recursive: true });
|
|
342
|
+
}
|
|
343
|
+
writeFileSync(configPath, JSON.stringify(config, null, 2) + "\n");
|
|
344
|
+
console.log(`Added ShelbyMCP to ${configPath}`);
|
|
345
|
+
}
|
|
346
|
+
// Auto-append Memory Protocol to ~/.gemini/GEMINI.md
|
|
347
|
+
const geminiMdPath = resolve(homedir(), ".gemini/GEMINI.md");
|
|
348
|
+
appendProtocolToFile(geminiMdPath);
|
|
349
|
+
if (forage) {
|
|
350
|
+
printForageInstructions("gemini");
|
|
351
|
+
}
|
|
352
|
+
console.log("\nShelbyMCP installed for Gemini CLI!");
|
|
353
|
+
return;
|
|
263
354
|
}
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
if (servers["shelby-memory"]) {
|
|
269
|
-
console.log(`"shelby-memory" server already exists in ${configPath}`);
|
|
270
|
-
console.log("To reconfigure, remove the existing entry first.");
|
|
355
|
+
console.log("Adding ShelbyMCP to Gemini CLI (user scope)...\n");
|
|
356
|
+
try {
|
|
357
|
+
execSync("gemini mcp add shelbymcp npx --scope user -- shelbymcp", { stdio: "inherit" });
|
|
358
|
+
console.log("\nShelbyMCP added to Gemini CLI.");
|
|
271
359
|
}
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
if (!existsSync(dir)) {
|
|
276
|
-
mkdirSync(dir, { recursive: true });
|
|
277
|
-
}
|
|
278
|
-
writeFileSync(configPath, JSON.stringify(config, null, 2) + "\n");
|
|
279
|
-
console.log(`Added ShelbyMCP as "shelby-memory" to ${configPath}`);
|
|
280
|
-
console.log('(Using hyphens, not underscores — Gemini\'s parser breaks on underscores)');
|
|
360
|
+
catch {
|
|
361
|
+
console.log("\nCould not add automatically. Run manually:");
|
|
362
|
+
console.log(" gemini mcp add shelbymcp npx --scope user -- shelbymcp");
|
|
281
363
|
}
|
|
282
|
-
|
|
283
|
-
|
|
364
|
+
// Auto-append Memory Protocol to ~/.gemini/GEMINI.md
|
|
365
|
+
const geminiMdPath = resolve(homedir(), ".gemini/GEMINI.md");
|
|
366
|
+
appendProtocolToFile(geminiMdPath);
|
|
284
367
|
if (forage) {
|
|
285
368
|
printForageInstructions("gemini");
|
|
286
369
|
}
|
|
370
|
+
console.log("\nShelbyMCP installed for Gemini CLI!");
|
|
287
371
|
}
|
|
372
|
+
function setupAntigravity(forage) {
|
|
373
|
+
const configPath = resolve(homedir(), ".gemini/antigravity/mcp_config.json");
|
|
374
|
+
mergeJsonConfig(configPath, buildServerCommand());
|
|
375
|
+
console.log("\nOr add via UI: Agent panel > MCP Servers > Manage MCP Servers");
|
|
376
|
+
// Auto-append Memory Protocol to ~/.gemini/GEMINI.md (shared with Gemini CLI)
|
|
377
|
+
const geminiMdPath = resolve(homedir(), ".gemini/GEMINI.md");
|
|
378
|
+
appendProtocolToFile(geminiMdPath);
|
|
379
|
+
if (forage) {
|
|
380
|
+
printForageInstructions("antigravity");
|
|
381
|
+
}
|
|
382
|
+
console.log("\nShelbyMCP installed for Antigravity!");
|
|
383
|
+
}
|
|
384
|
+
// ---------------------------------------------------------------------------
|
|
385
|
+
// Entry point
|
|
386
|
+
// ---------------------------------------------------------------------------
|
|
288
387
|
export function runSetup(agent, forage) {
|
|
289
388
|
if (!agent) {
|
|
290
389
|
console.log("Usage: shelbymcp setup <agent> [--forage]\n");
|
|
@@ -295,6 +394,7 @@ export function runSetup(agent, forage) {
|
|
|
295
394
|
console.log(" codex OpenAI Codex");
|
|
296
395
|
console.log(" windsurf Windsurf (Codeium)");
|
|
297
396
|
console.log(" gemini Gemini CLI");
|
|
397
|
+
console.log(" antigravity Antigravity (Google)");
|
|
298
398
|
console.log("\nFlags:");
|
|
299
399
|
console.log(" --forage Also set up the Forage enrichment skill");
|
|
300
400
|
return;
|
|
@@ -323,6 +423,9 @@ export function runSetup(agent, forage) {
|
|
|
323
423
|
case "gemini":
|
|
324
424
|
setupGemini(forage);
|
|
325
425
|
break;
|
|
426
|
+
case "antigravity":
|
|
427
|
+
setupAntigravity(forage);
|
|
428
|
+
break;
|
|
326
429
|
}
|
|
327
430
|
}
|
|
328
431
|
//# sourceMappingURL=setup.js.map
|
package/dist/cli/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/cli/uninstall.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/cli/uninstall.ts"],"names":[],"mappings":"AAyNA,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CA6C5D"}
|
package/dist/cli/uninstall.js
CHANGED
|
@@ -2,6 +2,10 @@ import { existsSync, readFileSync, writeFileSync, rmSync } from "node:fs";
|
|
|
2
2
|
import { resolve } from "node:path";
|
|
3
3
|
import { homedir } from "node:os";
|
|
4
4
|
import { execSync } from "node:child_process";
|
|
5
|
+
const isWindows = process.platform === "win32";
|
|
6
|
+
function whichCmd(bin) {
|
|
7
|
+
return isWindows ? `where ${bin}` : `which ${bin}`;
|
|
8
|
+
}
|
|
5
9
|
const AGENTS = [
|
|
6
10
|
"claude-code",
|
|
7
11
|
"claude-desktop",
|
|
@@ -9,11 +13,32 @@ const AGENTS = [
|
|
|
9
13
|
"codex",
|
|
10
14
|
"windsurf",
|
|
11
15
|
"gemini",
|
|
16
|
+
"antigravity",
|
|
12
17
|
];
|
|
13
18
|
function isAgent(name) {
|
|
14
19
|
return AGENTS.includes(name);
|
|
15
20
|
}
|
|
16
|
-
|
|
21
|
+
/** Remove the Memory Protocol section from a file where setup auto-appended it */
|
|
22
|
+
function removeProtocolFromFile(filePath) {
|
|
23
|
+
if (!existsSync(filePath))
|
|
24
|
+
return;
|
|
25
|
+
const content = readFileSync(filePath, "utf-8");
|
|
26
|
+
if (!content.includes("## Memory (ShelbyMCP)"))
|
|
27
|
+
return;
|
|
28
|
+
// Match from "## Memory (ShelbyMCP)" to the next level-2 heading or end of file.
|
|
29
|
+
// Protocol subsections use ### so they won't terminate the match early.
|
|
30
|
+
const cleaned = content.replace(/\n*## Memory \(ShelbyMCP\)\n[\s\S]*?(?=\n## (?!#)|$)/, "").trimEnd();
|
|
31
|
+
if (cleaned.length === 0) {
|
|
32
|
+
// File contained only the protocol — remove the file
|
|
33
|
+
rmSync(filePath);
|
|
34
|
+
console.log(`Removed ${filePath} (was only the Memory Protocol)`);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
writeFileSync(filePath, cleaned + "\n");
|
|
38
|
+
console.log(`Removed Memory Protocol from ${filePath}`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
function removeFromJsonConfig(filePath, serverKey = "shelbymcp") {
|
|
17
42
|
if (!existsSync(filePath)) {
|
|
18
43
|
console.log(`Config file not found: ${filePath}`);
|
|
19
44
|
return false;
|
|
@@ -39,15 +64,15 @@ function removeFromJsonConfig(filePath, serverKey) {
|
|
|
39
64
|
function uninstallClaudeCode() {
|
|
40
65
|
// Remove MCP server via CLI
|
|
41
66
|
try {
|
|
42
|
-
execSync("
|
|
67
|
+
execSync(whichCmd("claude"), { stdio: "ignore" });
|
|
43
68
|
console.log("Removing ShelbyMCP from Claude Code CLI...\n");
|
|
44
69
|
try {
|
|
45
|
-
execSync("claude mcp remove
|
|
70
|
+
execSync("claude mcp remove shelbymcp", { stdio: "inherit" });
|
|
46
71
|
console.log("\nRemoved MCP server from Claude Code CLI.");
|
|
47
72
|
}
|
|
48
73
|
catch {
|
|
49
74
|
console.log("\nCould not remove automatically. Run manually:");
|
|
50
|
-
console.log(" claude mcp remove
|
|
75
|
+
console.log(" claude mcp remove shelbymcp");
|
|
51
76
|
}
|
|
52
77
|
}
|
|
53
78
|
catch {
|
|
@@ -59,8 +84,10 @@ function uninstallClaudeCode() {
|
|
|
59
84
|
rmSync(skillPath, { recursive: true });
|
|
60
85
|
console.log(`\nRemoved Forage skill from ${skillPath}`);
|
|
61
86
|
}
|
|
62
|
-
|
|
63
|
-
|
|
87
|
+
// Remove Memory Protocol from ~/.claude/CLAUDE.md
|
|
88
|
+
const claudeMdPath = resolve(homedir(), ".claude/CLAUDE.md");
|
|
89
|
+
removeProtocolFromFile(claudeMdPath);
|
|
90
|
+
console.log("\nThe database at ~/.shelbymcp/memory.db is NOT deleted — your memories are safe.");
|
|
64
91
|
}
|
|
65
92
|
function uninstallClaudeDesktop() {
|
|
66
93
|
const platform = process.platform;
|
|
@@ -74,7 +101,7 @@ function uninstallClaudeDesktop() {
|
|
|
74
101
|
else {
|
|
75
102
|
configPath = resolve(homedir(), ".config/Claude/claude_desktop_config.json");
|
|
76
103
|
}
|
|
77
|
-
removeFromJsonConfig(configPath
|
|
104
|
+
removeFromJsonConfig(configPath);
|
|
78
105
|
console.log("\nIMPORTANT: Quit and restart Claude Desktop after editing.");
|
|
79
106
|
console.log("\nManual steps:");
|
|
80
107
|
console.log(" - Remove the Memory Protocol from Settings > Profile");
|
|
@@ -83,55 +110,88 @@ function uninstallClaudeDesktop() {
|
|
|
83
110
|
}
|
|
84
111
|
function uninstallCursor() {
|
|
85
112
|
const globalPath = resolve(homedir(), ".cursor/mcp.json");
|
|
86
|
-
removeFromJsonConfig(globalPath
|
|
113
|
+
removeFromJsonConfig(globalPath);
|
|
87
114
|
console.log("\nManual steps:");
|
|
88
|
-
console.log(" -
|
|
115
|
+
console.log(" - Remove the Memory Protocol from Cursor Settings > Rules > User Rules");
|
|
116
|
+
console.log(" - Or delete .cursor/rules/shelbymcp.mdc if using per-project rules");
|
|
89
117
|
console.log(" - Remove any Cursor Automations for Forage (if added)");
|
|
90
118
|
console.log("\nThe database at ~/.shelbymcp/memory.db is NOT deleted — your memories are safe.");
|
|
91
119
|
}
|
|
92
120
|
function uninstallCodex() {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
writeFileSync(configPath, cleaned + "\n");
|
|
100
|
-
console.log(`Removed [mcp_servers.memory] from ${configPath}`);
|
|
121
|
+
// Try CLI removal first
|
|
122
|
+
try {
|
|
123
|
+
execSync(whichCmd("codex"), { stdio: "ignore" });
|
|
124
|
+
try {
|
|
125
|
+
execSync("codex mcp remove shelbymcp", { stdio: "inherit" });
|
|
126
|
+
console.log("Removed MCP server from Codex.");
|
|
101
127
|
}
|
|
102
|
-
|
|
103
|
-
console.log(
|
|
128
|
+
catch {
|
|
129
|
+
console.log("Could not remove via CLI. Check ~/.codex/config.toml manually.");
|
|
104
130
|
}
|
|
105
131
|
}
|
|
106
|
-
|
|
107
|
-
|
|
132
|
+
catch {
|
|
133
|
+
// Fall back to manual TOML removal
|
|
134
|
+
const configPath = resolve(homedir(), ".codex/config.toml");
|
|
135
|
+
if (existsSync(configPath)) {
|
|
136
|
+
const content = readFileSync(configPath, "utf-8");
|
|
137
|
+
const cleaned = content.replace(/\[mcp_servers\.shelbymcp\]\n(?:.*\n)*?(?=\[|$)/g, "").trim();
|
|
138
|
+
if (cleaned !== content.trim()) {
|
|
139
|
+
writeFileSync(configPath, cleaned + "\n");
|
|
140
|
+
console.log(`Removed [mcp_servers.shelbymcp] from ${configPath}`);
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
console.log(`"shelbymcp" server not found in ${configPath}`);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
console.log(`Config file not found: ${configPath}`);
|
|
148
|
+
}
|
|
108
149
|
}
|
|
109
|
-
|
|
110
|
-
|
|
150
|
+
// Remove Memory Protocol from ~/.codex/AGENTS.md
|
|
151
|
+
const agentsMdPath = resolve(homedir(), ".codex/AGENTS.md");
|
|
152
|
+
removeProtocolFromFile(agentsMdPath);
|
|
111
153
|
console.log("\nThe database at ~/.shelbymcp/memory.db is NOT deleted — your memories are safe.");
|
|
112
154
|
}
|
|
113
155
|
function uninstallWindsurf() {
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
else {
|
|
120
|
-
configPath = resolve(homedir(), ".codeium/windsurf/mcp_config.json");
|
|
121
|
-
}
|
|
122
|
-
removeFromJsonConfig(configPath, "memory");
|
|
123
|
-
console.log("\nManual steps:");
|
|
124
|
-
console.log(" - Remove the Memory Protocol from .windsurfrules");
|
|
156
|
+
const configPath = resolve(homedir(), ".codeium/windsurf/mcp_config.json");
|
|
157
|
+
removeFromJsonConfig(configPath);
|
|
158
|
+
// Remove Memory Protocol from global rules
|
|
159
|
+
const globalRulesPath = resolve(homedir(), ".codeium/windsurf/memories/global_rules.md");
|
|
160
|
+
removeProtocolFromFile(globalRulesPath);
|
|
125
161
|
console.log("\nThe database at ~/.shelbymcp/memory.db is NOT deleted — your memories are safe.");
|
|
126
162
|
}
|
|
127
163
|
function uninstallGemini() {
|
|
128
|
-
|
|
129
|
-
|
|
164
|
+
// Try CLI removal first
|
|
165
|
+
try {
|
|
166
|
+
execSync(whichCmd("gemini"), { stdio: "ignore" });
|
|
167
|
+
try {
|
|
168
|
+
execSync("gemini mcp remove shelbymcp --scope user", { stdio: "inherit" });
|
|
169
|
+
console.log("Removed MCP server from Gemini CLI.");
|
|
170
|
+
}
|
|
171
|
+
catch {
|
|
172
|
+
console.log("Could not remove via CLI.");
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
catch {
|
|
176
|
+
// Fall back to manual JSON removal
|
|
177
|
+
const configPath = resolve(homedir(), ".gemini/settings.json");
|
|
178
|
+
removeFromJsonConfig(configPath);
|
|
179
|
+
}
|
|
180
|
+
// Remove Memory Protocol from ~/.gemini/GEMINI.md
|
|
181
|
+
const geminiMdPath = resolve(homedir(), ".gemini/GEMINI.md");
|
|
182
|
+
removeProtocolFromFile(geminiMdPath);
|
|
130
183
|
console.log("\nManual steps:");
|
|
131
|
-
console.log(" - Remove the Memory Protocol from GEMINI.md");
|
|
132
184
|
console.log(" - Delete any Forage scheduled actions (if added)");
|
|
133
185
|
console.log("\nThe database at ~/.shelbymcp/memory.db is NOT deleted — your memories are safe.");
|
|
134
186
|
}
|
|
187
|
+
function uninstallAntigravity() {
|
|
188
|
+
const configPath = resolve(homedir(), ".gemini/antigravity/mcp_config.json");
|
|
189
|
+
removeFromJsonConfig(configPath);
|
|
190
|
+
// Remove Memory Protocol from ~/.gemini/GEMINI.md (shared with Gemini CLI)
|
|
191
|
+
const geminiMdPath2 = resolve(homedir(), ".gemini/GEMINI.md");
|
|
192
|
+
removeProtocolFromFile(geminiMdPath2);
|
|
193
|
+
console.log("\nThe database at ~/.shelbymcp/memory.db is NOT deleted — your memories are safe.");
|
|
194
|
+
}
|
|
135
195
|
export function runUninstall(agent) {
|
|
136
196
|
if (!agent) {
|
|
137
197
|
console.log("Usage: shelbymcp uninstall <agent>\n");
|
|
@@ -144,6 +204,7 @@ export function runUninstall(agent) {
|
|
|
144
204
|
console.log(" codex OpenAI Codex");
|
|
145
205
|
console.log(" windsurf Windsurf (Codeium)");
|
|
146
206
|
console.log(" gemini Gemini CLI");
|
|
207
|
+
console.log(" antigravity Antigravity (Google)");
|
|
147
208
|
return;
|
|
148
209
|
}
|
|
149
210
|
if (!isAgent(agent)) {
|
|
@@ -170,6 +231,9 @@ export function runUninstall(agent) {
|
|
|
170
231
|
case "gemini":
|
|
171
232
|
uninstallGemini();
|
|
172
233
|
break;
|
|
234
|
+
case "antigravity":
|
|
235
|
+
uninstallAntigravity();
|
|
236
|
+
break;
|
|
173
237
|
}
|
|
174
238
|
}
|
|
175
239
|
//# sourceMappingURL=uninstall.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/cli/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,MAAM,GAAG;IACb,aAAa;IACb,gBAAgB;IAChB,QAAQ;IACR,OAAO;IACP,UAAU;IACV,QAAQ;
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/cli/uninstall.ts"],"names":[],"mappings":"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"}
|