Skip to content

feat: add support for IBM Bob IDE#657

Merged
skevetter merged 3 commits intoskevetter:mainfrom
imphil:bob
Apr 2, 2026
Merged

feat: add support for IBM Bob IDE#657
skevetter merged 3 commits intoskevetter:mainfrom
imphil:bob

Conversation

@imphil
Copy link
Copy Markdown

@imphil imphil commented Mar 30, 2026

Add experimental support for the IBM Bob IDE, an AI-first VS Code fork
(like many others). More information is available at
https://bob.ibm.com/.

Summary by CodeRabbit

  • New Features
    • Added experimental "Bob" IDE as a selectable development environment.
    • Added a Settings toggle to enable/disable the experimental Bob IDE.
    • Added Bob IDE icon for consistent UI representation.
    • Integrated Bob with existing VS Code workflows so Bob projects open using established VS Code paths.

Add experimental support for the IBM Bob IDE, an AI-first VS Code fork
(like many others). More information is available at
https://bob.ibm.com/.
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 30, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 7bbde949-524a-4747-bb5e-9712e9929266

📥 Commits

Reviewing files that changed from the base of the PR and between a87030a and 8b0b414.

📒 Files selected for processing (2)
  • cmd/up.go
  • desktop/src/types.ts
🚧 Files skipped from review as they are similar to previous changes (1)
  • desktop/src/types.ts

📝 Walkthrough

Walkthrough

Adds support for a new experimental IDE "Bob": backend constants and registration, VSCode flavor and open configs, container setup routing, CLI mapping, frontend icon and supported-IDE wiring, and a UI toggle to enable the experimental IDE.

Changes

Cohort / File(s) Summary
IDE Configuration
pkg/config/ide.go, pkg/ide/ideparse/parse.go
Added IDEBob constant and registered it in AllowedIDEs with DisplayName "IBM Bob", VSCode options, icon URL, Experimental: true, and primary group.
VSCode Flavor Support
pkg/ide/vscode/vscode.go, pkg/ide/vscode/open.go
Added FlavorBob and flavorConfigs for Bob (.bobide-server, bobide-server) and an openConfigs entry (URL scheme bob, CLI bobide, macOS app path, remote-ssh extension).
Backend IDE Setup / CLI
cmd/agent/container/setup.go, cmd/up.go
Routed IDEBob to VSCode-flavor code paths: container setup calls VSCode setup with vscode.FlavorBob; cmd/up maps IDEBob to FlavorBob for opening.
Frontend UI & Assets
desktop/src/components/IDEIcon/IDEIcon.tsx, desktop/src/images/index.ts, desktop/src/types.ts
Added BobSvg export/import, included "bob" in SUPPORTED_IDES, and extended IDE icon mapping to resolve the Bob SVG.
Frontend Settings & Feature Gate
desktop/src/contexts/SettingsContext/SettingsContext.tsx, desktop/src/useIDEs.ts, desktop/src/views/Settings/Settings.tsx
Added experimental_bob default setting (true), gated IDE listing to include Bob only when enabled, and added a Settings UI toggle labeled "Bob".

Sequence Diagram(s)

sequenceDiagram
  participant Desktop as Desktop UI
  participant Settings as SettingsStore
  participant CLI as CLI / cmd/up
  participant Agent as Agent (container/setup)
  participant VSCode as pkg/ide/vscode

  Desktop->>Settings: read experimental_bob
  Desktop->>CLI: user requests "up" with IDE=bob
  CLI->>VSCode: map IDE "bob" -> FlavorBob
  CLI->>Agent: start container with setupVSCode(FlavorBob)
  Agent->>VSCode: request open/install using FlavorBob config
  VSCode->>VSCode: choose openViaBrowser/openViaCLI config for "bob"
  VSCode-->>Agent: return open command / URL
  Agent-->>Desktop: open URL / instruct client to launch bobIDE
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested labels

size/m

Suggested reviewers

  • skevetter
🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately and concisely describes the main change: adding support for the IBM Bob IDE across the codebase.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Owner

@skevetter skevetter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's update desktop/src/types.ts too

@github-actions github-actions bot removed the size/m label Mar 30, 2026
experimental_rstudio: boolean
experimental_windsurf: boolean
experimental_antigravity: boolean
experimental_bob: boolean
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

todo: remove experimental from IDE flavors. I don't think this label adds much value as the IDEs are supported on a best-effort basis

Copy link
Copy Markdown
Owner

@skevetter skevetter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

another day, another AI text editor :)

LGTM!

@skevetter skevetter merged commit 5c5255d into skevetter:main Apr 2, 2026
41 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants