Quick start
From the starter zip to a review request in about half an hour. You need a computer, an Android phone with Pulsar, and a free Mozilla account for test signing.
1. Get the starter
Download pulsar-starter.zip and unzip it. It is Easy Read: bigger text and roomier lines on the sites you pick. Every Pulsar API path is in it, with comments.
manifest.json the manifest, with the "pulsar" key
pulsar.js Pulsar's client (load it first, don't change it)
background.js drawer, settings page, status line, site access
content.js changes the page; stops on sites switched off in Pulsar
options.html options page built with the UI kit
page.html a full page built with the UI kit
store.js the state both pages share (storage.local)
ui/ pulsar-ui.css, pulsar-ui.js, pulsar-icons.svg
icons/icon.svg your icon
README.md these steps2. Make it yours
- Pick an id you own:
browser_specific_settings.gecko.id, likereadbetter@yourname.dev. It never changes after you publish. Ids ending in@pulsarbrowser.comare kept for Pulsar. - Change
name,descriptionandauthor. - Set
pulsar.tint(your tile colour,#RRGGBB) andpulsar.icon(a Pulsar icon), or removeiconto show your own. - Remove permissions you don’t use. Every permission is a line people read before they install.
{
"manifest_version": 3,
"name": "Read Better",
"version": "1.0.0",
"browser_specific_settings": { "gecko": { "id": "readbetter@yourname.dev" } },
"permissions": ["storage"],
"host_permissions": ["https://*/*"],
"background": { "scripts": ["pulsar.js", "background.js"] },
"pulsar": { "api": 1, "tint": "#0E6670", "icon": "file" }
}3. Try the pages on your computer
The HTML pages run in any browser with sample data, so you can work on their look first. Serve the folder (ES modules don’t load from file://):
cd starter
python3 -m http.server 8000 # or: npx serve .
# open http://localhost:8000/options.html and /page.htmlUse your browser’s device view at 360–430 px, and switch your computer to dark mode to check both themes.
4. Test on your phone
Pulsar only installs extensions that Mozilla has signed. For testing, you sign your own copy on Mozilla’s unlisted channel. It’s free, takes about a minute, and the copy is never listed anywhere.
- Get API keys
At addons.mozilla.org, open Developer Hub › Manage API Keys and make a key pair.
- Sign the folder
Raise
versioneach time you sign. The signed.xpilands inweb-ext-artifacts/.Terminal npx web-ext sign --channel=unlisted --api-key="$AMO_JWT_ISSUER" --api-secret="$AMO_JWT_SECRET" - Turn on Developer mode
In Pulsar: Settings › About, tap the version 7 times. Developer mode now shows in Settings.
- Load it
Settings › Developer mode › Load an extension: paste an https link to your
.xpi, scan a QR code of that link, or pick the file. Pulsar shows the usual “from outside the store” sheet; your extension gets a DEV badge. - Change, sign, reload
After a change, sign again and tap Reload next to the extension in Developer mode.
Tools while you test
| Tool | Where | What it does |
|---|---|---|
| Pulsar API log | Developer mode | Every call your extension makes, newest first, with the error code when one fails. |
| Remote debugging | Developer mode | Inspect your background page and content scripts from desktop Firefox over USB (about:debugging). |
| Page console | Developer mode | Puts page console messages in the log. |
| View source, user agent | Developer mode › More tools | Check what a site sends to Pulsar. |
5. Check it works
- Tap the extension on a web page: the drawer opens with this site’s switch, the size chips, your week and the button.
- Flip the site switch: the page changes at once, and the drawer’s subtitle says On for the site.
- Open Settings › Extensions › Easy Read: Pulsar draws the settings page from
settings.set. - In Manage extensions, choose Disable on this site: the page goes back to normal (that’s
site.access). - Open the drawer on Home: there’s no site switch (
hostisnull). - Turn on dark mode: the drawer, settings and your pages all follow.
6. Package
Zip the contents of the folder, so manifest.json is at the top of the zip. Leave out test files and web-ext-artifacts/.
cd starter
zip -r ../read-better-1.0.0.zip . -x "*.DS_Store" -x "web-ext-artifacts/*"The store takes files up to about 3 MB. No minifier tricks: reviewers must be able to read your code (minified is fine, obfuscated is not).
7. Submit
- Sign in at pulsarbrowser.com/account/developer and set up your developer profile once.
- Choose Submit an extension and drop your
.zip(or an.xpi). You don’t need to sign it. - Pulsar checks the file at once and shows what it will be able to do. Fix anything marked as blocking.
- Agree to the store rules and send it. A person reviews it, usually in 1–2 days. Mozilla signs it and Pulsar adds its seal.
- You get an email when it is live, or what to change.
Read the review checklist first. It’s short.