# substandard read. more. blogs. substandard shows a badge when the site you're visiting has a standard.site publication on the Atmosphere: the distributed social network built on the AT Protocol. Click, subscribe, and read blog posts in the app of your choice. - Sign in to your Atmosphere account via OAuth. Works whether you're on Bluesky, mu.social, or hosting your own PDS. - Your password never touches the extension or our servers. In fact, we don't even have any. - Subscriptions are only stored in your account, and are compatible with any standard.site reader: Standard Reader, Leaflet, and more. - This extension is open source and has no backend, no analytics, and no tracking. ## Installing ### Chrome Web Store You can install substandard from the [Chrome Web Store](https://chromewebstore.google.com/detail/substandard/mecbfognmmefgjekidnddjjlddnfnlki?authuser=0&hl=en). This is the best option for most users. ### Local You can also build the extension locally: ```sh npm install npm run package # build + verify dist/ is loadable ``` Or if you want developer mode turned on (inverted color icon): ```sh npm install npm run package:dev ``` Then in Chrome: `chrome://extensions` → enable Developer mode → Load unpacked → select the `dist/` directory. ## Development Other local dev commands include: ```sh npm run check # typecheck npm run build # build the extension npm run build:dev # same build, dev channel npm run verify:dist # verify against manifest npm run package # build + verify:dist in one step npm run package:dev # build:dev + verify:dist in one step npm run dev # dev channel in watch mode npm test # run unit tests ``` ## Extension releases Instructions for the maintainer. 1. `scripts/deploy-site.sh` — step 4 validates against the *hosted* client metadata, so the site has to be current before it runs. 2. `npm run bump` — stages the version into the three release files; commit it as `chore(release): v`. 3. `git tag -a v` and `git push --follow-tags` — `deploy-ext.sh` requires the tag at HEAD and creates none itself. 4. `scripts/deploy-ext.sh` to build the deployable package under `release` 5. `npm run smoke`, then `npm run rc` to verify the package 6. Upload the zip by hand at the developer console URL step 4 prints. ## Privacy policy See [substandard.blog/privacy](https://substandard.blog/privacy). ## License MIT — see [LICENSE](LICENSE).