Sector Radar

Chrome Extension Starters

Published by Diversum. Sample: 24 in-cluster repositories. Evidence snapshot: 2026-05-12.

Executive Summary

The Chrome Extension Starter sector has converged sharply. Eighteen of 24 in-cluster repos are confirmed or likely targeting Manifest V3, and among recently pushed starters MV3 is effectively universal. The current fresh-project default is Vite + TypeScript + React + HMR + MV3.

That convergence has a cost: 54% of repositories are Strong Defaults. They are real, maintained starters, but they are difficult to distinguish once a builder has chosen React + TypeScript + Vite + MV3. The Differentiation Index is 1.79/5, the lowest sector-level differentiation Diversum has measured so far.

Six Category Leaders define the practical default for builders. Two repos sit in Adjacent Infrastructure positions for different reasons: EmailThis is a high-adoption MV2 historical predecessor, while fregante/browser-extension-template is a deliberate no-build, no-popup counter-centroid.

The sector shows no Inactive Scaffolds. Every in-cluster repo exhibits real human engineering, which separates Chrome Extension Starters from younger ecosystems where abandoned or auto-generated scaffolds are easier to surface.

About This Report

Who We Are

Diversum is a sector analysis project that maps convergence patterns in software ecosystems. We identify what the default project looks like in a given sector, measure how individual projects relate to that default, and surface where genuine differentiation exists.

This report applies the same public Sector Radar template used for the MCP Memory Servers report, with the Chrome Extension Starter corpus substituted into the same methodology, role vocabulary, and correction path.

Conflict of Interest Disclosure

Diversum has no affiliation with any repository in this corpus. No project in this report is built or maintained by the report authors.

Evidence Snapshot

All scores in this report are frozen at the evidence snapshot date of 2026-05-12. Adoption metrics, star counts, repository activity, manifest status, and package contents were not re-verified after this date. Repositories may have changed since.

Correction Invitation

If you are a maintainer of a project assessed in this report and believe your assessment contains an error, we invite you to request a review. Contact us at hello@diversum.dev. We will review the evidence and publish any corrections transparently.

Methodology

Key Terms

  • Synthetic centroid — The composite default project assembled from traits shared by most projects in a sector. Not a real project; a statistical description of the sector's convergence pattern.
  • In-cluster — Repositories whose primary purpose is to serve as fork-and-build Chrome or Chromium extension starters. These define the centroid.
  • Two-pass denominator — A method for building the centroid from the right subset. Pass 1 surveys the candidate corpus; Pass 2 excludes adjacent frameworks, samples, plugins, lists, stale repos, and archived repos before calculating the default pattern.

The Synthetic Centroid

Instead of comparing every starter to a single reference product, we construct a synthetic centroid: the composite default starter produced by the sector's recurring traits. A trait qualifies for the centroid if it appears in more than 50% of the in-cluster sample. The centroid is defined by what is common, not what is good.

Two-Pass Denominator Protocol

Searches for Chrome extension starters return frameworks, plugins, samples, CLI generators, and finished extensions alongside true fork-and-build starters. Including those adjacent artifacts in the centroid would distort the default Chrome Extension Starter pattern.

We address this with a two-pass method:

  • Pass 1: Survey candidate repositories and document boundary pressure, stale repos, archived repos, and adjacent tooling.
  • Pass 2: Define the centroid from the 24 retained starter repositories only. Adjacent tools remain visible where they affect builder discovery, but they do not define the starter default.

The final denominator is 24 repositories: 23 strict-intake candidates, minus one stale repo, plus two topic-tag additions surfaced during cross-checking.

Five Radar Dimensions

Each repository is scored on five dimensions, each on a 0-5 scale:

DimensionWhat It Measures
Centroid Match (CM)How closely does this project match the sector's default pattern? Ten centroid traits are checked.
Differentiation (DF)What observable traits or combinations distinguish this starter beyond the default?
Human-Edge (HE)How much sustained human engineering effort is visible in code, structure, maintenance, and documentation?
Adoption Depth (AD)How deeply has this project been adopted by real users? Stars, forks, issue activity, and template reuse all matter.
Claim/Implementation Integrity (CI)Do README claims match package files, manifests, directory structure, and wired extension surfaces?

