Firefox Extension Packaging Guide

Prerequisites

  1. Install web-ext CLI:
    cd extension-firefox
    npm install
    
  2. Firefox Add-ons Account:

Building

Development build:

npm run build

Production build (includes linting):

npm run build:prod

Validation:

npm run validate

Signing

Firefox requires all extensions to be signed for installation.

Listed Distribution (Firefox Add-ons Store)

  1. Set up API credentials:
    # Windows (CMD)
    set WEB_EXT_API_KEY=your_api_key_here
    set WEB_EXT_API_SECRET=your_api_secret_here
    
    # PowerShell
    $env:WEB_EXT_API_KEY="your_api_key_here"
    $env:WEB_EXT_API_SECRET="your_api_secret_here"
    
  2. Sign the extension:
    npm run sign
    
  3. Mozilla will review (typically 1-3 days)

Unlisted Distribution (Self-Hosting)

npm run sign:unlisted

No review required, signed .xpi generated immediately.

Installation

Signed Extension

  1. Download the signed .xpi file
  2. Drag and drop into Firefox
  3. Click “Add” when prompted

Unsigned (Development Only)

  1. Firefox Developer Edition: about:config > set xpinstall.signatures.required to false
  2. about:debugging#/runtime/this-firefox > “Load Temporary Add-on”
  3. Select the .xpi file

Distribution Checklist

Store Listing

Troubleshooting

Resources