PHPackages                             digital-pacific/ci-toolbox - 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. digital-pacific/ci-toolbox

ActiveLibrary

digital-pacific/ci-toolbox
==========================

This toolbox combines other various popular PHP tools and runs them easily with Rabbit

v0.7(9y ago)11.1kApache 2.0PHP &gt;=5.5

Since Apr 28Pushed 9y ago8 watchersCompare

[ Source](https://github.com/DigitalPacific/ci-toolbox)[ Packagist](https://packagist.org/packages/digital-pacific/ci-toolbox)[ Docs](https://github.com/DigitalPacific/ci-toolbox.git)[ RSS](/packages/digital-pacific-ci-toolbox/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (5)Dependencies (6)Versions (8)Used By (0)

ci-toolbox
==========

[](#ci-toolbox)

This toolbox contains popular PHP utilities used to ensure stability for continuous integration.

Within this package you will find a rabbit.yaml file which is used to run all the included utilities. Rabbit is an easy to install Python application .

Install - Package
-----------------

[](#install---package)

Require the package in your `composer.json` file and run the `composer install` command to install it:

```
{
    "require-dev": {
        "digital-pacific/ci-toolbox": "0.*"
    }
}
```

Install - Rabbit
----------------

[](#install---rabbit)

Rabbit is a Python module that can be installed via pip, visit Rabbit's [repo](https://github.com/ouijan/rabbit) for installation instructions.

Once Rabbit has been installed copy the appropriate yaml file from the rabbit folder into the root directory of your code. Rename the file rabbit.yaml.

If everything is installed correctly run:

```
$ rabbit

```

Which should display:

```
Usage: rabbit [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  compliance
  duplicates     Uses PHPCPD to detect duplicate lines of code
  lint           Uses parallel-lint to parse the current...
  rules          Uses PHP Mess Detector to run code against...
  separator      Separator to go in-between different commands
  unittest       Uses PHPUnit to run unit tests on the...
  utility-suite  Complete testing suite.

```

Install - Patch
---------------

[](#install---patch)

This toolbox is just a collection of other utilities that have their own dependencies. One of those dependencies is a program called patch.

A patch program is already installed on OSX

Centos Installation:

```
$ yum install patch

```

Ubunutu Installation:

```
$ apt-get install patch

```

Usage
-----

[](#usage)

This toolbox is just a collection of popular PHP utilities with a convenient way to run them using Rabbit.

There are 5 utilities in this toolbox:

- [php-parallel-lint](https://github.com/JakubOnderka/PHP-Parallel-Lint)
- [php\_codesniffer](https://github.com/squizlabs/PHP_CodeSniffer)
- [phpcpd](https://github.com/sebastianbergmann/phpcpd)
- [phpmd](https://github.com/phpmd/phpmd)
- [phpunit](https://github.com/sebastianbergmann/phpunit)

The way that Rabbit is setup is to run each of these utilities individually or as a suite.

If you are importing this package into an existing project it is recommended that first run each utility individually, fixing up problems that are reported and tweaking the rabbit.yaml file to suite your projects needs before running the the entire suite of utilities.

Here is an example of how to run an individual utility:

```
$ cd /path/to/the/root/of/your/application

```

```
$ rabbit lint

```

Once you finished running the utilities individually you can run the entire suite by using:

```
$ rabbit utility-suite

```

This command runs each individual utility and exits with that utilities exit code. So if during the execution of this command the first utility has an exit code that is not 0 no other utilities will run after it. This is useful in a continuous integration environment where a script could call this single command to run the entire suite and be confident that if the suite exits with a code of 0 then everything has passed.

If you need a reminder of the different Rabbit commands already setup, you can either view the rabbit.yaml file or run:

```
$ rabbit

```

Bitbucket Pipeline
------------------

[](#bitbucket-pipeline)

Bitbucket has a new feature called Pipelines that this toolbox can be utilised for in your PHP projects.

A docker image has been created specifically for use with this toolbox and can be found at [php-ci-toolbox](https://hub.docker.com/r/gblankenship/php-ci-toolbox/).

An example bitbucket-pipelines.yml file for running this ci-toolbox is below.

```
image: gblankenship/php-ci-toolbox:latest
pipelines:
  default:
    - step:
        script:
          - composer -V
          - composer install
          - cp vendor/digital-pacific/ci-toolbox/rabbit/laravel.rabbit.yaml ./rabbit.yaml
          - rabbit utility-suite

```

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 85.7% 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 ~56 days

Recently: every ~0 days

Total

7

Last Release

3334d ago

PHP version history (2 changes)v0.1PHP &gt;=5.6

v0.2PHP &gt;=5.5

### Community

Maintainers

![](https://www.gravatar.com/avatar/3b0c754b45c7f7f0d8492fe988c0c2f145612e213a30df7dcad8a6765371eb84?d=identicon)[digitalpacific](/maintainers/digitalpacific)

---

Top Contributors

[![garretblankenship](https://avatars.githubusercontent.com/u/8905322?v=4)](https://github.com/garretblankenship "garretblankenship (6 commits)")[![the0rem](https://avatars.githubusercontent.com/u/5077986?v=4)](https://github.com/the0rem "the0rem (1 commits)")

### Embed Badge

![Health badge](/badges/digital-pacific-ci-toolbox/health.svg)

```
[![Health](https://phpackages.com/badges/digital-pacific-ci-toolbox/health.svg)](https://phpackages.com/packages/digital-pacific-ci-toolbox)
```

PHPackages © 2026

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