Skip to content

Fork and rebrand

A frogg fork can ship as its own product. Your organization picks the name, icon, colours, application ID, CLI name, state directory, port, release repository and container images. The source code, protocol and package names stay shared with upstream, so you can keep merging upstream work.

Branding is build-time. You select a brand directory when you build. End users cannot switch brands at runtime.

A brand is one directory holding a brand.json manifest and artwork. The generator turns it into everything the builds need.

Area Derived from the brand
Identity Product name, publisher, description, application ID
Artwork Desktop icons (ICO/ICNS/PNG), mobile icons, splash, PWA icons, status favicons
Theme Accent, background and foreground colours for light and dark appearances
Runtime isolation CLI name, home directory (~/.acme), env prefix (ACME_), port, service names
Links URL scheme (acme://), website, docs, support and source links
Hosted services Pairing page URL, allowed web origins
Distribution GitHub release repository for updates, Docker images, Expo and App Store IDs

What does not change: @frogg/* package names, wire protocol messages, SDK symbols, the frogg.json project file and low-level interfaces such as FROGG_LISTEN. These are compatibility contracts shared by every frogg-based product.

  1. Fork the repository and add an upstream remote.
  2. Create a brand with npm run brand:init, then check and run it locally.
  3. Build and release through the fork’s GitHub Actions, with your own secrets.
  4. Stay current by merging upstream/main regularly.
  5. Contribute features back from branches based on upstream/main.

The Acme Studio walkthrough runs the whole flow with the brands/example brand that ships in the repository.

Open the Rebrand tool to try example brands, upload your own logo, preview the app and Companion, and download a config-and-assets ZIP.

  • Node 22 and npm. The repository pins its tooling in package-lock.json.
  • A GitHub organization or account to hold the fork.
  • A square icon, PNG or SVG, at least 1024 × 1024 pixels.
  • For signed releases, your own signing material. See secrets and variables.