https://github.com/dantleech/gherkin-lint-php
PHP Gherkin Linter
https://github.com/dantleech/gherkin-lint-php
behat gherkin linter php
Last synced: 4 months ago
JSON representation
PHP Gherkin Linter
- Host: GitHub
- URL: https://github.com/dantleech/gherkin-lint-php
- Owner: dantleech
- License: mit
- Created: 2022-06-22T18:07:14.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2024-06-08T10:13:47.000Z (about 2 years ago)
- Last Synced: 2025-08-20T12:47:35.872Z (10 months ago)
- Topics: behat, gherkin, linter, php
- Language: PHP
- Homepage:
- Size: 168 KB
- Stars: 45
- Watchers: 1
- Forks: 5
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
Gherkin Lint for PHP
====================
This package provides a Gherkin linter for PHP heavily inspired by
[vsiakka/gherkin-lint](https://github.com/vsiakka/gherkin-lint) and using the
[PHP Gherkin Parser](https://packagist.org/packages/cucumber/gherkin).
Contents
--------
- [Usage](#usage)
- [Configuration](#configuration)
- [Rules](docs/rules.md)
- [Disabling Rules](#disabling-rules)
Usage
-----
> **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
```

Configuration
-------------
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.
Disabling Rules
---------------
Rules can be disabled by adding a comment before the Feature declaration:
```gherkin
# @gherkinlint-disable-rule keyword-order
Feature: My feature with strange keyword orders
```
Disable multiple rules with comma separation:
```gherkin
# @gherkinlint-disable-rule keyword-order, someother-rule
Feature: My feature with strange keyword orders
```
Contributing
------------
Make a pull request!