Skip to content

Rebrand Diffly → Diffr (final Marketplace name)#3

Merged
MelbourneDeveloper merged 2 commits into
mainfrom
rebrand/diffr
May 28, 2026
Merged

Rebrand Diffly → Diffr (final Marketplace name)#3
MelbourneDeveloper merged 2 commits into
mainfrom
rebrand/diffr

Conversation

@MelbourneDeveloper
Copy link
Copy Markdown
Collaborator

TLDR

Rename the entire extension from Diffly to Diffr — the final, Marketplace-accepted name (nimblesite.diffr).

Details

The Marketplace rejected diffly as a name (already taken; public search did not surface it — only publish is authoritative). Diffr published successfully under publisher nimblesite, so this PR makes the whole codebase consistent with that name.

Mechanical, brand-wide rename (Diffly/diffly/DIFFLYDiffr/diffr/DIFFR) across 38 files:

  • Manifest (package.json): namediffr, displayNameDiffr, all 11 command ids → diffr.*, all menu titles → Diffr: …, menu group prefix → diffr@N.
  • Source: scheme SCHEME = "diffr", OUTPUT_CHANNEL_NAME = "Diffr", TITLE_PREFIX = "Diffr:", command/context/memento keys → diffr.*, URI helper symbols (buildDiffrUri, parseDiffrUri, DiffrUriComponents, DiffrAddressableRev, …), provider class DiffrContentProvider.
  • File renames: src/providers/DifflyContentProvider.tsDiffrContentProvider.ts; docs/assets/diffly-icon-*diffr-icon-*.
  • Tests: EXTENSION_ID = "nimblesite.diffr", scheme/URI assertions → diffr://…, E2E env DIFFR_E2E, proposed-api launch arg nimblesite.diffr.
  • Pipeline/manifest: release.yml packages/publishes diffr-$VERSION.vsix; shipwright.json id/displayName → Diffr.
  • Docs: README, CHANGELOG, CLAUDE.md, Makefile, design-system, plan, spec.

No behavioural change — this is a pure rename. The diffy://-style URI scheme value changes to diffr://, which only matters for in-session diff tabs (not persisted across the rename).

How Do The Automated Tests Prove It Works?

  • menus.test.ts asserts package.json contributes.commands/menus are byte-equal to what src/menus.ts generates from the renamed COMMAND_IDS/TITLE_PREFIX, and that the contribSourceControlHistoryItemMenu proposed API is still declared — proving every diffr.* id and Diffr: title is internally consistent.
  • uri.test.ts (68 assertions) round-trips buildDiffrUri/parseDiffrUri over diffr://commit/… and diffr://index/… URIs incl. spaces, unicode, #/?, and rejects non-diffr schemes — proving the renamed scheme parses correctly.
  • 144 unit tests pass; npm run lint, npm run shipwright:validate, and prettier --check are clean; npm run build reports package.json already in sync.

Spec/Doc Changes

CLAUDE.md, docs/specs/spec.md, docs/plans/plan.md, docs/design-system.md, README.md, CHANGELOG.md all rebranded to Diffr.

Breaking Changes

Yes — the extension identity changes (nimblesite.difflynimblesite.diffr) and command ids change (diffly.*diffr.*). Pre-release only; no published diffly users exist.

⚠️ Reviewer note: repo URLs were rewritten to github.com/Nimblesite/Diffr, but the GitHub repo is currently Nimblesite/Diffly. Either rename the repo to Diffr or revert those URLs to Diffly before publishing — otherwise the Marketplace repo/homepage/bugs links 404.

'Diffly' (name) was already taken on the Marketplace; 'Diffr' published
successfully under publisher nimblesite. Rename the whole product to
Diffr: id nimblesite.diffr, displayName Diffr, scheme/commands/symbols/
files all diffr, env DIFFR_E2E, OutputChannel Diffr. Provider file and
icon assets renamed to match. 144 unit tests + lint + shipwright green.
@MelbourneDeveloper MelbourneDeveloper merged commit 4e605b8 into main May 28, 2026
1 check passed
@MelbourneDeveloper MelbourneDeveloper deleted the rebrand/diffr branch May 28, 2026 22:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant