Skip to content

ExtForge

The build system for Manifest V3 browser extensions.

Quick start

Scaffold, install, and load your first extension in under 60 seconds.

Cross-browser

Chrome, Firefox, Edge, and Safari from a single config file.

HMR that works

Targeted reloads via script-id matching. Infinite WebSocket reconnect.

Typed APIs

Plugins, testing helpers, and error codes — all fully typed.

Why ExtForge

Browser extension tooling has not kept up with web development. You end up stitching together webpack configs, custom manifest transformers, and browser-specific packaging scripts — all of which break when Chrome ships a new MV3 restriction.

ExtForge is a zero-config build system built specifically for Manifest V3. It uses esbuild under the hood for sub-second rebuilds, ships a WebSocket-based HMR layer that targets individual content scripts by ID, and produces a separate dist/<browser>/ directory for each store you need to submit to.

It is for extension authors who need to ship the same extension to multiple browser stores without maintaining multiple build pipelines.

What’s in the box

  • MV3 bundler — esbuild pipeline with automatic manifest generation and icon resizing.
  • Dev server with HMR — WebSocket server on port 9100, targeted reloads, infinite reconnect on browser restart.
  • Cross-browser builds — Per-browser output with polyfill and compat shims applied automatically.
  • Scaffold (extforge init) — Interactive project generator: framework, CSS, browsers, features, permissions.
  • Testing helpers — Vitest preset with Chrome API fakes; Playwright fixtures for end-to-end.

Ready to start?