diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 000000000..dfb42dfcf --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,98 @@ +# Contributing + +Thanks for your time and interest for contributing to the IVPN iOS app project! +As a contributor, here are the guidelines we would like you to follow: + +* [Contributing Code](#contributing) +* [Creating an Issue](#issue) +* [Pull Requests](#pr) +* [Git Workflow](#git) +* [Commit Message Guidelines](#commit) +* [Coding Conventions](#conventions) + + +## Contributing Code + +* By contributing to this project you are agreeing to the terms stated in the [Contributor License Agreement](/CLA.md). +* By contributing to this project, you share your code under the GPLv3 license, as specified in the [License](/LICENSE.md) file. +* Don't forget to add yourself to the [Authors](/AUTHORS) file. + + +## Creating an Issue + +* If you want to report a security problem **DO NOT CREATE AN ISSUE**, please read our [Security Policy](/.github/SECURITY.md) on how to submit a security vulnerability. +* When creating a new issue, chose a "Bug report" or "Feature request" template and fill the required information. +* Please describe the steps necessary to reproduce the issue you are running into. + + +## Pull Requests + +Good pull requests - patches, improvements, new features - are a fantastic help. They should remain focused in scope and avoid containing unrelated commits. + +Please ask first before embarking on any significant pull request (e.g. implementing features, refactoring code), otherwise you risk spending a lot of time working on something that the developers might not want to merge into the project. + +Follow these steps when you want to submit a pull request: + +1. Go over installation guides in the [README](/README.md#installation) +2. Follow our [Git Workflow](#git) +3. Follow our [Commit Message Guidelines](#commit) +4. Follow instructions in the [PR Template](/.github/PULL_REQUEST_TEMPLATE.md) +5. Update the [README](/README.md) file with details of changes if applicable + + +## Git Workflow + +This project is using [Gitflow Workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow). + +### Branches + +Naming for branches is made with following structure: + +``` +/ +``` + +`master` - The production branch. Clone or fork this repository for the latest copy. +`develop` - The active development branch. Pull requests should be directed to this branch. +`` - The feature of fix branch. Pull requests should be made from this branch into `develop` brach. + + +## Commit Message Guidelines + +We have very precise rules over how our git commit messages should be formatted. This leads to readable messages that are easy to follow when looking through the project history. + +### Commit message format + +We follow the [Conventional Commits specification](https://www.conventionalcommits.org/). A commit message consists of a **header**, **body** and **footer**. The header has a **type**, **scope** and **subject**: + +``` +(): + + + +