Contributing to this project should be easy and transparent, whether you're:
- Reporting a bug
- Discussing the current code
- Submitting a fix
- Proposing a new feature
GitHub is used to host code, track issues, and accept pull requests. Pull requests are the best way to propose changes to the codebase.
- Fork the repository and create your branch from
main. - Run
scripts/setuponce after cloning to configure Git hooks. - Make your changes.
- Update the documentation if needed.
- Run
scripts/lintto verify formatting and syntax. - Test your contribution.
- Open that pull request!
The hook delegates to scripts/lint and validates the repository content.
It runs:
ruff format --checkfor Python filesruff checkfor Python filespyrightfor Python type checkingjqJSON validation for JSON files- YAML syntax validation for YAML files (using
PyYAML) - Markdown lint for Markdown files (using
pymarkdown) - merge conflict marker detection
Please use GitHub issues to report bugs. Open a new issue at:
Great bug reports usually include:
- A short summary and background
- Steps to reproduce
- Be specific
- Include sample code if possible
- What you expected to happen
- What actually happened
- Any notes or troubleshooting steps you already tried
Thorough bug reports help us fix issues faster.
Use black to format Python code.
Run scripts/lint before opening a pull request.
This integration includes a development container for easy local testing in
Visual Studio Code. After launching the container, a Home Assistant instance is
available with the included config/configuration.yaml.
By contributing, you agree that your contributions will be licensed under the same MIT License that covers the project.