Key Features
Everything You Need to Build & Monetize Browser Extensions
Complete architecture for popup, background workers, and content scripts. Plus Supabase auth, Stripe payments, and store submission guides — all out of the box.
Multi-Browser from One Codebase
Chrome, Firefox, Safari, Brave, Edge, Opera, and Zen — all from a single build. The entire browser API surface is unified through getExtensionApi(). Zero branching in your application code, ever.
Provider-Agnostic Auth & Dual Backend
Swap between Firebase and Supabase with a single environment variable. Both backends ship with identical feature parity: auth, database, cloud functions, Stripe checkout, and webhooks.
Stripe Billing in the Service Worker
Checkout and customer portal sessions run inside the background service worker — never the popup. No CORS issues, your secret keys stay server-side, and the Stripe page opens in a new tab.
See the Architecture DetailsArchitecture Deep-Dives
Built on Patterns That Scale — Not Patterns That Break
Every architectural decision in LightningAddon is designed to stay maintainable as your product grows — whether you are building solo or with a team.
Shadow DOM Isolation + Versioned Storage Migrations
-
Content scripts mount React inside a Shadow DOM. Tailwind CSS injects inline inside the shadow root — the host page stylesheet can never bleed in and break your UI.
-
Storage schema evolves without breaking existing user installs.
runStorageMigrations()runs on every service worker startup and applies only the pending migrations. -
The manifest permission linter enforces Chrome Web Store policy in CI — flagging privileged permissions before you submit, not after the review rejection.
Typed Runtime Messaging Across All Contexts
Popup, content script, background, and dashboard each run in isolated JavaScript environments. LightningAddon's RuntimeMessageMap in @repo/core gives you compile-time type checking on every message — any payload mismatch is a TypeScript error before it ever reaches runtime.
Zero Untyped Messages
Every send and listen call is fully typed end-to-end. Rename a message payload and TypeScript surfaces every affected call site instantly.
Modular Package Architecture
Turborepo monorepo with isolated packages: @repo/auth, @repo/browser-utils, @repo/core. Add new features without touching unrelated code.
Stop Rebuilding the Same Foundation. Start Shipping.
Auth, billing, multi-browser builds, typed messaging — every extension SaaS needs the same boring foundation. LightningAddon ships all of it, battle-tested and ready in 15 minutes. Pay once, own it forever.
Get LightningAddon