Skip to main content
Back to the lab
Starter template

Chrome Extension Launch Kit

Config-driven Manifest V3 starter

WXTReactMV3

The problem

Every new Chrome extension restarts from the same boilerplate: popup and options scaffolding, a settings system, a permissions story, a data inventory, and a release-readiness checklist — rebuilt slightly worse each time.

The build

A config-driven Manifest V3 starter built on WXT, React, and TypeScript. Clone it, run setup, and edit one file — extension.config.ts — which controls project metadata, tier, links, permissions, capabilities, data inventory, and developer panels.

Stack & choices

  • WXTMV3 build tooling, dev server, and zip packaging
  • React · TypeScriptStructured popup and options pages
  • extension.config.tsSingle config file driving the whole template

Process notes

  1. 1

    Three deliberate quality tiers — Internal, Public Source, Public Product — so a weekend tool and a Web Store release have different (documented) bars.

  2. 2

    V1 is intentionally a template, not a builder: no analytics, no feedback backend, no store automation. Boundaries are written down in the PRD.

  3. 3

    A check:extension health command verifies the config and release readiness before shipping.

  4. 4

    Born from the patterns repeated across Piper TTS, TL;DW, and TubeVault — this kit is those lessons, extracted.