Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ kconfig.yaml
.DS_Store

cmd/thv-operator/.task/checksum/crdref-gen
.task/checksum/crdref-gen

# Test coverage
coverage*
10 changes: 6 additions & 4 deletions cmd/thv/app/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ Valid clients:
- amp-vscode: Sourcegraph Amp extension for VS Code
- amp-vscode-insider: Sourcegraph Amp extension for VS Code Insiders
- amp-windsurf: Sourcegraph Amp extension for Windsurf
- antigravity: Google Antigravity IDE
- claude-code: Claude Code CLI
- cline: Cline extension for VS Code
- continue: Continue.dev extensions for VS Code and JetBrains
Expand Down Expand Up @@ -81,6 +82,7 @@ Valid clients:
- amp-vscode: Sourcegraph Amp extension for VS Code
- amp-vscode-insider: Sourcegraph Amp extension for VS Code Insiders
- amp-windsurf: Sourcegraph Amp extension for Windsurf
- antigravity: Google Antigravity IDE
- claude-code: Claude Code CLI
- cline: Cline extension for VS Code
- continue: Continue.dev extensions for VS Code and JetBrains
Expand Down Expand Up @@ -202,13 +204,13 @@ func clientRegisterCmdFunc(cmd *cobra.Command, args []string) error {
switch clientType {
case "roo-code", "cline", "cursor", "claude-code", "vscode-insider", "vscode", "windsurf", "windsurf-jetbrains",
"amp-cli", "amp-vscode", "amp-vscode-insider", "amp-cursor", "amp-windsurf", "lm-studio", "goose", "trae",
"continue", "opencode", "kiro":
"continue", "opencode", "kiro", "antigravity":
// Valid client type
default:
return fmt.Errorf(
"invalid client type: %s (valid types: roo-code, cline, cursor, claude-code, vscode, vscode-insider, "+
"windsurf, windsurf-jetbrains, amp-cli, amp-vscode, amp-vscode-insider, amp-cursor, amp-windsurf, lm-studio, "+
"goose, trae, continue, opencode, kiro)",
"goose, trae, continue, opencode, kiro, antigravity)",
clientType)
}

Expand All @@ -222,13 +224,13 @@ func clientRemoveCmdFunc(cmd *cobra.Command, args []string) error {
switch clientType {
case "roo-code", "cline", "cursor", "claude-code", "vscode-insider", "vscode", "windsurf", "windsurf-jetbrains",
"amp-cli", "amp-vscode", "amp-vscode-insider", "amp-cursor", "amp-windsurf", "lm-studio", "goose", "trae",
"continue", "opencode", "kiro":
"continue", "opencode", "kiro", "antigravity":
// Valid client type
default:
return fmt.Errorf(
"invalid client type: %s (valid types: roo-code, cline, cursor, claude-code, vscode, vscode-insider, "+
"windsurf, windsurf-jetbrains, amp-cli, amp-vscode, amp-vscode-insider, amp-cursor, amp-windsurf, lm-studio, "+
"goose, trae, continue, opencode, kiro)",
"goose, trae, continue, opencode, kiro, antigravity)",
clientType)
}

Expand Down
1 change: 1 addition & 0 deletions docs/cli/thv_client_register.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions docs/cli/thv_client_remove.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion docs/server/docs.go

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/server/swagger.json

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions docs/server/swagger.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions pkg/client/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,8 @@ const (
OpenCode MCPClient = "opencode"
// Kiro represents the Kiro AI IDE.
Kiro MCPClient = "kiro"
// Antigravity represents the Google Antigravity IDE.
Antigravity MCPClient = "antigravity"
)

// Extension is extension of the client config file.
Expand Down Expand Up @@ -462,6 +464,16 @@ var supportedClientIntegrations = []mcpClientConfig{
},
IsTransportTypeFieldSupported: false,
},
{
ClientType: Antigravity,
Description: "Google Antigravity IDE",
SettingsFile: "mcp_config.json",
MCPServersPathPrefix: "/mcpServers",
RelPath: []string{".gemini", "antigravity"},
Extension: JSON,
IsTransportTypeFieldSupported: false,
MCPServersUrlLabel: "serverUrl",
},
}

// ConfigFile represents a client configuration file
Expand Down
5 changes: 3 additions & 2 deletions pkg/client/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -351,6 +351,7 @@ func TestSuccessfulClientConfigOperations(t *testing.T) {
string(Continue),
string(OpenCode),
string(Kiro),
string(Antigravity),
},
},
}
Expand Down Expand Up @@ -438,7 +439,7 @@ func TestSuccessfulClientConfigOperations(t *testing.T) {
case AmpWindsurf:
assert.Contains(t, string(content), `"mcpServers":`,
"AmpWindsurf config should contain mcpServers key")
case LMStudio, Trae, Kiro:
case LMStudio, Trae, Kiro, Antigravity:
assert.Contains(t, string(content), `"mcpServers":`,
"Config should contain mcpServers key")
case OpenCode:
Expand Down Expand Up @@ -485,7 +486,7 @@ func TestSuccessfulClientConfigOperations(t *testing.T) {
assert.Contains(t, string(content), testURL,
"VSCode config should contain the server URL")
case Cursor, RooCode, ClaudeCode, Cline, Windsurf, WindsurfJetBrains, AmpCli,
AmpVSCode, AmpCursor, AmpVSCodeInsider, AmpWindsurf, LMStudio, Goose, Trae, Continue, OpenCode, Kiro:
AmpVSCode, AmpCursor, AmpVSCodeInsider, AmpWindsurf, LMStudio, Goose, Trae, Continue, OpenCode, Kiro, Antigravity:
assert.Contains(t, string(content), testURL,
"Config should contain the server URL")
}
Expand Down
Loading