Jetpack Manager for Node.js
Clone or download

JPM Dependency Status Build Status


IMPORTANT UPDATE AS OF 2017-02-07: Firefox is planning to deprecate the type of add-ons that are built by jpm. If you're building a new add-on, consider a WebExtension instead and check out the web-ext tool which has all the same features as jpm. Here are some resources to help you migrate a legacy jpm built add-on.

Replacing the previous python tool for developing Firefox Add-ons, cfx, jpm is a utility for developing, testing, and packaging add-ons.


Install the latest stable version from NPM:

npm install --global jpm

Alternatively, you can install from the GitHub source to get the latest features or to work on jpm itself. Use npm link to add the jpm global to your path:

git clone
cd jpm
npm install
npm link


Type jpm --help for all available commands and options or read the documentation linked below.



Read about how to contribute patches to jpm.

Using Post and Watchpost

Note: this is experimental


You must have the Extension Auto-Installer installed on a pre-production Firefox and you need to use a profile that sets xpinstall.signatures.required to false (more info). For logging with watchpost, also see Developing without browser restarts.


Once this has completed, setup a watchpost:

jpm watchpost --post-url http://localhost:8888/

This will watch for changes to the current working directory and post a new xpi to your installed Extension Auto-Installer which will then install the new xpi. To end the process, use the hokey, CTRL + C.

For a simple xpi and post, use:

jpm post --post-url http://localhost:8888/