trigger.dev 4.0.0 → 4.0.1
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/esm/apiClient.d.ts +56 -1
- package/dist/esm/apiClient.js +56 -1
- package/dist/esm/apiClient.js.map +1 -1
- package/dist/esm/cli/common.js +1 -1
- package/dist/esm/cli/common.js.map +1 -1
- package/dist/esm/cli/index.js +13 -9
- package/dist/esm/cli/index.js.map +1 -1
- package/dist/esm/commands/deploy.js +1 -1
- package/dist/esm/commands/deploy.js.map +1 -1
- package/dist/esm/commands/dev.d.ts +17 -5
- package/dist/esm/commands/dev.js +47 -0
- package/dist/esm/commands/dev.js.map +1 -1
- package/dist/esm/commands/init.d.ts +8 -0
- package/dist/esm/commands/init.js +127 -63
- package/dist/esm/commands/init.js.map +1 -1
- package/dist/esm/commands/install-mcp.d.ts +50 -0
- package/dist/esm/commands/install-mcp.js +497 -0
- package/dist/esm/commands/install-mcp.js.map +1 -0
- package/dist/esm/commands/install-rules.d.ts +11 -0
- package/dist/esm/commands/install-rules.js +380 -0
- package/dist/esm/commands/install-rules.js.map +1 -0
- package/dist/esm/commands/login.d.ts +5 -0
- package/dist/esm/commands/login.js +1 -1
- package/dist/esm/commands/login.js.map +1 -1
- package/dist/esm/commands/mcp.d.ts +38 -0
- package/dist/esm/commands/mcp.js +82 -0
- package/dist/esm/commands/mcp.js.map +1 -0
- package/dist/esm/commands/update.d.ts +1 -0
- package/dist/esm/commands/update.js +6 -6
- package/dist/esm/commands/update.js.map +1 -1
- package/dist/esm/dev/devOutput.js +3 -3
- package/dist/esm/dev/devOutput.js.map +1 -1
- package/dist/esm/entryPoints/managed/env.d.ts +5 -5
- package/dist/esm/mcp/auth.d.ts +12 -0
- package/dist/esm/mcp/auth.js +146 -0
- package/dist/esm/mcp/auth.js.map +1 -0
- package/dist/esm/mcp/capabilities.d.ts +4 -0
- package/dist/esm/mcp/capabilities.js +22 -0
- package/dist/esm/mcp/capabilities.js.map +1 -0
- package/dist/esm/mcp/config.d.ts +77 -0
- package/dist/esm/mcp/config.js +82 -0
- package/dist/esm/mcp/config.js.map +1 -0
- package/dist/esm/mcp/context.d.ts +45 -0
- package/dist/esm/mcp/context.js +129 -0
- package/dist/esm/mcp/context.js.map +1 -0
- package/dist/esm/mcp/formatters.d.ts +5 -0
- package/dist/esm/mcp/formatters.js +310 -0
- package/dist/esm/mcp/formatters.js.map +1 -0
- package/dist/esm/mcp/logger.d.ts +11 -0
- package/dist/esm/mcp/logger.js +34 -0
- package/dist/esm/mcp/logger.js.map +1 -0
- package/dist/esm/mcp/mintlifyClient.d.ts +1 -0
- package/dist/esm/mcp/mintlifyClient.js +65 -0
- package/dist/esm/mcp/mintlifyClient.js.map +1 -0
- package/dist/esm/mcp/schemas.d.ts +324 -0
- package/dist/esm/mcp/schemas.js +144 -0
- package/dist/esm/mcp/schemas.js.map +1 -0
- package/dist/esm/mcp/tools/deploys.d.ts +174 -0
- package/dist/esm/mcp/tools/deploys.js +161 -0
- package/dist/esm/mcp/tools/deploys.js.map +1 -0
- package/dist/esm/mcp/tools/docs.d.ts +77 -0
- package/dist/esm/mcp/tools/docs.js +18 -0
- package/dist/esm/mcp/tools/docs.js.map +1 -0
- package/dist/esm/mcp/tools/orgs.d.ts +172 -0
- package/dist/esm/mcp/tools/orgs.js +172 -0
- package/dist/esm/mcp/tools/orgs.js.map +1 -0
- package/dist/esm/mcp/tools/previewBranches.d.ts +78 -0
- package/dist/esm/mcp/tools/previewBranches.js +28 -0
- package/dist/esm/mcp/tools/previewBranches.js.map +1 -0
- package/dist/esm/mcp/tools/runs.d.ts +254 -0
- package/dist/esm/mcp/tools/runs.js +119 -0
- package/dist/esm/mcp/tools/runs.js.map +1 -0
- package/dist/esm/mcp/tools/tasks.d.ts +200 -0
- package/dist/esm/mcp/tools/tasks.js +117 -0
- package/dist/esm/mcp/tools/tasks.js.map +1 -0
- package/dist/esm/mcp/tools.d.ts +2 -0
- package/dist/esm/mcp/tools.js +39 -0
- package/dist/esm/mcp/tools.js.map +1 -0
- package/dist/esm/mcp/types.d.ts +6 -0
- package/dist/esm/mcp/types.js +2 -0
- package/dist/esm/mcp/types.js.map +1 -0
- package/dist/esm/mcp/utils.d.ts +89 -0
- package/dist/esm/mcp/utils.js +95 -0
- package/dist/esm/mcp/utils.js.map +1 -0
- package/dist/esm/rules/install.d.ts +1 -0
- package/dist/esm/rules/install.js +2 -0
- package/dist/esm/rules/install.js.map +1 -0
- package/dist/esm/rules/manifest.d.ts +145 -0
- package/dist/esm/rules/manifest.js +110 -0
- package/dist/esm/rules/manifest.js.map +1 -0
- package/dist/esm/rules/types.d.ts +3 -0
- package/dist/esm/rules/types.js +3 -0
- package/dist/esm/rules/types.js.map +1 -0
- package/dist/esm/utilities/configFiles.d.ts +29 -0
- package/dist/esm/utilities/configFiles.js +51 -0
- package/dist/esm/utilities/configFiles.js.map +1 -1
- package/dist/esm/utilities/fileSystem.d.ts +6 -0
- package/dist/esm/utilities/fileSystem.js +41 -3
- package/dist/esm/utilities/fileSystem.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +11 -7
|
@@ -0,0 +1,497 @@
|
|
|
1
|
+
import { confirm, intro, isCancel, log, multiselect, select } from "@clack/prompts";
|
|
2
|
+
import chalk from "chalk";
|
|
3
|
+
import { extname } from "node:path";
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
import { OutroCommandError, wrapCommandAction } from "../cli/common.js";
|
|
6
|
+
import { cliLink } from "../utilities/cliOutput.js";
|
|
7
|
+
import { writeConfigHasSeenMCPInstallPrompt } from "../utilities/configFiles.js";
|
|
8
|
+
import { expandTilde, safeReadJSONCFile, safeReadTomlFile, writeJSONFile, writeTomlFile, } from "../utilities/fileSystem.js";
|
|
9
|
+
import { printStandloneInitialBanner } from "../utilities/initialBanner.js";
|
|
10
|
+
import { VERSION } from "../version.js";
|
|
11
|
+
const cliVersion = VERSION;
|
|
12
|
+
const cliTag = cliVersion.includes("v4-beta") ? "v4-beta" : "latest";
|
|
13
|
+
const clients = [
|
|
14
|
+
"claude-code",
|
|
15
|
+
"cursor",
|
|
16
|
+
"vscode",
|
|
17
|
+
"zed",
|
|
18
|
+
"windsurf",
|
|
19
|
+
"gemini-cli",
|
|
20
|
+
"crush",
|
|
21
|
+
"cline",
|
|
22
|
+
"openai-codex",
|
|
23
|
+
"opencode",
|
|
24
|
+
"amp",
|
|
25
|
+
"ruler",
|
|
26
|
+
];
|
|
27
|
+
const scopes = ["user", "project", "local"];
|
|
28
|
+
const clientScopes = {
|
|
29
|
+
"claude-code": {
|
|
30
|
+
user: "~/.claude.json",
|
|
31
|
+
project: "./.mcp.json",
|
|
32
|
+
local: "~/.claude.json",
|
|
33
|
+
},
|
|
34
|
+
cursor: {
|
|
35
|
+
user: "~/.cursor/mcp.json",
|
|
36
|
+
project: "./.cursor/mcp.json",
|
|
37
|
+
},
|
|
38
|
+
vscode: {
|
|
39
|
+
user: "~/Library/Application Support/Code/User/mcp.json",
|
|
40
|
+
project: "./.vscode/mcp.json",
|
|
41
|
+
},
|
|
42
|
+
zed: {
|
|
43
|
+
user: "~/.config/zed/settings.json",
|
|
44
|
+
},
|
|
45
|
+
windsurf: {
|
|
46
|
+
user: "~/.codeium/windsurf/mcp_config.json",
|
|
47
|
+
},
|
|
48
|
+
"gemini-cli": {
|
|
49
|
+
user: "~/.gemini/settings.json",
|
|
50
|
+
project: "./.gemini/settings.json",
|
|
51
|
+
},
|
|
52
|
+
crush: {
|
|
53
|
+
user: "~/.config/crush/crush.json",
|
|
54
|
+
project: "./crush.json",
|
|
55
|
+
local: "./.crush.json",
|
|
56
|
+
},
|
|
57
|
+
cline: {
|
|
58
|
+
user: "~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json",
|
|
59
|
+
},
|
|
60
|
+
amp: {
|
|
61
|
+
user: "~/.config/amp/settings.json",
|
|
62
|
+
},
|
|
63
|
+
"openai-codex": {
|
|
64
|
+
user: "~/.codex/config.toml",
|
|
65
|
+
},
|
|
66
|
+
opencode: {
|
|
67
|
+
user: "~/.config/opencode/opencode.json",
|
|
68
|
+
project: "./opencode.json",
|
|
69
|
+
},
|
|
70
|
+
ruler: {
|
|
71
|
+
project: "./.ruler/mcp.json",
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
const clientLabels = {
|
|
75
|
+
"claude-code": "Claude Code",
|
|
76
|
+
cursor: "Cursor",
|
|
77
|
+
vscode: "VSCode",
|
|
78
|
+
zed: "Zed",
|
|
79
|
+
windsurf: "Windsurf",
|
|
80
|
+
"gemini-cli": "Gemini CLI",
|
|
81
|
+
crush: "Charm Crush",
|
|
82
|
+
cline: "Cline",
|
|
83
|
+
"openai-codex": "OpenAI Codex CLI",
|
|
84
|
+
amp: "Sourcegraph AMP",
|
|
85
|
+
opencode: "opencode",
|
|
86
|
+
ruler: "Ruler",
|
|
87
|
+
};
|
|
88
|
+
const InstallMcpCommandOptions = z.object({
|
|
89
|
+
projectRef: z.string().optional(),
|
|
90
|
+
tag: z.string().default(cliVersion),
|
|
91
|
+
devOnly: z.boolean().optional(),
|
|
92
|
+
yolo: z.boolean().default(false),
|
|
93
|
+
scope: z.enum(scopes).optional(),
|
|
94
|
+
client: z.enum(clients).array().optional(),
|
|
95
|
+
logFile: z.string().optional(),
|
|
96
|
+
apiUrl: z.string().optional(),
|
|
97
|
+
logLevel: z.enum(["debug", "info", "log", "warn", "error", "none"]).default("log"),
|
|
98
|
+
});
|
|
99
|
+
export function configureInstallMcpCommand(program) {
|
|
100
|
+
return program
|
|
101
|
+
.command("install-mcp")
|
|
102
|
+
.description("Install the Trigger.dev MCP server")
|
|
103
|
+
.option("-p, --project-ref <project ref>", "Scope the mcp server to a specific Trigger.dev project by providing its project ref")
|
|
104
|
+
.option("-t, --tag <package tag>", "The version of the trigger.dev CLI package to use for the MCP server", cliTag)
|
|
105
|
+
.option("--dev-only", "Restrict the MCP server to the dev environment only")
|
|
106
|
+
.option("--yolo", "Install the MCP server into all supported clients")
|
|
107
|
+
.option("--scope <scope>", "Choose the scope of the MCP server, either user or project")
|
|
108
|
+
.option("--client <clients...>", "Choose the client (or clients) to install the MCP server into. We currently support: " +
|
|
109
|
+
clients.join(", "))
|
|
110
|
+
.option("--log-file <log file>", "Configure the MCP server to write logs to a file")
|
|
111
|
+
.option("-a, --api-url <value>", "Configure the MCP server to specify a custom Trigger.dev API URL")
|
|
112
|
+
.option("-l, --log-level <level>", "The CLI log level to use (debug, info, log, warn, error, none). This does not effect the log level of your trigger.dev tasks.", "log")
|
|
113
|
+
.action(async (options) => {
|
|
114
|
+
await printStandloneInitialBanner(true);
|
|
115
|
+
await installMcpCommand(options);
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
export async function installMcpCommand(options) {
|
|
119
|
+
return await wrapCommandAction("installMcpCommand", InstallMcpCommandOptions, options, async (opts) => {
|
|
120
|
+
return await _installMcpCommand(opts);
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
async function _installMcpCommand(options) {
|
|
124
|
+
intro("Welcome to the Trigger.dev MCP server install wizard 🧙");
|
|
125
|
+
await installMcpServer(options);
|
|
126
|
+
}
|
|
127
|
+
export async function installMcpServer(options) {
|
|
128
|
+
const opts = InstallMcpCommandOptions.parse(options);
|
|
129
|
+
writeConfigHasSeenMCPInstallPrompt(true);
|
|
130
|
+
const devOnly = await resolveDevOnly(opts);
|
|
131
|
+
opts.devOnly = devOnly;
|
|
132
|
+
const clientNames = await resolveClients(opts);
|
|
133
|
+
if (clientNames.length === 1 && clientNames.includes("unsupported")) {
|
|
134
|
+
return handleUnsupportedClientOnly(opts);
|
|
135
|
+
}
|
|
136
|
+
const results = [];
|
|
137
|
+
for (const clientName of clientNames) {
|
|
138
|
+
const result = await installMcpServerForClient(clientName, opts);
|
|
139
|
+
if (result) {
|
|
140
|
+
results.push(result);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
if (results.length > 0) {
|
|
144
|
+
log.step("Installed to:");
|
|
145
|
+
for (const r of results) {
|
|
146
|
+
const scopeLabel = `${r.scope.scope}`;
|
|
147
|
+
log.message(` • ${r.clientName} (${scopeLabel}) → ${chalk.gray(r.configPath)}`);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
log.info("Next steps:");
|
|
151
|
+
log.message(" 1. Restart your MCP client(s) to load the new configuration.");
|
|
152
|
+
log.message(' 2. In your client, look for a server named "trigger". It should connect automatically.');
|
|
153
|
+
log.message(" 3. Get started with Trigger.dev");
|
|
154
|
+
log.message(` Try asking your vibe-coding friend to ${chalk.green("Add trigger.dev to my project")}`);
|
|
155
|
+
log.info("More examples:");
|
|
156
|
+
log.message(` • ${chalk.green('"Trigger the hello-world task"')}`);
|
|
157
|
+
log.message(` • ${chalk.green('"Can you help me debug the prod run run_1234"')}`);
|
|
158
|
+
log.message(` • ${chalk.green('"Deploy my trigger project to staging"')}`);
|
|
159
|
+
log.message(` • ${chalk.green('"What trigger task handles uploading files to S3?"')}`);
|
|
160
|
+
log.message(` • ${chalk.green('"How do I create a scheduled task in Trigger.dev?"')}`);
|
|
161
|
+
log.message(` • ${chalk.green('"Search Trigger.dev docs for ffmpeg examples"')}`);
|
|
162
|
+
log.info("Helpful links:");
|
|
163
|
+
log.message(` • ${cliLink("Trigger.dev docs", "https://trigger.dev/docs")}`);
|
|
164
|
+
log.message(` • ${cliLink("MCP docs", "https://trigger.dev/docs/mcp")}`);
|
|
165
|
+
log.message(` • Need help? ${cliLink("Join our Discord", "https://trigger.dev/discord")} or email help@trigger.dev`);
|
|
166
|
+
return results;
|
|
167
|
+
}
|
|
168
|
+
function handleUnsupportedClientOnly(options) {
|
|
169
|
+
log.info("Manual MCP server configuration");
|
|
170
|
+
const args = [`trigger.dev@${options.tag}`, "mcp"];
|
|
171
|
+
if (options.logFile) {
|
|
172
|
+
args.push("--log-file", options.logFile);
|
|
173
|
+
}
|
|
174
|
+
if (options.apiUrl) {
|
|
175
|
+
args.push("--api-url", options.apiUrl);
|
|
176
|
+
}
|
|
177
|
+
if (options.devOnly) {
|
|
178
|
+
args.push("--dev-only");
|
|
179
|
+
}
|
|
180
|
+
if (options.projectRef) {
|
|
181
|
+
args.push("--project-ref", options.projectRef);
|
|
182
|
+
}
|
|
183
|
+
if (options.logLevel && options.logLevel !== "log") {
|
|
184
|
+
args.push("--log-level", options.logLevel);
|
|
185
|
+
}
|
|
186
|
+
log.message("Since your client isn't directly supported yet, you'll need to configure it manually:");
|
|
187
|
+
log.message("");
|
|
188
|
+
log.message(`${chalk.yellow("Command:")} ${chalk.green("npx")}`);
|
|
189
|
+
log.message(`${chalk.yellow("Arguments:")} ${chalk.green(args.join(" "))}`);
|
|
190
|
+
log.message("");
|
|
191
|
+
log.message("Add this MCP server configuration to your client's settings:");
|
|
192
|
+
log.message(` • ${chalk.cyan("Server name:")} trigger`);
|
|
193
|
+
log.message(` • ${chalk.cyan("Command:")} npx`);
|
|
194
|
+
log.message(` • ${chalk.cyan("Args:")} ${args.map((arg) => `"${arg}"`).join(", ")}`);
|
|
195
|
+
log.message("");
|
|
196
|
+
log.message("Most MCP clients use a JSON configuration format like:");
|
|
197
|
+
log.message(chalk.dim(`{
|
|
198
|
+
"mcpServers": {
|
|
199
|
+
"trigger": {
|
|
200
|
+
"command": "npx",
|
|
201
|
+
"args": [${args.map((arg) => `"${arg}"`).join(", ")}]
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}`));
|
|
205
|
+
return [];
|
|
206
|
+
}
|
|
207
|
+
async function installMcpServerForClient(clientName, options) {
|
|
208
|
+
if (clientName === "unsupported") {
|
|
209
|
+
// This should not happen as unsupported clients are handled separately
|
|
210
|
+
// but if it does, provide helpful output
|
|
211
|
+
log.message(`${chalk.yellow("⚠")} Skipping unsupported client - see manual configuration above`);
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
const scope = await resolveScopeForClient(clientName, options);
|
|
215
|
+
// clientSpinner.message(`Installing in ${scope.scope} scope at ${scope.location}`);
|
|
216
|
+
const configPath = await performInstallForClient(clientName, scope, options);
|
|
217
|
+
// clientSpinner.stop(`Successfully installed in ${clientName} (${configPath})`);
|
|
218
|
+
return { configPath, clientName, scope };
|
|
219
|
+
}
|
|
220
|
+
async function performInstallForClient(clientName, scope, options) {
|
|
221
|
+
const config = resolveMcpServerConfig(clientName, options);
|
|
222
|
+
const pathComponents = resolveMcpServerConfigJsonPath(clientName, scope);
|
|
223
|
+
return await writeMcpServerConfig(scope.location, pathComponents, config);
|
|
224
|
+
}
|
|
225
|
+
async function writeMcpServerConfig(location, pathComponents, config) {
|
|
226
|
+
const fullPath = expandTilde(location);
|
|
227
|
+
const extension = extname(fullPath);
|
|
228
|
+
switch (extension) {
|
|
229
|
+
case ".json": {
|
|
230
|
+
let existingConfig = await safeReadJSONCFile(fullPath);
|
|
231
|
+
if (!existingConfig) {
|
|
232
|
+
existingConfig = {};
|
|
233
|
+
}
|
|
234
|
+
const newConfig = applyConfigToExistingConfig(existingConfig, pathComponents, config);
|
|
235
|
+
await writeJSONFile(fullPath, newConfig, true);
|
|
236
|
+
break;
|
|
237
|
+
}
|
|
238
|
+
case ".toml": {
|
|
239
|
+
let existingConfig = await safeReadTomlFile(fullPath);
|
|
240
|
+
if (!existingConfig) {
|
|
241
|
+
existingConfig = {};
|
|
242
|
+
}
|
|
243
|
+
const newConfig = applyConfigToExistingConfig(existingConfig, pathComponents, config);
|
|
244
|
+
await writeTomlFile(fullPath, newConfig);
|
|
245
|
+
break;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
return fullPath;
|
|
249
|
+
}
|
|
250
|
+
function applyConfigToExistingConfig(existingConfig, pathComponents, config) {
|
|
251
|
+
const clonedConfig = structuredClone(existingConfig);
|
|
252
|
+
let currentValueAtPath = clonedConfig;
|
|
253
|
+
for (let i = 0; i < pathComponents.length; i++) {
|
|
254
|
+
const currentPathSegment = pathComponents[i];
|
|
255
|
+
if (!currentPathSegment) {
|
|
256
|
+
break;
|
|
257
|
+
}
|
|
258
|
+
if (i === pathComponents.length - 1) {
|
|
259
|
+
currentValueAtPath[currentPathSegment] = config;
|
|
260
|
+
break;
|
|
261
|
+
}
|
|
262
|
+
else {
|
|
263
|
+
currentValueAtPath[currentPathSegment] = currentValueAtPath[currentPathSegment] || {};
|
|
264
|
+
currentValueAtPath = currentValueAtPath[currentPathSegment];
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
return clonedConfig;
|
|
268
|
+
}
|
|
269
|
+
function resolveMcpServerConfigJsonPath(clientName, scope) {
|
|
270
|
+
switch (clientName) {
|
|
271
|
+
case "cursor": {
|
|
272
|
+
return ["mcpServers", "trigger"];
|
|
273
|
+
}
|
|
274
|
+
case "vscode": {
|
|
275
|
+
return ["servers", "trigger"];
|
|
276
|
+
}
|
|
277
|
+
case "crush": {
|
|
278
|
+
return ["mcp", "trigger"];
|
|
279
|
+
}
|
|
280
|
+
case "windsurf": {
|
|
281
|
+
return ["mcpServers", "trigger"];
|
|
282
|
+
}
|
|
283
|
+
case "gemini-cli": {
|
|
284
|
+
return ["mcpServers", "trigger"];
|
|
285
|
+
}
|
|
286
|
+
case "cline": {
|
|
287
|
+
return ["mcpServers", "trigger"];
|
|
288
|
+
}
|
|
289
|
+
case "amp": {
|
|
290
|
+
return ["amp.mcpServers", "trigger"];
|
|
291
|
+
}
|
|
292
|
+
case "zed": {
|
|
293
|
+
return ["context_servers", "trigger"];
|
|
294
|
+
}
|
|
295
|
+
case "claude-code": {
|
|
296
|
+
if (scope.scope === "local") {
|
|
297
|
+
const projectPath = process.cwd();
|
|
298
|
+
return ["projects", projectPath, "mcpServers", "trigger"];
|
|
299
|
+
}
|
|
300
|
+
else {
|
|
301
|
+
return ["mcpServers", "trigger"];
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
case "openai-codex": {
|
|
305
|
+
return ["mcp_servers", "trigger"];
|
|
306
|
+
}
|
|
307
|
+
case "opencode": {
|
|
308
|
+
return ["mcp", "trigger"];
|
|
309
|
+
}
|
|
310
|
+
case "ruler": {
|
|
311
|
+
return ["mcpServers", "trigger"];
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
function resolveMcpServerConfig(clientName, options) {
|
|
316
|
+
const args = [`trigger.dev@${options.tag}`, "mcp"];
|
|
317
|
+
if (options.logFile) {
|
|
318
|
+
args.push("--log-file", options.logFile);
|
|
319
|
+
}
|
|
320
|
+
if (options.apiUrl) {
|
|
321
|
+
args.push("--api-url", options.apiUrl);
|
|
322
|
+
}
|
|
323
|
+
if (options.devOnly) {
|
|
324
|
+
args.push("--dev-only");
|
|
325
|
+
}
|
|
326
|
+
if (options.projectRef) {
|
|
327
|
+
args.push("--project-ref", options.projectRef);
|
|
328
|
+
}
|
|
329
|
+
switch (clientName) {
|
|
330
|
+
case "claude-code": {
|
|
331
|
+
return {
|
|
332
|
+
command: "npx",
|
|
333
|
+
args,
|
|
334
|
+
};
|
|
335
|
+
}
|
|
336
|
+
case "cursor": {
|
|
337
|
+
return {
|
|
338
|
+
command: "npx",
|
|
339
|
+
args,
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
case "vscode": {
|
|
343
|
+
return {
|
|
344
|
+
command: "npx",
|
|
345
|
+
args,
|
|
346
|
+
};
|
|
347
|
+
}
|
|
348
|
+
case "crush": {
|
|
349
|
+
return {
|
|
350
|
+
type: "stdio",
|
|
351
|
+
command: "npx",
|
|
352
|
+
args,
|
|
353
|
+
};
|
|
354
|
+
}
|
|
355
|
+
case "windsurf": {
|
|
356
|
+
return {
|
|
357
|
+
command: "npx",
|
|
358
|
+
args,
|
|
359
|
+
};
|
|
360
|
+
}
|
|
361
|
+
case "gemini-cli": {
|
|
362
|
+
return {
|
|
363
|
+
command: "npx",
|
|
364
|
+
args,
|
|
365
|
+
};
|
|
366
|
+
}
|
|
367
|
+
case "cline": {
|
|
368
|
+
return {
|
|
369
|
+
command: "npx",
|
|
370
|
+
args,
|
|
371
|
+
};
|
|
372
|
+
}
|
|
373
|
+
case "amp": {
|
|
374
|
+
return {
|
|
375
|
+
command: "npx",
|
|
376
|
+
args,
|
|
377
|
+
};
|
|
378
|
+
}
|
|
379
|
+
case "openai-codex": {
|
|
380
|
+
return {
|
|
381
|
+
command: "npx",
|
|
382
|
+
args,
|
|
383
|
+
};
|
|
384
|
+
}
|
|
385
|
+
case "zed": {
|
|
386
|
+
return {
|
|
387
|
+
source: "custom",
|
|
388
|
+
command: "npx",
|
|
389
|
+
args,
|
|
390
|
+
};
|
|
391
|
+
}
|
|
392
|
+
case "opencode": {
|
|
393
|
+
return {
|
|
394
|
+
type: "local",
|
|
395
|
+
command: ["npx", ...args],
|
|
396
|
+
enabled: true,
|
|
397
|
+
};
|
|
398
|
+
}
|
|
399
|
+
case "ruler": {
|
|
400
|
+
return {
|
|
401
|
+
type: "stdio",
|
|
402
|
+
command: "npx",
|
|
403
|
+
args,
|
|
404
|
+
};
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
async function resolveScopeForClient(clientName, options) {
|
|
409
|
+
if (options.scope) {
|
|
410
|
+
const location = clientScopes[clientName][options.scope];
|
|
411
|
+
if (!location) {
|
|
412
|
+
throw new OutroCommandError(`The ${clientName} client does not support the ${options.scope} scope, it only supports ${Object.keys(clientScopes[clientName]).join(", ")} scopes`);
|
|
413
|
+
}
|
|
414
|
+
return {
|
|
415
|
+
scope: options.scope,
|
|
416
|
+
location,
|
|
417
|
+
};
|
|
418
|
+
}
|
|
419
|
+
const scopeOptions = resolveScopeOptionsForClient(clientName);
|
|
420
|
+
if (scopeOptions.length === 1) {
|
|
421
|
+
return {
|
|
422
|
+
scope: scopeOptions[0].value.scope,
|
|
423
|
+
location: scopeOptions[0].value.location,
|
|
424
|
+
};
|
|
425
|
+
}
|
|
426
|
+
const selectedScope = await select({
|
|
427
|
+
message: `Where should the MCP server for ${clientName} be installed?`,
|
|
428
|
+
options: scopeOptions,
|
|
429
|
+
});
|
|
430
|
+
if (isCancel(selectedScope)) {
|
|
431
|
+
throw new OutroCommandError("No scope selected");
|
|
432
|
+
}
|
|
433
|
+
return selectedScope;
|
|
434
|
+
}
|
|
435
|
+
function resolveScopeOptionsForClient(clientName) {
|
|
436
|
+
const $clientScopes = clientScopes[clientName];
|
|
437
|
+
const options = Object.entries($clientScopes).map(([scope, location]) => ({
|
|
438
|
+
value: { location, scope: scope },
|
|
439
|
+
label: scope,
|
|
440
|
+
hint: scopeHint(scope, location),
|
|
441
|
+
}));
|
|
442
|
+
return options;
|
|
443
|
+
}
|
|
444
|
+
function scopeHint(scope, location) {
|
|
445
|
+
switch (scope) {
|
|
446
|
+
case "user": {
|
|
447
|
+
return `Install for your user account on your machine (${location})`;
|
|
448
|
+
}
|
|
449
|
+
case "project": {
|
|
450
|
+
return `Install in the current project shared with your team (${location})`;
|
|
451
|
+
}
|
|
452
|
+
case "local": {
|
|
453
|
+
return `Install in the current project, local to you only (${location})`;
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
async function resolveClients(options) {
|
|
458
|
+
if (options.client) {
|
|
459
|
+
return options.client;
|
|
460
|
+
}
|
|
461
|
+
if (options.yolo) {
|
|
462
|
+
return [...clients];
|
|
463
|
+
}
|
|
464
|
+
const selectOptions = clients.map((client) => ({
|
|
465
|
+
value: client,
|
|
466
|
+
label: clientLabels[client],
|
|
467
|
+
}));
|
|
468
|
+
selectOptions.push({
|
|
469
|
+
value: "unsupported",
|
|
470
|
+
label: "Unsupported client",
|
|
471
|
+
hint: "We don't support this client yet, but you can still install the MCP server manually.",
|
|
472
|
+
});
|
|
473
|
+
const $selectOptions = selectOptions;
|
|
474
|
+
const selectedClients = await multiselect({
|
|
475
|
+
message: "Select one or more clients to install the MCP server into",
|
|
476
|
+
options: $selectOptions,
|
|
477
|
+
required: true,
|
|
478
|
+
});
|
|
479
|
+
if (isCancel(selectedClients)) {
|
|
480
|
+
throw new OutroCommandError("No clients selected");
|
|
481
|
+
}
|
|
482
|
+
return selectedClients;
|
|
483
|
+
}
|
|
484
|
+
async function resolveDevOnly(options) {
|
|
485
|
+
if (typeof options.devOnly === "boolean") {
|
|
486
|
+
return options.devOnly;
|
|
487
|
+
}
|
|
488
|
+
const devOnly = await confirm({
|
|
489
|
+
message: "Restrict the MCP server to the dev environment only?",
|
|
490
|
+
initialValue: false,
|
|
491
|
+
});
|
|
492
|
+
if (isCancel(devOnly)) {
|
|
493
|
+
return false;
|
|
494
|
+
}
|
|
495
|
+
return devOnly;
|
|
496
|
+
}
|
|
497
|
+
//# sourceMappingURL=install-mcp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install-mcp.js","sourceRoot":"","sources":["../../../src/commands/install-mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
declare const targets: readonly ["claude-code", "cursor", "vscode", "windsurf", "gemini-cli", "cline", "agents.md", "amp", "kilo", "ruler"];
|
|
3
|
+
export declare function configureInstallRulesCommand(program: Command): Command;
|
|
4
|
+
export declare function installRulesCommand(options: unknown): Promise<void | undefined>;
|
|
5
|
+
export type InstallRulesWizardOptions = {
|
|
6
|
+
target?: Array<(typeof targets)[number]>;
|
|
7
|
+
manifestPath?: string;
|
|
8
|
+
branch?: string;
|
|
9
|
+
};
|
|
10
|
+
export declare function initiateRulesInstallWizard(options: InstallRulesWizardOptions): Promise<void>;
|
|
11
|
+
export {};
|