Skip to content
Open
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
2 changes: 2 additions & 0 deletions cmd/agent/container/setup.go
Original file line number Diff line number Diff line change
Expand Up @@ -435,6 +435,8 @@ func (cmd *SetupContainerCmd) installIDE(setupInfo *config.Result, ide *provider
return cmd.setupVSCode(setupInfo, ide.Options, vscode.FlavorCodium, log)
case string(config2.IDEWindsurf):
return cmd.setupVSCode(setupInfo, ide.Options, vscode.FlavorWindsurf, log)
case string(config2.IDEAntigravity):
return cmd.setupVSCode(setupInfo, ide.Options, vscode.FlavorAntigravity, log)
case string(config2.IDEOpenVSCode):
return cmd.setupOpenVSCode(setupInfo, ide.Options, log)
case string(config2.IDEGoland):
Expand Down
9 changes: 9 additions & 0 deletions cmd/up.go
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,15 @@ func (cmd *UpCmd) Run(
vscode.FlavorWindsurf,
log,
)
case string(config.IDEAntigravity):
return vscode.Open(
ctx,
client.Workspace(),
result.SubstitutionContext.ContainerWorkspaceFolder,
vscode.Options.GetValue(ideConfig.Options, vscode.OpenNewWindow) == "true",
vscode.FlavorAntigravity,
log,
)
case string(config.IDEOpenVSCode):
return startVSCodeInBrowser(
cmd.GPGAgentForwarding,
Expand Down
2 changes: 2 additions & 0 deletions desktop/src/components/IDEIcon/IDEIcon.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import {
} from "@chakra-ui/react"
import { HiBeaker } from "react-icons/hi2"
import {
AntigravitySvg,
CLionSvg,
CodiumSvg,
CursorSvg,
Expand Down Expand Up @@ -75,6 +76,7 @@ const IDE_ICONS: Record<string, string> = {
zed_dark: ZedDarkSvg,
rstudio: RStudioSvg,
windsurf: WindsurfSvg,
antigravity: AntigravitySvg,
}

type TIDEIconProps = Readonly<{ ide: TIDE; size?: "sm" | "md" }> & BoxProps
Expand Down
1 change: 1 addition & 0 deletions desktop/src/contexts/SettingsContext/SettingsContext.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ const initialSettings: TSettings = {
experimental_codium: true,
experimental_rstudio: true,
experimental_windsurf: true,
experimental_antigravity: true,
experimental_devPodPro: false,
}
function getSettingKeys(): readonly TSetting[] {
Expand Down
1 change: 1 addition & 0 deletions desktop/src/gen/Settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ export interface Settings {
experimental_positron: boolean
experimental_rstudio: boolean
experimental_windsurf: boolean
experimental_antigravity: boolean
experimental_devPodPro: boolean
experimental_colorMode: ColorMode
}
1 change: 1 addition & 0 deletions desktop/src/images/antigravity.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions desktop/src/images/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,4 @@ export { default as ZedSvg } from "./zed.svg"
export { default as ZedDarkSvg } from "./zed_dark.svg"
export { default as RStudioSvg } from "./rstudio.svg"
export { default as WindsurfSvg } from "./windsurf.svg"
export { default as AntigravitySvg } from "./antigravity.svg"
1 change: 1 addition & 0 deletions desktop/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,7 @@ export const SUPPORTED_IDES = [
"jupyternotebook",
"fleet",
"windsurf",
"antigravity",
] as const
export type TSupportedIDE = (typeof SUPPORTED_IDES)[number]
export type TImportWorkspaceConfig = Readonly<{
Expand Down
2 changes: 2 additions & 0 deletions desktop/src/useIDEs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ const CODIUM = "codium"
const ZED = "zed"
const RSTUDIO = "rstudio"
const WINDSURF = "windsurf"
const ANTIGRAVITY = "antigravity"

export function useIDEs() {
const idesQuery = useQuery({
Expand All @@ -37,6 +38,7 @@ export function useIDEs() {
if (ide.name === ZED && settings.experimental_zed) return true
if (ide.name === RSTUDIO && settings.experimental_rstudio) return true
if (ide.name === WINDSURF && settings.experimental_windsurf) return true
if (ide.name === ANTIGRAVITY && settings.experimental_antigravity) return true

return false
}),
Expand Down
10 changes: 10 additions & 0 deletions desktop/src/views/Settings/Settings.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -483,6 +483,16 @@ function ExperimentalSettings() {
Windsurf
</FormLabel>
</HStack>

<HStack width="full" align="center">
<Switch
isChecked={settings.experimental_antigravity}
onChange={(e) => set("experimental_antigravity", e.target.checked)}
/>
<FormLabel marginBottom="0" whiteSpace="nowrap" fontSize="sm">
Antigravity
</FormLabel>
</HStack>
</SettingSection>

<SettingSection title="Additional CLI Flags" description={cliFlagsHelpText}>
Expand Down
1 change: 1 addition & 0 deletions pkg/config/ide.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ const (
IDEZed IDE = "zed"
IDERStudio IDE = "rstudio"
IDEWindsurf IDE = "windsurf"
IDEAntigravity IDE = "antigravity"
)

type IDEGroup string
Expand Down
8 changes: 8 additions & 0 deletions pkg/ide/ideparse/parse.go
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,14 @@ var AllowedIDEs = []AllowedIDE{
Experimental: true,
Group: config.IDEGroupPrimary,
},
{
Name: config.IDEAntigravity,
DisplayName: "Antigravity",
Options: vscode.Options,
Icon: "https://devpod.sh/assets/antigravity.svg",
Experimental: true,
Group: config.IDEGroupPrimary,
},
}

func RefreshIDEOptions(devPodConfig *config.Config, workspace *provider.Workspace, ide string, options []string) (*provider.Workspace, error) {
Expand Down
12 changes: 12 additions & 0 deletions pkg/ide/vscode/open.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ func openViaBrowser(workspace, folder string, newWindow bool, flavor Flavor, log
protocol = `codium://`
case FlavorWindsurf:
protocol = `windsurf://`
case FlavorAntigravity:
protocol = `antigravity://`
default:
return fmt.Errorf("unknown flavor %s", flavor)
}
Expand Down Expand Up @@ -183,5 +185,15 @@ func findCLI(flavor Flavor) string {
return ""
}

if flavor == FlavorAntigravity {
if command.Exists("agy") {
return "agy"
} else if runtime.GOOS == "darwin" && command.Exists("/Applications/Antigravity.app/Contents/Resources/app/bin/antigravity") {
return "/Applications/Antigravity.app/Contents/Resources/app/bin/antigravity"
}

return ""
}

return ""
}
5 changes: 5 additions & 0 deletions pkg/ide/vscode/vscode.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ const (
FlavorPositron Flavor = "positron"
FlavorCodium Flavor = "codium"
FlavorWindsurf Flavor = "windsurf"
FlavorAntigravity Flavor = "antigravity"
)

func (f Flavor) DisplayName() string {
Expand All @@ -48,6 +49,8 @@ func (f Flavor) DisplayName() string {
return "VSCodium"
case FlavorWindsurf:
return "Windsurf"
case FlavorAntigravity:
return "Antigravity"
default:
return "VSCode"
}
Expand Down Expand Up @@ -461,6 +464,8 @@ func prepareServerLocation(userName string, create bool, flavor Flavor) (string,
folderName = ".vscodium-server"
case FlavorWindsurf:
folderName = ".windsurf-server"
case FlavorAntigravity:
folderName = ".antigravity-server"
}

folder := filepath.Join(homeFolder, folderName)
Expand Down