Skip to content

Commit 75f1b48

Browse files
committed
fix: merge
2 parents d070227 + d9ce7c5 commit 75f1b48

File tree

7 files changed

+24
-5
lines changed

7 files changed

+24
-5
lines changed

.github/workflows/claude.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
name: Claude Code
22

33
on:
4-
issue_comment:
5-
types: [created]
64
pull_request_review_comment:
75
types: [created]
86
issues:

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ The `--client` flag specifies which MCP client you're installing for:
108108
- `gemini-cli`
109109
- `claude-code`
110110
- `goose`
111+
- `zed`
111112
- `warp` (outputs config to copy/paste into Warp's cloud-based settings)
112113

113114
## License

bin/run

100644100755
File mode changed.

src/client-config.test.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,14 @@ describe('client-config', () => {
5555
'gemini-cli',
5656
'vscode',
5757
'claude-code',
58+
'goose',
59+
'zed',
5860
]),
5961
)
6062
})
6163

62-
it('should have at least 11 clients', () => {
63-
expect(clientNames.length).toBeGreaterThanOrEqual(11)
64+
it('should have at least 13 clients', () => {
65+
expect(clientNames.length).toBeGreaterThanOrEqual(13)
6466
})
6567
})
6668

src/client-config.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,14 @@ function getClientPaths(): { [key: string]: ClientInstallTarget } {
125125
configKey: 'extensions',
126126
format: 'yaml',
127127
},
128+
zed: {
129+
type: 'file',
130+
path:
131+
process.platform === 'win32'
132+
? path.join(process.env.APPDATA || path.join(homeDir, 'AppData', 'Roaming'), 'Zed', 'settings.json')
133+
: path.join(homeDir, '.config', 'zed', 'settings.json'),
134+
configKey: 'context_servers',
135+
},
128136
}
129137
}
130138

@@ -141,6 +149,7 @@ export const clientNames = [
141149
'vscode',
142150
'claude-code',
143151
'goose',
152+
'zed',
144153
]
145154

146155
// Helper function to get nested value from an object using dot notation

src/commands/install.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ describe('install command', () => {
2020
beforeEach(() => {
2121
jest.clearAllMocks()
2222
Object.defineProperty(mockClientConfig, 'clientNames', {
23-
value: ['claude', 'cline', 'cursor', 'vscode', 'warp'],
23+
value: ['claude', 'cline', 'cursor', 'vscode', 'warp', 'goose', 'zed'],
2424
writable: true,
2525
})
2626
mockClientConfig.readConfig.mockReturnValue({ mcpServers: {} })

src/commands/install.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,15 @@ function setServerConfig(
4141
timeout: 300,
4242
...serverConfig, // Allow overriding defaults
4343
}
44+
} else if (client === 'zed') {
45+
// Zed has a different config structure
46+
servers[serverName] = {
47+
source: 'custom',
48+
command: serverConfig.command,
49+
args: serverConfig.args,
50+
env: {},
51+
...serverConfig, // Allow overriding defaults
52+
}
4453
} else {
4554
servers[serverName] = serverConfig
4655
}

0 commit comments

Comments
 (0)