···1313- Options page for storing your handle, app password, and optional PDS override.
1414- Convenience links to open frontpage.fyi or the options page from the pop-up.
15151616-### Repository layout
1717-1818-```
1919-extension/
2020-├── background.js # Service worker for auth + ATProto requests
2121-├── manifest.json # Manifest V3 definition
2222-├── options.html/js # Credential management UI
2323-├── popup.html/js # Submission UI
2424-└── styles.css # Shared styling for popup and options
2525-```
2626-2716### Prerequisites
28172918- An ATProto account that Frontpage can read.
3019- An app password for that account (create one at <https://bsky.app/settings/app-passwords> or via your own PDS).
31203232-### Development install (temporary)
3333-3434-1. Open `about:debugging#/runtime/this-firefox`.
3535-2. Click **Load Temporary Add-on…** and choose `manifest.json` inside the `extension/` directory.
3636-3. Pin the “Frontpage” toolbar button if you want quick access.
3737-3838-> This method is ideal while iterating; Firefox forgets the add-on on restart.
3939-4021### Install a packaged build
41224242-After the GitHub Action finishes:
4343-44231. Visit the [Releases](https://github.com/antonmry/frontpage_firefox_plugin/releases) page and download the latest `frontpage-submitter-<version>.xpi` (signed) or `.zip` (unsigned) asset.
45242. In Firefox, open `about:addons`, click the gear icon, and choose **Install Add-on From File…**.
46253. Select the downloaded `.xpi` (preferred) or `.zip` to complete the installation and approve the permissions prompt.
4747-4848-For ongoing self-distribution, host the generated `.xpi`/`.zip` on your own site, following Mozilla’s [self-distribution guide](https://extensionworkshop.com/documentation/publish/self-distribution/).
49265027### Configure credentials
5128···7552- When packaging for distribution, zip the contents of the `extension/` directory (see workflow below).
7653- Licensed under the [Apache License 2.0](./LICENSE).
77547878-### Ship it on AMO
5555+### Development install (temporary)
79568080-- Provide the bundled icons from `extension/icons/` (16, 32, 48 and 128 px SVGs).
8181-- Zip the `extension/` directory (e.g. `cd extension && zip -r ../frontpage-submitter.zip .`).
8282-- Upload the archive to <https://addons.mozilla.org/developers/> and fill in the listing copy/screenshots.
8383-- AMO reviewers expect a concise summary; you can adapt the “Features” bullets above.
5757+1. Open `about:debugging#/runtime/this-firefox`.
5858+2. Click **Load Temporary Add-on…** and choose `manifest.json` inside the `extension/` directory.
5959+3. Pin the “Frontpage” toolbar button if you want quick access.
6060+6161+> This method is ideal while iterating; Firefox forgets the add-on on restart.
84628563### Self-distribution pipeline
8664···9674 - Mozilla requires every signed upload to have a unique version number. Bump `version` in `extension/manifest.json` before rerunning the workflow if you need a new signed package.
97759876These artifacts can be hosted directly for self-distribution as described in the [Mozilla documentation](https://extensionworkshop.com/documentation/publish/self-distribution/).
9999-100100-### AMO listing reference
101101-102102-- **Description**: “Quickly share the current tab to frontpage.fyi via ATProto. The extension auto-fills the title and link, handles ATProto login/refresh, and posts to Frontpage from your Firefox toolbar.”
103103-- **Tags**: `productivity`, `social`, `news`, `atproto`
104104-- **Contributions URL**: <https://github.com/antonmry/frontpage_firefox_plugin/>