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.
What a brand controls
Section titled “What a brand controls”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.
The workflow at a glance
Section titled “The workflow at a glance”- Fork the repository and add an
upstreamremote. - Create a brand with
npm run brand:init, then check and run it locally. - Build and release through the fork’s GitHub Actions, with your own secrets.
- Stay current by merging
upstream/mainregularly. - 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.
Configure your brand visually
Section titled “Configure your brand visually”Open the Rebrand tool to try example brands, upload your own logo, preview the app and Companion, and download a config-and-assets ZIP.
Before you start
Section titled “Before you start”- 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.