--- description: This area sets out the code of conduct for contributing. --- # Ground Rules #### Contributor License Agreement We have a Contributor License Agreement which can be found at the root of this project. It is required for [Standard Contributions](contribution-types.md#std) and [Major Contributions](contribution-types.md#major). #### Responsibilities * Ensure cross-platform compatibility for every change that's accepted. Windows, Mac, Debian & Ubuntu Linux. * Ensure that code that goes into core meets all requirements in this checklist: \[Code Requirements Checklist\] * Create issues for any major changes and enhancements that you wish to make. Discuss things transparently and get community feedback. * Don't add any classes to the core code unless absolutely needed. Err on the side of using functions. \(Creating Classes for extensions is perfectly reasonable\) * Keep feature versions as small as possible, preferably one new feature per version. * Be welcoming to newcomers and encourage diverse new contributors from all backgrounds #### Your First Contribution Unsure where to begin contributing to Smart Cloud BMS? You can start by looking through these beginner and help-wanted issues: \[Beginner issues\] - issues which should only require a few lines of code, and a test or two. \[Help wanted issues\] - issues which should be a bit more involved than beginner issues. Both issue lists are sorted by total number of comments. While not perfect, number of comments is a reasonable proxy for impact a given change will have. ### Your first project? Working on your first Pull Request? You can learn how from this _free_ series, [How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github) At this point, you're ready to make your changes! Feel free to ask for help; everyone is a beginner at first! If a maintainer asks you to "rebase" your PR, they're saying that a lot of code has changed, and that you need to update your branch so it's easier to merge.