# How to Contribute Firstly, thanks for reading this! This means you are here to help me improve this project and make it better for other developers! ## How to contribute To get started, first fork this repository's main branch (see [Fork a repo](https://help.github.com/articles/fork-a-repo/)). Forking a repo makes a local copy of this repository in your github account. Now, you can freely make any changes you want and then submit a pull request to allow us to merge your changes back here. (Learn more [About pull requests](https://help.github.com/articles/about-pull-requests/)). Now, there are many different ways you can contribute to this project and you don't need to be a programmer for all of them! You can help: * Improve the documentation * Create new issues. [Guide](https://help.github.com/articles/creating-an-issue/) * Fix simple issues; and, * Add new features! ## Documentation The documentation mainly consists of the [Readme.md file](https://github.com/yashovardhan99/TimeIt/blob/master/README.md) and a [set of JavaDocs](https://github.com/yashovardhan99/TimeIt/tree/gh-pages/JavaDocs). The website is published using the `gh-pages` branch. 1. Please do not make any direct modification to the JavaDocs folder. It is generated automatically for every new release using the javadoc comments in the `.java` files of the `timeit` module. Instead, make any changes in the commented javadocs of the appropriate class. 2. Do not make any changes to any branch except the `master` branch. The master branch is the active development branch. For important changes, they will be merged in other branches as and when required. For the website, any changes in the readme will be merged from time to time depending on the severity of the fix. 3. Do not change the writing style or make major changes in the readme. Instead, you can write your own helping documentation which can later be integrated into the project (possibly via GitHub wiki). ## Opening an issuee Before opening an issue, make sure that a similar issue is not already open (or has been recently closed). If you are working on a fix already, indicate so when opening the issue. Do not open issues for very small issues like spelling errors, missing punctuations etc. Instead, consider fixing them yourself and submit a single pull request with all such changes. ## Fixing issues If you want to fix an issue with the library, consider indicating so in the issue discussion. If no issue exists, consider opening one. Do not open issues for very minor fixes. ## Adding new features If you are working on expanding the project, consider opening an issue with the enhancement tag and indicate that you are working on it. This helps prevent duplication of effort. If an issue already exists requesting such a feature, comment there instead stating that you wish to work on it. ## License Any changes you make to this project should be in compliance with the license requirements. Copyright 2018 Yashovardhan Dhanania Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.