Update CONTRIBUTING.md development process - #13635
Conversation
Initial start on improving contributing guidelines with clearer rules on development process for issues, PRs, tests, etc.
Idadelveloper
left a comment
There was a problem hiding this comment.
Thank you for taking out time to draft these very detailed guidelines. I have made some comments and suggestions below :)
|
|
||
| Report crashes through the **automated crash report system** of NewPipe. | ||
| This way all the data needed for debugging is included in your bug report for GitHub. | ||
| Report crashes through the **automated crash report system** of NewPipe. |
There was a problem hiding this comment.
Would be nice to briefly explain how the "automated crash report system" works or how to go about it. It might not be obvious to a new contributor
|
|
||
| NewPipe is developed using [Android Studio](https://developer.android.com/studio/). Learn more about how to install it and how it works in the [official documentation](https://developer.android.com/studio/intro). In particular, make sure you have accepted Android Studio's SDK licences. Once Android Studio is ready, setting up the NewPipe project is fairly simple: | ||
| NewPipe is developed using [Android Studio](https://developer.android.com/studio/). See the [official documentation](https://developer.android.com/studio/intro) for a short brief on how it works. Once installed, setting up NewPipe is fairly simple: | ||
| - Clone the NewPipe repository with `git clone https://github.com/TeamNewPipe/NewPipe.git` (or use the link from your own fork, if you want to open a PR). |
There was a problem hiding this comment.
Will look better if the git clone https://github.com/TeamNewPipe/NewPipe.git is on a separate line with blockquotes and a codeblock for easy copying. Something like:
git clone https://github.com/TeamNewPipe/NewPipe.git
| - Open the folder you just cloned with Android Studio. | ||
| - Build and run it just like you would do with any other app, with the green triangle in the top bar. |
There was a problem hiding this comment.
Not that relevant but would be nice to mention this being a compose multiplatform project and any scenario of contributing to or building the iOS version having XCode installed should be a must-have.
There was a problem hiding this comment.
I am not well versed with how that works: is there an official docs I can link to that has this info, instead of me trying to figure out the best way to say it?
There was a problem hiding this comment.
The "Set up the environment" section of the docs here has the info. Just to add Android Studio or IntelliJ will be ideal for the project not just Android Studio
|
|
||
| ## AI policy | ||
|
|
||
| * Using generative AI to develop new features or making larger code changes is generally prohibited. Please refrain from contributions which are heavily depending on AI generated source code because they are usually lacking a fundamental understanding of the overall project structure and thus come with poor quality. However, you are allowed to use gen. AI if you |
There was a problem hiding this comment.
Please remove the period after "gen". gen AI is simply okay.
TobiGr
left a comment
There was a problem hiding this comment.
Thank you for the time and effort of rewriting the contribution guidelines! I like the changes and left a few improvements.
|
|
||
| **Please make every effort to adhere to these guidelines** | ||
| It is in both your and our best interests that you follow the process so everything can be done quickly and in order. | ||
| If you believe there's anything in these guidelines that is inefficient, missing, unclear, or can otherwise be improved please let us know and we will address it |
There was a problem hiding this comment.
| If you believe there's anything in these guidelines that is inefficient, missing, unclear, or can otherwise be improved please let us know and we will address it | |
| If you believe there's anything in these guidelines that is inefficient, missing, unclear, or can otherwise be improved please let us know and we will address it. |
| * **Still relevant**? Check if the issue still exists in the latest release/beta version. | ||
| * **Already reported**? Please search through [existing issues](https://github.com/TeamNewPipe/NewPipe/issues) (both [open **and** closed](https://github.com/TeamNewPipe/NewPipe/issues?q=is%3Aissue)) to make sure your issue isn't already reported. Duplicate issues will be closed. | ||
| * **Already fixed**? Check whether your issue/feature is already fixed/implemented in NewPipe. | ||
| * **Still relevant**? Check if the issue still exists in the latest version. |
There was a problem hiding this comment.
| * **Still relevant**? Check if the issue still exists in the latest version. | |
| * **Still relevant**? Check if the issue still exists in the [latest version](https://github.com/TeamNewPipe/NewPipe/releases). |
| So that PRs can be reviewed quickly and easily, **YOU MUST** ensure your PR targets **only one specific issue/solution/bug**. | ||
| PRs must be focused and kept as small as possible to make them quicker to review, and means they can be reviewed and merged in parallel, instead of one PR containing 5 things that can all blocked from merging because of just 1 of them. | ||
|
|
||
| * PRs that just so happen to solve multiple issues and cannot be feasiibly reduced further are an exception |
There was a problem hiding this comment.
| * PRs that just so happen to solve multiple issues and cannot be feasiibly reduced further are an exception | |
| * PRs that just so happen to solve multiple issues and cannot be feasiibly reduced further are an exception. |
|
|
||
| 1 dev hour = 1 hour focused entirely on reviewing the PR without breaks or distractions. | ||
|
|
||
| If it would take someone more than 3 hours to fully understand your PR to the point as if they had the written it themselves, then your PR is too big. |
There was a problem hiding this comment.
| If it would take someone more than 3 hours to fully understand your PR to the point as if they had the written it themselves, then your PR is too big. | |
| If it would take someone more than 3 hours to fully understand your PR to the point as if they had written it themselves, then your PR is too big. |
|
|
||
| ### Please explain your PR changes | ||
|
|
||
| ❗ **YOU MUST** include an in-depth comprehensive explanation of your PR changes in the PR description, to save the time of people reviewing your PR |
There was a problem hiding this comment.
| ❗ **YOU MUST** include an in-depth comprehensive explanation of your PR changes in the PR description, to save the time of people reviewing your PR | |
| ❗ **YOU MUST** include an in-depth comprehensive explanation of your PR changes in the PR description, to save the time of people reviewing your PR. |
Alternative
Important
YOU MUST include an in-depth comprehensive explanation of your PR changes in the PR description, to save the time of people reviewing your PR.
| ❗ **YOU MUST** include an in-depth comprehensive explanation of your PR changes in the PR description, to save the time of people reviewing your PR | |
| > [!IMPORTANT] | |
| > **YOU MUST** include an in-depth comprehensive explanation of your PR changes in the PR description, to save the time of people reviewing your PR. |
|



What is it?
Description of the changes in your PR
Initial start on improving contributing guidelines with clearer rules on development process for issues, PRs, tests, etc.
Includes links to some resources which give better comprehensive explanations of how to contribute than I am able to do for the time being.
Expectation is later on we can flesh this out to be a lot more detailed
Fixes the following issue(s)
Due diligence