|
| 1 | +# Contributing Guide |
| 2 | + |
| 3 | +First, thanks for taking the time to contribute! ❤️ |
| 4 | + |
| 5 | +We want to make contributing to this project as easy and transparent as possible, whether it's: |
| 6 | + |
| 7 | +- Reporting a bug |
| 8 | +- Discussing the current state of the code |
| 9 | +- Submitting a fix |
| 10 | +- Proposing new features |
| 11 | + |
| 12 | +## I have a question |
| 13 | + |
| 14 | +If you want to ask a question, we assume that you've read the available documentation. |
| 15 | + |
| 16 | +Before you ask a question, it is best to search for existing issues that might help you. |
| 17 | +In case you've found a suitable issue and still need clarification, you can write your question in this issue. |
| 18 | + |
| 19 | +If you still feel the need to ask a question and need clarification, we recommend the following: |
| 20 | + |
| 21 | +- [Open an Issue][open-issue]. |
| 22 | +- Provide as much context as you can about what you’re running into or what you're interested in. |
| 23 | +- We will then take care of the issue as soon as possible. |
| 24 | + |
| 25 | +## I want to contribute |
| 26 | + |
| 27 | +> [!NOTE] |
| 28 | +> |
| 29 | +> In short, when you submit code changes, your submissions are understood to be under the same [MIT License][mit] that covers the project. |
| 30 | +> Feel free to contact the maintainers if that is a concern. |
| 31 | +
|
| 32 | +### Reporting bugs |
| 33 | + |
| 34 | +We use GitHub issues to track public bugs. |
| 35 | +Report a bug by [opening a new issue][open-issue]. |
| 36 | + |
| 37 | +Great Bug Reports tend to have: |
| 38 | + |
| 39 | +- A quick summary and background |
| 40 | +- Steps to reproduce |
| 41 | + - Be specific! |
| 42 | + - Give a sample code if you can. |
| 43 | + - Provide information about the environment (versions of AGP, Kotlin, and so on), depending on what seems relevant |
| 44 | +- What you expected would happen |
| 45 | +- What actually happens |
| 46 | +- Notes (possibly including why you think this might be happening, or what you've already tried to fix it) |
| 47 | + |
| 48 | +### Suggesting changes |
| 49 | + |
| 50 | +We use [GitHub Flow][github-flow], so all code changes are done via pull requests. |
| 51 | + |
| 52 | +The Pull Request flow is as follows: |
| 53 | + |
| 54 | +1. Create an issue to coordinate changes with maintainers, or announce in an existing issue that you took the task to work. |
| 55 | +2. Fork the repository. |
| 56 | +3. Create a new [branch](#branches). |
| 57 | +4. [Commit](#commits) changes. |
| 58 | + |
| 59 | +5. When the pull request is ready, assign it to one of the maintainers. |
| 60 | + > Make sure that all CI checks have been successfully passed |
| 61 | +6. Then follow the standard scheme: review :arrow_right: changes with review :arrow_right: approve :arrow_right: merge :white_check_mark:. |
| 62 | + > Merge the PR via rebase and remember to delete the branch. |
| 63 | +
|
| 64 | +## Naming |
| 65 | + |
| 66 | +Naming conventions are created based on the opinions of the internal team, and we're open to suggestions! |
| 67 | + |
| 68 | +## Branches |
| 69 | + |
| 70 | +The branch name is generated using the `$type/$issue-$desc` pattern, where: |
| 71 | + |
| 72 | +- `type` - type of change: |
| 73 | + - `feature` - new functionality |
| 74 | + - `fix` - changes to existing functionality |
| 75 | +- `issue` - issue number (may not exist, but it is better to create an issue for any changes). |
| 76 | +- `desc` - brief description. In two or three words about the functionality being developed. |
| 77 | + |
| 78 | +## Commits |
| 79 | + |
| 80 | +Name of commits according to the `$issue: $description` or `$type: $description` pattern, where: |
| 81 | + |
| 82 | +- `$issue` - number of the issue to which the changes apply (may not exist) |
| 83 | +- `$type` - added for changes not explicitly related to the issue. |
| 84 | + The following types are agreed upon: |
| 85 | + - `fix` - bugfix |
| 86 | + - `feature` - new functionality |
| 87 | + - `review` - changes based on review results |
| 88 | + - `refactor` - refactoring |
| 89 | + - `docs` - changes in project documentation, adding comments with code documentation |
| 90 | +- `$description` - brief description of changes made |
| 91 | + |
| 92 | + |
| 93 | +<!-- Links --> |
| 94 | +[open-issue]: https://Github.com/RedMadRobot/%Stub%/issues/new |
| 95 | +[mit]: https://choosealicense.com/licenses/mit/ |
| 96 | +[github-flow]: https://docs.github.com/en/get-started/using-github/github-flow |
0 commit comments