@smart-coder-labs/nexusmind-mcp 0.2.4 → 0.2.5
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/dist/setup.js +19 -21
- package/dist/setup.js.map +1 -1
- package/package.json +1 -1
package/dist/setup.js
CHANGED
|
@@ -8,7 +8,8 @@ import { stdin as input, stdout as output } from 'node:process';
|
|
|
8
8
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
9
9
|
const PLUGIN_DIR = join(__dirname, '..', 'plugin');
|
|
10
10
|
const CLAUDE_DIR = join(homedir(), '.claude');
|
|
11
|
-
const SETTINGS_PATH = join(CLAUDE_DIR, 'settings.json');
|
|
11
|
+
const SETTINGS_PATH = join(CLAUDE_DIR, 'settings.json'); // hooks live here
|
|
12
|
+
const CLAUDE_JSON_PATH = join(homedir(), '.claude.json'); // user MCPs live here
|
|
12
13
|
const DEFAULT_BASE_URL = '';
|
|
13
14
|
// ── Helpers ───────────────────────────────────────────────────────────────────
|
|
14
15
|
const c = {
|
|
@@ -23,19 +24,19 @@ const info = (msg) => console.log(`${c.blue}[nexusmind]${c.reset} ${msg}`);
|
|
|
23
24
|
const success = (msg) => console.log(`${c.green}[nexusmind]${c.reset} ${msg}`);
|
|
24
25
|
const warn = (msg) => console.log(`${c.yellow}[nexusmind] WARNING:${c.reset} ${msg}`);
|
|
25
26
|
const err = (msg) => console.error(`${c.red}[nexusmind] ERROR:${c.reset} ${msg}`);
|
|
26
|
-
function
|
|
27
|
-
if (!existsSync(
|
|
27
|
+
function readJson(path) {
|
|
28
|
+
if (!existsSync(path))
|
|
28
29
|
return {};
|
|
29
30
|
try {
|
|
30
|
-
return JSON.parse(readFileSync(
|
|
31
|
+
return JSON.parse(readFileSync(path, 'utf8'));
|
|
31
32
|
}
|
|
32
33
|
catch {
|
|
33
34
|
return {};
|
|
34
35
|
}
|
|
35
36
|
}
|
|
36
|
-
function
|
|
37
|
-
mkdirSync(
|
|
38
|
-
writeFileSync(
|
|
37
|
+
function writeJson(path, data) {
|
|
38
|
+
mkdirSync(dirname(path), { recursive: true });
|
|
39
|
+
writeFileSync(path, JSON.stringify(data, null, 2) + '\n');
|
|
39
40
|
}
|
|
40
41
|
// ── Main ──────────────────────────────────────────────────────────────────────
|
|
41
42
|
console.log(`\n${c.bold}NexusMind — Claude Code Setup${c.reset}`);
|
|
@@ -56,22 +57,23 @@ if (!baseUrl) {
|
|
|
56
57
|
if (!apiKey.trim()) {
|
|
57
58
|
warn('No API key provided — you can set NEXUSMIND_API_KEY later and re-run setup.');
|
|
58
59
|
}
|
|
59
|
-
// 2.
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
const mcpServers = settings.mcpServers ?? {};
|
|
60
|
+
// 2. Write MCP server to ~/.claude.json (user MCPs)
|
|
61
|
+
const claudeJson = readJson(CLAUDE_JSON_PATH);
|
|
62
|
+
const mcpServers = claudeJson.mcpServers ?? {};
|
|
63
63
|
mcpServers['nexusmind'] = {
|
|
64
64
|
command: 'npx',
|
|
65
65
|
args: ['-y', '@smart-coder-labs/nexusmind-mcp'],
|
|
66
66
|
env: {
|
|
67
|
-
NEXUSMIND_API_KEY:
|
|
67
|
+
NEXUSMIND_API_KEY: apiKey.trim(),
|
|
68
68
|
NEXUSMIND_BASE_URL: baseUrl,
|
|
69
69
|
},
|
|
70
70
|
};
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
claudeJson.mcpServers = mcpServers;
|
|
72
|
+
writeJson(CLAUDE_JSON_PATH, claudeJson);
|
|
73
|
+
info(`MCP server entry written to ${CLAUDE_JSON_PATH}`);
|
|
74
|
+
// 3. Merge hooks into ~/.claude/settings.json
|
|
74
75
|
const hooksPath = join(PLUGIN_DIR, 'hooks', 'hooks.json');
|
|
76
|
+
const settings = readJson(SETTINGS_PATH);
|
|
75
77
|
if (existsSync(hooksPath)) {
|
|
76
78
|
const pluginHooks = JSON.parse(readFileSync(hooksPath, 'utf8'));
|
|
77
79
|
const existing = settings.hooks ?? {};
|
|
@@ -79,9 +81,7 @@ if (existsSync(hooksPath)) {
|
|
|
79
81
|
if (!existing[event])
|
|
80
82
|
existing[event] = [];
|
|
81
83
|
for (const entry of entries) {
|
|
82
|
-
// Resolve ${CLAUDE_PLUGIN_ROOT} to actual plugin dir
|
|
83
84
|
const resolved = JSON.parse(JSON.stringify(entry).replaceAll('${CLAUDE_PLUGIN_ROOT}', PLUGIN_DIR));
|
|
84
|
-
// Dedup by command
|
|
85
85
|
const existingCmds = existing[event]
|
|
86
86
|
.flatMap(e => [e.command, ...(e.hooks ?? []).map(h => h.command)])
|
|
87
87
|
.filter(Boolean);
|
|
@@ -92,14 +92,12 @@ if (existsSync(hooksPath)) {
|
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
settings.hooks = existing;
|
|
95
|
-
|
|
95
|
+
writeJson(SETTINGS_PATH, settings);
|
|
96
|
+
info(`Hooks written to ${SETTINGS_PATH}`);
|
|
96
97
|
}
|
|
97
98
|
else {
|
|
98
99
|
warn(`Hooks not found at ${hooksPath} — skipping hooks installation.`);
|
|
99
100
|
}
|
|
100
|
-
// 5. Write settings
|
|
101
|
-
writeSettings(settings);
|
|
102
|
-
success(`Settings written to ${SETTINGS_PATH}`);
|
|
103
101
|
// 6. Persist env vars to shell rc files
|
|
104
102
|
function appendEnvVar(rcFile, name, value) {
|
|
105
103
|
if (!existsSync(rcFile))
|
package/dist/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":";AAMA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AAE/D,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AACzD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;AAClD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAA;AAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
|