Centroid definition
The Default Chrome Extension Starter
Definition
The default Chrome Extension Starter is a TypeScript-first, Vite-built, React-based scaffold targeting Chrome Manifest V3. It ships a popup, content script, and background service worker, claims or enables hot module replacement during development, and is maintained by a solo developer.
The centroid is defined from 24 in-cluster repos. Adjacent frameworks, build plugins, official samples, and finished extensions are excluded so they do not distort the starter pattern.
Denominator: in-cluster, N=24. Source: Manual-audit/CENTROID-CHROME-EXTENSION-STARTERS.md. Reader meaning: the centroid defines the current default starter pattern used for public comparison, not an ideal or universal starter.
Sector Boundary
The centroid applies to independent fork-and-build Chrome or Chromium extension starter repositories. Frameworks, build plugins, CLI scaffolders, official samples, curated lists, and finished extensions remain adjacent context rather than centroid-defining rows.
Centroid Traits
| Trait | Prevalence | Description |
|---|---|---|
| C1 Manifest V3 target | 18/24 (75%) | Targets MV3 or has a current MV3 path. |
| C2 TypeScript-first | 18/24 (75%) | Uses TypeScript as the primary starter language. |
| C3 Popup surface | 22/24 (92%) | Includes popup or browser-action UI. |
| C4 Content script surface | 18/24 (75%) | Includes a wired content script. |
| C5 Solo developer | 20/24 (83%) | Maintained by an individual or individual-led project. |
| C6 Chrome-first | 14/24 (58%) | Chrome is the primary target or naming frame. |
| C7 React framework | 14/24 (58%) | Uses React as the primary UI framework. |
| C8 Vite build tool | 13/24 (54%) | Uses Vite, often with CRXJS. |
| C9 HMR | 13/24 (54%) | Claims or enables hot module reload during development. |
| C10 Background service worker | 17/24 (71%) | Includes background script or service-worker surface. |
Borderline Traits
React, Chrome-first targeting, Vite, and HMR clear the greater-than-50% threshold by narrow margins. This is part of the sector story: older webpack/MV2 starters still hold adoption, while recently active starters overwhelmingly point toward the modern Vite/MV3 stack.
Boundary Decisions
EmailThis and fregante/browser-extension-template are retained as genuine starters even though they sit far from the 2026 centroid. Their Adjacent Infrastructure role reflects architecture distance, not category exclusion.
WXT, Plasmo, CRXJS itself, Google samples, CLI scaffolders, lists, and finished extensions are excluded or treated as adjacent because they are not independent fork-and-build starter repositories.
Validation
The two-pass denominator keeps the centroid focused on the retained starter corpus. A trait needs majority prevalence in the N=24 in-cluster sample to define the public centroid; adjacent tooling can explain discovery pressure without changing the default pattern.
Source Artifacts
The centroid page is derived from accepted Chrome Extension Starters source artifacts. Found a stale repo, wrong source trace, or boundary classification issue? Send a correction to hello@diversum.dev with the repo name, displayed value, and replacement source.
| Artifact | Source Role | Visible Metric Families |
|---|---|---|
| Manual-audit/CENTROID-CHROME-EXTENSION-STARTERS.md | Centroid traits and denominator | Definition, traits, borderline traits, validation. |
| Reports/VISUAL-DATA-CHROME-EXTENSION-STARTERS.md | Chart-ready centroid prevalence | Trait percentages and display context. |
| Manual-audit/CALIBRATION-TABLE-CHROME-EXTENSION-STARTERS.md | Per-repo role and score derivation | Boundary decisions and score context. |
Corrections
If a centroid trait, denominator, or boundary classification looks stale, contact hello@diversum.dev with the page section, repo or trait name, displayed value, and source evidence for review.