Introduction
ExtensionStart is a starter kit for paid browser extensions: a monorepo with sign-in, Stripe billing, paywalls, and store publishing wired up and tested. These docs walk the same path you will: from clone to a published, monetized extension on Chrome, Firefox, and Edge.
New here? Read the Overview to see what is in the box, then follow the five setup steps in order.
Popular pages
Section titled “Popular pages”How the docs are organized
Section titled “How the docs are organized”- Getting started: the five-step path from clone to store listing. Follow it in order; each step ends with something you can verify.
- Working with the codebase: one guide per subsystem. Sign-in, payments, credits, paywalls, on-page UI, theming, announcements, the background service worker, and the module system.
- Going to production: submission runbooks and policy references for all three stores.
- Reference: CLI flags, environment variables, and the messaging protocol.
Give the docs to your AI agent
Section titled “Give the docs to your AI agent”- extensionstart-docs.md: every page in one Markdown file, sized for a context window.
- llms.txt · llms-full.txt: machine-readable indexes.
- Append
.mdto any page URL for raw Markdown, or use the “Copy as Markdown” button next to each page title.
The AI agents guide covers the prompt recipes and Chrome DevTools MCP preset that ship in the repo.
Do I have to use Firebase?
Section titled “Do I have to use Firebase?”Firebase (Auth, Firestore, Cloud Functions) is the supported, wired-up path, and its free tier covers development. The billing core is port-based, so adapting it to another backend is a contained task rather than a rewrite.
Which browsers are supported?
Section titled “Which browsers are supported?”Chrome and Edge (MV3), plus Firefox. The build produces per-browser bundles, Chromium-only APIs are feature-guarded, and CI lints the Firefox build on every commit.
How does billing work under the hood?
Section titled “How does billing work under the hood?”Stripe Checkout and the customer portal, driven by one Cloud Function. Webhooks write entitlements server-side; the extension reads a storage-backed snapshot. The server is the authority.
Can I charge subscriptions, one-time payments, or credits?
Section titled “Can I charge subscriptions, one-time payments, or credits?”All of them. Four monetization models ship ready to seed into Stripe; the wizard configures the one you pick. See Payments and Credits.
What if I get stuck?
Section titled “What if I get stuck?”Every subsystem has its own guide in the sidebar. For anything else, email support@extensionstart.com.