quran/quran.com-frontend

View on GitHub
CONTRIBUTING.md

Summary

Maintainability
Test Coverage
# Contributing

You want to help? You rock! Now, take a moment to be sure your contributions make sense to everyone else.

## Reporting Issues

Found a problem? Want a new feature?

- See if your issue or idea has [already been reported].


## Submitting Pull Requests

Pull requests are the greatest contributions, so be sure they are focused in scope, and do avoid unrelated commits.

1. To begin, [fork this project], clone your fork, and add our [upstream].

    ```bash
    # Clone your fork of the repository into the current directory
    git clone https://github.com/<your-username>/quran.com-frontend
    # Navigate to the newly cloned directory
    cd quran.com-frontend
    #Assign the forked repository to a remote call "origin"
    git remote add origin git://github.com/<your-username>/quran.com-frontend.git
    # Assign the original repository to a remote called "upstream"
    git remote add upstream https://github.com/quran/quran.com-frontend
    # Install the tools necessary for development
    npm install
    ```
2. Pull latest changes from "upstream" and push these changes to your "origin"(forked)
    > NOTE - This step will repeat every time You plan to contribute

    ```bash
    # Pull latest changes from "upstream" repository
    git pull upstream master
    #Push latest changes to Your "origin" repository
    git push origin master
    ```
3. Create a branch for your feature or fix:

    ```bash
    # Move into a new branch for a feature
    git checkout -b feature/thing
    ```
    ```bash
    # Move into a new branch for a fix
    git checkout -b fix/something
    ```

4. Be sure your code follows our practices.

    ```bash
    # Test current code
    npm run test
    ```
    Our `npm run test` tests and _watch_. Otherwise use `npm run test:ci:unit` for CI level tests.


5. To create a PR you need to push your branch to the origin(forked) remote and then press some buttons on GitHub:

    ```bash
    # Push a feature branch
    git push -u origin feature/thing
    ```
    ```bash
    # Push a fix branch
    git push -u origin fix/something
    ```

    This will create the branch on your GitHub project. The ```-u``` flag links this branch with the remote one, so that in the future, you can simply type ```git push origin```.

6. Now [open a pull request] with a clear title and description.


[upstream]: https://help.github.com/articles/syncing-a-fork/
[already been reported]: https://github.com/quran/quran.com-frontend/issues
[fork this project]:     https://github.com/quran/quran.com-frontend/fork
[open a pull request]:   https://help.github.com/articles/using-pull-requests/