Skip to main content

Documentation Index

Fetch the complete documentation index at: https://extension.js.org/llms.txt

Use this file to discover all available pages before exploring further.

Start faster by scaffolding extensions from official templates instead of building folder structure and configuration from scratch.

Template capabilities

  • Ready project structure: Start with a working manifest, scripts, and source layout.
  • Stack-specific setup: Choose templates by framework and runtime needs.
  • Faster onboarding: Move from idea to runnable extension in minutes.
  • Consistent defaults: Reduce setup drift across projects and team members.

Quick usage

npx extension@latest create my-extension --template=<slug>
Replace <slug> with the template you want to start from.

Available templates

Choose the stack default that matches your project. Each card scaffolds a minimal, runnable extension with a working manifest.json.

JavaScript

JavaScriptVanilla ES modules with no compile step. The fastest way to start.

TypeScript

TypeScriptStrict types across popup, content, and background scripts.

Svelte

SvelteCompile-time UI with a tiny runtime, perfect for content scripts.

Vue

VueSingle-file components wired up for popup, options, and content scripts.

Preact

PreactReact API in a 3kB runtime. Ideal when bundle size matters.

React

ReactComponent-based UI with full Manifest V3 support and hot module replacement for popup and options.
Looking for production-grade starters with auth, payments, design systems, and full app shells? Browse premium templates at extension.dev.

How it works

When you run create --template=<slug>, Extension.js fetches the selected template, scaffolds the project files, and optionally installs dependencies.

More templates

Find official template sources in the examples repository: Template folder names map directly to --template=<slug>.

Best practices

  • Use templates to scaffold your project quickly and efficiently.
  • Start with a template that matches a technology stack you already know.
  • Choose the browser extension context that best fits your project requirements.

Next steps