How to Contribute
We'd love to accept your patches and contributions to this project. There are just a few small guidelines you need to follow.
Contributor License Agreement
Contributions to this project must be accompanied by a Contributor License Agreement. You (or your employer) retain the copyright to your contribution; this simply gives us permission to use and redistribute your contributions as part of the project.
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the Apache 2.0 license; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the Apache 2.0 license; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it) is maintained indefinitely
and may be redistributed consistent with this project or the open
source license(s) involved.
You generally only need to submit a CLA once, so if you've already submitted one (even if it was for a different project), you probably don't need to do it again.
Attribution
The text of this license is available under the Creative Commons Attribution-ShareAlike 3.0 Unported License. It is based on the Home Assistant CLA, which was in turn derived from the Linux Developer Certificate Of Origin, but modified to explicitly use the Apache 2.0 license and not mention sign-off.
Code reviews
All submissions, including submissions by project members, require review. We use GitHub pull requests for this purpose. Please follow these best practices:
- To expedite the review process, please keep PRs scoped down
- Link PRs to specific issues they intend to resolve.
- Make sure that your PR improves code coverage in a meaningful way. PRs that decrease code coverage will not be allowed.
- Consult GitHub Help for more information on using pull requests.
Semantic Releases
Ambianic.ai adheres to the Semantic Release conventions.
All package releases (to npm, pypi, docker) are completely automated in the Continuous Integration and Deployment scripts, which trigger on every Pull Request and commit to a project master
branch.
Community Guidelines
This project follows Google's Open Source Community Guidelines.
Setup Your Development Environment
Now that you are familiar with the contribution guidelines, you are ready to start coding. Follow this guide to set up your dev environment.