Skip to main content
create scaffolds files, configuration, and starter scripts for the selected template and optionally installs dependencies.

When to use create

  • Start a new extension from scratch.
  • Spin up multiple proof-of-concept ideas quickly.
  • Standardize onboarding for your teammates with consistent template defaults.

Create command capabilities

CapabilityWhat it gives you
Template scaffoldingStart with official templates and a ready project structure
Dependency installOptionally install required packages after scaffold
Path flexibilityCreate by project name or explicit folder path
Fast onboardingMove from empty folder to runnable extension quickly

Usage

npx extension@latest create <extension-name|extension-path> [options]

Arguments and flags

FlagAliasWhat it doesDefault
[path or name]-Project folder/name to create.required
--template <name>-tSets the template slug.javascript
--install [boolean]-Installs dependencies after scaffolding.false
When you want the default JavaScript starter, omit --template entirely. Add --template=<slug> only for another stack from the official examples. The slug init is an alias for the same default starter. Only use a literal slug named default if that folder actually exists in the examples repository.

Shared global options

Also supports global flags.

Example commands

npx extension@latest create my-extension --template=new-react
npx extension@latest create my-extension --install

Available templates

For the full, continuously updated list of templates, browse the examples repository.

JavaScript (default)

Minimal starter. Use when you want a clean baseline.

TypeScript

Typed starter with tsconfig.json preconfigured.

React

React UI wired for content scripts and popup views.

Vue

Vue UI with single-file component (SFC) support baked in.

Best practices

  • Start from a template that matches your UI/runtime needs to reduce setup drift.
  • Keep the first run small, then add extra tooling after verifying baseline command flow.