···6061- Inspect background/service-worker logs from `about:debugging` → **Inspect**.
62- The UI scripts (`popup.js` and `options.js`) log to the DevTools console attached to their respective documents.
63-- When packaging for distribution, zip the contents of the `extension/` directory.
00000000000000000000
···6061- Inspect background/service-worker logs from `about:debugging` → **Inspect**.
62- The UI scripts (`popup.js` and `options.js`) log to the DevTools console attached to their respective documents.
63+- When packaging for distribution, zip the contents of the `extension/` directory (see workflow below).
64+65+### Ship it on AMO
66+67+- Provide the bundled icons from `extension/icons/` (16, 32, 48 and 128 px SVGs).
68+- Zip the `extension/` directory (e.g. `cd extension && zip -r ../frontpage-submitter.zip .`).
69+- Upload the archive to <https://addons.mozilla.org/developers/> and fill in the listing copy/screenshots.
70+- AMO reviewers expect a concise summary; you can adapt the “Features” bullets above.
71+72+### Self-distribution pipeline
73+74+This repository includes `.github/workflows/package-extension.yml` which builds (and optionally signs) the add-on using [`web-ext`](https://extensionworkshop.com/documentation/develop/web-ext-command-reference/).
75+76+1. Configure `AMO_JWT_ISSUER` and `AMO_JWT_SECRET` repository secrets with your AMO API credentials if you want automatic signing.
77+ Without the secrets, the workflow still produces an unsigned ZIP you can download.
78+2. Trigger the workflow manually (`Actions` → **package-extension** → **Run workflow**) or push changes to `main`.
79+3. Download the artifacts:
80+ - `frontpage-extension-unsigned` contains the ZIP that `web-ext build` generates.
81+ - `frontpage-extension-signed` (only when secrets are present) contains the signed `.xpi` from AMO for self-hosting.
82+83+These artifacts can be hosted directly for self-distribution as described in the [Mozilla documentation](https://extensionworkshop.com/documentation/publish/self-distribution/).