Skip to content

Latest commit

 

History

History
37 lines (19 loc) · 4.01 KB

CONTRIBUTING.md

File metadata and controls

37 lines (19 loc) · 4.01 KB

Thank you for taking the time to engage with the Tavenem projects. Community contributions help make our code more reliable, useful, and efficient.

Contributing

All contributions should start with an issue in the repository's tracker.

Many of the Tavenem projects are closely interrelated, sharing dependency relationships with one another. Before filing an issue, please make a best-faith effort to determine which project contains (or should contain) the code ultimately responsible for the relevant bug or feature. If you have any trouble discovering the right place, however, please don't let that hold you back from filing an issue when you have a genuine concern. If necessary the issue can be moved.

Pull requests

First of all, thank you for your willingness to make a contribution to a Tavenem project. Your assistance, time, and effort are greatly appreciated.

Please refrain from submitting a pull request before an issue has been filed in the repository's tracker. You should usually wait for the issue to receive feedback from the project maintainer(s), as well. There will be times when a pull request won't be the appropriate resolution to the issue. In some cases, for example, the issue may be better addressed in a different project. Nobody wants you to waste your valuable time and effort writing code that might need to be rejected or re-written to fit someplace else.

Code style

Every Tavenem project includes a .editorconfig file. Please adhere to the style guidelines expressed in that file when writing any code for a Tavenem project. Support for .editorconfig files is available in most modern IDEs, including Visual Studio and Visual Studio Code. Support in Visual studio is on by default. You can check this guide for more information, and to ensure you have not disabled the relevant options. Visual Studio Code requires an extension to support .editorconfig files.

Tavenem projects also follow other coding conventions. If you develop with Visual Studio 2019 or Visual Studio Code, please install the Roslynator extension for your IDE. This will show additional code suggestions in your projects (shown in Visual Studio as "messages" instead of errors or warnings), many with suggested fixes. Some of the default Roslynator rules are turned on or off with the supplied .editorconfig file.

Please follow all suggestions generated by the .editorconfig file and/or Roslynator. Your pull request may otherwise be delayed by a request to adhere to project style guidelines.

Please ensure that the project builds successfully before submitting your pull request.

Testing

Not all Tavenem projects have associated tests. When a test project is present, please add one or more tests for any new code added by your pull request, unless your code is already covered by existing tests.

In some cases a pull request submitted for a project that doesn't currently have any associated tests may be delayed, so that a new test project can be added. If this happens you may be asked to revise your pull request, and add tests in the new test project.

If a project currently has no associated tests, feel free to add a new test project as part of your pull request (although you are not obligated to do so). If you do add a test project, please use MSTest.

Please ensure that all tests in any test projects (if present) pass before submitting your pull request.

Code of conduct

Please read the code of conduct before engaging with our community, including but not limited to submitting or replying to an issue or pull request.