Firefox requires a signed extension for permanent installation, but for development and personal use you can load it temporarily or use Firefox Developer Edition / Nightly, which accept unsigned extensions.
From the repo root:
make build-firefoxThe built extension will be at dist/firefox/.
- Navigate to
about:debuggingin your address bar. - Click This Firefox in the left sidebar.
- Click Load Temporary Add-on…
- Open
dist/firefox/and select manifest.json.
The extension stays loaded until Firefox restarts. Re-load it after each restart by repeating steps 3–4, or after each build by clicking Reload on the FindFirst entry.
Firefox Developer Edition and Firefox Nightly allow unsigned extensions to be installed persistently.
- Download Firefox Developer Edition or Firefox Nightly.
- Navigate to
about:configand setxpinstall.signatures.requiredtofalse. - Package the extension:
make package-firefox
- Navigate to
about:addons, click the gear icon, and choose Install Add-on From File… - Select the
.zipfrom theweb-ext-artifacts/directory.
web-ext is included as a dev dependency and launches Firefox with the extension pre-loaded and live-reloading.
# In one terminal — rebuild on every file change
make dev-firefox
# In another terminal — launch Firefox with the extension
make run-firefoxFirefox will open automatically. The extension reloads whenever dist/firefox/ changes.
To lint the extension before packaging:
make lint-firefoxTo produce a distributable .zip (output goes to web-ext-artifacts/):
make package-firefoxClick the FindFirst icon in the toolbar and open Options to set your FindFirst server URL and credentials.
- Temporary install: navigate to
about:debugging → This Firefoxand click Remove next to FindFirst. - Persistent install: navigate to
about:addonsand click Remove next to FindFirst.