|
2 | 2 |
|
3 | 3 | > Every work is great only because of its contributors. |
4 | 4 |
|
5 | | -Welcome to a brand new World. We are revolutionizing the way people interact with code. |
6 | | - |
7 | 5 | Thanks goes to these ❤️ wonderful people who made this possible. |
8 | 6 |
|
9 | 7 | > We made the internet and it made us vulnerable. We fought and we won. - OpenGenus |
10 | 8 |
|
| 9 | + |
| 10 | +Welcome to a brand new world of algorithms. We are revolutionizing the way people interact with code. |
| 11 | +The success of our vision depends on you. Even a small contribution helps. All forms of contributions are highly welcomed and valued. |
| 12 | +You can contribute by writing code, documentation, making Quark friendly and many others. There are endless possibilities. |
| 13 | +You can suggest your own ideas and start working on them. There is an endless scope of contributions and several minor yet impactful changes are required. Feel free to discuss with us regarding anything and we will love to help you out. |
| 14 | +We aim to make the contribution process as easy and enjoyable as possible. Join OpenGenus and explore the new world. |
| 15 | + |
| 16 | +These are some basic guidelines which you can refer before starting on Quark. |
| 17 | + |
| 18 | +## Issue Reporting |
| 19 | + |
| 20 | +The issues are used to track both bugs filed by users and specific work items for developers. Some of the basic facts to remember while reporting an issue : |
| 21 | +* Try to file one issue per problem observed. |
| 22 | +* Please specify a valid title (e.g. "Bubble Sort algorithm is not accessible" instead of "Quark does not work") |
| 23 | +* Provide more details about the issue like any link to the problem, location in the code, screenshot, error messages or any other source that could make the issue more clear. |
| 24 | + |
| 25 | +**Note** : Before you start working on an issue, kindly state what you are doing specifically in the concerned issue or create a new issue. If multiple users end up making the pull request for the same task, the person who informed everyone in the issue first will be given preference. |
| 26 | + |
| 27 | +## Contributing Guidelines |
| 28 | + |
| 29 | +Below is an overview of how to contribute code to Quark. The basic workflow is as follows: |
| 30 | + |
| 31 | +1. Fork |
| 32 | +1. Create feature branch |
| 33 | +1. Make changes |
| 34 | +1. Push changes to your fork/branch |
| 35 | +1. Create pull request |
| 36 | +1. Code review and automated testing |
| 37 | +1. Merge into master |
| 38 | + |
| 39 | +### Prerequisites |
| 40 | +* Git client |
| 41 | +* GitHub account |
| 42 | + |
| 43 | +### 1. Fork |
| 44 | +To fork the repository you need to have a GitHub account. Once you have an account you can click the fork button on top. Now that you have your fork you need to clone it (replace `{username}` with your GitHub username) using |
| 45 | +``` |
| 46 | +git clone https://github.com/{username}/quark.git |
| 47 | +cd quark |
| 48 | +``` |
| 49 | +It is useful to have the upstream repository registered as well using |
| 50 | +``` |
| 51 | +git remote add upstream https://github.com/OpenGenus/quark.git |
| 52 | +``` |
| 53 | + |
| 54 | +### 2. Create feature branch |
| 55 | +We always work with feature branches. For example, to create and switch to branch, use: |
| 56 | +``` |
| 57 | +git checkout -b {branch_name} |
| 58 | +``` |
| 59 | +and replace `{branch_name}` with a meaningful name that describes your feature or change. |
| 60 | +For instance, if you are working on adding a button, a good branch name would be `add-button`. |
| 61 | + |
| 62 | +### 3. Make changes |
| 63 | +Now that you have a new branch you can edit/create/delete files. Follow the standard Git workflow to stage and locally commit your changes -- there are lots of guides that explain Git. |
| 64 | + |
| 65 | +If the branch contains lot of small commits, you can squash the commits also so that you have a clear and concise git history that clearly and easily documents the changes done and the reasons. You can use Git's rebase option for this. |
| 66 | + |
| 67 | +### 5. Push changes to your fork/branch |
| 68 | +After all tests pass, push the changes to your fork/branch on GitHub: |
| 69 | +``` |
| 70 | +git push origin {branch_name} |
| 71 | +``` |
| 72 | + |
| 73 | +### 6. Create pull request |
| 74 | +Create a pull request on GitHub for your feature branch. The code will then be reviewed and tested further by our contributors and maintainers. |
| 75 | + |
| 76 | +### 7. Code review |
| 77 | +After creating pull request, your code will be reviewed by the maintainers to test for its correctness and compatibility. |
| 78 | + |
| 79 | +### 8. Merge into master |
| 80 | +If all goes well, your changes will be merged into the main repository and there you become a contributor to Quark. |
| 81 | + |
| 82 | +Hope you are enjoy journey with OpenGenus. |
0 commit comments