This package provides a Gherkin linter for PHP heavily inspired by vsiakka/gherkin-lint and using the PHP Gherkin Parser.
NOTE: Gherkin Lint requires PHP 8.1
Install with Composer:
$ composer require --dev dantleech/gherkin-lint
Lint your feature files:
$ ./vendor/bin/gherkinlint lint features/
To see the available and enabled rules run:
$ ./vendor/bin/gherkinlint rules
By default all rules are enabled. In order to customise or disable them create
a config file gherkinlint.json:
{
"rules": {
"allowed-tags": {
"allow": ["@my-special-tag", "@my-other-tag"]
},
"filename": {
"enabled": false
}
}
}
Use the rules command to see which rules are enabled.
Rules can be disabled by adding a comment before the Feature declaration:
# @gherkinlint-disable-rule keyword-order
Feature: My feature with strange keyword ordersDisable multiple rules with comma separation:
# @gherkinlint-disable-rule keyword-order, someother-rule
Feature: My feature with strange keyword ordersMake a pull request!

