conare 0.4.1 → 0.4.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/dist/index.js +27 -20
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1511,7 +1511,7 @@ async function selectChatSources(targets) {
|
|
|
1511
1511
|
return ensureValue(await fe({
|
|
1512
1512
|
message: "Select chat sources",
|
|
1513
1513
|
required: false,
|
|
1514
|
-
initialValues: targets.filter((target) => target.available !== false).map((target) => target.id),
|
|
1514
|
+
initialValues: targets.filter((target) => target.available !== false && (target.detectedCount ?? 0) > 0).map((target) => target.id),
|
|
1515
1515
|
options: targets.map((target) => ({
|
|
1516
1516
|
value: target.id,
|
|
1517
1517
|
label: target.label,
|
|
@@ -2357,7 +2357,7 @@ function configureClaude(apiKey) {
|
|
|
2357
2357
|
stdio: "ignore",
|
|
2358
2358
|
shell: platform5() === "win32"
|
|
2359
2359
|
}).status === 0) {
|
|
2360
|
-
return "Claude Code
|
|
2360
|
+
return "\x1B[32m✓\x1B[0m Claude Code";
|
|
2361
2361
|
}
|
|
2362
2362
|
const config = readJsonFile(claudeConfigPath);
|
|
2363
2363
|
if (!config.mcpServers || typeof config.mcpServers !== "object") {
|
|
@@ -2373,7 +2373,7 @@ function configureClaude(apiKey) {
|
|
|
2373
2373
|
mcpConfig.mcpServers[SERVER_NAME] = getServerConfig(apiKey);
|
|
2374
2374
|
writeJsonFile(claudeMcpPath, mcpConfig);
|
|
2375
2375
|
}
|
|
2376
|
-
return
|
|
2376
|
+
return "\x1B[32m✓\x1B[0m Claude Code";
|
|
2377
2377
|
}
|
|
2378
2378
|
function configureCodex(apiKey) {
|
|
2379
2379
|
const configPath = join7(homedir5(), ".codex", "config.toml");
|
|
@@ -2381,7 +2381,7 @@ function configureCodex(apiKey) {
|
|
|
2381
2381
|
stdio: "ignore",
|
|
2382
2382
|
shell: platform5() === "win32"
|
|
2383
2383
|
}).status === 0) {
|
|
2384
|
-
return "Codex
|
|
2384
|
+
return "\x1B[32m✓\x1B[0m Codex";
|
|
2385
2385
|
}
|
|
2386
2386
|
let toml = "";
|
|
2387
2387
|
try {
|
|
@@ -2424,7 +2424,7 @@ ${newSection}
|
|
|
2424
2424
|
}
|
|
2425
2425
|
}
|
|
2426
2426
|
} catch {}
|
|
2427
|
-
return
|
|
2427
|
+
return "\x1B[32m✓\x1B[0m Codex";
|
|
2428
2428
|
}
|
|
2429
2429
|
function configureCursor(apiKey) {
|
|
2430
2430
|
const configPath = join7(homedir5(), ".cursor", "mcp.json");
|
|
@@ -2437,7 +2437,7 @@ function configureCursor(apiKey) {
|
|
|
2437
2437
|
headers: { Authorization: `Bearer ${apiKey}` }
|
|
2438
2438
|
};
|
|
2439
2439
|
writeJsonFile(configPath, config);
|
|
2440
|
-
return
|
|
2440
|
+
return "\x1B[32m✓\x1B[0m Cursor";
|
|
2441
2441
|
}
|
|
2442
2442
|
function configureWindsurf(apiKey) {
|
|
2443
2443
|
const configPath = join7(homedir5(), ".codeium", "windsurf", "mcp_config.json");
|
|
@@ -2450,7 +2450,7 @@ function configureWindsurf(apiKey) {
|
|
|
2450
2450
|
headers: { Authorization: `Bearer ${apiKey}` }
|
|
2451
2451
|
};
|
|
2452
2452
|
writeJsonFile(configPath, config);
|
|
2453
|
-
return
|
|
2453
|
+
return "\x1B[32m✓\x1B[0m Windsurf";
|
|
2454
2454
|
}
|
|
2455
2455
|
function configureVscode(apiKey) {
|
|
2456
2456
|
const os = platform5();
|
|
@@ -2472,7 +2472,7 @@ function configureVscode(apiKey) {
|
|
|
2472
2472
|
headers: { Authorization: `Bearer ${apiKey}` }
|
|
2473
2473
|
};
|
|
2474
2474
|
writeJsonFile(configPath, config);
|
|
2475
|
-
return
|
|
2475
|
+
return "\x1B[32m✓\x1B[0m VS Code Copilot";
|
|
2476
2476
|
}
|
|
2477
2477
|
function configureCline(apiKey) {
|
|
2478
2478
|
const os = platform5();
|
|
@@ -2494,7 +2494,7 @@ function configureCline(apiKey) {
|
|
|
2494
2494
|
disabled: false
|
|
2495
2495
|
};
|
|
2496
2496
|
writeJsonFile(configPath, config);
|
|
2497
|
-
return
|
|
2497
|
+
return "\x1B[32m✓\x1B[0m Cline";
|
|
2498
2498
|
}
|
|
2499
2499
|
function configureZed(apiKey) {
|
|
2500
2500
|
const os = platform5();
|
|
@@ -2520,7 +2520,7 @@ function configureZed(apiKey) {
|
|
|
2520
2520
|
env: {}
|
|
2521
2521
|
};
|
|
2522
2522
|
writeJsonFile(configPath, config);
|
|
2523
|
-
return
|
|
2523
|
+
return "\x1B[32m✓\x1B[0m Zed";
|
|
2524
2524
|
}
|
|
2525
2525
|
function configureOpenclaw(apiKey) {
|
|
2526
2526
|
const configPath = join7(homedir5(), ".openclaw", "openclaw.json");
|
|
@@ -2534,7 +2534,7 @@ function configureOpenclaw(apiKey) {
|
|
|
2534
2534
|
headers: { Authorization: `Bearer ${apiKey}` }
|
|
2535
2535
|
};
|
|
2536
2536
|
writeJsonFile(configPath, config);
|
|
2537
|
-
return
|
|
2537
|
+
return "\x1B[32m✓\x1B[0m OpenClaw";
|
|
2538
2538
|
}
|
|
2539
2539
|
var CLIENT_CONFIGURATORS = {
|
|
2540
2540
|
claude: configureClaude,
|
|
@@ -2642,14 +2642,14 @@ function installSkill() {
|
|
|
2642
2642
|
if (existsSync6(claudeSkillDir)) {
|
|
2643
2643
|
try {
|
|
2644
2644
|
if (readlinkSync(claudeSkillDir) === skillDir)
|
|
2645
|
-
return "Agent Skill
|
|
2645
|
+
return "\x1B[32m✓\x1B[0m Agent Skill";
|
|
2646
2646
|
} catch {}
|
|
2647
2647
|
rmSync(claudeSkillDir, { recursive: true, force: true });
|
|
2648
2648
|
}
|
|
2649
2649
|
symlinkSync(skillDir, claudeSkillDir);
|
|
2650
2650
|
}
|
|
2651
2651
|
} catch {}
|
|
2652
|
-
return "Agent Skill
|
|
2652
|
+
return "\x1B[32m✓\x1B[0m Agent Skill";
|
|
2653
2653
|
}
|
|
2654
2654
|
function configureMcp(apiKey, targets = ["claude", "codex"]) {
|
|
2655
2655
|
const results = [];
|
|
@@ -3384,8 +3384,8 @@ async function runInstall() {
|
|
|
3384
3384
|
const detected = detectedTools.find((d3) => d3.id === t.id);
|
|
3385
3385
|
return detected?.available || t.defaultSelected;
|
|
3386
3386
|
}).map((t) => t.id);
|
|
3387
|
-
const
|
|
3388
|
-
for (const line of
|
|
3387
|
+
const mcpLines = configureMcp(apiKey, targets);
|
|
3388
|
+
for (const line of mcpLines)
|
|
3389
3389
|
console.log(` ${line}`);
|
|
3390
3390
|
console.log("");
|
|
3391
3391
|
console.log(" \x1B[32m✓\x1B[0m MCP installed. Restart your AI tool to connect.");
|
|
@@ -3463,7 +3463,8 @@ async function main() {
|
|
|
3463
3463
|
}
|
|
3464
3464
|
}
|
|
3465
3465
|
showDetectedApps(interactiveTargets);
|
|
3466
|
-
|
|
3466
|
+
const INGESTIBLE_SOURCES = new Set(["claude", "codex", "cursor"]);
|
|
3467
|
+
selectedSources = await selectChatSources(interactiveTargets.filter((t) => INGESTIBLE_SOURCES.has(t.id)));
|
|
3467
3468
|
interactiveMode = true;
|
|
3468
3469
|
}
|
|
3469
3470
|
if (opts.uninstallSync) {
|
|
@@ -3525,8 +3526,10 @@ async function main() {
|
|
|
3525
3526
|
if (!opts.dryRun) {
|
|
3526
3527
|
const mcpSpinner = Y2();
|
|
3527
3528
|
mcpSpinner.start("Configuring MCP...");
|
|
3528
|
-
const
|
|
3529
|
-
mcpSpinner.stop(
|
|
3529
|
+
const mcpLines = configureMcp(apiKey, selectedTargets);
|
|
3530
|
+
mcpSpinner.stop("MCP configured");
|
|
3531
|
+
for (const line of mcpLines)
|
|
3532
|
+
log(` ${line}`);
|
|
3530
3533
|
}
|
|
3531
3534
|
log("");
|
|
3532
3535
|
log("Done! Conare MCP is configured.");
|
|
@@ -3618,7 +3621,9 @@ Nothing new to index.`);
|
|
|
3618
3621
|
const mcpSpinner = Y2();
|
|
3619
3622
|
mcpSpinner.start("Configuring MCP...");
|
|
3620
3623
|
const mcpLines = configureMcp(apiKey, selectedTargets);
|
|
3621
|
-
mcpSpinner.stop(
|
|
3624
|
+
mcpSpinner.stop("MCP configured");
|
|
3625
|
+
for (const line of mcpLines)
|
|
3626
|
+
log(` ${line}`);
|
|
3622
3627
|
}
|
|
3623
3628
|
log("Done! Your codebase is now searchable via recall.");
|
|
3624
3629
|
return;
|
|
@@ -3777,7 +3782,9 @@ Nothing new to index.`);
|
|
|
3777
3782
|
const mcpSpinner = Y2();
|
|
3778
3783
|
mcpSpinner.start("Configuring MCP...");
|
|
3779
3784
|
const mcpLines = configureMcp(apiKey, selectedTargets);
|
|
3780
|
-
mcpSpinner.stop(
|
|
3785
|
+
mcpSpinner.stop("MCP configured");
|
|
3786
|
+
for (const line of mcpLines)
|
|
3787
|
+
log(` ${line}`);
|
|
3781
3788
|
}
|
|
3782
3789
|
if (postIngestIndexPath) {
|
|
3783
3790
|
const { resolve: resolve2 } = await import("node:path");
|