Skip to content

feat: rebrand user-facing strings to Bolt across CLI, TUI, and app - #47

Merged
A-x6 merged 5 commits into
devfrom
app-branding
Jul 31, 2026
Merged

A-x6 merged 5 commits into
devfrom
app-branding

Conversation

@A-x6

@A-x6 A-x6 commented Jul 30, 2026

Copy link
Copy Markdown

Issue for this PR

Closes #46

Type of change

  • Bug fix
  • New feature
  • Refactor / code improvement
  • Documentation

What does this PR do?

The binary and packages are already Bolt, but the strings users actually see still said opencode. This sweeps the user-facing surface while leaving every contract-bound identifier untouched (@opencode-ai/* specifiers, OPENCODE_* env vars, opencode.ai URLs, opencode.json/.opencode/ paths, provider ids, "OpenCode Zen" provider brand, keybind/storage keys, the GitHub /opencode trigger, and the opencode-version issue-form field id).

  • CLI: scriptName("bolt") so help/usage prints bolt <command>; command describes and actionable hints (bolt models, bolt auth login, bolt mcp add, bolt --mini -s <id>, upgrade messages) now name the binary that is actually on PATH. Help snapshots regenerated — the diff is purely the name swap.
  • TUI: terminal title, home tips, MCP auth hint, crash screen. Also fixes the malformed crash-report URL:
// before
new URL("https://github.com/Bolt-builder/bolt-cli/actions/workflows/publish.ym/issues/new?template=bug-report.yml")
// after
new URL("https://github.com/bolt-builder/bolt-cli/issues/new?template=bug-report.yml")
  • Web app: index.html title, webmanifest name (lives in packages/ui favicon assets), Windows app menu labels, help dialog, and ~30 strings in each of the 18 locales. Locale replacement was line-scoped to skip OpenCode Zen and the freeModels.title key, which name the model provider rather than the app — every locale ends with exactly those provider-brand occurrences remaining.
  • Tests: fixes the two TUI tests that already fail on dev — they asserted "bolt -s ses_123" as one substring, but the epilogue styles bolt with ANSI codes between the name and the flags, so the assertion could never match.

How did you verify your code works?

  • bun test in packages/tui — 192 pass, 0 fail (dev currently has 2 failures).
  • bun test ./test/cli/help/help-snapshots.test.ts and ./test/cli/error.test.ts in packages/opencode — pass; verified the snapshot diff contains only opencode→bolt lines.
  • bun run --conditions=browser src/index.ts --help prints the Bolt logo and bolt <command> usage.
  • tsgo --noEmit clean in packages/opencode, packages/tui, packages/app.
  • packages/app i18n parity test failure is pre-existing on dev (missing keys, unrelated; identical result with these changes stashed).

Screenshots / recordings

CLI help now renders the BOLT CLI wordmark with bolt <command> usage lines (terminal output, no UI screenshot applicable).

Checklist

  • I have tested my changes locally
  • I have not included unrelated changes in this PR

View with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is enabled.

@vercel

vercel Bot commented Jul 30, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
bolt-cli-app Ready Ready Preview Jul 30, 2026 11:32pm

@coderabbitai

coderabbitai Bot commented Jul 30, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@DevFlex-AI, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 21 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: e6d7d304-b90e-4fe7-a1c4-6d55af53a018

📥 Commits

Reviewing files that changed from the base of the PR and between 25b7fdf and 8431a4e.

⛔ Files ignored due to path filters (1)
  • packages/opencode/test/cli/help/__snapshots__/help-snapshots.test.ts.snap is excluded by !**/*.snap
📒 Files selected for processing (42)
  • packages/app/index.html
  • packages/app/src/components/help-button.tsx
  • packages/app/src/components/windows-app-menu.tsx
  • packages/app/src/i18n/ar.ts
  • packages/app/src/i18n/br.ts
  • packages/app/src/i18n/bs.ts
  • packages/app/src/i18n/da.ts
  • packages/app/src/i18n/de.ts
  • packages/app/src/i18n/en.ts
  • packages/app/src/i18n/es.ts
  • packages/app/src/i18n/fr.ts
  • packages/app/src/i18n/ja.ts
  • packages/app/src/i18n/ko.ts
  • packages/app/src/i18n/no.ts
  • packages/app/src/i18n/pl.ts
  • packages/app/src/i18n/ru.ts
  • packages/app/src/i18n/th.ts
  • packages/app/src/i18n/tr.ts
  • packages/app/src/i18n/uk.ts
  • packages/app/src/i18n/zh.ts
  • packages/app/src/i18n/zht.ts
  • packages/opencode/src/cli/cmd/attach.ts
  • packages/opencode/src/cli/cmd/mcp.ts
  • packages/opencode/src/cli/cmd/pr.ts
  • packages/opencode/src/cli/cmd/providers.ts
  • packages/opencode/src/cli/cmd/run.ts
  • packages/opencode/src/cli/cmd/run/splash.ts
  • packages/opencode/src/cli/cmd/serve.ts
  • packages/opencode/src/cli/cmd/tui.ts
  • packages/opencode/src/cli/cmd/upgrade.ts
  • packages/opencode/src/cli/cmd/web.ts
  • packages/opencode/src/cli/error.ts
  • packages/opencode/src/index.ts
  • packages/opencode/test/cli/error.test.ts
  • packages/tui/src/attention.ts
  • packages/tui/src/component/dialog-status.tsx
  • packages/tui/src/component/error-component.tsx
  • packages/tui/src/feature-plugins/home/tips-view.tsx
  • packages/tui/src/util/error.ts
  • packages/tui/test/app-lifecycle.test.tsx
  • packages/tui/test/util/presentation.test.ts
  • packages/ui/src/assets/favicon/site.webmanifest

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

@github-actions

Copy link
Copy Markdown

The following comment was made by an LLM, it may be inaccurate:

@A-x6
A-x6 merged commit 281c0ad into dev Jul 31, 2026
17 of 18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

User-facing strings still say opencode/OpenCode across CLI, TUI, and web app

1 participant