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

* Add docs about The Manifest File * Remove stale line * Update docs/development_checklist.md
51 lines
3.7 KiB
Markdown
51 lines
3.7 KiB
Markdown
---
|
|
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](https://pypi.python.org/pypi).
|
|
- New dependencies are added to `requirements_all.txt` (if applicable), using `script/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](https://home-assistant.io/)
|
|
* Visit the [website documentation](https://www.home-assistant.io/developers/documentation/) for more information about contributing to [home-assistant.io](https://github.com/home-assistant/home-assistant.github.io).
|
|
- All dependencies are [only imported inside functions](creating_component_deps_and_reqs.md) 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:
|
|
|
|
```json
|
|
{
|
|
"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`.
|