SpecFlow is open source, meaning you can help the community in improving SpecFlow by contributing fixes and new features. If you feel you can contribute to SpecFlow's development, a good place to start is to check out the issues that are up-for-grabs for feature requests. Remember that you need to be willing to invest your own blood, sweat and tears into writing code, as the list of pending features is long and development resources are limited.

If you want to contribute a larger change or new features, please first discuss your ideas with the community on the forum to clear up any potential issues. This also ensures that you don't take on a task that someone else is working on. If you have an idea for improvements that are not in the To-Do list, please discuss your proposal first; you don't want to invest a lot of work into something that will not be merged with the release version.

To contribute to SpecFlow:

  1. Create a Github account.
  2. Fork the project.
  3. Implement your feature or bugfix, and update the changelog.
  4. Send us a pull request via GitHub.

If you are new to Github, a good description of how to create pull requests can be found here:

Important! Please use autocrlf when committing to the SpecFlow repository (more details available here).

Useful information for contributors

And finally, here is an overview of the Release Process (in case we forget it).