As we all know, We need a set of rules when a team is working on the same repository, otherwise we'll confront numerous merge conflicts and inconsistent bugy source code which neither we like it, nor the community, so here I thought of some rules to keep the project prosperous and making the team work possible:
- Every development is done on the branches other than the main branch. the main branch should always refer to the source code of the last version of Jalgorithm that has been released.
- Since it is not a full-time project, We only have weekly meeting on 6 pm GMT each Saturday. We are always in contact everyday via our Slack workspace and when needed, we can have meetings as well.
- For every major version that we want to release, I make a project for that in the project section of the repo and will name it by the name of the version that we want to release. All the tasks will be issued there and later on assigned to members. This board is public, so that every person out there can track Jalgorithm's development process
- The default branch of this repo is the development branch.
- For every task, the doer should make a new branch from the development branch and once his/her task is done, s/he should put his task in review, so that the team reviews the code and then merges that with the development branch
- The development branch is merged with main only after we have release a new version.
- please do not merge your code unless we've reviewed it(this one is for admins. others can't merge directly)
- you guys are probably more experienced than me, So I don't want to be the only reviewer. All the team helps in the review process. Just join me if you are willing to. I don't want to act bossy or something. We are a team with the same goal and to reach them, we need some set of rules and the review process rules is one of the most important ones. Hope you don't get bothered by this.🙏
- Add @muhammadkarbalaee as the reviewer of your pull request so that I am notified.
In case you have ideas or complaints about the rules above, Just state them down below or in our Slack workspace (link in the readme). I will discuss it with you. thanks😉😀