@nex-ai/nex 0.1.18 → 0.1.19
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 +42 -23
- package/dist/commands/integrate.js +10 -1
- package/dist/commands/integrate.js.map +1 -1
- package/dist/commands/setup.d.ts +5 -4
- package/dist/commands/setup.js +131 -39
- package/dist/commands/setup.js.map +1 -1
- package/dist/lib/installers.d.ts +62 -5
- package/dist/lib/installers.js +373 -34
- package/dist/lib/installers.js.map +1 -1
- package/dist/lib/platform-detect.d.ts +7 -0
- package/dist/lib/platform-detect.js +150 -8
- package/dist/lib/platform-detect.js.map +1 -1
- package/dist/lib/project-config.js +1 -1
- package/dist/plugin/adapters/cline-capture.d.ts +7 -0
- package/dist/plugin/adapters/cline-capture.js +25 -0
- package/dist/plugin/adapters/cline-capture.js.map +1 -0
- package/dist/plugin/adapters/cline-recall.d.ts +7 -0
- package/dist/plugin/adapters/cline-recall.js +30 -0
- package/dist/plugin/adapters/cline-recall.js.map +1 -0
- package/dist/plugin/adapters/cline-task-start.d.ts +7 -0
- package/dist/plugin/adapters/cline-task-start.js +30 -0
- package/dist/plugin/adapters/cline-task-start.js.map +1 -0
- package/dist/plugin/adapters/cursor-recall.d.ts +7 -0
- package/dist/plugin/adapters/cursor-recall.js +31 -0
- package/dist/plugin/adapters/cursor-recall.js.map +1 -0
- package/dist/plugin/adapters/cursor-session-start.d.ts +7 -0
- package/dist/plugin/adapters/cursor-session-start.js +30 -0
- package/dist/plugin/adapters/cursor-session-start.js.map +1 -0
- package/dist/plugin/adapters/cursor-stop.d.ts +7 -0
- package/dist/plugin/adapters/cursor-stop.js +25 -0
- package/dist/plugin/adapters/cursor-stop.js.map +1 -0
- package/dist/plugin/adapters/windsurf-capture.d.ts +7 -0
- package/dist/plugin/adapters/windsurf-capture.js +25 -0
- package/dist/plugin/adapters/windsurf-capture.js.map +1 -0
- package/dist/plugin/adapters/windsurf-recall.d.ts +7 -0
- package/dist/plugin/adapters/windsurf-recall.js +31 -0
- package/dist/plugin/adapters/windsurf-recall.js.map +1 -0
- package/dist/plugin/auto-capture.js +5 -106
- package/dist/plugin/auto-capture.js.map +1 -1
- package/dist/plugin/auto-recall.js +5 -79
- package/dist/plugin/auto-recall.js.map +1 -1
- package/dist/plugin/auto-session-start.d.ts +0 -3
- package/dist/plugin/auto-session-start.js +8 -114
- package/dist/plugin/auto-session-start.js.map +1 -1
- package/dist/plugin/shared.d.ts +38 -0
- package/dist/plugin/shared.js +241 -0
- package/dist/plugin/shared.js.map +1 -0
- package/package.json +3 -1
- package/platform-plugins/continue-provider.ts +62 -0
- package/platform-plugins/kilocode-modes.yaml +17 -0
- package/platform-plugins/opencode-plugin.ts +103 -0
- package/platform-plugins/vscode-agent.md +34 -0
- package/platform-plugins/windsurf-workflows/nex-ask.md +10 -0
- package/platform-plugins/windsurf-workflows/nex-remember.md +10 -0
- package/platform-plugins/windsurf-workflows/nex-search.md +10 -0
- package/platform-rules/aider-conventions.md +38 -0
- package/platform-rules/cline-rules.md +34 -0
- package/platform-rules/continue-rules.md +34 -0
- package/platform-rules/cursor-rules.md +34 -0
- package/platform-rules/kilocode-rules.md +34 -0
- package/platform-rules/opencode-agents.md +38 -0
- package/platform-rules/vscode-instructions.md +38 -0
- package/platform-rules/windsurf-rules.md +34 -0
- package/platform-rules/zed-rules.md +38 -0
package/dist/lib/installers.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Platform-specific installers for Nex MCP server
|
|
2
|
+
* Platform-specific installers for Nex MCP server, hooks, plugins, agents, and workflows.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* -
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Installation hierarchy (per platform):
|
|
5
|
+
* 1. Hooks (event-driven scripts)
|
|
6
|
+
* 2. Custom tools/plugins (OpenCode plugin, OpenClaw plugin)
|
|
7
|
+
* 3. Custom agents/modes (VS Code agent, Kilo Code mode)
|
|
8
|
+
* 4. Workflows/slash commands (Windsurf workflows)
|
|
9
|
+
* 5. Rules (instruction files)
|
|
10
|
+
* 6. MCP (tool protocol)
|
|
8
11
|
*/
|
|
9
12
|
import type { Platform } from "./platform-detect.js";
|
|
10
13
|
export declare function installMcpServer(platform: Platform, apiKey: string): {
|
|
@@ -16,4 +19,58 @@ export declare function installClaudeCodePlugin(): {
|
|
|
16
19
|
hooksAdded: string[];
|
|
17
20
|
commandsCopied: string[];
|
|
18
21
|
};
|
|
22
|
+
/**
|
|
23
|
+
* Install hook scripts for platforms that support event-driven hooks.
|
|
24
|
+
* Each platform has its own adapter scripts in dist/plugin/adapters/.
|
|
25
|
+
*/
|
|
26
|
+
export declare function installHooks(platform: Platform): {
|
|
27
|
+
installed: boolean;
|
|
28
|
+
hooksAdded: string[];
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Install OpenCode plugin template to .opencode/plugins/nex.ts.
|
|
32
|
+
*/
|
|
33
|
+
export declare function installOpenCodePlugin(): {
|
|
34
|
+
installed: boolean;
|
|
35
|
+
pluginPath: string;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Install OpenClaw plugin via CLI.
|
|
39
|
+
*/
|
|
40
|
+
export declare function installOpenClawPlugin(apiKey: string): {
|
|
41
|
+
installed: boolean;
|
|
42
|
+
message: string;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Install VS Code custom agent (.github/agents/nex.agent.md).
|
|
46
|
+
*/
|
|
47
|
+
export declare function installVSCodeAgent(): {
|
|
48
|
+
installed: boolean;
|
|
49
|
+
agentPath: string;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Install Kilo Code custom mode (.kilocodemodes YAML).
|
|
53
|
+
*/
|
|
54
|
+
export declare function installKiloCodeMode(): {
|
|
55
|
+
installed: boolean;
|
|
56
|
+
modePath: string;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Install Continue.dev context provider template.
|
|
60
|
+
*/
|
|
61
|
+
export declare function installContinueProvider(): {
|
|
62
|
+
installed: boolean;
|
|
63
|
+
providerPath: string;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Install Windsurf workflow files (slash commands).
|
|
67
|
+
*/
|
|
68
|
+
export declare function installWindsurfWorkflows(): {
|
|
69
|
+
installed: boolean;
|
|
70
|
+
workflowCount: number;
|
|
71
|
+
};
|
|
72
|
+
export declare function installRulesFile(platform: Platform): {
|
|
73
|
+
installed: boolean;
|
|
74
|
+
rulesPath: string;
|
|
75
|
+
};
|
|
19
76
|
export declare function syncApiKeyToMcpConfig(apiKey: string): void;
|
package/dist/lib/installers.js
CHANGED
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Platform-specific installers for Nex MCP server
|
|
2
|
+
* Platform-specific installers for Nex MCP server, hooks, plugins, agents, and workflows.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* -
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Installation hierarchy (per platform):
|
|
5
|
+
* 1. Hooks (event-driven scripts)
|
|
6
|
+
* 2. Custom tools/plugins (OpenCode plugin, OpenClaw plugin)
|
|
7
|
+
* 3. Custom agents/modes (VS Code agent, Kilo Code mode)
|
|
8
|
+
* 4. Workflows/slash commands (Windsurf workflows)
|
|
9
|
+
* 5. Rules (instruction files)
|
|
10
|
+
* 6. MCP (tool protocol)
|
|
8
11
|
*/
|
|
9
12
|
import { readFileSync, writeFileSync, mkdirSync, existsSync, readdirSync, unlinkSync, copyFileSync } from "node:fs";
|
|
10
13
|
import { join, dirname } from "node:path";
|
|
11
14
|
import { homedir } from "node:os";
|
|
12
15
|
import { fileURLToPath } from "node:url";
|
|
16
|
+
import { execFileSync } from "node:child_process";
|
|
13
17
|
const __filename = fileURLToPath(import.meta.url);
|
|
14
18
|
const __dirname = dirname(__filename);
|
|
15
19
|
const MCP_SERVER_ENTRY = {
|
|
@@ -17,7 +21,7 @@ const MCP_SERVER_ENTRY = {
|
|
|
17
21
|
args: ["-y", "@nex-crm/mcp-server"],
|
|
18
22
|
env: {},
|
|
19
23
|
};
|
|
20
|
-
//
|
|
24
|
+
// ── Shared helpers ──────────────────────────────────────────────────────
|
|
21
25
|
function readJsonFile(path) {
|
|
22
26
|
try {
|
|
23
27
|
const raw = readFileSync(path, "utf-8");
|
|
@@ -31,7 +35,32 @@ function writeJsonFile(path, data) {
|
|
|
31
35
|
mkdirSync(dirname(path), { recursive: true });
|
|
32
36
|
writeFileSync(path, JSON.stringify(data, null, 2) + "\n", "utf-8");
|
|
33
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Resolve bundled plugin paths.
|
|
40
|
+
* From dist/lib/installers.js:
|
|
41
|
+
* __dirname = <pkg>/dist/lib/
|
|
42
|
+
* dist/plugin/ = __dirname/../plugin/
|
|
43
|
+
* plugin-commands/ = __dirname/../../plugin-commands/
|
|
44
|
+
* platform-plugins/ = __dirname/../../platform-plugins/
|
|
45
|
+
* platform-rules/ = __dirname/../../platform-rules/
|
|
46
|
+
*/
|
|
47
|
+
function getPluginDistDir() {
|
|
48
|
+
return join(__dirname, "..", "plugin");
|
|
49
|
+
}
|
|
50
|
+
function getPluginCommandsDir() {
|
|
51
|
+
return join(__dirname, "..", "..", "plugin-commands");
|
|
52
|
+
}
|
|
53
|
+
function getPluginRulesDir() {
|
|
54
|
+
return join(__dirname, "..", "..", "platform-rules");
|
|
55
|
+
}
|
|
56
|
+
function getPlatformPluginsDir() {
|
|
57
|
+
return join(__dirname, "..", "..", "platform-plugins");
|
|
58
|
+
}
|
|
59
|
+
// ── 1. Generic MCP Installer ───────────────────────────────────────────
|
|
34
60
|
export function installMcpServer(platform, apiKey) {
|
|
61
|
+
if (!platform.configPath) {
|
|
62
|
+
return { installed: false, configPath: "" };
|
|
63
|
+
}
|
|
35
64
|
const entry = {
|
|
36
65
|
...MCP_SERVER_ENTRY,
|
|
37
66
|
env: { NEX_API_KEY: apiKey },
|
|
@@ -63,8 +92,6 @@ function installZedMcp(configPath, entry) {
|
|
|
63
92
|
return { installed: true, configPath };
|
|
64
93
|
}
|
|
65
94
|
function installContinueMcp(configPath, apiKey) {
|
|
66
|
-
// Continue.dev can also accept JSON in a separate mcpServers config
|
|
67
|
-
// Write a simple JSON file alongside the YAML
|
|
68
95
|
const mcpPath = configPath.replace("config.yaml", "mcp.json");
|
|
69
96
|
const config = readJsonFile(mcpPath);
|
|
70
97
|
if (!config.mcpServers || typeof config.mcpServers !== "object") {
|
|
@@ -77,22 +104,6 @@ function installContinueMcp(configPath, apiKey) {
|
|
|
77
104
|
writeJsonFile(mcpPath, config);
|
|
78
105
|
return { installed: true, configPath: mcpPath };
|
|
79
106
|
}
|
|
80
|
-
/**
|
|
81
|
-
* Resolve bundled plugin paths.
|
|
82
|
-
* Plugin source is compiled into dist/plugin/ alongside the CLI.
|
|
83
|
-
* Slash commands are at plugin-commands/ in the package root.
|
|
84
|
-
*
|
|
85
|
-
* From dist/lib/installers.js:
|
|
86
|
-
* __dirname = <pkg>/dist/lib/
|
|
87
|
-
* dist/plugin/ = __dirname/../plugin/
|
|
88
|
-
* plugin-commands/ = __dirname/../../plugin-commands/
|
|
89
|
-
*/
|
|
90
|
-
function getPluginDistDir() {
|
|
91
|
-
return join(__dirname, "..", "plugin");
|
|
92
|
-
}
|
|
93
|
-
function getPluginCommandsDir() {
|
|
94
|
-
return join(__dirname, "..", "..", "plugin-commands");
|
|
95
|
-
}
|
|
96
107
|
export function installClaudeCodePlugin() {
|
|
97
108
|
const home = homedir();
|
|
98
109
|
const claudeDir = join(home, ".claude");
|
|
@@ -172,29 +183,357 @@ export function installClaudeCodePlugin() {
|
|
|
172
183
|
continue;
|
|
173
184
|
const target = join(commandsDir, entry);
|
|
174
185
|
const source = join(sourceCommandsDir, entry);
|
|
175
|
-
// Remove stale symlink or existing file, then copy fresh
|
|
176
186
|
try {
|
|
177
187
|
unlinkSync(target);
|
|
178
188
|
}
|
|
179
|
-
catch {
|
|
180
|
-
// File didn't exist — fine
|
|
181
|
-
}
|
|
189
|
+
catch { /* File didn't exist */ }
|
|
182
190
|
try {
|
|
183
191
|
copyFileSync(source, target);
|
|
184
192
|
commandsCopied.push(entry);
|
|
185
193
|
}
|
|
186
|
-
catch {
|
|
187
|
-
// Copy failed — non-critical
|
|
188
|
-
}
|
|
194
|
+
catch { /* Copy failed — non-critical */ }
|
|
189
195
|
}
|
|
190
196
|
}
|
|
197
|
+
catch { /* Commands dir read failed — non-critical */ }
|
|
198
|
+
}
|
|
199
|
+
return { installed: true, hooksAdded, commandsCopied };
|
|
200
|
+
}
|
|
201
|
+
// ── 3. Hook Installers (Cursor, Windsurf, Cline) ──────────────────────
|
|
202
|
+
/**
|
|
203
|
+
* Install hook scripts for platforms that support event-driven hooks.
|
|
204
|
+
* Each platform has its own adapter scripts in dist/plugin/adapters/.
|
|
205
|
+
*/
|
|
206
|
+
export function installHooks(platform) {
|
|
207
|
+
// Claude Code handled separately via installClaudeCodePlugin
|
|
208
|
+
if (platform.id === "claude-code") {
|
|
209
|
+
return { installed: false, hooksAdded: [] };
|
|
210
|
+
}
|
|
211
|
+
const adapterDir = join(getPluginDistDir(), "adapters");
|
|
212
|
+
if (!existsSync(adapterDir)) {
|
|
213
|
+
return { installed: false, hooksAdded: [] };
|
|
214
|
+
}
|
|
215
|
+
if (platform.id === "cursor")
|
|
216
|
+
return installCursorHooks(adapterDir, platform);
|
|
217
|
+
if (platform.id === "windsurf")
|
|
218
|
+
return installWindsurfHooks(adapterDir, platform);
|
|
219
|
+
if (platform.id === "cline")
|
|
220
|
+
return installClineHooks(adapterDir, platform);
|
|
221
|
+
return { installed: false, hooksAdded: [] };
|
|
222
|
+
}
|
|
223
|
+
function installCursorHooks(adapterDir, platform) {
|
|
224
|
+
const hookConfigPath = platform.hookConfigPath;
|
|
225
|
+
if (!hookConfigPath)
|
|
226
|
+
return { installed: false, hooksAdded: [] };
|
|
227
|
+
const config = readJsonFile(hookConfigPath);
|
|
228
|
+
if (!config.hooks || typeof config.hooks !== "object") {
|
|
229
|
+
config.hooks = {};
|
|
230
|
+
}
|
|
231
|
+
const hooks = config.hooks;
|
|
232
|
+
const hooksAdded = [];
|
|
233
|
+
const cursorHookDefs = [
|
|
234
|
+
{ event: "sessionStart", script: "cursor-session-start.js", timeout: 120000 },
|
|
235
|
+
{ event: "userPromptSubmit", script: "cursor-recall.js", timeout: 10000 },
|
|
236
|
+
{ event: "stop", script: "cursor-stop.js", timeout: 10000 },
|
|
237
|
+
];
|
|
238
|
+
for (const def of cursorHookDefs) {
|
|
239
|
+
const scriptPath = join(adapterDir, def.script);
|
|
240
|
+
if (!existsSync(scriptPath))
|
|
241
|
+
continue;
|
|
242
|
+
if (!hooks[def.event])
|
|
243
|
+
hooks[def.event] = [];
|
|
244
|
+
// Remove existing nex hooks
|
|
245
|
+
hooks[def.event] = hooks[def.event].filter((h) => !String(h.command ?? "").includes("nex"));
|
|
246
|
+
hooks[def.event].push({
|
|
247
|
+
type: "command",
|
|
248
|
+
command: `node ${scriptPath}`,
|
|
249
|
+
timeout: def.timeout,
|
|
250
|
+
});
|
|
251
|
+
hooksAdded.push(def.event);
|
|
252
|
+
}
|
|
253
|
+
writeJsonFile(hookConfigPath, config);
|
|
254
|
+
return { installed: true, hooksAdded };
|
|
255
|
+
}
|
|
256
|
+
function installWindsurfHooks(adapterDir, platform) {
|
|
257
|
+
const hookConfigPath = platform.hookConfigPath;
|
|
258
|
+
if (!hookConfigPath)
|
|
259
|
+
return { installed: false, hooksAdded: [] };
|
|
260
|
+
const config = readJsonFile(hookConfigPath);
|
|
261
|
+
if (!config.hooks || typeof config.hooks !== "object") {
|
|
262
|
+
config.hooks = {};
|
|
263
|
+
}
|
|
264
|
+
const hooks = config.hooks;
|
|
265
|
+
const hooksAdded = [];
|
|
266
|
+
const windsurfHookDefs = [
|
|
267
|
+
{ event: "pre_user_prompt", script: "windsurf-recall.js", timeout: 10000 },
|
|
268
|
+
{ event: "post_cascade_response", script: "windsurf-capture.js", timeout: 10000 },
|
|
269
|
+
];
|
|
270
|
+
for (const def of windsurfHookDefs) {
|
|
271
|
+
const scriptPath = join(adapterDir, def.script);
|
|
272
|
+
if (!existsSync(scriptPath))
|
|
273
|
+
continue;
|
|
274
|
+
if (!hooks[def.event])
|
|
275
|
+
hooks[def.event] = [];
|
|
276
|
+
hooks[def.event] = hooks[def.event].filter((h) => !String(h.command ?? "").includes("nex"));
|
|
277
|
+
hooks[def.event].push({
|
|
278
|
+
type: "command",
|
|
279
|
+
command: `node ${scriptPath}`,
|
|
280
|
+
timeout: def.timeout,
|
|
281
|
+
});
|
|
282
|
+
hooksAdded.push(def.event);
|
|
283
|
+
}
|
|
284
|
+
writeJsonFile(hookConfigPath, config);
|
|
285
|
+
return { installed: true, hooksAdded };
|
|
286
|
+
}
|
|
287
|
+
function installClineHooks(adapterDir, platform) {
|
|
288
|
+
// Cline uses executable files in .clinerules/hooks/
|
|
289
|
+
const hookDir = platform.hookConfigPath;
|
|
290
|
+
if (!hookDir)
|
|
291
|
+
return { installed: false, hooksAdded: [] };
|
|
292
|
+
mkdirSync(hookDir, { recursive: true });
|
|
293
|
+
const hooksAdded = [];
|
|
294
|
+
const clineHookDefs = [
|
|
295
|
+
{ event: "UserPromptSubmit", script: "cline-recall.js" },
|
|
296
|
+
{ event: "TaskStart", script: "cline-task-start.js" },
|
|
297
|
+
{ event: "TaskComplete", script: "cline-capture.js" },
|
|
298
|
+
];
|
|
299
|
+
for (const def of clineHookDefs) {
|
|
300
|
+
const scriptPath = join(adapterDir, def.script);
|
|
301
|
+
if (!existsSync(scriptPath))
|
|
302
|
+
continue;
|
|
303
|
+
// Write a shell wrapper that invokes node with the adapter script
|
|
304
|
+
const wrapperPath = join(hookDir, `nex-${def.event.toLowerCase()}`);
|
|
305
|
+
const wrapper = `#!/usr/bin/env sh\nexec node "${scriptPath}" "$@"\n`;
|
|
306
|
+
writeFileSync(wrapperPath, wrapper, { mode: 0o755 });
|
|
307
|
+
hooksAdded.push(def.event);
|
|
308
|
+
}
|
|
309
|
+
return { installed: true, hooksAdded };
|
|
310
|
+
}
|
|
311
|
+
// ── 4. Custom Tool/Plugin Installers ───────────────────────────────────
|
|
312
|
+
/**
|
|
313
|
+
* Install OpenCode plugin template to .opencode/plugins/nex.ts.
|
|
314
|
+
*/
|
|
315
|
+
export function installOpenCodePlugin() {
|
|
316
|
+
const templatePath = join(getPlatformPluginsDir(), "opencode-plugin.ts");
|
|
317
|
+
if (!existsSync(templatePath)) {
|
|
318
|
+
return { installed: false, pluginPath: "" };
|
|
319
|
+
}
|
|
320
|
+
const targetDir = join(process.cwd(), ".opencode", "plugins");
|
|
321
|
+
const targetPath = join(targetDir, "nex.ts");
|
|
322
|
+
mkdirSync(targetDir, { recursive: true });
|
|
323
|
+
copyFileSync(templatePath, targetPath);
|
|
324
|
+
return { installed: true, pluginPath: targetPath };
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* Install OpenClaw plugin via CLI.
|
|
328
|
+
*/
|
|
329
|
+
export function installOpenClawPlugin(apiKey) {
|
|
330
|
+
// Check if openclaw CLI is available
|
|
331
|
+
let hasOpenClaw = false;
|
|
332
|
+
try {
|
|
333
|
+
execFileSync("which", ["openclaw"], { stdio: "ignore" });
|
|
334
|
+
hasOpenClaw = true;
|
|
335
|
+
}
|
|
336
|
+
catch { /* not installed */ }
|
|
337
|
+
if (!hasOpenClaw) {
|
|
338
|
+
return {
|
|
339
|
+
installed: false,
|
|
340
|
+
message: "Install OpenClaw to enable: https://docs.openclaw.ai/install",
|
|
341
|
+
};
|
|
342
|
+
}
|
|
343
|
+
// Check if plugin already installed
|
|
344
|
+
const configPath = join(homedir(), ".openclaw", "openclaw.json");
|
|
345
|
+
const config = readJsonFile(configPath);
|
|
346
|
+
const plugins = (config.plugins ?? {});
|
|
347
|
+
const entries = (plugins.entries ?? {});
|
|
348
|
+
if (!entries.nex) {
|
|
349
|
+
// Install the plugin
|
|
350
|
+
try {
|
|
351
|
+
execFileSync("openclaw", ["plugins", "install", "@nex-ai/openclaw-plugin"], {
|
|
352
|
+
stdio: "ignore",
|
|
353
|
+
timeout: 30_000,
|
|
354
|
+
});
|
|
355
|
+
}
|
|
191
356
|
catch {
|
|
192
|
-
|
|
357
|
+
return { installed: false, message: "Failed to install OpenClaw plugin" };
|
|
193
358
|
}
|
|
194
359
|
}
|
|
195
|
-
|
|
360
|
+
// Configure API key
|
|
361
|
+
const freshConfig = readJsonFile(configPath);
|
|
362
|
+
const freshPlugins = (freshConfig.plugins ?? {});
|
|
363
|
+
const freshEntries = (freshPlugins.entries ?? {});
|
|
364
|
+
if (!freshEntries.nex)
|
|
365
|
+
freshEntries.nex = {};
|
|
366
|
+
if (!freshEntries.nex.config)
|
|
367
|
+
freshEntries.nex.config = {};
|
|
368
|
+
freshEntries.nex.config.apiKey = apiKey;
|
|
369
|
+
freshEntries.nex.enabled = true;
|
|
370
|
+
freshPlugins.entries = freshEntries;
|
|
371
|
+
freshConfig.plugins = freshPlugins;
|
|
372
|
+
writeJsonFile(configPath, freshConfig);
|
|
373
|
+
return { installed: true, message: "OpenClaw plugin installed and configured" };
|
|
374
|
+
}
|
|
375
|
+
// ── 5. Custom Agent/Mode Installers ────────────────────────────────────
|
|
376
|
+
/**
|
|
377
|
+
* Install VS Code custom agent (.github/agents/nex.agent.md).
|
|
378
|
+
*/
|
|
379
|
+
export function installVSCodeAgent() {
|
|
380
|
+
const templatePath = join(getPlatformPluginsDir(), "vscode-agent.md");
|
|
381
|
+
if (!existsSync(templatePath)) {
|
|
382
|
+
return { installed: false, agentPath: "" };
|
|
383
|
+
}
|
|
384
|
+
const targetDir = join(process.cwd(), ".github", "agents");
|
|
385
|
+
const targetPath = join(targetDir, "nex.agent.md");
|
|
386
|
+
mkdirSync(targetDir, { recursive: true });
|
|
387
|
+
copyFileSync(templatePath, targetPath);
|
|
388
|
+
return { installed: true, agentPath: targetPath };
|
|
389
|
+
}
|
|
390
|
+
/**
|
|
391
|
+
* Install Kilo Code custom mode (.kilocodemodes YAML).
|
|
392
|
+
*/
|
|
393
|
+
export function installKiloCodeMode() {
|
|
394
|
+
const templatePath = join(getPlatformPluginsDir(), "kilocode-modes.yaml");
|
|
395
|
+
if (!existsSync(templatePath)) {
|
|
396
|
+
return { installed: false, modePath: "" };
|
|
397
|
+
}
|
|
398
|
+
const targetPath = join(process.cwd(), ".kilocodemodes");
|
|
399
|
+
// Read existing modes file if present
|
|
400
|
+
let existing = "";
|
|
401
|
+
try {
|
|
402
|
+
existing = readFileSync(targetPath, "utf-8");
|
|
403
|
+
}
|
|
404
|
+
catch { /* doesn't exist */ }
|
|
405
|
+
// If already has nex-crm mode, skip
|
|
406
|
+
if (existing.includes("nex-crm")) {
|
|
407
|
+
return { installed: true, modePath: targetPath };
|
|
408
|
+
}
|
|
409
|
+
const template = readFileSync(templatePath, "utf-8");
|
|
410
|
+
if (existing) {
|
|
411
|
+
// Append to existing customModes
|
|
412
|
+
// Remove the "customModes:" header from template since it already exists
|
|
413
|
+
const modesContent = template.replace(/^customModes:\s*\n/, "");
|
|
414
|
+
writeFileSync(targetPath, existing.trimEnd() + "\n" + modesContent, "utf-8");
|
|
415
|
+
}
|
|
416
|
+
else {
|
|
417
|
+
writeFileSync(targetPath, template, "utf-8");
|
|
418
|
+
}
|
|
419
|
+
return { installed: true, modePath: targetPath };
|
|
420
|
+
}
|
|
421
|
+
/**
|
|
422
|
+
* Install Continue.dev context provider template.
|
|
423
|
+
*/
|
|
424
|
+
export function installContinueProvider() {
|
|
425
|
+
const templatePath = join(getPlatformPluginsDir(), "continue-provider.ts");
|
|
426
|
+
if (!existsSync(templatePath)) {
|
|
427
|
+
return { installed: false, providerPath: "" };
|
|
428
|
+
}
|
|
429
|
+
const continueBase = existsSync(join(process.cwd(), ".continue"))
|
|
430
|
+
? join(process.cwd(), ".continue")
|
|
431
|
+
: join(homedir(), ".continue");
|
|
432
|
+
const targetDir = join(continueBase, ".plugins");
|
|
433
|
+
const targetPath = join(targetDir, "nex-provider.ts");
|
|
434
|
+
mkdirSync(targetDir, { recursive: true });
|
|
435
|
+
copyFileSync(templatePath, targetPath);
|
|
436
|
+
return { installed: true, providerPath: targetPath };
|
|
437
|
+
}
|
|
438
|
+
// ── 6. Workflow Installers ─────────────────────────────────────────────
|
|
439
|
+
/**
|
|
440
|
+
* Install Windsurf workflow files (slash commands).
|
|
441
|
+
*/
|
|
442
|
+
export function installWindsurfWorkflows() {
|
|
443
|
+
const sourceDir = join(getPlatformPluginsDir(), "windsurf-workflows");
|
|
444
|
+
if (!existsSync(sourceDir)) {
|
|
445
|
+
return { installed: false, workflowCount: 0 };
|
|
446
|
+
}
|
|
447
|
+
const targetDir = join(process.cwd(), ".windsurf", "workflows");
|
|
448
|
+
mkdirSync(targetDir, { recursive: true });
|
|
449
|
+
let count = 0;
|
|
450
|
+
try {
|
|
451
|
+
const entries = readdirSync(sourceDir);
|
|
452
|
+
for (const entry of entries) {
|
|
453
|
+
if (!entry.endsWith(".md"))
|
|
454
|
+
continue;
|
|
455
|
+
copyFileSync(join(sourceDir, entry), join(targetDir, entry));
|
|
456
|
+
count++;
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
catch { /* non-critical */ }
|
|
460
|
+
return { installed: count > 0, workflowCount: count };
|
|
461
|
+
}
|
|
462
|
+
// ── 7. Rules File Installer ────────────────────────────────────────────
|
|
463
|
+
const NEX_RULES_MARKER_START = "# --- Nex Context & Memory ---";
|
|
464
|
+
const NEX_RULES_MARKER_END = "# --- End Nex ---";
|
|
465
|
+
/**
|
|
466
|
+
* Map platform ID to its rules template filename.
|
|
467
|
+
*/
|
|
468
|
+
const RULES_TEMPLATE_MAP = {
|
|
469
|
+
cursor: "cursor-rules.md",
|
|
470
|
+
vscode: "vscode-instructions.md",
|
|
471
|
+
windsurf: "windsurf-rules.md",
|
|
472
|
+
cline: "cline-rules.md",
|
|
473
|
+
continue: "continue-rules.md",
|
|
474
|
+
zed: "zed-rules.md",
|
|
475
|
+
kilocode: "kilocode-rules.md",
|
|
476
|
+
opencode: "opencode-agents.md",
|
|
477
|
+
aider: "aider-conventions.md",
|
|
478
|
+
};
|
|
479
|
+
/**
|
|
480
|
+
* Platforms where rules are APPENDED to an existing file (with markers)
|
|
481
|
+
* rather than written as a standalone file.
|
|
482
|
+
*/
|
|
483
|
+
const APPEND_PLATFORMS = new Set(["zed", "opencode", "aider"]);
|
|
484
|
+
export function installRulesFile(platform) {
|
|
485
|
+
const rulesPath = platform.rulesPath;
|
|
486
|
+
if (!rulesPath) {
|
|
487
|
+
return { installed: false, rulesPath: "" };
|
|
488
|
+
}
|
|
489
|
+
const templateName = RULES_TEMPLATE_MAP[platform.id];
|
|
490
|
+
if (!templateName) {
|
|
491
|
+
return { installed: false, rulesPath: "" };
|
|
492
|
+
}
|
|
493
|
+
const templatePath = join(getPluginRulesDir(), templateName);
|
|
494
|
+
if (!existsSync(templatePath)) {
|
|
495
|
+
return { installed: false, rulesPath: "" };
|
|
496
|
+
}
|
|
497
|
+
const template = readFileSync(templatePath, "utf-8");
|
|
498
|
+
if (APPEND_PLATFORMS.has(platform.id)) {
|
|
499
|
+
// Append mode: add/replace section in existing file
|
|
500
|
+
let existing = "";
|
|
501
|
+
try {
|
|
502
|
+
existing = readFileSync(rulesPath, "utf-8");
|
|
503
|
+
}
|
|
504
|
+
catch {
|
|
505
|
+
// File doesn't exist — will create
|
|
506
|
+
}
|
|
507
|
+
// Check if nex section already exists
|
|
508
|
+
const startIdx = existing.indexOf(NEX_RULES_MARKER_START);
|
|
509
|
+
const endIdx = existing.indexOf(NEX_RULES_MARKER_END);
|
|
510
|
+
if (startIdx !== -1 && endIdx !== -1) {
|
|
511
|
+
// Replace existing section
|
|
512
|
+
const before = existing.slice(0, startIdx);
|
|
513
|
+
const after = existing.slice(endIdx + NEX_RULES_MARKER_END.length);
|
|
514
|
+
const updated = before + template.trim() + after;
|
|
515
|
+
mkdirSync(dirname(rulesPath), { recursive: true });
|
|
516
|
+
writeFileSync(rulesPath, updated, "utf-8");
|
|
517
|
+
}
|
|
518
|
+
else if (existing.includes("nex_ask") || existing.includes("Nex Context")) {
|
|
519
|
+
// Already has nex content without markers — skip to avoid duplicates
|
|
520
|
+
return { installed: true, rulesPath };
|
|
521
|
+
}
|
|
522
|
+
else {
|
|
523
|
+
// Append to end
|
|
524
|
+
const separator = existing && !existing.endsWith("\n\n") ? "\n\n" : "";
|
|
525
|
+
mkdirSync(dirname(rulesPath), { recursive: true });
|
|
526
|
+
writeFileSync(rulesPath, existing + separator + template.trim() + "\n", "utf-8");
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
else {
|
|
530
|
+
// Standalone mode: write the file directly
|
|
531
|
+
mkdirSync(dirname(rulesPath), { recursive: true });
|
|
532
|
+
writeFileSync(rulesPath, template, "utf-8");
|
|
533
|
+
}
|
|
534
|
+
return { installed: true, rulesPath };
|
|
196
535
|
}
|
|
197
|
-
//
|
|
536
|
+
// ── 8. Sync API key to ~/.nex-mcp.json ─────────────────────────────────
|
|
198
537
|
export function syncApiKeyToMcpConfig(apiKey) {
|
|
199
538
|
const mcpConfigPath = join(homedir(), ".nex-mcp.json");
|
|
200
539
|
const config = readJsonFile(mcpConfigPath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installers.js","sourceRoot":"","sources":["../../src/lib/installers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"installers.js","sourceRoot":"","sources":["../../src/lib/installers.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,13 @@ export interface Platform {
|
|
|
7
7
|
detected: boolean;
|
|
8
8
|
nexInstalled: boolean;
|
|
9
9
|
pluginSupport: boolean;
|
|
10
|
+
supportsRules: boolean;
|
|
11
|
+
supportsHooks: boolean;
|
|
12
|
+
supportsCustomTools: boolean;
|
|
13
|
+
supportsCustomAgents: boolean;
|
|
14
|
+
supportsWorkflows: boolean;
|
|
15
|
+
hookConfigPath: string | null;
|
|
16
|
+
rulesPath: string | null;
|
|
10
17
|
configPath: string;
|
|
11
18
|
configFormat: "standard" | "zed" | "continue";
|
|
12
19
|
}
|