Skip to content

Finish the pixelcat rebrand everywhere it was still visible - #26

Merged
JOhnsonKC201 merged 1 commit into
mainfrom
chore/finish-rebrand
Aug 8, 2026
Merged

Finish the pixelcat rebrand everywhere it was still visible#26
JOhnsonKC201 merged 1 commit into
mainfrom
chore/finish-rebrand

Conversation

@JOhnsonKC201

Copy link
Copy Markdown
Owner

Four parallel audits over packaging, docs, runtime source and the site. Two of
those came back clean, which was worth knowing: the site and the app's own UI
were already fully rebranded
. What was left was the places a text search for
the new name could never reach, plus the docs nobody re-read after 0.3.0.

The wordmarks were baked into pixels

hero-banner.gif sits at the top of the README and still said PIXELCAT -
not in markup, but rendered glyph by glyph by scripts/make-demo-gif.js into
committed art. Same for social-card.png, which is the repo's social preview.
No amount of grepping for "pixelcat" in HTML would have found them, and changing
the generator alone would have been a fake fix, so the assets are regenerated
here too.

Their taglines went species-neutral at the same time, since the app has been a
cat or a dog since 0.3.0:

before after
hero banner PIXELCAT / "A CAT THAT LIVES ON YOUR DESKTOP" PIXELPETS / "A CAT OR A DOG THAT LIVES ON YOUR DESKTOP"
social card PIXELCAT / "A CAT THAT LIVES ON YOUR DESKTOP" PIXELPETS / "A PET THAT LIVES ON YOUR DESKTOP"

The card says "a pet" rather than matching the banner because that generator's
FONT is a minimal subset with no G in it, so "DOG" is literally unspellable
there. Checked before writing, not after.

The integration docs

Every agent-hook README title (# Claude Code → pixelcat), the setup prose, and
the /ABSOLUTE/PATH/TO/pixelcat checkout placeholders. That is the first thing
anyone wiring up a Claude Code, Codex, Cursor, Kiro or Antigravity hook reads.
41 occurrences across 10 files.

The placeholders had to move in lockstep with the .split() calls in
scripts/install-hook.js that fill them in, or the substitution silently
no-ops. The existing test install-hook prints a path-filled config for every agent covers exactly that pairing, and it passes.

Smaller ones

  • nsis.shortcutName - a fresh install created a shortcut called "pixelcat"
  • src/cal-worker.js - introduced itself to other people's calendar servers as pixelcat-cal
  • README.md - documented build outputs as pixelcat.exe / pixelcat Setup <version>.exe, names electron-builder stopped producing when productName became pixelpets. Those lines were wrong, not just stale
  • extras/lobby-jam.html - old name in the title and header
  • Two issue templates

Deliberately not touched

All pinned by tests/bridge-paths.test.js, whose stated purpose is to make the
next sweep read the reasoning first:

  • appId / AppUserModelId - doubles as the autostart Run key and the NSIS upgrade key
  • %TEMP%/pixelcat-agent.state and %TEMP%/pixelcat-notify.jsonl - installed hooks already write to these exact paths
  • %APPDATA%/pixelcat in src/datadir.js - the migration exists to find that directory
  • PixelcatPreview - pinned across src/ and site/ by site-sync.test.js
  • pixelcat.coat / pixelcat.bond localStorage keys - renaming resets returning visitors
  • pixelcat-jet.vercel.app - still the live URL until the Vercel project is renamed

Also skipped as zero-impact: source comments, and the orphaned assets/pixelcat.ico
and assets/pixelcat-demo.* artifacts, which the audit found have no referrer
anywhere in the repo.

Testing

  • npm test 127 pass, npm run lint clean
  • Regenerated assets verified by extracting a frame and reading it, not by trusting the diff
  • Glyph coverage checked against each generator's FONT before changing any string, so no character silently falls back to a space
  • Both issue-template YAML files re-parsed after editing

Four parallel audits over packaging, docs, runtime source and the site. The
site and the app's own UI turned out to be already clean; what was left was
the places a text search for the new name could never reach, plus the docs
nobody re-read after 0.3.0.

The hero banner and the social card still said PIXELCAT in actual pixels.
Both wordmarks are drawn by generators into committed art, so the rename had
no way to touch them, and hero-banner.gif sits at the top of the README. Both
generators now render PIXELPETS and the assets are regenerated. Their taglines
went species-neutral at the same time, since the app has been a cat or a dog
since 0.3.0: the banner matches the site's "a cat or a dog that lives on your
desktop", the card reads "a pet that lives on your desktop" because that font
is a minimal subset with no G in it.

The agent integrations called the app pixelcat in every README title, in the
setup prose and in the /ABSOLUTE/PATH/TO/pixelcat checkout placeholders, which
is what anyone wiring up a Claude Code, Codex, Cursor, Kiro or Antigravity
hook reads first. The placeholders moved in lockstep with the substitution in
install-hook.js that fills them in; the existing test covers that pairing.

Also: a fresh install made a shortcut called "pixelcat", the calendar worker
introduced itself to other people's servers as pixelcat-cal, the README
documented build outputs under names electron-builder stopped producing when
productName changed, and the standalone Lobby Jam page kept the old name.

Left alone on purpose, all of it pinned by tests/bridge-paths.test.js so the
next sweep has to read the reasoning first: the appId, the %TEMP%/pixelcat-*
bridge paths that installed hooks already write to, the %APPDATA%/pixelcat
directory the migration exists to find, the PixelcatPreview global, and the
site's pixelcat.coat localStorage key. The pixelcat-jet.vercel.app URLs stay
correct until the Vercel project itself is renamed.
@vercel

vercel Bot commented Aug 8, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
pixelcat Building Building Preview Aug 8, 2026 4:48am

@JOhnsonKC201
JOhnsonKC201 merged commit b3c3845 into main Aug 8, 2026
4 checks passed
@JOhnsonKC201
JOhnsonKC201 deleted the chore/finish-rebrand branch August 8, 2026 04:49
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