Documentation
Introduction
Welcome to the ExtensionStart documentation. This is the place to get started with the kit, learn how the parts fit together, and ship a paid browser extension on Chrome, Firefox, and Edge.
What is ExtensionStart?
Section titled “What is ExtensionStart?”ExtensionStart is a starter kit for browser extensions that charge money. You get a monorepo where sign-in, billing, paywalls, on-page UI, and store publishing are already built, wired together, and covered by 190+ unit tests and 21 end-to-end specs. It contains:
- The extension app: popup, side panel, and on-page UI, built on WXT, React 19, and Tailwind 4.
- The backend: one API for checkout, webhooks, usage counters, and sign-out, deployable to Firebase or Supabase.
- Your product website: a rebrandable landing page, a help center, the welcome page every install opens, and the privacy and terms pages the Chrome Web Store requires.
Popular guides
Section titled “Popular guides”Features
Section titled “Features”Authentication
Section titled “Authentication”- Google and email sign-in built for MV3 service workers
- Guest-first accounts that keep their usage when a user signs up
- Firebase or Supabase, one wizard answer
Payments and billing
Section titled “Payments and billing”- Stripe, Polar, or Paddle behind one billing port
- Subscriptions, lifetime purchases, trials, and credit packs
- Entitlements written only by webhooks; the extension holds no secrets
Paywall engine
Section titled “Paywall engine”- Three questions, one file: what is free, what is on trial, when to ask
- Feature limits per day or month, no-card trials, credits, and a nudge policy; six recipes, any mix
- One
accesscall at every callsite; the wall, lock badge, usage meter and trial banner render everywhere - Store-policy guard in the config: a free path or a declared paid-only product, prompts always dismissible
On-page UI
Section titled “On-page UI”- Shadow and inline mounting on any website
- Survives SPA navigation and hostile host styles
- A status card demo on every page, end-to-end tested against hostile CSS, that one wizard answer removes
Operating your extension
Section titled “Operating your extension”- Broadcasts reach every install without a release
- Anonymous uninstall surveys land in your database (Firebase backend)
- Background service worker patterns that survive MV3
Customization
Section titled “Customization”- One token file rebrands every surface, both themes
- Modules: what each part of the kit owns, and what the wizard removes
- Setup wizard does all of it in one command
Publishing
Section titled “Publishing”- Store-ready zips for Chrome, Firefox, and Edge
- A remote-code audit on every build, and rejection-code playbooks
Ways to charge
Section titled “Ways to charge”The wizard asks how you want to charge and configures pricing UI and paywall behavior to match:
| Model | You sell |
|---|---|
| Subscription (default) | Monthly, yearly, and lifetime plans, optional free trial |
| Lifetime | One payment, access forever |
| Subscription + credits | Monthly credit allowance plus top-up packs |
| Credit packs | Prepaid credits, no subscription |
The path
Section titled “The path”Each step ends with something you can verify on screen:
-
Setup: clone, run the wizard, load the extension in Chrome, sign in with your own backend, then a test checkout that flips the popup to Pro.
-
Build your feature: your code, made paid with a 2-file edit.
-
Publish: the Chrome Web Store submission runbook.
Who these docs are for
Section titled “Who these docs are for”Both of these readers, deliberately:
- Building with an AI agent, or new to extensions? Follow the path above in order; every step says what to click and what you should see. The kit’s guardrails were written so an agent can do the heavy lifting; start at Build with AI agents.
- Senior engineer? The Tech stack explains every choice, Project structure maps the repo, and each feature folder documents the invariants the kit enforces. The platform rules that make extensions different from web apps (service workers, permissions, store policy) are covered where they bite.
Frequently asked questions
Section titled “Frequently asked questions”What is ExtensionStart?
Section titled “What is ExtensionStart?”A commercial starter kit for monetized browser extensions: a pnpm workspace monorepo with the extension app, a deployable backend, a website with a help center, and the test suites that keep them honest.
Do I need to know browser extension APIs?
Section titled “Do I need to know browser extension APIs?”No. The kit encodes the MV3 rules (service-worker lifecycle, storage, permissions, store policy) in working code and enforces them with lint rules and tests. The docs explain each rule where it matters.
Which backends and payment providers are supported?
Section titled “Which backends and payment providers are supported?”Firebase or Supabase for the backend, chosen in the wizard. Stripe, Polar, or Paddle for payments, also chosen in the wizard: your clone keeps the provider you pick, next to Stripe. Polar and Paddle act as merchant of record and handle global sales tax.
How do updates arrive?
Section titled “How do updates arrive?”Your purchase includes lifetime updates: pull from the private repository. Storage shapes are versioned with numbered migrations, so updating never corrupts your users’ data.