PHPackages                             javihgil/composer-ci-tools - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. javihgil/composer-ci-tools

AbandonedArchivedLibrary[Utility &amp; Helpers](/categories/utility)

javihgil/composer-ci-tools
==========================

Library to integrate some testing and developing tools into composer scripts

v1.0.2(9y ago)11221MITPHPPHP &gt;=5.3.3

Since Jun 12Pushed 9y ago1 watchersCompare

[ Source](https://github.com/javihgil/composer-ci-tools)[ Packagist](https://packagist.org/packages/javihgil/composer-ci-tools)[ RSS](/packages/javihgil-composer-ci-tools/feed)WikiDiscussions master Synced 4w ago

READMEChangelog (3)Dependencies (14)Versions (3)Used By (1)

Composer CI Tools
=================

[](#composer-ci-tools)

This library provides a easy way to integrate some common developing and testing tasks in the middle of composer workflow.

The advantage of include your CI scripts into composer configuration is to use a unique tool (that is also installed) that integrates the development and testing logic.

Configure
---------

[](#configure)

```
$ composer require javihgil/composer-ci-tools:~1.0 --dev

```

Usage
-----

[](#usage)

This is an example composer.json:

```
{
    "extra": {
        "ci-tools": {
            "global": {
                "log-format": "  > %s"
            },
            "phpunit": {
                "report-config": "phpunit-reports.xml"
            },
            "git": {
                "commit-msg-regex": "/^[a-z\\s\\-0-9\\.]{20,}$/i",
                "commit-msg-error": "The commit message must be at least 20 characters long"
            },
            "phpcs" : {
                "standard": "PSR2",
            }
        }
    },
    "scripts": {
        "post-install-cmd": [
            "Jhg\\ComposerCiTools\\GitHooksInstaller::preCommit",
            "Jhg\\ComposerCiTools\\GitHooksInstaller::commitMsg"
        ],
        "pre-commit-hook": [
            "Jhg\\ComposerCiTools\\Lint::php",
            "Jhg\\ComposerCiTools\\PhpUnit::test"
        ],
        "commit-msg-hook": [
            "Jhg\\ComposerCiTools\\Git::commitMsgRegex"
        ],
        "test": [
            "@composer validate",
            "Jhg\\ComposerCiTools\\PhpCsFixer::fix",
            "Jhg\\ComposerCiTools\\Lint::phpLazy",
            "Jhg\\ComposerCiTools\\PhpUnit::test",
            "Jhg\\ComposerCiTools\\SecurityChecker::check"
        ],
        "report": [
            "@composer install",
            "Jhg\\ComposerCiTools\\PhpUnit::report"
            "Jhg\\ComposerCiTools\\PhpCs::report"
        ]
    }
}

```

This composer.json provides a test and a report task. These can be executed with:

```
$ composer test

./composer.json is valid
> Jhg\ComposerCiTools\Lint::php
  > No syntax errors detected in ./src/Script/Lint.php
  > No syntax errors detected in ./src/Script/SecurityChecker.php
  > No syntax errors detected in ./src/Script/Gulp.php
  > No syntax errors detected in ./src/Script/AbstractScriptHandler.php
  > No syntax errors detected in ./src/Script/Write.php
  > No syntax errors detected in ./src/Script/GitHooksInstaller.php
  > No syntax errors detected in ./src/Script/PhpCpd.php
  > No syntax errors detected in ./src/Script/PhpCsFixer.php
  > No syntax errors detected in ./src/Script/PhpUnit.php
  > No syntax errors detected in ./src/Script/PhpCs.php
> Jhg\ComposerCiTools\PhpUnit::test
  > PHPUnit 4.8.24 by Sebastian Bergmann and contributors.
  > Time: 41 ms, Memory: 4.50Mb
  > No tests executed!

$ composer report

> Jhg\ComposerCiTools\PhpUnit::report
  > PHPUnit 4.8.24 by Sebastian Bergmann and contributors.
  > Time: 850 ms, Memory: 7.00Mb
  >
  > No tests executed!
  > Generating code coverage report in HTML format ...
  > done

```

Also uses a preCommit GIT hook, that is configured after install command execution. Every pre-commit Hook lauched by GIT will execute the pre-commit-hook task. In this example, the behaviour is that before commiting in git php syntax will be verified and PhpUnit tests passed.

Reference
---------

[](#reference)

**Global configurations**

- [Global configuration](docs/01-global-configuration.md)

**Commands**

- [Git Hooks Installer](docs/10-git-hooks-installer.md)
- [SecurityChecker](docs/11-security-checker.md)
- [Lint](docs/12-lint.md)
- [PhpUnit](docs/13-phpunit.md)
- [PhpCpd](docs/14-phpcpd.md)
- [PhpCs](docs/15-phpcs.md)
- [PhpCsFixer](docs/16-php-cs-fixer.md)
- [Gulp](docs/17-gulp.md)
- [Write](docs/18-write.md)

**Misc**

- [Create custom script](docs/30-create-custom-script.md)
- [Composer useful configurations](docs/31-composer-configurations.md)
- [Symfony usual configuration](docs/32-symfony-usual-configuration.md)
- [Common problems](docs/33-common-problems.md)
- [Examples](docs/34-examples.md)

Note for Windows users
----------------------

[](#note-for-windows-users)

Windows platform is not fully supported. This tool is not tested under Windows environments.

License
-------

[](#license)

This project is licensed under the terms of the MIT license. See the LICENSE file.

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~29 days

Total

3

Last Release

3610d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2581053?v=4)[Javi H. Gil](/maintainers/javihgil)[@javihgil](https://github.com/javihgil)

---

Top Contributors

[![javihgil](https://avatars.githubusercontent.com/u/2581053?v=4)](https://github.com/javihgil "javihgil (17 commits)")

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/javihgil-composer-ci-tools/health.svg)

```
[![Health](https://phpackages.com/badges/javihgil-composer-ci-tools/health.svg)](https://phpackages.com/packages/javihgil-composer-ci-tools)
```

###  Alternatives

[friendsofphp/php-cs-fixer

A tool to automatically fix PHP code style

13.5k245.4M24.0k](/packages/friendsofphp-php-cs-fixer)[phpro/grumphp

A composer plugin that enables source code quality checks.

4.3k16.3M978](/packages/phpro-grumphp)[tempest/framework

The PHP framework that gets out of your way.

2.2k31.1k12](/packages/tempest-framework)[pimcore/pimcore

Content &amp; Product Management Framework (CMS/PIM/E-Commerce)

3.8k3.8M464](/packages/pimcore-pimcore)[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

751284.3k37](/packages/civicrm-civicrm-core)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.4M524](/packages/shopware-core)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
