Skip to content

Rename AgentDeck branding to Talocode (CLI, env, docs, UI, tests)#5

Open
Abdulmuiz44 wants to merge 1 commit into
mainfrom
codex/perform-full-branding-rename-to-talocode
Open

Rename AgentDeck branding to Talocode (CLI, env, docs, UI, tests)#5
Abdulmuiz44 wants to merge 1 commit into
mainfrom
codex/perform-full-branding-rename-to-talocode

Conversation

@Abdulmuiz44

Copy link
Copy Markdown
Collaborator

Motivation

  • Perform a full branding migration from AgentDeck to Talocode across code, CLI, UI, docs, tests and smoke scripts while preserving backward compatibility and existing behavior.
  • Make TALOCODE_* env vars primary with AGENTDECK_* as legacy fallbacks and update default data directories to Talocode naming with safe migration from legacy AgentDeck data.
  • Add a short primary CLI command talo while keeping agentdeck as a temporary alias and update user-facing copy to present Talocode as “a local-first control plane for coding agents.”
  • Ensure no binary assets are introduced and keep architecture assets as Mermaid/text or app-native UI.

Description

  • Rebranded package metadata and CLI: updated package.json (name, description, build.productName, repository, bugs, homepage) and added talo as primary bin while retaining agentdeck as an alias; CLI help shows talo first and documents the compatibility alias.
  • Renamed and reorganized main module: moved src/main/agentdeck/*src/main/talocode/*, updated imports and names (AgentDeckCoreTalocodeCore, error types, daemon, sessions, etc.).
  • Environment & data-dir migration: implemented envValue() and resolveDataDir() in src/main/talocode/paths.ts to prefer TALOCODE_* then fallback to AGENTDECK_*, added prepareDataDirMigration() to copy safe JSON files from legacy AgentDeck default data dir to the new Talocode dir when appropriate.
  • UI/renderer updates: updated dashboard, welcome, settings, phone UI copy to Talocode; phone localStorage keys renamed to talocode_phone_* with read-from-legacy agentdeck_phone_* fallback and automatic migrate-on-read behavior.
  • Docs & architecture: renamed docs/agentdeck-architecture.mmddocs/talocode-architecture.mmd, updated README and docs to Talocode wording, added migration note "Talocode started as the AgentDeck prototype." and removed public AgentDeck branding.
  • Config & generators: switched generated config references and backup suffixes to talocode (e.g. talocode-backup-...) and replaced string occurrences for generated headers and TOML sections.
  • Tests & smoke script: updated tests and smoke script to use Talocode naming and added tests for env-var precedence and legacy fallback; updated scripts/smoke-test.mjs to exercise legacy AGENTDECK_PORT fallback.
  • Binary safety: updated .gitignore entries to Talocode architecture asset names and verified no image/pdf/zip/etc. files were added in the diff.

Testing

  • Ran npm run lint (TypeScript typecheck) and it completed successfully with the repo dependencies installed.
  • Ran npm test which compiles tests and executed them; all tests passed (21 tests, 0 failures).
  • Ran npm run build (main + renderer) and the build succeeded (Vite renderer build completed and dist produced).
  • Ran npm run smoke (end-to-end smoke script) and it passed, including phone pairing and legacy-port fallback verification (smoke reported success on a free port).
  • Performed binary-safety checks: git ls-files grep for binary extensions and grep for agentdeck-architecture.png returned no introduced binary files; verified git diff --numstat to summarize file changes.

All automated checks listed above passed.


Codex Task

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1f5b71044b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines 13 to +14
export function hashToken(token: string): string {
return createHash('sha256').update(`agentdeck:v1:${token}`).digest('hex');
return createHash('sha256').update(`talocode:v1:${token}`).digest('hex');

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Preserve legacy token hash verification

When an existing AgentDeck data directory is migrated, the copied pairedDevices[].accessTokenHash values were created with the old agentdeck:v1: namespace, but verifyToken() now hashes incoming tokens only with talocode:v1:. In that upgrade scenario every previously paired phone token fails authentication even though the store was migrated; keep verifying the legacy namespace or migrate those hashes in a way that does not require the raw token.

Useful? React with 👍 / 👎.

Comment on lines +11 to +12
const LEGACY_TOKEN_KEY = 'agentdeck_phone_token';
const LEGACY_DEVICE_KEY = 'agentdeck_phone_device';

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Use the actual legacy phone storage keys

Existing paired phones stored their token under the old keys agentdeck.phone.accessToken and agentdeck.phone.device, but the compatibility lookup now checks agentdeck_phone_token / agentdeck_phone_device, so upgraded browsers never find their saved credentials and force users to re-pair. Point these legacy constants at the dotted keys used by the previous PhoneDashboard constants before copying them into the new Talocode keys.

Useful? React with 👍 / 👎.


export function prepareDataDirMigration(options: DataDirOptions = {}): void {
const env = options.env || process.env;
if (env.TALOCODE_DATA_DIR || env.AGENTDECK_DATA_DIR) return;

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Migrate stores when using AGENTDECK_DATA_DIR

When users keep a custom AGENTDECK_DATA_DIR, resolveDataDir() still points Talocode at that legacy directory, but this early return skips renaming agentdeck.json to the new talocode.json; JsonStore then creates a default empty talocode.json in the same directory and the existing providers/projects/sessions appear lost. Either read the legacy filename for this fallback or perform the same safe copy inside the explicit legacy data dir.

Useful? React with 👍 / 👎.

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant