First off, thank you for considering contributing to HCGateway. It's people like you that make HCGateway such a great tool.
Following these guidelines helps to communicate that you respect the time of the developers managing and developing this open source project. In return, they should reciprocate that respect in addressing your issue, assessing changes, and helping you finalize your pull requests.
Keep an open mind! Improving documentation, bug triaging, or writing tutorials are all examples of helpful contributions that mean less work for you.
If those aren't of interest to you, you may also help implement new features, or pick up an incomplete issue/pull request.
At this time, we are not looking for any major changes that require database structure updates, breaking API changes, or other changes of the like. It requires more time to coordinate these changes than what is worth spending, and is not feasible at this time.
Responsibilities:
- Ensure no change updates the minimum required API level for the app (26)
- Create issues for any major changes and enhancements that you wish to make. Discuss things transparently and get community feedback.
- 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.
If you're not sure where to begin, the following are great resources:
-
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.
For something that is bigger than a one or two line fix:
- Create your own fork of the code
- Do the changes in your fork
- If you like the change and think the project could use it: * Be sure you have followed the code style for the project. * Send a pull request upstream with your changes.
If you find a security vulnerability, do NOT open an issue. Email hcgateway@shuchir.dev instead.
In order to determine whether you are dealing with a security issue, ask yourself these two questions:
- Can I access something that's not mine, or something I shouldn't have access to?
- Can I disable something for other people?
If the answer to either of those two questions are "yes", then you're probably dealing with a security issue. Note that even if you answer "no" to both questions, you may still be dealing with a security issue, so if you're unsure, just email me at hcgateway@shuchir.dev.