Update contributing guidelines
This commit is contained in:
parent
d1d55be7c2
commit
b023146cb3
@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
# Contributing
|
# Contributing
|
||||||
|
|
||||||
Tanya is a project in active development, therefore any help is appreciated. Thank you for considering contributing
|
Tanya is a project in active development, therefore any help is appreciated. Thank you for considering contributing
|
||||||
@ -7,9 +8,9 @@ These guidelines describe ways to get started.
|
|||||||
|
|
||||||
## Ways to get involved
|
## Ways to get involved
|
||||||
|
|
||||||
* **Reporting a problem**: [Report](https://issues.caraus.io/projects/tanya/issues) bugs and usage problems you
|
* **Reporting a problem**: [Report](https://github.com/caraus-ecms/tanya/issues) bugs and usage problems you
|
||||||
encounter.
|
encounter.
|
||||||
* **Fixing issues**: [The bug tracker](https://issues.caraus.io/projects/tanya/issues) contains a list of issues you
|
* **Fixing issues**: [The bug tracker](https://github.com/caraus-ecms/tanya/issues) contains a list of issues you
|
||||||
can work on.
|
can work on.
|
||||||
* **Documentation**: You can improve API documentation by correcting grammar errors, completing existing texts and
|
* **Documentation**: You can improve API documentation by correcting grammar errors, completing existing texts and
|
||||||
writing new ones, or providing usage examples.
|
writing new ones, or providing usage examples.
|
||||||
@ -21,21 +22,14 @@ and implement this.
|
|||||||
|
|
||||||
## Opening an issue
|
## Opening an issue
|
||||||
|
|
||||||
If you have found a bug, an error, have some question, or suggestion, open in issue. I'll try to answer as soon
|
If you have found a bug, an error, have some question, or suggestion,
|
||||||
as I can. Tanya uses an external
|
[Open an issue](https://github.com/caraus-ecms/tanya/issues). I'll try to answer as soon as I can. There is also a
|
||||||
[bug tracker](https://issues.caraus.io/projects/tanya/issues). You should
|
list of open issues that mirror the current development process and progress. If you're looking for a challenge, just
|
||||||
[register](https://issues.caraus.io/account/register) before you can report your issue. There is also a list
|
|
||||||
of open issues that mirror the current development process and progress. If you're looking for a challenge, just
|
|
||||||
pick an issue you are interested in and start working on it. Fill free to comment on the issue to get more
|
pick an issue you are interested in and start working on it. Fill free to comment on the issue to get more
|
||||||
information.
|
information.
|
||||||
|
|
||||||
Some issues have a category assigned to them. Such issues belong mostly to a larger part of the library that is
|
You can also look at the [milestones](https://github.com/Dlackware/gnome/milestones) to see what is planned for a
|
||||||
currently in development. The category specifies then the git branch development happens on. The remaining issues
|
specific release.
|
||||||
can be fixed directly in master.
|
|
||||||
|
|
||||||
In the [roadmap](https://issues.caraus.io/projects/tanya/roadmap) you can find a list of issues that are planned
|
|
||||||
to be fixed till a specific release. Version numbers refer to the versions in the
|
|
||||||
[git repository](https://github.com/caraus-ecms/tanya/releases).
|
|
||||||
|
|
||||||
|
|
||||||
## Contribution process
|
## Contribution process
|
||||||
@ -44,7 +38,7 @@ to be fixed till a specific release. Version numbers refer to the versions in th
|
|||||||
|
|
||||||
I accept GitHub pull requests. Creating a pull request is like sending a patch with the suggested change.
|
I accept GitHub pull requests. Creating a pull request is like sending a patch with the suggested change.
|
||||||
First you have to [fork](https://guides.github.com/activities/forking/) the repository. Clone your fork locally
|
First you have to [fork](https://guides.github.com/activities/forking/) the repository. Clone your fork locally
|
||||||
with `git clone` and create a new branch where you want to work, for example:
|
with `git clone` and create a new branch where you want to work. For example:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
git checkout -b bugfix-x
|
git checkout -b bugfix-x
|
||||||
@ -61,32 +55,53 @@ described on GitHub to finish the process. See
|
|||||||
[Using Pull Requests](https://help.github.com/articles/about-pull-requests/) for more information.
|
[Using Pull Requests](https://help.github.com/articles/about-pull-requests/) for more information.
|
||||||
|
|
||||||
Please ensure that your fork is even with the upstream (original) repository. If not, you have to rebase your branch
|
Please ensure that your fork is even with the upstream (original) repository. If not, you have to rebase your branch
|
||||||
on upstream/master before submitting a pull request. See https://help.github.com/articles/syncing-a-fork/ for a
|
on upstream/master before submitting the pull request. See [Syncing a fork](https://help.github.com/articles/syncing-a-fork/) for a
|
||||||
step-by-step guide.
|
step-by-step guide.
|
||||||
|
|
||||||
### Fixing a bug
|
### Fixing a bug
|
||||||
|
|
||||||
Add an unittest that demonstrates the bug along with a short description:
|
Add a unit test that demonstrates the bug along with a short description or link to the original bug.
|
||||||
|
|
||||||
```d
|
|
||||||
// Issue ###: https://issues.caraus.io/issues/###.
|
|
||||||
private unittest
|
|
||||||
{
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Adding new features
|
### Adding new features
|
||||||
|
|
||||||
* Use Ddoc to document the feature.
|
* Use Ddoc to document the feature.
|
||||||
* Add some unittests that prevent new bugs and demonstrate how the feature is supposed to work.
|
* Add some unit tests to prevent bugs.
|
||||||
|
* [Documented D unit tests](https://dlang.org/spec/ddoc.html#using_ddoc_to_generate_examples) go into the documentation and can be used as an usage
|
||||||
|
example. These tests should be readable and not complicated since they demonstrate how the feature is supposed to work.
|
||||||
|
* More advanced tests should be put into a separate not documented unittest block.
|
||||||
|
|
||||||
|
### Writing unit tests
|
||||||
|
|
||||||
|
```d
|
||||||
|
///
|
||||||
|
unittest
|
||||||
|
{
|
||||||
|
// A documented unit test has three slashes in front of it.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Issue ##: https://github.com/caraus-ecms/tanya/issues/##.
|
||||||
|
unittest
|
||||||
|
{
|
||||||
|
// Not documented unit test may still have a description.
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
### Style guide
|
### Style guide
|
||||||
|
|
||||||
Make sure your changes follow [The D Style](https://dlang.org/dstyle.html) (including
|
Make sure your changes follow [The D Style](https://dlang.org/dstyle.html) (including
|
||||||
[Additional Requirements for Phobos](https://dlang.org/dstyle.html#phobos).
|
[Additional Requirements for Phobos](https://dlang.org/dstyle.html#phobos)).
|
||||||
|
|
||||||
|
You can also use [dscanner](https://github.com/dlang-community/D-Scanner) to test the new code against the
|
||||||
|
most guidlines. The root of this repository contains
|
||||||
|
[dscanner.ini](https://github.com/caraus-ecms/tanya/blob/master/dscanner.ini), configuration file with settings for an
|
||||||
|
automatic style check. Just go to the top-level directory and issue (this assumes `dscanner` is installed in your
|
||||||
|
system):
|
||||||
|
|
||||||
|
```shell
|
||||||
|
dscanner --styleCheck source
|
||||||
|
```
|
||||||
|
|
||||||
## Questions and suggestions
|
## Questions and suggestions
|
||||||
|
|
||||||
* [Open an issue](https://issues.caraus.io/projects/tanya/issues)
|
* [Open an issue](https://github.com/caraus-ecms/tanya/issues)
|
||||||
* [Send an email](mailto:info@caraus.de)
|
* [Send an email](mailto:info@caraus.de)
|
||||||
|
Loading…
Reference in New Issue
Block a user