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

TraitPrevalenceDescription
C1 Manifest V3 target18/24 (75%)Targets MV3 or has a current MV3 path.
C2 TypeScript-first18/24 (75%)Uses TypeScript as the primary starter language.
C3 Popup surface22/24 (92%)Includes popup or browser-action UI.
C4 Content script surface18/24 (75%)Includes a wired content script.
C5 Solo developer20/24 (83%)Maintained by an individual or individual-led project.
C6 Chrome-first14/24 (58%)Chrome is the primary target or naming frame.
C7 React framework14/24 (58%)Uses React as the primary UI framework.
C8 Vite build tool13/24 (54%)Uses Vite, often with CRXJS.
C9 HMR13/24 (54%)Claims or enables hot module reload during development.
C10 Background service worker17/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.

ArtifactSource RoleVisible Metric Families
Manual-audit/CENTROID-CHROME-EXTENSION-STARTERS.mdCentroid traits and denominatorDefinition, traits, borderline traits, validation.
Reports/VISUAL-DATA-CHROME-EXTENSION-STARTERS.mdChart-ready centroid prevalenceTrait percentages and display context.
Manual-audit/CALIBRATION-TABLE-CHROME-EXTENSION-STARTERS.mdPer-repo role and score derivationBoundary 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.