This project supports building browser extension packages for both Chrome (Manifest V3) and Firefox (Manifest V2).
- Node.js (LTS recommended)
- npm (comes with Node.js)
To verify installation:
node -v
npm -vFrom the root directory:
npm installNote: If there are no dependencies listed in package.json, this step is optional.
To build the extension for both browsers:
npm install
npm run buildThis script:
-
Copies all files from
app/into thedistro/directory -
Applies the correct manifest version for each browser:
- Chrome →
distro/chrome/manifest.json(usesmanifest.base.jsonandmanifest.chrome.json) - Firefox →
distro/firefox/manifest.json(usesmanifest.base.jsonandmanifest.firefox.json)
- Chrome →
⚠️ Extensions loaded this way are not auto-updated. You will need to repeat the steps for future versions.
⚠️ Disclaimer: Unpacked Chrome extensions loaded via "Developer Mode" will remain active across browser restarts, but Chrome may display a warning banner each time. These extensions are intended for development and testing purposes only.In Firefox, temporary add-ons loaded through
about:debuggingwill be deactivated when the browser is closed. To persist an extension in Firefox, it must be signed and installed as a.xpifile which is not yet available.
Chrome:
- Navigate to
chrome://extensions - Enable Developer mode
- Click Load unpacked
- Select the
distro/chrome/folder
Firefox:
- Navigate to
about:debugging - Click This Firefox
- Click Load Temporary Add-on
- Select the
distro/firefox/manifest.jsonfile
You can also download prebuilt versions from the latest GitHub Release. Look for files named:
<repo>-chrome.<version>.zip<repo>-firefox.<version>.zip
Steps:
- Download and extract the
.zipfile for your browser. - Follow the same steps as Option 1, but select the extracted folder instead of
distro/.