gemini-designer 0.1.20 → 0.1.22
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/clients/adapters.d.ts +17 -2
- package/dist/clients/adapters.d.ts.map +1 -1
- package/dist/clients/adapters.js +80 -7
- package/dist/clients/adapters.js.map +1 -1
- package/dist/commands/links.d.ts.map +1 -1
- package/dist/commands/links.js +5 -0
- package/dist/commands/links.js.map +1 -1
- package/package.json +1 -1
- package/src/clients/adapters.ts +88 -7
- package/src/commands/links.ts +5 -0
|
@@ -58,8 +58,23 @@ export declare class VSCodeAdapter implements ClientAdapter {
|
|
|
58
58
|
configure(config: McpServerConfig): void;
|
|
59
59
|
}
|
|
60
60
|
/**
|
|
61
|
-
* Claude
|
|
62
|
-
*
|
|
61
|
+
* Claude Desktop adapter
|
|
62
|
+
* macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
|
|
63
|
+
* Windows: %APPDATA%\Claude\claude_desktop_config.json
|
|
64
|
+
*/
|
|
65
|
+
export declare class ClaudeDesktopAdapter implements ClientAdapter {
|
|
66
|
+
name: string;
|
|
67
|
+
displayName: string;
|
|
68
|
+
configPath: string;
|
|
69
|
+
detected: boolean;
|
|
70
|
+
detect(): boolean;
|
|
71
|
+
getExistingConfig(): Record<string, unknown> | null;
|
|
72
|
+
configure(config: McpServerConfig): void;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Claude Code CLI adapter
|
|
76
|
+
* Uses: `claude mcp add` command
|
|
77
|
+
* Config stored internally by Claude Code
|
|
63
78
|
*/
|
|
64
79
|
export declare class ClaudeCodeAdapter implements ClientAdapter {
|
|
65
80
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/clients/adapters.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,eAAe;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,IAAI,OAAO,CAAC;IAClB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACvD;AAyBD;;;GAGG;AACH,qBAAa,aAAc,YAAW,aAAa;IAC/C,IAAI,SAAY;IAChB,WAAW,SAAgB;IAC3B,UAAU,SAA4B;IACtC,QAAQ,UAAS;IAEjB,MAAM,IAAI,OAAO;IAMjB,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAInD,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;CAS3C;AAED;;;GAGG;AACH,qBAAa,gBAAiB,YAAW,aAAa;IAClD,IAAI,SAAgB;IACpB,WAAW,SAAgB;IAC3B,UAAU,SAAiC;IAC3C,QAAQ,UAAS;IAEjB,MAAM,IAAI,OAAO;IAMjB,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAInD,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;CAS3C;AAED;;;;GAIG;AACH,qBAAa,aAAc,YAAW,aAAa;IAC/C,IAAI,SAAY;IAChB,WAAW,SAAa;IAExB,UAAU,SAA0D;IACpE,QAAQ,UAAS;IAEjB,MAAM,IAAI,OAAO;IAQjB,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAInD,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;CAS3C;AAED
|
|
1
|
+
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/clients/adapters.ts"],"names":[],"mappings":"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"}
|
package/dist/clients/adapters.js
CHANGED
|
@@ -105,16 +105,22 @@ export class VSCodeAdapter {
|
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
107
|
/**
|
|
108
|
-
* Claude
|
|
109
|
-
*
|
|
108
|
+
* Claude Desktop adapter
|
|
109
|
+
* macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
|
|
110
|
+
* Windows: %APPDATA%\Claude\claude_desktop_config.json
|
|
110
111
|
*/
|
|
111
|
-
export class
|
|
112
|
-
name = 'claude-
|
|
113
|
-
displayName = 'Claude
|
|
114
|
-
configPath =
|
|
112
|
+
export class ClaudeDesktopAdapter {
|
|
113
|
+
name = 'claude-desktop';
|
|
114
|
+
displayName = 'Claude Desktop';
|
|
115
|
+
configPath = process.platform === 'darwin'
|
|
116
|
+
? path.join(os.homedir(), 'Library/Application Support/Claude/claude_desktop_config.json')
|
|
117
|
+
: path.join(os.homedir(), 'AppData/Roaming/Claude/claude_desktop_config.json');
|
|
115
118
|
detected = false;
|
|
116
119
|
detect() {
|
|
117
|
-
|
|
120
|
+
const claudeDir = process.platform === 'darwin'
|
|
121
|
+
? path.join(os.homedir(), 'Library/Application Support/Claude')
|
|
122
|
+
: path.join(os.homedir(), 'AppData/Roaming/Claude');
|
|
123
|
+
this.detected = fs.existsSync(claudeDir);
|
|
118
124
|
return this.detected;
|
|
119
125
|
}
|
|
120
126
|
getExistingConfig() {
|
|
@@ -125,9 +131,75 @@ export class ClaudeCodeAdapter {
|
|
|
125
131
|
const mcpServers = existing.mcpServers || {};
|
|
126
132
|
mcpServers['gemini-designer'] = config;
|
|
127
133
|
existing.mcpServers = mcpServers;
|
|
134
|
+
// Ensure directory exists
|
|
135
|
+
const dir = path.dirname(this.configPath);
|
|
136
|
+
if (!fs.existsSync(dir)) {
|
|
137
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
138
|
+
}
|
|
128
139
|
writeJsonSafe(this.configPath, existing);
|
|
129
140
|
}
|
|
130
141
|
}
|
|
142
|
+
/**
|
|
143
|
+
* Claude Code CLI adapter
|
|
144
|
+
* Uses: `claude mcp add` command
|
|
145
|
+
* Config stored internally by Claude Code
|
|
146
|
+
*/
|
|
147
|
+
export class ClaudeCodeAdapter {
|
|
148
|
+
name = 'claude-code';
|
|
149
|
+
displayName = 'Claude Code (CLI)';
|
|
150
|
+
configPath = home('.claude.json'); // Internal config, not directly edited
|
|
151
|
+
detected = false;
|
|
152
|
+
detect() {
|
|
153
|
+
// Check if `claude` CLI is available
|
|
154
|
+
try {
|
|
155
|
+
const result = require('child_process').spawnSync('which', ['claude'], { encoding: 'utf-8' });
|
|
156
|
+
this.detected = result.status === 0;
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
this.detected = false;
|
|
160
|
+
}
|
|
161
|
+
return this.detected;
|
|
162
|
+
}
|
|
163
|
+
getExistingConfig() {
|
|
164
|
+
// Use `claude mcp get` to check if gemini-designer exists
|
|
165
|
+
try {
|
|
166
|
+
const result = require('child_process').spawnSync('claude', ['mcp', 'get', 'gemini-designer'], {
|
|
167
|
+
encoding: 'utf-8',
|
|
168
|
+
timeout: 5000,
|
|
169
|
+
});
|
|
170
|
+
if (result.status === 0 && result.stdout) {
|
|
171
|
+
return { exists: true };
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
catch {
|
|
175
|
+
// Ignore errors
|
|
176
|
+
}
|
|
177
|
+
return null;
|
|
178
|
+
}
|
|
179
|
+
configure(config) {
|
|
180
|
+
const { spawnSync } = require('child_process');
|
|
181
|
+
// Remove existing first (ignore errors)
|
|
182
|
+
spawnSync('claude', ['mcp', 'remove', 'gemini-designer'], { encoding: 'utf-8' });
|
|
183
|
+
// Build args for `claude mcp add`
|
|
184
|
+
const args = ['mcp', 'add', '--transport', 'stdio', 'gemini-designer'];
|
|
185
|
+
// Add env vars
|
|
186
|
+
if (config.env) {
|
|
187
|
+
for (const [key, value] of Object.entries(config.env)) {
|
|
188
|
+
args.push('--env', `${key}=${value}`);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
// Add command separator and actual command
|
|
192
|
+
args.push('--');
|
|
193
|
+
args.push(config.command);
|
|
194
|
+
if (config.args && Array.isArray(config.args)) {
|
|
195
|
+
args.push(...config.args);
|
|
196
|
+
}
|
|
197
|
+
const result = spawnSync('claude', args, { encoding: 'utf-8' });
|
|
198
|
+
if (result.status !== 0) {
|
|
199
|
+
throw new Error(`Failed to add MCP server: ${result.stderr || result.stdout}`);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
131
203
|
/**
|
|
132
204
|
* Windsurf adapter
|
|
133
205
|
* Config: ~/.codeium/windsurf/mcp_config.json
|
|
@@ -185,6 +257,7 @@ export function getAllAdapters() {
|
|
|
185
257
|
new CursorAdapter(),
|
|
186
258
|
new GeminiCliAdapter(),
|
|
187
259
|
new VSCodeAdapter(),
|
|
260
|
+
new ClaudeDesktopAdapter(),
|
|
188
261
|
new ClaudeCodeAdapter(),
|
|
189
262
|
new WindsurfAdapter(),
|
|
190
263
|
new ZedAdapter(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../src/clients/adapters.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../src/clients/adapters.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAoB9B,SAAS,IAAI,CAAC,CAAS;IACnB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,YAAY,CAAC,QAAgB;IAClC,IAAI,CAAC;QACD,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QACzD,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,4BAA4B;IAChC,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB,EAAE,IAA6B;IAClE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,aAAa;IACtB,IAAI,GAAG,QAAQ,CAAC;IAChB,WAAW,GAAG,YAAY,CAAC;IAC3B,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACtC,QAAQ,GAAG,KAAK,CAAC;IAEjB,MAAM;QACF,qDAAqD;QACrD,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,iBAAiB;QACb,OAAO,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,SAAS,CAAC,MAAuB;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;QAChD,MAAM,UAAU,GAAI,QAAQ,CAAC,UAAsC,IAAI,EAAE,CAAC;QAE1E,UAAU,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC;QACvC,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;QAEjC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IACzB,IAAI,GAAG,YAAY,CAAC;IACpB,WAAW,GAAG,YAAY,CAAC;IAC3B,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC3C,QAAQ,GAAG,KAAK,CAAC;IAEjB,MAAM;QACF,yDAAyD;QACzD,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,iBAAiB;QACb,OAAO,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,SAAS,CAAC,MAAuB;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;QAChD,MAAM,UAAU,GAAI,QAAQ,CAAC,UAAsC,IAAI,EAAE,CAAC;QAE1E,UAAU,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC;QACvC,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;QAEjC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,OAAO,aAAa;IACtB,IAAI,GAAG,QAAQ,CAAC;IAChB,WAAW,GAAG,SAAS,CAAC;IACxB,2DAA2D;IAC3D,UAAU,GAAG,IAAI,CAAC,gDAAgD,CAAC,CAAC;IACpE,QAAQ,GAAG,KAAK,CAAC;IAEjB,MAAM;QACF,4BAA4B;QAC5B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,sCAAsC,CAAC;YACjE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YACvD,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,iBAAiB;QACb,OAAO,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,SAAS,CAAC,MAAuB;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;QAChD,MAAM,OAAO,GAAI,QAAQ,CAAC,OAAmC,IAAI,EAAE,CAAC;QAEpE,OAAO,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC;QACpC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;QAE3B,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,OAAO,oBAAoB;IAC7B,IAAI,GAAG,gBAAgB,CAAC;IACxB,WAAW,GAAG,gBAAgB,CAAC;IAC/B,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ;QACtC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,+DAA+D,CAAC;QAC1F,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,mDAAmD,CAAC,CAAC;IACnF,QAAQ,GAAG,KAAK,CAAC;IAEjB,MAAM;QACF,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAC3C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,oCAAoC,CAAC;YAC/D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,wBAAwB,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,iBAAiB;QACb,OAAO,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,SAAS,CAAC,MAAuB;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;QAChD,MAAM,UAAU,GAAI,QAAQ,CAAC,UAAsC,IAAI,EAAE,CAAC;QAE1E,UAAU,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC;QACvC,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;QAEjC,0BAA0B;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,OAAO,iBAAiB;IAC1B,IAAI,GAAG,aAAa,CAAC;IACrB,WAAW,GAAG,mBAAmB,CAAC;IAClC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,uCAAuC;IAC1E,QAAQ,GAAG,KAAK,CAAC;IAEjB,MAAM;QACF,qCAAqC;QACrC,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9F,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACL,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,iBAAiB;QACb,0DAA0D;QAC1D,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,iBAAiB,CAAC,EAAE;gBAC3F,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,IAAI;aAChB,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBACvC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC5B,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,gBAAgB;QACpB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,SAAS,CAAC,MAAuB;QAC7B,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QAE/C,wCAAwC;QACxC,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAEjF,kCAAkC;QAClC,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAEvE,eAAe;QACf,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YACb,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;YAC1C,CAAC;QACL,CAAC;QAED,2CAA2C;QAC3C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAiB,CAAC,CAAC;QACpC,IAAI,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,GAAI,MAAM,CAAC,IAAiB,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAChE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACnF,CAAC;IACL,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,OAAO,eAAe;IACxB,IAAI,GAAG,UAAU,CAAC;IAClB,WAAW,GAAG,UAAU,CAAC;IACzB,UAAU,GAAG,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACvD,QAAQ,GAAG,KAAK,CAAC;IAEjB,MAAM;QACF,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,iBAAiB;QACb,OAAO,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,SAAS,CAAC,MAAuB;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;QAChD,MAAM,UAAU,GAAI,QAAQ,CAAC,UAAsC,IAAI,EAAE,CAAC;QAE1E,UAAU,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC;QACvC,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;QAEjC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,OAAO,UAAU;IACnB,IAAI,GAAG,KAAK,CAAC;IACb,WAAW,GAAG,YAAY,CAAC;IAC3B,UAAU,GAAG,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC/C,QAAQ,GAAG,KAAK,CAAC;IAEjB,MAAM;QACF,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9C,EAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,iBAAiB;QACb,OAAO,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,SAAS,CAAC,MAAuB;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;QAChD,MAAM,cAAc,GAAI,QAAQ,CAAC,eAA2C,IAAI,EAAE,CAAC;QAEnF,cAAc,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC;QAC3C,QAAQ,CAAC,eAAe,GAAG,cAAc,CAAC;QAE1C,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC1B,OAAO;QACH,IAAI,aAAa,EAAE;QACnB,IAAI,gBAAgB,EAAE;QACtB,IAAI,aAAa,EAAE;QACnB,IAAI,oBAAoB,EAAE;QAC1B,IAAI,iBAAiB,EAAE;QACvB,IAAI,eAAe,EAAE;QACrB,IAAI,UAAU,EAAE;KACnB,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IACzB,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAClC,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AACxD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../src/commands/links.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../src/commands/links.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoDpC,eAAO,MAAM,YAAY,SA6DnB,CAAC"}
|
package/dist/commands/links.js
CHANGED
|
@@ -34,6 +34,11 @@ function generateCursorInstallLink(apiKey) {
|
|
|
34
34
|
: {
|
|
35
35
|
command: 'npx',
|
|
36
36
|
args: ['-y', '@gemini-designer/mcp-server'],
|
|
37
|
+
env: {
|
|
38
|
+
GEMINI_API_KEY: 'YOUR_GEMINI_API_KEY',
|
|
39
|
+
GEMINI_DESIGNER_MODE: 'local',
|
|
40
|
+
GEMINI_MODEL: 'gemini-2.5-pro',
|
|
41
|
+
},
|
|
37
42
|
};
|
|
38
43
|
const base64Config = Buffer.from(JSON.stringify(config)).toString('base64');
|
|
39
44
|
return `https://cursor.com/en/install-mcp?name=Gemini+Designer&config=${encodeURIComponent(base64Config)}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"links.js","sourceRoot":"","sources":["../../src/commands/links.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,eAAe,GAAG,qCAAqC,CAAC;AAO9D,SAAS,mBAAmB;IACxB,OAAO;QACH,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,6BAA6B,CAAC;QAC3C,GAAG,EAAE;YACD,cAAc,EAAE,uBAAuB;YACvC,oBAAoB,EAAE,OAAO;SAChC;KACJ,CAAC;AACN,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IACxC,OAAO;QACH,GAAG,EAAE,eAAe;QACpB,OAAO,EAAE;YACL,aAAa,EAAE,UAAU,MAAM,EAAE;SACpC;KACJ,CAAC;AACN,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAe;IAC9C,qEAAqE;IACrE,+CAA+C;IAC/C,MAAM,MAAM,GAAG,MAAM;QACjB,CAAC,CAAC;YACE,GAAG,EAAE,eAAe;YACpB,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE;SACjD;QACD,CAAC,CAAC;YACE,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"links.js","sourceRoot":"","sources":["../../src/commands/links.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/clients/adapters.ts
CHANGED
|
@@ -145,17 +145,23 @@ export class VSCodeAdapter implements ClientAdapter {
|
|
|
145
145
|
}
|
|
146
146
|
|
|
147
147
|
/**
|
|
148
|
-
* Claude
|
|
149
|
-
*
|
|
148
|
+
* Claude Desktop adapter
|
|
149
|
+
* macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
|
|
150
|
+
* Windows: %APPDATA%\Claude\claude_desktop_config.json
|
|
150
151
|
*/
|
|
151
|
-
export class
|
|
152
|
-
name = 'claude-
|
|
153
|
-
displayName = 'Claude
|
|
154
|
-
configPath =
|
|
152
|
+
export class ClaudeDesktopAdapter implements ClientAdapter {
|
|
153
|
+
name = 'claude-desktop';
|
|
154
|
+
displayName = 'Claude Desktop';
|
|
155
|
+
configPath = process.platform === 'darwin'
|
|
156
|
+
? path.join(os.homedir(), 'Library/Application Support/Claude/claude_desktop_config.json')
|
|
157
|
+
: path.join(os.homedir(), 'AppData/Roaming/Claude/claude_desktop_config.json');
|
|
155
158
|
detected = false;
|
|
156
159
|
|
|
157
160
|
detect(): boolean {
|
|
158
|
-
|
|
161
|
+
const claudeDir = process.platform === 'darwin'
|
|
162
|
+
? path.join(os.homedir(), 'Library/Application Support/Claude')
|
|
163
|
+
: path.join(os.homedir(), 'AppData/Roaming/Claude');
|
|
164
|
+
this.detected = fs.existsSync(claudeDir);
|
|
159
165
|
return this.detected;
|
|
160
166
|
}
|
|
161
167
|
|
|
@@ -170,10 +176,84 @@ export class ClaudeCodeAdapter implements ClientAdapter {
|
|
|
170
176
|
mcpServers['gemini-designer'] = config;
|
|
171
177
|
existing.mcpServers = mcpServers;
|
|
172
178
|
|
|
179
|
+
// Ensure directory exists
|
|
180
|
+
const dir = path.dirname(this.configPath);
|
|
181
|
+
if (!fs.existsSync(dir)) {
|
|
182
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
183
|
+
}
|
|
184
|
+
|
|
173
185
|
writeJsonSafe(this.configPath, existing);
|
|
174
186
|
}
|
|
175
187
|
}
|
|
176
188
|
|
|
189
|
+
/**
|
|
190
|
+
* Claude Code CLI adapter
|
|
191
|
+
* Uses: `claude mcp add` command
|
|
192
|
+
* Config stored internally by Claude Code
|
|
193
|
+
*/
|
|
194
|
+
export class ClaudeCodeAdapter implements ClientAdapter {
|
|
195
|
+
name = 'claude-code';
|
|
196
|
+
displayName = 'Claude Code (CLI)';
|
|
197
|
+
configPath = home('.claude.json'); // Internal config, not directly edited
|
|
198
|
+
detected = false;
|
|
199
|
+
|
|
200
|
+
detect(): boolean {
|
|
201
|
+
// Check if `claude` CLI is available
|
|
202
|
+
try {
|
|
203
|
+
const result = require('child_process').spawnSync('which', ['claude'], { encoding: 'utf-8' });
|
|
204
|
+
this.detected = result.status === 0;
|
|
205
|
+
} catch {
|
|
206
|
+
this.detected = false;
|
|
207
|
+
}
|
|
208
|
+
return this.detected;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
getExistingConfig(): Record<string, unknown> | null {
|
|
212
|
+
// Use `claude mcp get` to check if gemini-designer exists
|
|
213
|
+
try {
|
|
214
|
+
const result = require('child_process').spawnSync('claude', ['mcp', 'get', 'gemini-designer'], {
|
|
215
|
+
encoding: 'utf-8',
|
|
216
|
+
timeout: 5000,
|
|
217
|
+
});
|
|
218
|
+
if (result.status === 0 && result.stdout) {
|
|
219
|
+
return { exists: true };
|
|
220
|
+
}
|
|
221
|
+
} catch {
|
|
222
|
+
// Ignore errors
|
|
223
|
+
}
|
|
224
|
+
return null;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
configure(config: McpServerConfig): void {
|
|
228
|
+
const { spawnSync } = require('child_process');
|
|
229
|
+
|
|
230
|
+
// Remove existing first (ignore errors)
|
|
231
|
+
spawnSync('claude', ['mcp', 'remove', 'gemini-designer'], { encoding: 'utf-8' });
|
|
232
|
+
|
|
233
|
+
// Build args for `claude mcp add`
|
|
234
|
+
const args = ['mcp', 'add', '--transport', 'stdio', 'gemini-designer'];
|
|
235
|
+
|
|
236
|
+
// Add env vars
|
|
237
|
+
if (config.env) {
|
|
238
|
+
for (const [key, value] of Object.entries(config.env)) {
|
|
239
|
+
args.push('--env', `${key}=${value}`);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
// Add command separator and actual command
|
|
244
|
+
args.push('--');
|
|
245
|
+
args.push(config.command as string);
|
|
246
|
+
if (config.args && Array.isArray(config.args)) {
|
|
247
|
+
args.push(...(config.args as string[]));
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
const result = spawnSync('claude', args, { encoding: 'utf-8' });
|
|
251
|
+
if (result.status !== 0) {
|
|
252
|
+
throw new Error(`Failed to add MCP server: ${result.stderr || result.stdout}`);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
|
|
177
257
|
/**
|
|
178
258
|
* Windsurf adapter
|
|
179
259
|
* Config: ~/.codeium/windsurf/mcp_config.json
|
|
@@ -243,6 +323,7 @@ export function getAllAdapters(): ClientAdapter[] {
|
|
|
243
323
|
new CursorAdapter(),
|
|
244
324
|
new GeminiCliAdapter(),
|
|
245
325
|
new VSCodeAdapter(),
|
|
326
|
+
new ClaudeDesktopAdapter(),
|
|
246
327
|
new ClaudeCodeAdapter(),
|
|
247
328
|
new WindsurfAdapter(),
|
|
248
329
|
new ZedAdapter(),
|
package/src/commands/links.ts
CHANGED
|
@@ -44,6 +44,11 @@ function generateCursorInstallLink(apiKey?: string): string {
|
|
|
44
44
|
: {
|
|
45
45
|
command: 'npx',
|
|
46
46
|
args: ['-y', '@gemini-designer/mcp-server'],
|
|
47
|
+
env: {
|
|
48
|
+
GEMINI_API_KEY: 'YOUR_GEMINI_API_KEY',
|
|
49
|
+
GEMINI_DESIGNER_MODE: 'local',
|
|
50
|
+
GEMINI_MODEL: 'gemini-2.5-pro',
|
|
51
|
+
},
|
|
47
52
|
};
|
|
48
53
|
|
|
49
54
|
const base64Config = Buffer.from(JSON.stringify(config)).toString('base64');
|