PHPackages                             frankverhoeven/php-ci - 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. frankverhoeven/php-ci

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

frankverhoeven/php-ci
=====================

PHP CI Tools

1.0.1(2y ago)0496[1 PRs](https://github.com/frankverhoeven/php-ci/pulls)MITPHPPHP ^8.2CI passing

Since Apr 15Pushed 5mo agoCompare

[ Source](https://github.com/frankverhoeven/php-ci)[ Packagist](https://packagist.org/packages/frankverhoeven/php-ci)[ RSS](/packages/frankverhoeven-php-ci/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (10)Versions (4)Used By (0)

PHP CI
======

[](#php-ci)

Automatically detect and run CI checks, based on available packages and configuration files.

Installation
------------

[](#installation)

```
composer r frankverhoeven/php-ci --dev
```

Usage
-----

[](#usage)

After installation, run the following command:

```
vendor/bin/ci
```

It will automatically detect and run all available CI checks.

### GitHub Actions

[](#github-actions)

Add a configuration file similar to the following:

```
# .github/workflows/test.yaml

name: Test

on: push

concurrency:
    group: test-${{ github.ref }}
    cancel-in-progress: true

jobs:
    setup:
        runs-on: ubuntu-latest
        steps:
            -   uses: actions/checkout@v4
            -   uses: shivammathur/setup-php@v2
                with:
                    php-version: 8.3
                    coverage: none
            -   uses: ramsey/composer-install@v3
            -   id: set-php-versions
                run: echo "php-versions=$(vendor/bin/ci list:php-versions)" >> $GITHUB_OUTPUT
            -   id: set-tools
                run: echo "tools=$(vendor/bin/ci list:enabled-tools)" >> $GITHUB_OUTPUT
        outputs:
            php-versions: ${{ steps.set-php-versions.outputs.php-versions }}
            tools: ${{ steps.set-tools.outputs.tools }}

    test:
        needs: setup
        runs-on: ubuntu-latest

        strategy:
            matrix:
                php-version: ${{ fromJson(needs.setup.outputs.php-versions) }}
                tool: ${{ fromJson(needs.setup.outputs.tools) }}
            fail-fast: false

        name: ${{ matrix.php-version }} - ${{ matrix.tool }}

        steps:
            -   uses: actions/checkout@v4
            -   uses: shivammathur/setup-php@v2
                with:
                    php-version: ${{ matrix.php-version }}
                    tools: cs2pr
            -   uses: ramsey/composer-install@v3
            -   run: echo "::add-matcher::${{ runner.tool_cache }}/php.json"
            -   run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"

            -   run: vendor/bin/ci ${{ matrix.tool }} --format=github
```

Push to your repo and verify results.

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance47

Moderate activity, may be stable

Popularity12

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 93.9% 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 ~0 days

Total

2

Last Release

763d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4f989ea277233853b4172ee56edccb1da8318f2ba3681d4f1581f82536c7a637?d=identicon)[frankverhoeven](/maintainers/frankverhoeven)

---

Top Contributors

[![frankverhoeven](https://avatars.githubusercontent.com/u/2358864?v=4)](https://github.com/frankverhoeven "frankverhoeven (31 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (2 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/frankverhoeven-php-ci/health.svg)

```
[![Health](https://phpackages.com/badges/frankverhoeven-php-ci/health.svg)](https://phpackages.com/packages/frankverhoeven-php-ci)
```

###  Alternatives

[symfony/maker-bundle

Symfony Maker helps you create empty commands, controllers, form classes, tests and more so you can forget about writing boilerplate code.

3.4k111.1M568](/packages/symfony-maker-bundle)[symplify/monorepo-builder

Not only Composer tools to build a Monorepo.

5205.3M82](/packages/symplify-monorepo-builder)[shlinkio/shlink

A self-hosted and PHP-based URL shortener application with CLI and REST interfaces

4.8k4.3k](/packages/shlinkio-shlink)[shivas/versioning-bundle

Symfony application versioning, simple console command to manage version (with providers e.g. git tag) of your application using Semantic Versioning 2.0.0 recommendations

1121.2M1](/packages/shivas-versioning-bundle)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

595.2M386](/packages/shopware-core)[internal/dload

Downloads binaries.

98142.7k10](/packages/internal-dload)

PHPackages © 2026

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