Skip to content

Latest commit

 

History

History
56 lines (42 loc) · 3.15 KB

CONTRIBUTING.md

File metadata and controls

56 lines (42 loc) · 3.15 KB

How to contribute to MERN-Chatbot

👍🎉 First off, thanks for taking the time to contribute! 🎉👍

My name is Dima, I am the owner of this repo and I am "a bit" perfectionist. I like when everything is well ordered and following the rules. I always try my best to keep everything clean and organized so I would ask you to respect this and also to try your best following this approach.

I think you will easily understand the flow, looking at the history of the issues, pull requests and releases. But I will also try to describe my idea below:

THE MAIN RULE

We do not write any code if there is no issue describing the problem, which this code is supposed to solve. So before writing any kind of code, the issue should be created first.

Solving existing issues:

  1. go to the last active project and take a look at the "To Do" column
  2. pick up the issue that you like and which is ready to be solved (has DEV-# prefix and has enough description)
  3. please be sure you have read the description and all the comments of the ticket
  4. understand the origin of the problem and describe in the comment how you are going to fix the issue
  5. write as a comment that you are going to solve this issue
  6. move the ticket to the “In progress" column
  7. put the label “In progress” to the issue.
  8. make sure you have created a correct branch (DEV-# that is the same as a identification of the issue)
  9. make sure your commits have correct format (DEV-# description of the commit)
  10. is very important to maintain 100% test coverage so do not forget to controll the tests

Creating a pull request:

  1. please, follow the PR template
  2. IMPORTANT! Be sure that all tests are passing and the coverage is still 100%
  3. review your code, making sure all your changes are correct
  4. link the related issue so anyone could read a detailed description of the problem
  5. be sure all the commits are of correct format (DEV-# description of the commit)
  6. add the owner (KovDimaY) of the repo as a reviewer to the PR
  7. do not merge, please, the PR before it is reviewed by the owner of the repo

Creating a new issue:

  1. make sure a similar issue does not exist already
  2. please, follow the issue template
  3. try to provide a short and meaningful title:
    • if the issue is a question: "QUESTION: [short summary of your question]"
    • if the issue is a proposal: "PROPOSAL: [short summary of your proposal]"
    • if the issue is a bug: "BUG: [short summary of incorrect behavior]"
  4. try to provide a detailed and understandable description
  5. try to attach screenshots, videos, GIF animations, anything that can make it easier to visualize a problem or idea described in the issue
  6. ALWAYS assign the issue to KovDimaY (the owner of the repo)
  7. NEVER connect the issue to the project (KovDimaY will do it after review)

Basically, the general workflow of new issues is the next:

  1. The person creates an issue in the best way one can
  2. The owner of the repo reviews the issue
  3. If the issue makes sense, it will be corrected if needed and added to the corresponding project
  4. After the previous step, the issue will be ready for development

Thank you one more time and enjoy hacking! :D