Skip to content

Branding: the product name is Tcode, not tcode #377

Description

@Tryanks

Next-release requirement (2026-09-08): This issue must be completed before the next release. The existing scope, diagnosis and acceptance criteria below remain in force.

Summary

The product is called Tcode (capital T). The lowercase form tcode is the command / crate / bundle identifier, and should keep appearing only where an identifier is expected. Every user-facing surface currently shows the identifier as if it were the name.

Where the name is shown

  • Sidebar wordmark (crates/ui/src/sidebar.rs, the "tcode" + DEV badge) and the About / Settings captions.
  • Window titles, macOS app name and menu bar, Info.plist CFBundleDisplayName, Android app_name, iOS display name, launch screens.
  • Browser client: <title> in crates/web/static/index.html, the password setup/login page copy ("Open tcode on this machine…"), and tcode-headless startup lines.
  • Locales: every tcode in locales/en.yml and locales/zh-CN.yml that is prose rather than a command.
  • Docs and README headings/prose (docs/DESIGN.md, docs/remote.md, docs/computer-use.md), the PR/issue templates, release notes, repository description.
  • Notifications, toasts, dialogs and export headers that mention the app by name.

Keep lowercase

  • Binaries and commands: tcode, tcode-headless, tcode-headless serve.
  • Crate names, bundle ids (com.…tcode), data directories (~/.tcode, TCODE_DATA_DIR), URLs, file names, MCP server names (tcode_orchestrate…).
  • Any code identifier.

Approach

  • Add one PRODUCT_NAME constant (and a product.name locale key) and render every user-visible mention through it, so the wordmark cannot drift again.
  • Sweep prose with a review of each hit; do not blanket-replace, since half of the hits are commands.
  • Add a small test that the locale files contain no lowercase tcode in prose keys (allowlist the command mentions).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions