The issues in this repository are used to manage tasks related to project setup and configuration. Collaborators are encouraged to create issues for any setup-related tasks
To avoid bothering devs with the PR flow for every small change, I suggest we describe all the features that are ordered by the Product Owner manully in "Epic" issues and create branches manually that has a strict naming convention not to have the issue number in the title.
This makes the Epic the "main" features and has the nice added benefit, that it is more human readable.
All other technical tasks that are needed to implement the ordered features, should follow the naming done by GitHub when creating a new branch directly from the issue form. (this could also be done manually in case this is forgotten by the dev).
Then we are set up for protecting the main branch with branchprotection that requires a PR.
Code review and tests offcource should still be done on all the technical issues, but it speeds up the flow a bit by not requiring a PR for merging all the technical issues into the "Epic" feature branch.
Later down the line, the project could look into automating the creating of "Epic" issues from an external project management system and even Automerging PRs after reviews (and other rules) are completed. This could be done into an "development" branch for extra safety, or even directly into the main branch if further speed is required in the development flow.
Suggested branch protection rules
To avoid bothering devs with the PR flow for every small change, I suggest we describe all the features that are ordered by the Product Owner manully in "Epic" issues and create branches manually that has a strict naming convention not to have the issue number in the title. This makes the Epic the "main" features and has the nice added benefit, that it is more human readable.
All other technical tasks that are needed to implement the ordered features, should follow the naming done by GitHub when creating a new branch directly from the issue form. (this could also be done manually in case this is forgotten by the dev).
Then we are set up for protecting the main branch with branchprotection that requires a PR.
Code review and tests offcource should still be done on all the technical issues, but it speeds up the flow a bit by not requiring a PR for merging all the technical issues into the "Epic" feature branch.
Later down the line, the project could look into automating the creating of "Epic" issues from an external project management system and even Automerging PRs after reviews (and other rules) are completed. This could be done into an "development" branch for extra safety, or even directly into the main branch if further speed is required in the development flow.