# FreeCAD Addon Manager

Install and update third-party addons to FreeCAD, including Workbenches, Macros, Preference Packs, and more. FreeCAD
ships with a point-in-time snapshot of this Addon: by the time you install FreeCAD it is possible that version of the
Addon Manager is no longer the most recent version. Install *this* addon to update the internal Addon Manager to the
latest version (and to allow future self-updating).

Note that there are multiple available branches of this addon. Most users should use Main, but Development is also
available and may contain work-in-progress features (but may also be less stable). For users on older versions of
FreeCAD built using Qt5 and/or Python 3.8, a dedicated branch is available.

## Addon Sources

The main source of addons is the git repository at https://github.com/FreeCAD/Addons. Custom addon sources can
be configured in the Addon Manager preferences when running FreeCAD. These addons are primarily written by
third parties and provided by repositories not under the FreeCAD authors' or maintainers' control: you use these addons
at your own risk.

## Information for Addon Developers

To submit an addon you have created see the documentation [here](https://github.com/FreeCAD/Addons/blob/main/Documentation/Submission.md).
For information about developing an addon in the first place, see [the FreeCAD wiki](https://wiki.freecad.org/Workbench_creation#Distribution).
The Addon Manager supports five different types of addons: "Workbench", "Macro", "Preference Pack", "Bundle", and "Other". This
information is provided to the Addon Manager via a file called `package.xml` whose [format is documented on the wiki](https://wiki.freecad.org/Package_Metadata).

The Addon Manager relies on a remote cache of all addons maintained at https://addons.freecad.org,
[generated by a script](https://github.com/FreeCAD/AddonManager/blob/main/AddonCatalogCacheCreator.py) that runs
every six hours. This cache contains the complete code for all addons listed in the addon catalog. Another
process runs to cache all macros from both [the GitHub repository](https://github.com/FreeCAD/FreeCAD-macros/)
and [the Wiki](https://wiki.freecad.org/Macros_recipes). All official catalog-based addons and macros are downloaded from
that server.

Bug reports and pull requests are welcome. Please make sure you are familiar with
[the contributing process](https://github.com/FreeCAD/FreeCAD/blob/main/CONTRIBUTING.md).
