The browser extension framework built on Rstack.
Fast builds, real HMR, powerful browser launching β one project for Chrome & Firefox.
- Rstack performance β built on Rsbuild (Rspack): fast cold starts, fast HMR, fast production builds.
- Real HMR everywhere β background, content scripts, popup, optionsβ¦ all hot-reload, no manual extension refresh.
- Powerful browser launching β auto-detects and launches Chromium browsers and Firefox, with profile and cache control built in.
- Any UI framework β Vue, React, Preact, Svelte, Solid, or vanilla. No wrappers, no adapters.
- One project, every browser β shared codebase with per-browser manifest overrides.
The same extension project, built with each framework (lower is better):
| Framework | Build tool | Dev startup | Production build | Output size |
|---|---|---|---|---|
| Addfox 0.2.9 | Rsbuild 2.2.1 | 1.56s | 1.04s | 837KB |
| WXT 0.21.4 | Vite 8.1.2 | 1.99s | 1.64s | 810KB |
| Extension.js 4.1.5 | Rspack 2.2.1 | 2.86s | 1.61s | 1.91MB |
| Plasmo 0.90.5 | Parcel 2.9.3 | 2.91s | 2.54s | 1.37MB |
Benchmarked on identical projects; results may vary with project complexity. Methodology & reproduction: addfox/benchmark.
WXT (Vite), Plasmo (Parcel), and Extension.js (Rspack) are all excellent tools. Addfox carves its own path:
| Solution | Build tool | Dev experience | Flexibility |
|---|---|---|---|
| Plasmo | Parcel | Out-of-the-box | Convention-based, with cloud features |
| WXT | Vite | Out-of-the-box | Convention-based, with plugin ecosystem |
| Extension.js | Rspack | Out-of-the-box | Zero-config, minimal setup |
| Addfox | Rsbuild | Out-of-the-box | Minimal conventions, full Rsbuild ecosystem |
Where Addfox is different:
- Rsbuild speed β fastest dev startup and build in its class (see benchmarks above).
- Full Rstack ecosystem β Rsdoctor bundle analysis and Rstest testing built in.
- Maximum freedom β no enforced file structures or custom APIs; use your preferred patterns.
- AI-ready β generates
llms.txtmetadata, streams runtime errors to the terminal (--debug), and supports skills for AI-assisted workflows.
| π₯ Fast dev + HMR | Dedicated reload plugin; content scripts and background hot-update |
| π Browser launcher | Auto-detect & launch Chromium / Firefox; profile and cache control; --keep-browser-profile |
| π File-based entries | Auto-discovers app/ entries (background / content / popup / options / sidepanel / devtools) |
| π Cross-browser | Chromium browsers + Firefox, per-browser manifest overrides |
| βοΈ Any framework | Vanilla, Vue, React, Preact, Svelte, Solid β TS or JS |
| π§© Content UI | Built-in createContentUI: Iframe, Shadow DOM, or inline injection |
| π¦ Zip on build | addfox build outputs the extension and a store-ready zip |
| π§ͺ Testing | addfox test forwards to Rstest for unit and e2e workflows |
| π Bundle analysis | --report generates Rsdoctor reports in dev/build |
| π Env control | Loads .env, exposes variables via envPrefix rules |
| π€ AI-ready | llms.txt metadata, terminal error output, skills integration |
Addfox wraps Rsbuild with extension-specific plugins; build output loads directly in Chrome or Firefox.
New project:
npx addfox@latest create
# or: pnpm dlx addfox@latest create
# or: pnpm create addfox-app (legacy)Pick a framework, language, package manager, and entries β a full project with addfox.config is generated. Then:
cd my-extension
pnpm devEdit app/popup/index.tsx, save, and the extension reloads itself.
Existing project:
pnpm add -D addfoxAdd addfox.config.ts and entries under app/. Then:
addfox devβ dev server with watch + HMRaddfox buildβ output to.addfox/extension(plus optional zip)
Use -b chrome or -b firefox to pick a target browser.
The examples/ directory contains ready-to-run projects: React, Vue, Svelte, Solid, content UI, devtools, i18n, env vars, Firefox targets, and more.
addfox/
βββ packages/ # Monorepo packages
β βββ addfox/ # The `addfox` npm package (CLI entry)
β βββ cli/ # @addfox/cli β dev / build / test commands
β βββ core/ # @addfox/core β config resolution & Rsbuild pipeline
β βββ launcher/ # @addfox/launcher β browser detection & launch
β βββ plugins/ # Rsbuild plugins (HMR, manifest, zip, β¦)
β βββ create-addfox-app/ # Project scaffolding
βββ examples/ # Example extensions (React, Vue, Svelte, β¦)
βββ e2e/ # Playwright end-to-end tests
βββ docs/ # Documentation site source (https://addfox.dev)
Issues and pull requests are welcome at github.com/addfox/addfox. When reporting a bug, please include steps to reproduce, expected vs actual behavior, and your browser / OS details.
If Addfox makes your extension development easier, give us a β on GitHub β it helps more developers discover the project.
Full docs, config reference, and guides: https://addfox.dev Skills (AI workflow modules): https://github.com/addfox/skills

