tanya/CONTRIBUTING.md

3.6 KiB

Contributing

Tanya is a project in active development, therefore any help is appreciated. Thank you for considering contributing to it, feel welcome. These guidelines describe ways to get started.

Ways to get involved

  • Reporting a problem: Report bugs and usage problems you encounter.
  • Fixing issues: The bug tracker contains a list of issues you can work on.
  • Documentation: You can improve API documentation by correcting grammar errors, completing existing texts and writing new ones, or providing usage examples.
  • Testing: Test coverage is important for a library. Writing tests is not only helpful, but is also a great way to get a feel for how tanya works.
  • Adding new features: Tanya is a growing library. If you think some feature is missing, you can suggest and implement this.

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 as I can. Tanya uses an external bug tracker. You should 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 information.

Some issues have a category assigned to them. Such issues belong mostly to a larger part of the library that is currently in development. The category specifies then the git branch development happens on. The remaining issues can be fixed directly in master.

In the 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.

Contribution process

Creating a pull request

I accept GitHub pull requests. Creating a pull request is like sending a patch with the suggested change. First you have to fork the repository. Clone your fork locally with git clone and create a new branch where you want to work, for example:

git checkout -b bugfix-x

Commit your changes to your fork:

git commit -m "Fix X"
git push -u origin bugfix-x

After that if you visit your fork on GitHub, GitHub will suggest to create pull request. Just follow the steps described on GitHub to finish the process. See Using Pull Requests for more information.

Please ensure that you 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 step-by-step guide.

Fixing a bug

Add a unittest that demonstrates the bug along with a short description:

// Issue ###: https://issues.caraus.io/issues/###.
private unittest
{
}

Adding new features

  • Use Ddoc to document the feature.
  • Add some unittests that demonstrate how the feature is supposed to work and prevent new bugs.

Style guide

Make sure your changes follow The D Style (including Additional Requirements for Phobos.

Questions and suggestions