Skip to content

Latest commit

 

History

History
40 lines (29 loc) · 1.69 KB

CONTRIBUTING.md

File metadata and controls

40 lines (29 loc) · 1.69 KB

Contributing

Gherkin is an open source, community-driven project. If you'd like to contribute, feel free to do this, but remember to follow this few simple rules:

  • Make your feature addition or bug fix,
  • Always use the master branch as base for your changes (all new development happens in master),
  • Add tests for those changes (please look into tests/ folder for some examples). This is important so we don't break it in a future version unintentionally,
  • Commit your code, but do not mess with CHANGELOG.md,
  • Remember: when you create a Pull Request, always select master branch as target (done by default), otherwise it will be closed.

Running tests

Make sure that you don't break anything with your changes by running:

composer test

Running Linters

We use automated tools to ensure that the code has a consistent style and is of good quality.

composer lint

Contributing to Gherkin Translations

Gherkin supports →40 different languages and you could add more! You might notice i18n.php file in the root of the library. This file is downloaded and autogenerated from original cucumber/gherkin translations. So, in order to fix/update/add some translation, you should send a Pull Request to the cucumber/gherkin repository. Behat\Gherkin will re-download/regenerate translations from there before each release.

It might sound difficult, but this way of dictionary-sharing gives us the ability to migrate *.feature files from language to language and library to library without the need to rewrite/modify them - with the same (Gherkin) dictionary used everywhere.