Cluster Roles

Roles are assigned algorithmically from dimension scores. Public-facing labels follow the softer SC-010 vocabulary:

RoleRuleWhat It Means
Inactive ScaffoldCI <= 1, or HE <= 1 with stale statusStructurally present but showing little sustained engineering
Category LeaderHE >= 4 AND AD >= 4 AND CM >= 3High engineering quality with strong adoption and sector alignment
Adjacent InfrastructureCM <= 2Real starter whose architecture is far from the current centroid, or an adjacent artifact visible in discovery
Differentiated NicheDF >= 4Matches the sector closely enough to belong, but brings a strongly distinct position
Strong DefaultCM >= 3 AND HE >= 3Solid implementation of the default pattern without strong differentiation
Baseline ImplementationCM >= 3 AND HE <= 2Working starter with thinner engineering depth

The Sector

What Chrome Extension Starters Are

A Chrome Extension Starter is a public GitHub repository intended as a fork-and-build scaffold for new browser extensions targeting Chrome or Chromium. A starter must include a manifest file, build tooling, and at least one wired extension surface such as a popup, content script, background service worker, options page, devtools panel, or side panel.

This boundary excludes frameworks installed as dependencies, build-tool plugins, CLI scaffolders, official Google samples, curated lists, finished extensions, and generic web app starters.

Why This Sector Exists

Browser extensions are small products with unusually specific project structure: manifests, permissions, extension surfaces, content scripts, browser APIs, and packaging requirements. A general web app starter does not teach those constraints.

The sector has also been reshaped by Manifest V3 enforcement, Vite's rise as the default frontend build tool, and CRXJS's ability to bring HMR into extension development without replacing the underlying Vite mental model. The result is a visible generational split between older webpack or MV2 starters and newer Vite/MV3 starters.

The Synthetic Centroid

The default Chrome Extension Starter is a TypeScript-first, Vite-built, React-based scaffold targeting Manifest V3. It ships a popup, content script, and background service worker, claims or enables hot module replacement during development, targets Chrome first, and is maintained by a solo developer.

Centroid Traits (10)

#TraitPrevalence (n=24)Description
C3Popup surface92%Includes popup or browser-action UI
C5Solo developer maintainer83%Maintained by an individual or individual-led project
C2TypeScript-first75%Uses TypeScript as the primary starter language
C1Manifest V375%Targets MV3 or has a current MV3 path
C4Content script surface75%Includes a wired content script
C10Background service worker71%Includes a background script or service-worker surface
C7React framework58%Uses React as the primary UI framework
C6Chrome-first target58%Chrome is the primary target or naming frame
C8Vite build tool54%Uses Vite, often with CRXJS
C9HMR / hot module reload54%Claims or enables hot reload during development

Transition Traits

React, Chrome-first targeting, Vite, and HMR clear the greater-than-50% threshold by narrow margins. That narrowness is the sector story: older webpack and MV2 repositories still carry adoption, while recently active starters point strongly toward the modern Vite/MV3 stack.

Cluster Map

Interactive Evidence Graph

This graph turns the calibration table into an explorable evidence surface. Switch connection modes to see which repositories share centroid traits, build tools, UI frameworks, extension surfaces, or manifest-generation signals. Drag to rotate, scroll to zoom, and click a connection to inspect the evidence behind it.

Category Leaders (6)

Projects with high engineering quality, strong adoption, and close sector alignment.

RepoCMDFHEADCI
antfu-collective/vitesse-webext45555
abhijithvijayan/web-extension-starter43555
JohnBra/vite-web-extension53554
chibat/chrome-extension-typescript-starter41555
mubaidr/vite-vue3-browser-extension-v353444
aeksco/react-typescript-web-extension-starter42444

vitesse-webext is the highest-scoring repository in the corpus and the clearest example of engineering depth. It combines Vue 3, UnoCSS, pnpm, Vite, CRXJS, i18n, and cross-browser support.

JohnBra/vite-web-extension achieves the strongest centroid alignment: React, TypeScript, Vite, CRXJS, Tailwind, popup, content script, options, background service worker, and devtools panel.

abhijithvijayan/web-extension-starter and chibat/chrome-extension-typescript-starter show that the webpack era remains mature and actively used, even as the fresh-project default shifts to Vite.

