The Program ID is a unique identifier for your add-on. When you package your add-on for distribution using
cfx xpi, it will become the ID field in the add-on's Install Manifest.
The ID is used for a variety of purposes. For example: addons.mozilla.org uses it to distinguish between new add-ons and updates to existing add-ons, and the
simple-storage module uses it to figure out which stored data belongs to which add-on.
It is read from the
id key in your add-on's
cfx init creates this key for you automatically. The ID generated by
cfx in this way is a randomly-generated string, but you can define your own ID by editing the
package.json file directly. In particular, you can use the
email@example.com format described in the Install Manifest documentation. However, you can't use the GUID-style format.