Skip to content

feat(desktop): rebrand T3 Code → ClayCode in user-visible surfaces#113

Merged
cschubiner merged 1 commit intomainfrom
feature/claycode-rebrand
Apr 16, 2026
Merged

feat(desktop): rebrand T3 Code → ClayCode in user-visible surfaces#113
cschubiner merged 1 commit intomainfrom
feature/claycode-rebrand

Conversation

@cschubiner
Copy link
Copy Markdown
Owner

Summary

Restores the ClayCode brand on user-visible desktop-app surfaces.
Internal IDs (bundle id, user-data dir, WM class, dev-flag, worktree
prefix, legacy-migration paths) are intentionally preserved so existing
installs upgrade cleanly without losing data or duplicating dock icons.

Changes

  • `apps/desktop/src/appBranding.ts` — `APP_BASE_NAME` flips to `ClayCode`; all
    helper-derived display names follow.
  • `apps/desktop/src/appBranding.test.ts` — fixture update.
  • `apps/desktop/scripts/electron-launcher.mjs` — dev/alpha display names + leading comment.
  • `apps/desktop/src/main.ts` — replaced two hardcoded `T3 Code` strings (startup error
    dialog and "up to date" dialog) with `desktopAppBranding.baseName` references so
    future renames only need a single edit in `appBranding.ts`.
  • `apps/desktop/package.json` — `productName: ClayCode (Alpha)` for electron-builder
    artifact naming.

Intentionally NOT renamed

  • `com.t3tools.t3code` / `com.t3tools.t3code.dev` bundle IDs
  • `USER_DATA_DIR_NAME` (`t3code`/`t3code-dev`)
  • `LINUX_DESKTOP_ENTRY_NAME`, `LINUX_WM_CLASS`
  • `LEGACY_USER_DATA_DIR_NAME` (`T3 Code (Dev|Alpha)` — required for legacy migration)
  • `--t3code-dev-root` CLI flag
  • `WORKTREE_BRANCH_PREFIX` (`t3code`)
  • `@t3tools/*` npm package names

Universal QA gate (automated)

  • `bun fmt` clean (760 files)
  • `bun lint` 0 errors (8 pre-existing warnings unrelated to this change)
  • `bun typecheck` 0 errors across 8 packages
  • `apps/desktop` Vitest: 81/81 passing

QA requiring manual / device verification

These are the rebrand-specific QA items from `docs/REBUILD_PLAN.md` that automated checks cannot cover. Please verify before merging:

Visual / brand audit

  • macOS menu bar shows `ClayCode (Dev)` in dev / `ClayCode (Alpha)` in built
  • Window title bar correct
  • About dialog shows correct name + version
  • Dock icon tooltip correct
  • cmd+Tab app switcher label correct
  • Notification banner shows correct sender name
  • Spotlight search finds the app under the new name
  • Finder "Get Info" on `.app` shows correct `CFBundleName`

Bundle integrity

  • Bundle ID still `com.t3tools.t3code` per env (do NOT regress to single ID)
  • Auto-updater feed URL still resolves correctly
  • Existing installed app upgrades in place (no duplicate install)
  • `codesign --verify --deep --strict --verbose=2 ClayCode (Alpha).app` passes

Cross-platform

  • Linux `.AppImage` shows correct `Name=` in `.desktop` entry
  • Windows `.exe` properties show correct `ProductName`

Regression

  • All existing keyboard shortcuts (cmd+N, cmd+W, cmd+Q, etc.) still work
  • Deep links resolve
  • Settings persist across restart
  • First-run wizard does not re-trigger for existing users

Build verification (recommended before merge)

```
bun run build:desktop
open apps/desktop/dist/mac-arm64/ClayCode\ \(Alpha\).app
```

🤖 Generated with Claude Code

- appBranding.ts: APP_BASE_NAME drives all helper-derived display names
- electron-launcher.mjs: dev/alpha display names + comment
- main.ts: refactor hardcoded "T3 Code failed to start" / update dialog
  to use desktopAppBranding.baseName so future renames stay centralized
- package.json: productName for electron-builder artifacts
- appBranding.test.ts: update fixtures

Internal IDs (bundle id com.t3tools.t3code, USER_DATA_DIR_NAME t3code,
LINUX_WM_CLASS, LEGACY_USER_DATA_DIR_NAME, --t3code-dev-root flag,
WORKTREE_BRANCH_PREFIX) are intentionally NOT renamed to preserve
upgrade paths for existing installs and avoid breaking deep links.
@github-actions github-actions Bot added size:S vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. labels Apr 16, 2026
@cschubiner cschubiner merged commit 838f5f9 into main Apr 16, 2026
6 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant