mirror of
https://github.com/home-assistant/developers.home-assistant.git
synced 2025-05-22 02:46:29 +00:00

* Add docs about The Manifest File * Remove stale line * Update docs/development_checklist.md
3.7 KiB
3.7 KiB
title
title |
---|
Development Checklist |
Before you commit any changes, check your work against these requirements:
- All communication to external devices or services must be wrapped in an external Python library hosted on pypi.
- New dependencies are added to
requirements_all.txt
(if applicable), usingscript/gen_requirements_all.py
- The
.coveragerc
file is updated to exclude your platform if there are no tests available or your new code uses a third-party library for communication with the device, service, or sensor - Documentation is developed for home-assistant.io
- Visit the website documentation for more information about contributing to home-assistant.io.
- All dependencies are only imported inside functions that use them.
- Add the manifest file. What is the manifest file? Keep reading to find out!
The Manifest File
As of Home Assistant 0.91, we have begun a migration to a new concept we call the manifest file. What is the manifest file? The manifest file contains information about a Home Assistant integration. It looks like this:
{
"domain": "mobile_app",
"name": "Home Assistant Mobile App Support",
"documentation": "https://www.home-assistant.io/components/mobile_app",
"requirements": [
"PyNaCl==1.3.0"
],
"dependencies": [
"device_tracker",
"http",
"webhook"
],
"codeowners": [
"@robbiet480"
]
}
Here are the fields contained in the manifest file.
Key | Type | Description |
---|---|---|
codeowners | array of strings | Contains a array of GitHub usernames or team names responsible for the contents of this file that will be notified whenever someone submits a issue or PR relating to it. You, the author, should put your username here. |
dependencies | array of strings | Other integrations/components this integration requires to be loaded before it can start. |
documentation | url | A URL pointing to documentation for the integration. If this integration is being submitted for inclusion to Home Assistant, it should probably point to documentation under home-assistant.io. |
domain | string | The domain of the integration. For example, if your integration is in a folder named mobile_app , this should be mobile_app |
name | string | The human readable name of your integration |
requirements | array of strings | Dependencies that should be installed from PyPi. |
The manifest file should be stored in the integration folder and be named manifest.json
.