Product rename checklist
@slashclone/product-rename-checklist
Rename a product across code, copy, CLI, plugins, and docs without breaking anything: one name constant, a careful sweep, and a list of strings that must keep the old name (signing labels, key-derivation labels, OAuth client ids, stored rule ids, migrations). Shows the plan and asks before it edits.
SkillDevOpsv0.1.0 (latest)
- Activity
- New: be the first to try it
- Installs
- 0 installs
- Likes
- 0 likes
- Clones
- 0 clones
- 1---
- 2name: product-rename-checklist
- 3description: Rename a product or brand across a codebase (copy, CLI, packages, plugins, env vars, URLs, docs) safely. Use when a project changes its name and every user-facing place must follow without breaking signatures, secrets, stored data, or history.
- 4---
- 6# Product rename checklist
- 8Goal: every place a person sees the old name shows the new one, and nothing that depends on the old string breaks.
- 10## 1. Map it before changing anything
- 121. Find the name in every form: display ("OldName"), lowercase ("oldname"), uppercase env prefixes (`OLDNAME_`), domains, package scopes, file names, routes, and class names. Count hits per folder so the size of the job is clear.
- 132. Find where the name is defined. If there is no single constant, create one (name, display name, logo text, domain) and make code read from it.
- 143. Ask which history docs keep the old name on purpose (naming notes, changelogs, progress logs). Those get a note about the decision, not a rewrite.
- 16## 2. Decide what must not change
- 18Changing these breaks things for existing users or data. List them, keep them, and say why in the summary:
- 20- **Signing and hashing domain strings** (for example `oldname-sig-v1`). Changing them invalidates every existing signature.
- 21- **Key-derivation labels and salts** (HKDF info strings, telemetry salts). Changing them changes derived secrets and ids.
- 22- **OAuth client ids and registered redirect names.**
- 23- **Ids stored in the database:** scanner rule ids, event names, JSON markers inside stored documents.
- 24- **Database migrations.** Never edit an applied migration.
- 25- **Seeds for generated art or tests,** if changing them changes something people have already seen.
- 26- **Internal package scopes and class names,** unless the owner wants them changed too. They are invisible to users and cost a lot to rename.
- 28## 3. Change the name
- 301. Set the constants. Remember that derived names move too: the CLI binary, config folder, lock file name, env var prefix, keychain service, user agent, crawler name.
- 312. Sweep the rest with explicit, ordered replacements: specific forms first (domains, env prefixes, file names), then the display name, then the lowercase word with boundaries so it does not match inside identifiers you are keeping.
- 32 - In zsh, `for f in $FILES` does not split on newlines. Loop with `while IFS= read -r f` instead, or nothing gets rewritten.
- 33 - Watch for false matches: `oldname.com` (a competitor's domain in a history note) is not your new domain.
- 343. Rename files and routes that carry the name with `git mv`, and update every import and test that points at them.
- 354. Update user-facing copy by hand where the old name was part of a sentence, so it still reads well.
- 365. Rename plugin and marketplace manifests, skill folders, Docker and deploy app names, and sample URLs in tests.
- 376. Delete generated caches that hold old paths (framework type caches), or typecheck fails on files that no longer exist.
- 39## 4. Check it
- 411. Grep for every old form again. Each remaining hit must be on the keep list or in a history doc.
- 422. Run lint, typecheck, and tests. Fix test fixtures where the sweep changed an expected value but not its input.
- 433. Open the app: header, titles, page metadata, icons, emails, CLI help, and any page that shows commands.
- 444. Write down the breaking changes for local users (new env var names, lock file name, plugin id) in the changelog.
- 46## Rules
- 48- Show the map and the keep list, and get a yes before editing.
- 49- One commit for the rename, with the keep list in its message.
- 50- Never change signing, key-derivation, or stored identifiers without a migration plan the owner approved.
