Skip to content

T3 Code → Workbench rebrand sweep - #4

Merged
jlmcmich merged 5 commits into
mainfrom
rebrand/t3-to-workbench
Apr 19, 2026
Merged

jlmcmich merged 5 commits into
mainfrom
rebrand/t3-to-workbench

Conversation

@jlmcmich

Copy link
Copy Markdown
Owner

Summary

Five-commit sweep replacing T3 Code branding with Workbench across icons, persistence, server strings, CLI, and docs.

  • Icons: New transparent workbench mark across all production rasters (favicons, Apple touch icon, macOS .icns, Windows .ico, Linux PNG). Dev/nightly icons rebuilt as the same mark in #2563eb (UI accent blue), transparent background. New scripts/regenerate-icons.mjs (sharp + png-to-ico + sips/iconutil).
  • localStorage: All 10 keys + 1 DOM event migrated t3code:* → workbench:* with one-release back-compat read of the old keys.
  • Server strings: All user-visible "T3 Code" / "T3 Server" replaced with Workbench in providers, RPC, web composer; all matching snapshot tests updated.
  • CLI: t3 → workbench bin entries + REMOTE.md/KEYBINDINGS.md/.docs updates. .workbench/ home dir reads with .t3/ fallback for back-compat.

Test plan

  • bun fmt, bun lint, bun typecheck, bun run test after each commit (1 pre-existing test failure in MessagesTimeline.test.tsx unrelated)
  • Smoke-test the desktop dev build to confirm the new icons load
  • Verify localStorage migration: install latest, then this branch, confirm preferences carry over
  • Verify workbench serve --help shows new name

Deferred (out of scope, follow-up PRs)

  • T3CODE_* env vars (29 source files)
  • t3://app/index.html URL scheme in apps/desktop/src/main.ts
  • Cursor wire-protocol identifiers (t3-code-provider-probe, name: "t3-code")
  • README.md brew install --cask t3-code line (now obsolete)

Jonathan McMichael and others added 5 commits April 19, 2026 14:59
Replace the old black-rounded-square "T3" wordmark with the bare workbench
mark (bench top + 2 legs + 3 blocks, currentColor on transparent) and
regenerate every committed raster — production launchers, dev/nightly
blueprint variants, web public favicons, and desktop committed fallbacks.

Adds scripts/regenerate-icons.mjs (driven by sharp + png-to-ico, with
sips/iconutil for ICNS and a pure-JS ICNS encoder fallback) so the whole
raster set can be rebuilt from assets/prod/logo.svg with one command.
The dev/nightly variants composite the white workbench mark over the
existing blueprint-blue gradient + paper texture from the icon-composer
source layers — replacing the prior "T3" letters, not painting over them.

Renames assets/prod/{t3-black-*,black-*-1024}.png|ico to workbench-*.png|ico
and updates scripts/lib/brand-assets.ts to point at the new filenames.
Drops the orphan assets/prod/black-ios-1024.png that no callsite read.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Rename every persisted localStorage key (and the in-page CustomEvent name)
to the workbench:* namespace. Each store now reads the new key first and
falls back to its t3code:* predecessor on first load, writes only to the
new key thereafter, so existing users keep their preferences across the
rebrand.

Touched stores: useTheme + index.html boot script (theme), client
settings + saved-environment registry, last-editor preference,
terminal state, ui state (added new tier above the existing
renderer-state legacy chain), composer drafts, ChatView's
last-invoked-script-by-project (one-shot copy at module load).

The DOM CustomEvent useLocalStorage dispatches is renamed without
back-compat — it has no persistence, only listeners-from-this-tab.

Updates the three ChatView.browser test fixtures that wrote to the old
keys directly so they continue exercising the production code path.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…th Workbench

Sweep every user-visible "T3 Code" / "T3 Server" string and the
`t3-code-git-text` ACP client identifier across the server runtime,
git layer, provider probe messages, environment label fallback, server
CLI description, and the websocket connection surface on the web side.
Updates matching test/snapshot assertions in the same commit so the
suite passes.

Also relabels the checkpoint git author/committer from "T3 Code" to
"Workbench" (existing checkpoints keep their historical author per
the user's call) and renames the Codex desktop client `title`. Effect
Service tag IDs, the `t3-code-provider-probe` Cursor ACP client name,
and the desktop main.ts `LEGACY_USER_DATA_DIR_NAMES` back-compat list
are intentionally left untouched per the rebrand brief.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Drop the legacy `t3` entry from apps/server/package.json — the published
binary is now exclusively `workbench`. The fallback used during the
desktop migration is no longer needed since the server itself is
already on the new identifier.

Refresh REMOTE.md to use `workbench serve` / `workbench auth`
throughout (and remove the "still uses `t3` during the migration"
caveat). Refresh KEYBINDINGS.md to point at `~/.workbench/keybindings.json`
with `~/.t3/...` listed as a legacy fallback during the migration —
matching the resolver in apps/server/src/os-jank.ts and
scripts/dev-runner.ts which already check both directories.

Renames the devcontainer label, the ignored fork-baseline
directory in .gitignore, and updates the .docs/ collection
(architecture, encyclopedia, codex-prerequisites, runtime-modes,
remote-architecture, scripts) to drop "T3 Code" branding. The
`T3CODE_*` environment variable names are preserved for now —
they're still the names the runtime reads. Updates the stale
`T3-Code-*.zip|exe|dmg` artifact-name fixtures in
scripts/release-smoke.ts and scripts/merge-update-manifests.test.ts
to match the actual `Workbench-*` template emitted by
build-desktop-artifact.ts.

AGENTS.md was already T3-free in this branch and is owned by another
stream, so it's intentionally untouched.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The previous dev/nightly icons composited the workbench mark over the
icon-composer GPT-generated blueprint background, but the source PNG had
the old "T3" letters baked into it as a single flattened layer — the
result was the workbench mark sitting on top of ghost T3 letters.

Drop the blueprint background entirely. Dev/nightly variants are now the
same workbench mark as prod, rendered in #2563eb (Tailwind blue-600,
the UI's accent color used for the active Console pill and other
highlight states), on a transparent background.

Removed ~80 lines of unused composite/mask helpers from
regenerate-icons.mjs. File sizes for the 1024px dev/nightly PNGs
dropped from ~6MB to ~7KB.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@jlmcmich
jlmcmich force-pushed the rebrand/t3-to-workbench branch from 751c837 to a83b504 Compare April 19, 2026 22:01
@jlmcmich
jlmcmich merged commit bbe6df9 into main Apr 19, 2026
@jlmcmich
jlmcmich deleted the rebrand/t3-to-workbench branch April 19, 2026 22:02
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.

1 participant