Strong Defaults (13)

Strong Defaults are maintained, correctly scoped, and centroid-aligned. They are useful starters, but their value is usually stack preference rather than a distinct sector position.

RepoCMDFHEADCI
Debdut/browser-extension43433
satendra02/react-chrome-extension31343
tjx666/awesome-chrome-extension-boilerplate41434
NekitCorp/chrome-extension-svelte-typescript-boilerplate42434
ibnzUK/Next-Chrome-Starter41334
yosevu/react-chrome-extension-template41324
avivharuzi/chrome-extension-starter42323
timelessco/react-vite-chrome-extension51324
room-js/chrome-extension-ts-starter52325
omribarmats/chrome-extension-starter50314
MichaelYuhe/chrome-extension-starter40314
rezasohrabi/chrome-ext-starter50324
trentbrew/svelte5-chrome-extension42314

Debdut is the closest to a differentiator in this group because it offers React, Vue, Svelte, and vanilla templates. NekitCorp and trentbrew keep Svelte visible. Most others are technically sound React + TypeScript + Vite or webpack implementations that compete on preference more than position.

Baseline Implementations (3)

Working starters with thinner engineering depth. These are appropriate for learning, quickstarts, or personal projects, but less compelling as durable production baselines.

RepoCMDFHEADCI
fxnoob/browser-extension-boilerplate41223
llagerlof/fresh-chrome-extension31214
fayazara/v-extension41214

Adjacent Infrastructure (2)

Both repos are genuine starters retained in the corpus. Their role reflects distance from the current 2026 centroid, not maintainer quality or category exclusion.

RepoCMDFHEADCIPosition
EmailThis/extension-boilerplate23354High-adoption MV2 historical predecessor
fregante/browser-extension-template24444Deliberate no-build, no-popup, cross-browser counter-centroid

Sector Health

Primary Metrics (In-Cluster, n=24)

MetricValueInterpretation
Convergence Index4.00 / 5High. The MV3 + TypeScript + React + Vite pattern is now a strong default.
Differentiation Index1.79 / 5Low. Most repositories sit near the centroid once stack preferences are chosen.
Viability Rate87.5%High. 21 of 24 repos show sustained engineering (Human-Edge >= 3).
Scaffold Rate0%Healthy. No in-cluster starter is classified as an Inactive Scaffold.
Integrity Index4.00 / 5Healthy. Most projects deliver what their README claims.
Category Leakage8.3%Low but important. Two retained starters are boundary-judgment Adjacent Infrastructure cases.

Key Findings

1. The Sector Has Converged on a Modern Default Pattern

MV3 + TypeScript + Vite + React + HMR now defines the default Chrome Extension Starter in 2026. Builders who want the standard approach have a clear target, especially in the recently active starter cohort.

2. The Webpack Era Is Legacy, Not Dead

chibat and abhijithvijayan are among the most-starred repositories in the corpus and remain relevant for builders who need a mature webpack setup or who are extending an older extension codebase.

3. Differentiation Happens at the Margins

Meaningful differences show up in framework choice, build philosophy, surface completeness, cross-browser commitment, and whether a starter takes a deliberate counter-centroid position.

4. EmailThis Is a Historical Artifact, Not a Current Recommendation

EmailThis has very high historical adoption, but it is MV2-based and should not be the starting point for current Chrome development. Its value is historical reference, not present-day default guidance.

5. The Vite + CRXJS Pairing Has Become a New Default

CRXJS adds native Chrome Extension HMR to Vite's standard build pipeline without turning a starter into a separate framework. Repos using CRXJS remain standard Vite projects.

6. Vue and Svelte Are Real Alternatives

vitesse-webext and mubaidr show that Vue is a first-class option in this sector, while NekitCorp and trentbrew keep Svelte visible. These alternatives are not merely decorative; they represent distinct builder contexts.

Differentiation Gaps

Open positions visible in the corpus: opportunities for new entrants or existing starters looking to become meaningfully distinct.

