ruvector 0.2.11 → 0.2.12
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/bin/cli.js +30 -6
- package/bin/mcp-server.js +2 -2
- package/package.json +1 -1
package/bin/cli.js
CHANGED
|
@@ -3551,15 +3551,29 @@ hooksCmd.command('init')
|
|
|
3551
3551
|
}
|
|
3552
3552
|
|
|
3553
3553
|
// MCP server configuration (unless --minimal or --no-mcp)
|
|
3554
|
+
// Note: We only use enabledMcpjsonServers (not mcpServers) to avoid
|
|
3555
|
+
// Claude Code regenerating .mcp.json and stripping user-added fields
|
|
3556
|
+
// like autoStart. See: https://github.com/ruvnet/RuVector/issues/250
|
|
3554
3557
|
if (!opts.minimal && opts.mcp !== false) {
|
|
3555
|
-
|
|
3556
|
-
//
|
|
3557
|
-
|
|
3558
|
-
|
|
3559
|
-
|
|
3560
|
-
|
|
3558
|
+
// Only reference servers via enabledMcpjsonServers — never write mcpServers: {}
|
|
3559
|
+
// which can trigger Claude Code to regenerate .mcp.json
|
|
3560
|
+
const mcpJsonPath = path.join(process.cwd(), '.mcp.json');
|
|
3561
|
+
let mcpJson = {};
|
|
3562
|
+
if (fs.existsSync(mcpJsonPath)) {
|
|
3563
|
+
try { mcpJson = JSON.parse(fs.readFileSync(mcpJsonPath, 'utf-8')); } catch {}
|
|
3564
|
+
}
|
|
3565
|
+
// Only add to enabledMcpjsonServers if the server is defined in .mcp.json
|
|
3566
|
+
if (mcpJson.mcpServers?.['claude-flow'] || mcpJson.mcpServers?.['ruvector']) {
|
|
3567
|
+
const serverName = mcpJson.mcpServers['ruvector'] ? 'ruvector' : 'claude-flow';
|
|
3568
|
+
if (!settings.enabledMcpjsonServers?.includes(serverName)) {
|
|
3569
|
+
settings.enabledMcpjsonServers = settings.enabledMcpjsonServers || [];
|
|
3570
|
+
settings.enabledMcpjsonServers.push(serverName);
|
|
3561
3571
|
}
|
|
3562
3572
|
}
|
|
3573
|
+
// Remove stale mcpServers: {} that could trigger .mcp.json regeneration
|
|
3574
|
+
if (settings.mcpServers && Object.keys(settings.mcpServers).length === 0) {
|
|
3575
|
+
delete settings.mcpServers;
|
|
3576
|
+
}
|
|
3563
3577
|
console.log(chalk.blue(' ✓ MCP servers configured'));
|
|
3564
3578
|
}
|
|
3565
3579
|
|
|
@@ -5769,6 +5783,16 @@ hooksCmd.command('doctor')
|
|
|
5769
5783
|
};
|
|
5770
5784
|
Object.values(settings.hooks || {}).forEach(checkCommands);
|
|
5771
5785
|
|
|
5786
|
+
// Remove empty mcpServers that can cause .mcp.json overwrites (#250)
|
|
5787
|
+
if (settings.mcpServers && Object.keys(settings.mcpServers).length === 0) {
|
|
5788
|
+
if (opts.fix) {
|
|
5789
|
+
delete settings.mcpServers;
|
|
5790
|
+
fixes.push('Removed empty mcpServers to prevent .mcp.json overwrites');
|
|
5791
|
+
} else {
|
|
5792
|
+
issues.push({ severity: 'warning', message: 'Empty mcpServers in settings.json can cause .mcp.json overwrites', fix: 'Will remove empty mcpServers' });
|
|
5793
|
+
}
|
|
5794
|
+
}
|
|
5795
|
+
|
|
5772
5796
|
// Save fixes
|
|
5773
5797
|
if (opts.fix && fixes.length > 0) {
|
|
5774
5798
|
fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2));
|
package/bin/mcp-server.js
CHANGED
|
@@ -428,7 +428,7 @@ class Intelligence {
|
|
|
428
428
|
const server = new Server(
|
|
429
429
|
{
|
|
430
430
|
name: 'ruvector',
|
|
431
|
-
version: '0.2.
|
|
431
|
+
version: '0.2.12',
|
|
432
432
|
},
|
|
433
433
|
{
|
|
434
434
|
capabilities: {
|
|
@@ -4132,7 +4132,7 @@ async function main() {
|
|
|
4132
4132
|
transport: 'sse',
|
|
4133
4133
|
sessions: sessions.size,
|
|
4134
4134
|
tools: 91,
|
|
4135
|
-
version: '0.2.
|
|
4135
|
+
version: '0.2.12'
|
|
4136
4136
|
}));
|
|
4137
4137
|
|
|
4138
4138
|
} else {
|