|
| 1 | +# Contributing to TimerX |
| 2 | + |
| 3 | +TimerX is written in **Python**, so you have to install it if you want to contribute. |
| 4 | +You can download the latest version from [here](https://www.python.org/downloads/). |
| 5 | +Make sure to check `Add Python 3.10 to path` when installing it. |
| 6 | +After installing Python, get [Git](https://git-scm.org). It's version control, so that will help you in adding your changes over here. |
| 7 | +Click the `Fork` button on the top-right in the GitHub page. Give it a few seconds to fork TimerX and then execute these series of commands in your Terminal/Command Prompt. |
| 8 | +```shell |
| 9 | +git clone https://github.com/your-username/TimerX && cd TimerX |
| 10 | +python3 -m pip install -r requirements.txt |
| 11 | +python3 -m pip install -r windows-requirements.txt |
| 12 | +``` |
| 13 | +After following the series of commands, open your favourite text editor. We recommend that you use [Visual Studio Code](https://code.visualstudio.com). Make your changes and before committing, go to the status bar. There will be a place showing branches and the text `master`. Click that, click `New branch` and name your branch, such as `patch-1` or so. Make sure it correlates to your feature, if it's a patch, name it as a patch, if it's a feature, name the feature. Next, go to the Version Control tab from the sidebar and commit the file, _semantically_. We recommend you to use semantic commits since that is more concise. |
| 14 | +Commit your changes to that new branch, [open a pull request](https://github.com/sumeshir26/TimerX/pulls) and someone will review it ASAP. |
| 15 | + |
| 16 | +### Gitpod - Ready to code |
| 17 | +We support Gitpod - a ready-to-code environment customised for TimerX. You could either customise the app or the TimerX website. To code on Gitpod, follow the steps below: |
| 18 | + |
| 19 | +#### 1. Click the link |
| 20 | +[](https://gitpod.io/#/https://github.com/sumeshir26/TimerX) |
| 21 | +#### 2. Log in with GitHub |
| 22 | +The link will open a tab where you'll be asked to log in - it won't if you have already logged into Gitpod. |
| 23 | +#### 3. Wait for the environment to load |
| 24 | +The environment is building itself. You'll have to wait for at least 2 minutes, plus or minus. |
| 25 | +#### 4. Start coding! |
| 26 | +When Gitpod loads, you will be greeted by a VS Code UI. You could start coding immediately. But be wary - the commits are forced to be semantic. Fortunately, we have a CLI tool called `cz` that could help you on committing. |
| 27 | +#### Ready to commit? |
| 28 | +First, create a new branch. Name it in a way that it tells your feature in a short, abstract way. After creating your branch, open a new terminal(<kbd>Ctrl</kbd> + <kbd>`</kbd>. The <kbd>`</kbd> symbol is beside the number 1 key or right above the Tab key. Then, type these commands: |
| 29 | +```shell |
| 30 | +git add . # stages your code to commit. |
| 31 | +cz c # The tool for committing the code |
| 32 | +``` |
| 33 | +It will ask you what type of change it is, the scope(just hit enter) and the commit title. Make sure the title is apt and short(~50 letters). Then, add a commit description if you want and choose N for breaking change(although if it's a breaking change, choose yes). Then, go ahead with enters and type this in the end: |
| 34 | +```shell |
| 35 | +git push |
| 36 | +``` |
| 37 | +After that, you can open a PR [here](https://github.com/sumeshir26/TimerX/pulls) and a reviewer will review it soon. |
0 commit comments