Skip to main content

Introduction

LightningAddon is your boilerplate to ship a browser extension SaaS to every major browser — Chrome, Firefox, Edge, Safari, Brave, Opera, Zen, and any Chromium or Gecko-based browser — from a single codebase, in a single build command.

It ships a complete end-to-end stack: multi-browser extension frontends, a provider-agnostic auth layer, Stripe billing wired entirely through the service worker, and two fully-featured cloud backends (Firebase and Supabase) with identical feature parity.

The goal is to eliminate the weeks of setup work that every extension SaaS shares — authentication, billing, cross-context messaging, storage management, multi-browser packaging — so developers can start building their actual product on day one.

What You Get

  • Multi-browser builds — Chrome, Firefox, Edge, and Safari from one codebase via pnpm build:chrome, pnpm build:firefox, pnpm build:edge, and pnpm build:safari
  • Provider-agnostic auth — Switch between Firebase and Supabase with a single env var
  • Stripe billing in the background — Checkout and portal sessions handled by the service worker (no CORS issues)
  • Typed runtime messaging — Compile-time type safety for popup, content script, and background communication
  • Shadow DOM content script — Tailwind CSS isolation so your extension UI never conflicts with host page styles
  • Versioned storage migrations — Schema upgrades run automatically on extension startup

Quick Start

  1. pnpm install
  2. Configure env files from envs/.env.example, or run pnpm choose:backend for an interactive wizard
  3. Choose your backend: Supabase, Firebase, or Custom
  4. pnpm dev (starts all extension dev servers)
  5. pnpm build:chrome in another terminal, then load apps/extension/dist in Chrome developer mode (chrome://extensions)

See Quick Start for the full walkthrough.

Next Steps