Plugin developers

A good template to use as a reference is boilerplate-card

Requirements

For a plugin repository to be valid these are the requirements:

Repository structure

Example

Repository name: "lovelace-awesome-card"
File name of one of the files: "awesome-card.js"

When searching for accepted files HACS will look in this order:

All .js files it finds in the first location it finds one that matches the name will be downloaded.

If your plugin require files that are not js files, use place all files (including the card file) in the dist directory.

GitHub releases (optional)

If there are releases

When installing/upgrading it will scan the content in the latest release.

If there are multiple releases in the repository the user have some options to install a specific version. The choices will be the last 5 releases and the default branch.

If there are no releases

It will scan files in the branch marked as default.