Skip to content

Latest commit

 

History

History
42 lines (24 loc) · 3.89 KB

CONTRIBUTING.md

File metadata and controls

42 lines (24 loc) · 3.89 KB

How to contribute to ZeroToNine

ZeroToNine is currently being developed in F# on .NET 4.5, using Visual Studio 2012 with xUnit.net as the unit testing framework. So far, all development has been done with TDD, so there's a high degree of code coverage, and it would be preferable to keep it that way.

Dependencies

All binaries (such as xUnit.net) are included as NuGet packages in the source control repository under the \Packages folder. All additional binaries not part of .NET 4.5 must also be added to the repository, so that it would be possible to pull down the repository and immediately be able to compile and run all tests.

Verification

There is currently a single solution to be found under the \Src folder, but be aware that the final verification step before pushing to the repository is to successfully build the BuildRelease.msbuild file. This can be done either from Bash (using build-release.sh) or PowerShell (using BuildRelease.ps1).

Please be aware that, currently, this build process emits a single warning:

EXEC : warning : 1 issue(s) found with package 'Zero29'. [.\ZeroToNine\BuildRelease.msbuild]

  Issue: Assembly outside lib folder.
  Description: The assembly 'tools\Ploeh.ZeroToNine.dll' is not inside the 'lib' folder and
  hence it won't be added as reference when the package is installed into a project.
  Solution: Move it into the 'lib' folder if it should be referenced.

This warning is expected. However, due to the way NuGet packaging works, it's impossible to discard a single warning: either you disable all warnings, or you don't disable warnings. While this issue has been logged, currently, it's safer to live with this single, expected warning, than risk suppressing other warnings.

If you want to issue a Pull Request, please first make sure that the verification succeeds as described here.

Pull requests

When developing for ZeroToNine, please respect the coding style already present. Look around in the source code to get a feel for it.

Please keep line lengths under 120 characters. Line lengths over 120 characters doen't fit into the standard GitHub code listing window, so it requires vertical scrolling to review.

Also, please follow the Open Source Contribution Etiquette. ZeroToNine is a fairly typical open source project: if you want to contribute, start by creating a fork and sending a pull request when you have something you wish to commit. When creating pull requests, please keep the Single Responsibility Principle in mind. A pull request that does a single thing very well is more likely to be accepted. See also the article The Rules of the Open Road for more good tips on working with OSS and Pull Requests.

For complex pull requests, you are encouraged to first start a discussion on the issue list. This can save you time, because the ZeroToNine regulars can help verify your idea, or point you in the right direction.

Some existing issues are marked with the jump-in tag. These are good candidates to attempt, if you are just getting started with ZeroToNine.

When you submit a pull request, you can expect a response within a day or two. We (the maintainers of ZeroToNine) have day jobs, so we may not be able to immediately review your pull request, but we do make it a priority. Also keep in mind that we may not be in your time zone.

Most likely, when we review pull requests, we will make suggestions for improvement. This is normal, so don't interpret it as though we don't like your pull request. On the contrary, if we agree on the overall goal of the pull request, we want to work with you to make it a success.