GapWho Is ClosestWhy It Matters
MV3 Side Panel starterNo in-cluster repo fully owns itThe Side Panel API is now part of modern Chrome extension UX, but starter coverage lags.
Full surface Vite + CRXJS starterJohnBra/vite-web-extensionPopup, content script, background, options, devtools, and side panel together would be a stronger default.
TypeScript without Reactfregante, Svelte/Vue startersMany builders want TS without inheriting a React UI stack for small extensions.
No-build or minimal-build current MV3 pathfregante/browser-extension-templateMost modern starters assume a build pipeline. Minimal dependency paths remain under-served.

Sector Narrative

Chrome Extension Starters have passed through a rapid generational shift. The 2017-2021 era produced webpack-based, often MV2 or MV2-adjacent React starters that accumulated stars and forks over years. That cohort remains visible through EmailThis, chibat, abhijithvijayan, and satendra02.

The 2022-2024 era brought MV3 enforcement, Vite's ecosystem dominance, and CRXJS's HMR plugin. The new cohort is technically aligned with the fresh-project default but crowded: many starters offer React + TypeScript + Vite + MV3 with only small differences in surface coverage or style tooling.

The two repos that most clearly escape the central pattern occupy opposite edges. vitesse-webext shows what a highly opinionated, deeply maintained Vue starter can look like. fregante/browser-extension-template shows the counter-position: no build step, vanilla JavaScript, cross-browser-first, and no popup surface.

The middle of the sector is healthy and undifferentiated. The edges — side-panel-aware scaffolds, full-surface MV3 starters, no-framework TypeScript, and minimal-build current-era templates — remain open.

Appendix: Scoring Summary

All 24 Repositories

#RepoCMDFHEADCIRole
1antfu-collective/vitesse-webext45555Category Leader
2JohnBra/vite-web-extension53554Category Leader
3abhijithvijayan/web-extension-starter43555Category Leader
4chibat/chrome-extension-typescript-starter41555Category Leader
5mubaidr/vite-vue3-browser-extension-v353444Category Leader
6aeksco/react-typescript-web-extension-starter42444Category Leader
7fregante/browser-extension-template24444Adjacent Infrastructure
8Debdut/browser-extension43433Strong Default
9NekitCorp/chrome-extension-svelte-typescript-boilerplate42434Strong Default
10tjx666/awesome-chrome-extension-boilerplate41434Strong Default
11EmailThis/extension-boilerplate23354Adjacent Infrastructure
12satendra02/react-chrome-extension31343Strong Default
13ibnzUK/Next-Chrome-Starter41334Strong Default
14timelessco/react-vite-chrome-extension51324Strong Default
15room-js/chrome-extension-ts-starter52325Strong Default
16rezasohrabi/chrome-ext-starter50324Strong Default
17yosevu/react-chrome-extension-template41324Strong Default
18trentbrew/svelte5-chrome-extension42314Strong Default
19avivharuzi/chrome-extension-starter42323Strong Default
20omribarmats/chrome-extension-starter50314Strong Default
21MichaelYuhe/chrome-extension-starter40314Strong Default
22fxnoob/browser-extension-boilerplate41223Baseline Implementation
23fayazara/v-extension41214Baseline Implementation
24llagerlof/fresh-chrome-extension31214Baseline Implementation

Cluster Composition

RoleCountPercentage
Category Leader625.0%
Strong Default1354.2%
Baseline Implementation312.5%
Adjacent Infrastructure28.3%
Differentiated Niche00.0%
Inactive Scaffold00.0%

Methodology Notes

Dimension abbreviations: CM = Centroid Match, DF = Differentiation, HE = Human-Edge, AD = Adoption Depth, CI = Claim/Implementation Integrity.

Public role naming: Public labels describe observable sector position, such as Category Leader, Strong Default, Baseline Implementation, Inactive Scaffold, Adjacent Infrastructure, and Differentiated Niche. Public report pages do not expose internal Competitive Audit labels.

Limitations and objections: See the methodology limitations and anticipated objections sections for the boundary conditions of this analysis.

Source mapping: Chart-ready tables and source mappings are available in Visual Data. Full score derivations are available in Calibration.

Diversum — Mapping convergence in software ecosystems

First published: May 2026. Sample: 24 repositories. Evidence snapshot: 2026-05-12.

Methodology: Sector Radar v1 with two-pass centroid denominator protocol.