Skip to content

Rename the project to claude-code-account-rotation everywhere (repo, executable, app data directory, docs) #5

Closed

Description

@kyle-sexton

Summary

Rename the project from account-rotation to claude-code-account-rotation everywhere: the GitHub repository, the executable and product token, the per-user app data directory, the documentation, and the local checkout paths. The tool moves Claude Code's own ~/.claude/.credentials.json and patches ~/.claude.json; it does not touch Claude Desktop, so the name should say which product it rotates.

Why

account-rotation on its own does not say what is being rotated. The app data directory (%LOCALAPPDATA%\account-rotation, XDG account-rotation), the User-Agent product token, and the repository name all surface the bare name to the user and to Anthropic's servers.

Scope (everything that carries the name)

  • GitHub repository melodic-software/account-rotation → melodic-software/claude-code-account-rotation, through github-iac (GovernedRepositories.cs); confirm the Pulumi GitHub provider renames in place rather than replacing the resource, and re-check the melodic-standards-sync App installation grant and the standards sync-manifest.yml entry after the rename.
  • ConfigurationDefaults.ProductToken (account-rotation): the app data directory name and the honest User-Agent product token.
  • AssemblyName account-rotation (the executable name) in src/AccountRotation.App/AccountRotation.App.csproj.
  • Solution, project, and namespace names (AccountRotation.slnx, AccountRotation.Core, AccountRotation.App, AccountRotation.*.Tests): decide whether they follow the product name (ClaudeCodeAccountRotation.*) or stay as the short internal name; record the decision here.
  • README.md title and posture section, docs/topics/claude-subscription-rotation/PLAN.md, tests/acceptance/README.md, REVIEW.md, CHANGELOG if present, and the CI workflow display names.
  • eng/check-no-machine-paths.sh and any fixture or test that names the app data directory or product token.
  • Existing per-user state: config.json, state/live-owner.json, state/switch-journal.json, instance.lock, and quarantine/ under the old app data directory. Either migrate the old directory on first start or document the one-time move in the README.
  • Local checkouts and worktrees (D:\repos\github.com\melodic-software\account-rotation, .work/handoffs/*-account-rotation.md topic names) and the Claude-Session handoff resume prompts that cite the old path.
  • Sweep with /docs-hygiene:rename-references audit after the rename for stale slash-tokens, paths, and table rows.

Not renamed

  • ~/.claude-profiles (the parked-profile root) and ~/.claude are Claude Code's own naming and stay as they are.
  • The Anthropic-side User-Agent contract does not change; only the product token value does.

Timing

Do this after #3 (Phase 1) merges and before Phase 2 starts, so the rename is one squash commit that does not conflict with an open feature branch. Phase 5's publish and release workflow then ship under the final name.

Related

Activity

  1. added
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Sep 6, 2026
  2. kyle-sexton commented on Sep 7, 2026

    @kyle-sexton
    MemberAuthor

    Decisions recorded for the rename (checkout PR to follow; repository rename in github-iac#446; sync-manifest rename in a standards PR):

    • Solution, project, and namespace names follow the product name: ClaudeCodeAccountRotation.*, including the ClaudeCodeAccountRotationConfiguration record. The instruction was a full rename of everything.
    • Existing per-user state is not migrated by the tool; the README documents the one-time directory move. Done on this desktop on 2026-09-07 (%LOCALAPPDATA%\account-rotation to %LOCALAPPDATA%\claude-code-account-rotation, contents unchanged) before restarting the app from the renamed executable.
    • The same-origin mutation header is X-Claude-Code-Account-Rotation.
    • Not renamed: ~/.claude-profiles, ~/.claude, and the claude-subscription-rotation docs topic.
    • github-iac: the provider renames the repository in place (Repository.name is not replace-on-change). The three dependents keyed by the repository name (alerts, Dependabot, labels) are replace-on-change and protected, so they leave state through pulumi state delete --force and the apply re-creates them adoptively; github-iac#446 carries the procedure. A provider-side delete of the old IssueLabels would strip every managed label from the renamed repository, which is why the state-only path is required.
  3. added a commit that references this issue on Sep 7, 2026
    082fcfa
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

    needs-triageNot yet classified. Floor until a type and one priority tier are set.

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions