smart-gamma/php-composter-quality-tool

PHP Composter Smart Gamma quality tool (pre-commit)

Installs: 7 180

Dependents: 0

Suggesters: 0

Security: 0

Stars: 2

Watchers: 3

Forks: 2

Open Issues: 1

Type:php-composter-action

v0.1.11 2018-09-24 12:28 UTC

This package is not auto-updated.

Last update: 2024-04-28 02:58:35 UTC


README

The interactive tool will allow project's team to keep common development code style standards based on pre-commit git hook

The tool allows automaticly add git pre-commit hook to local dev machine and runs set of quality assertions:

  • PHPLint
  • PHPCS
  • php-cs-fixer
  • PHPMD
  • PhpSpec
  • PhpUnit (TODO)
  • Commit message has Jira feature number i.e AB-123 (TODO)

As additional feature it allows use php-cs-fixer with auto fix of commited files

Pre-Configuration

1.1. In order to override default setting you can autoinstall tool config.yml for further modification.

if you want to modify default tool configuration, add follow line to composer.json "post-install-cmd" / "post-update-cmd" that will install default config.yml

"PHPComposter\\GammaQualityTool\\Installer::install"

1.2. Recommendation for IDE Code Style format config

IDE PHP Scheme

1.3. Add to .gitignore

.php_cs.cache

Install

1. Edit your composer.json

1.1. Stablity

"minimum-stability": "dev", 

"prefer-stable": true,

1.2. Required fork

Until follow pull request will be merged, it will require following lines to composer.json:

"repositories": [
    {
        "type" : "vcs",
        "url" : "git@github.com:Evgenas/php-composter.git"
    }
],

2. Package install

composer require --dev smart-gamma/php-composter-quality-tool

Usage

  1. Edit source files
  2. git add files
  3. git commit -m "my commit"

PHPCS & php-cs-fixer

Will initiate assertions and if violations in code style will be found in the files applied in commit it will prompt to autofix these violations and rescan files. Autofixed files will be automaticly added to the latest commit.

PHPMD

The tool will scan PhpMD warning, but won't block the commit, but will output the list and prompt to rescan your commited file if you want to fix via IDE some indicated warnings.