Skip to content

Update Builder CLI from fusion to builder binary#91

Merged
steve8708 merged 1 commit intomainfrom
ai_main_8061cc4f5e02
Mar 25, 2026
Merged

Update Builder CLI from fusion to builder binary#91
steve8708 merged 1 commit intomainfrom
ai_main_8061cc4f5e02

Conversation

@steve8708
Copy link
Copy Markdown
Contributor

@steve8708 steve8708 commented Mar 25, 2026

Summary

Updates all references to the Builder.io CLI from the old fusion executable and @builder.io/fusion npm package to the new builder binary installed via a curl script.

Problem

The Builder.io agent-native CLI was rebranded and redistributed under a new name and installation method. The old executable name (fusion) and install command (npx --yes @builder.io/fusion) were no longer valid, causing broken onboarding instructions and incorrect defaults throughout the codebase.

Solution

Performed a consistent find-and-replace across all user-facing and internal references — defaults, docs, registry entries, CLI arg handling, and UI install instructions — replacing fusion with builder and swapping the npm-based install for the new curl-based installer.

Key Changes

  • AgentPanel.tsx – Updated CLI_DEFAULT constant from "fusion" to "builder"
  • AgentTerminal.tsx – Updated JSDoc default reference from 'fusion' to 'builder'
  • cli-registry.ts – Renamed registry key from fusion to builder; cleared installPackage (no longer an npm package)
  • terminal-plugin.ts – Updated all fallback command defaults from "fusion" to "builder"
  • docs.harnesses.tsx – Updated the Builder.io row in the harness comparison table to use builder as the command
  • harnesses.ts – Updated fusionConfig to use command: "builder", cleared installPackage, and added installCommand: "curl -fsSL https://www.builder.io/install.sh | bash"
  • config.ts – Added optional installCommand field to HarnessConfig interface to support non-npm install flows
  • App.tsx – Updated install UI to render installCommand when present, falling back to the npx --yes {installPackage} pattern
  • utils.ts – Updated CLI args switch-case from "fusion" to "builder"

Edit in Builder  Preview


To clone this PR locally use the Github CLI with command gh pr checkout 91

You can tag me at @BuilderIO for anything you want me to fix or change

@netlify
Copy link
Copy Markdown

netlify bot commented Mar 25, 2026

Deploy Preview for agent-native-fw ready!

Name Link
🔨 Latest commit b6013f5
🔍 Latest deploy log https://app.netlify.com/projects/agent-native-fw/deploys/69c3cada21d91a000832bf12
😎 Deploy Preview https://deploy-preview-91--agent-native-fw.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@builder-io-integration builder-io-integration bot changed the title Update from the Builder.io agent Update Builder CLI from fusion to builder binary Mar 25, 2026
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages bot commented Mar 25, 2026

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
agent-native-calendar b6013f5 Commit Preview URL

Branch Preview URL
Mar 25 2026, 11:46 AM

@steve8708 steve8708 merged commit ea64f9b into main Mar 25, 2026
12 checks passed
@steve8708 steve8708 deleted the ai_main_8061cc4f5e02 branch March 25, 2026 11:51
Copy link
Copy Markdown

@builder-io-integration builder-io-integration bot left a comment

Choose a reason for hiding this comment

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

Builder has reviewed your changes and found 1 potential issue.

Review Details

PR #91 Review: Builder CLI Rename (fusionbuilder)

This PR performs a consistent rename of the Builder.io CLI identifier from fusion to builder across 9 files, and switches the install method from npx --yes @builder.io/fusion to a curl-based installer. The approach is sound and the changes are internally consistent.

Risk: Standard — While the code changes are low-complexity, the rename introduces a localStorage migration gap that causes a confirmed broken state for existing users.

Key Findings

🟡 MEDIUM — localStorage not migrated (confirmed by 2/2 agents)
Existing users who had previously selected Builder.io (stored as "fusion" under agent-native-cli-command) will load the new code and immediately hit a broken terminal: the PTY server rejects "fusion" as unrecognized since it was removed from CLI_REGISTRY, sending a WebSocket "not-found" error and closing the connection.

What Looks Good

  • installPackage: "" is safe — both the PTY server and harness server guard with if (registry?.installPackage), so no npx --yes trailing-empty-string is ever executed
  • App.tsx correctly uses config.installCommand || \npx --yes ${config.installPackage}`` — the curl command renders for Builder.io
  • ✅ The terminal-plugin.ts status-endpoint fallback ("claude""builder") was a pre-existing inconsistency that is now correctly fixed
  • buildCliArgs switch-case updated correctly; no other CLI-specific branches missed

View in Builder.io

Code review by Builder.io


const CLI_STORAGE_KEY = "agent-native-cli-command";
const CLI_DEFAULT = "fusion";
const CLI_DEFAULT = "builder";
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Missing localStorage migration for "fusion" → "builder"

Existing users with "fusion" saved under agent-native-cli-command will get a broken terminal on next load: the PTY server rejects "fusion" (removed from CLI_REGISTRY) and closes the WebSocket with a "not-found" error. Add a one-time migration: if (saved === "fusion") { localStorage.setItem(CLI_STORAGE_KEY, "builder"); return "builder"; }


How did I do? React with 👍 or 👎 to help me improve.

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