Repository navigation
Rename the project to claude-code-account-rotation everywhere (repo, executable, app data directory, docs) #5
Description
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 themelodic-standards-syncApp installation grant and the standardssync-manifest.ymlentry after the rename. -
ConfigurationDefaults.ProductToken(account-rotation): the app data directory name and the honest User-Agent product token. -
AssemblyNameaccount-rotation(the executable name) insrc/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.mdtitle and posture section,docs/topics/claude-subscription-rotation/PLAN.md,tests/acceptance/README.md,REVIEW.md,CHANGELOGif present, and the CI workflow display names. -
eng/check-no-machine-paths.shand 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, andquarantine/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.mdtopic names) and theClaude-Sessionhandoff resume prompts that cite the old path. - Sweep with
/docs-hygiene:rename-references auditafter the rename for stale slash-tokens, paths, and table rows.
Not renamed
~/.claude-profiles(the parked-profile root) and~/.claudeare 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
- feat: machine-wide account switch through the loopback page (Phase 1) #3 — Phase 1 (merge first).
- Handoff origin:
.work/handoffs/20260906T064158Z-handoff-account-rotation.md.
Activity
feat: machine-wide account switch through the loopback page (Phase 1) (…
kyle-sexton commentedon Sep 7, 2026
Decisions recorded for the rename (checkout PR to follow; repository rename in github-iac#446; sync-manifest rename in a standards PR):
ClaudeCodeAccountRotation.*, including theClaudeCodeAccountRotationConfigurationrecord. The instruction was a full rename of everything.%LOCALAPPDATA%\account-rotationto%LOCALAPPDATA%\claude-code-account-rotation, contents unchanged) before restarting the app from the renamed executable.X-Claude-Code-Account-Rotation.~/.claude-profiles,~/.claude, and theclaude-subscription-rotationdocs topic.Repository.nameis 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 throughpulumi state delete --forceand the apply re-creates them adoptively; github-iac#446 carries the procedure. A provider-side delete of the oldIssueLabelswould strip every managed label from the renamed repository, which is why the state-only path is required.chore: rename the project to claude-code-account-rotation (#13)
feat: quota reads, the statusline tee, the refresh budget, and the tw…