CONTRIBUTING.md 1.6 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 CHANGES.md,
  • Remember: when you create 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:

$> phpunit

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 Pull Request to the cucumber/gherkin repository. Behat\Gherkin will redownload/regenerate translations from there before each release.

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