Add draft contributing

This commit is contained in:
Roman Grundkiewicz 2017-10-14 22:27:50 +00:00
parent 936900b121
commit eae797ff03
2 changed files with 63 additions and 21 deletions

63
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,63 @@
How to contribute to Marian
===========================
## Reporting a bug/asking questions
Did you find a bug or want to ask a question? Great!
* Ensure the bug was not already reported or the question was not asked
* For bugs check the [github
issues](http://github.com/marian-nmt/marian-dev/issues)
* For answers to your question search posts on the [Google discussion
group](https://groups.google.com/forum/#!forum/marian-nmt)
* Open a new issue/question if you're unable to find yours
* For bugs please provide as much relevant information as possible, and do not
forget to paste a log
You are also welcome to request a new feature.
Especially if you plan to help us adding it :)
## Submitting changes
Whenever possible, please send a Github Pull Request with a clear list of what
you've done. Feel free to also update CHANGELOG.md file. We will love you
forever if you provide unit or regression tests.
Please follow our coding convention (below) and make sure all of your commits
are atomic (learn more about _git squash_ to merge multiple commits and _git
rebase -i_ to split a single huge commit into smaller pieces).
The most recent branch to start working with usually is the `develop` branch.
The changes from `develop` are merged with `master`, and after that the
`VERSION` file should be updated.
Ideally test your changes by running [Marian regression
tests](http://github.com/marian-nmt/marian-dev-regression-tests.git) locally:
git clone http://github.com/marian-nmt/marian-dev-regression-tests.git
cd marian-dev-regression-tests.git
make BRANCH=<your_branch_name> install
./run_mrt.sh
## Coding conventions
Main code style rules:
* no tabs, 2 whitespaces instead
* lines no longer than 80 characters
* no trailing whitespaces
* no space between control statements and opening brackets
* `UpperCamelCase` for class names
* `camelCaseWithTrailingUnderscore_` for class variables
* `camelCase` for variables, methods and functions
* `UPPERCASE_WITH_UNDERSCORES` for constants
Ideally, plase use the provided `.clang-format` file for
[ClangFormat](https://clang.llvm.org/docs/ClangFormat.html) to format your new code
fragments or entire files, e.g.
clang-format-3.8 <path_to_file>

View File

@ -1,21 +0,0 @@
Contributing to Marian
======================
## Code style
Main code style rules:
* no tabs, 2 whitespaces instead
* lines no longer than 80 characters
* no trailing whitespaces
* no space between control statements and opening brackets
Alternatively, use the provided `.clang-format` file for
[ClangFormat](https://clang.llvm.org/docs/ClangFormat.html) to format new code
fragments, e.g.
clang-format-3.8 <path_to_file>
*Notice*: If you want to merge your changes from the repository cloned before
autoformatting on all files in the _master_ repository, you may want to use the
`autoformat.sh` script on your files before the merge.