PHPackages                             taptima/phalyfusion - 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. taptima/phalyfusion

ActiveApplication

taptima/phalyfusion
===================

Utility for combining a bunch of php static code analyzers output.

3613.2k↓100%3[3 issues](https://github.com/taptima/phalyfusion/issues)PHP

Since Sep 21Pushed 4y ago4 watchersCompare

[ Source](https://github.com/taptima/phalyfusion)[ Packagist](https://packagist.org/packages/taptima/phalyfusion)[ RSS](/packages/taptima-phalyfusion/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

Phalyfusion [![Tweet](https://camo.githubusercontent.com/cb820a0ecc9645168e33b03925d7f14691262ddbaeaf66a0a91697803d0cba2d/68747470733a2f2f696d672e736869656c64732e696f2f747769747465722f75726c2f687474702f736869656c64732e696f2e7376673f7374796c653d736f6369616c)](https://twitter.com/intent/tweet?text=Combine%20the%20output%20of%20php%20static%20analyzers%20into%20a%20single%20convenient%20format%20with%20Phalyfusion%21&url=https://github.com/taptima/phalyfusion&hashtags=php,phpstan,phan,psalm,staticanalyzer,developers)
=======================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

[](#phalyfusion-)

[![Latest Stable Version](https://camo.githubusercontent.com/54204571b3d706692144a2d2cc59ac5ac4dc4987f35bed6b81bde70c9becfd4f/68747470733a2f2f706f7365722e707567782e6f72672f74617074696d612f7068616c79667573696f6e2f76)](//packagist.org/packages/taptima/phalyfusion)[![Latest Unstable Version](https://camo.githubusercontent.com/c67e7a5a7166825365f75b672bdff316a91c56e384d498a2f8f296eed29f1882/68747470733a2f2f706f7365722e707567782e6f72672f74617074696d612f7068616c79667573696f6e2f762f756e737461626c65)](//packagist.org/packages/taptima/phalyfusion)[![License](https://camo.githubusercontent.com/8c7120a63367e525eadf7bfdca03ab976c3d183027a031e03f517862dbe061da/68747470733a2f2f706f7365722e707567782e6f72672f74617074696d612f7068616c79667573696f6e2f6c6963656e7365)](//packagist.org/packages/taptima/phalyfusion)

**Phalyfusion** is a tool for convenient and effective usage of multiple PHP static code analysers and QA tools. It runs analysers, combines its outputs and makes a single nice output in various formats:

- Nice PHPStan-like table console output, groups errors by the file.
- Checkstyle
- Json

Currently supported analysers and tools:

- [PHPStan](https://phpstan.org/)
- [Phan](https://github.com/phan/phan)
- [Psalm](https://psalm.dev/)
- [PHPMD](https://phpmd.org/)
- [PHP-CS-Fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer). Run PHP-CS-Fixer with `--dry-run` option.

Table of contents
-----------------

[](#table-of-contents)

- [How it works](#how-it-works)
- [Installation](#installation)
- [Usage](#usage)
- [Contributing](#contributing)

How it works
------------

[](#how-it-works)

For example, phpstan, phan and phpmd are required in the project. Then the analyzer output looks like this (for example phan):

[![Phan output](/docs/images/phan_output.png)](/docs/images/phan_output.png)

Phalyfusion combines the output of all analyzers and qa tools, groups them by file, and sorts them by line numbers. The resulting output looks like this:

[![Phalyfusion output](/docs/images/phalyfusion_out_1.png)](/docs/images/phalyfusion_out_1.png)

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

[](#installation)

```
composer require --dev taptima/phalyfusion dev-master
```

Composer will install Phalyfusion’s executable in its `bin-dir` which defaults to `vendor/bin`.

**Analysers should be installed individually.**

Usage
-----

[](#usage)

After installing Phalyfusion you need to create `phalyfusion.neon` configuration file in the project root.

### Config sample

[](#config-sample)

```
plugins:
    usePlugins:
        - phan
        - phpstan
        - psalm
        - phpmd
        - php-cs-fixer

    runCommands:
        phan:           bin/phan -k .phan/config.php
        phpstan:        bin/phpstan analyse -c phpstan.neon --level 7
        psalm:          bin/psalm -c psalm.xml
        phpmd:          bin/phpmd src text cleancode
        php-cs-fixer:   "bin/php-cs-fixer fix --config=.php_cs"
```

Provide names of analysers (plugins) you want to use in `usePlugins`. Choose from: `phan`, `phpstan`, `psalm`, `phpmd` or `php-cs-fixer`. Provide command lines to run stated analysers. Paths are resolved relative to current working directory (the directory where from you are running Phalyfusion)

- Note that each analyser should be individually installed and configured.
- All supported by individual analysers arguments and options can be used in the corresponding command line (runCommands)
- Output formats of the analysers are overridden. To choose Phalyfusion output format use --format option when running.
- File\\path arguments of analysers are NOT guaranteed to be overridden in case you pass such argument to Phalyfusion.
- Do not state path/files options/arguments in runCommands, use paths argument of Phalyfusion or configure it in configs.

### Usage

[](#usage-1)

After configuring the tool and all used analysers run Phalyfusion.

```
$ php phalyfusion analyse [options] [--] [...]
```

The `analyse` is a default command to run all connected plugins, so it is optional to specify it. The simplest run command looks like:

```
$ php phalyfusion
$ php phalyfusion analyse
```

Type `$ php phalyfusion analyse --help` to show all available options and arguments.

#### Arguments

[](#arguments)

The `files` argument is Paths to files with source code to run analysis on. Separate multiple with a space. Do not pass directories. File paths from command lines stated in phalyfusion.neon runCommands will be used by default.

#### Options

[](#options)

The `-c`, `--config` option is a path to neon config file. `phalyfusion.neon` located in project root is used by default.

The `-f`, `--format` option for the output format. Supported formats are `table` (default one), `json`, `checkstyle`.

The `-p`, `--no-progress` option to disable progress bar.

Contributing
------------

[](#contributing)

See [CONTRIBUTING](CONTRIBUTING.md) file.

###  Health Score

24

—

LowBetter than 35% of packages

Maintenance18

Infrequent updates — may be unmaintained

Popularity31

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity28

Early-stage or recently created project

 Bus Factor2

2 contributors hold 50%+ of commits

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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/62138568?v=4)[Taptima](/maintainers/taptima)[@taptima](https://github.com/taptima)

---

Top Contributors

[![koninka](https://avatars.githubusercontent.com/u/3918095?v=4)](https://github.com/koninka "koninka (18 commits)")[![bdsl](https://avatars.githubusercontent.com/u/159481?v=4)](https://github.com/bdsl "bdsl (14 commits)")[![SmelJey](https://avatars.githubusercontent.com/u/27627744?v=4)](https://github.com/SmelJey "SmelJey (7 commits)")[![lloricode](https://avatars.githubusercontent.com/u/8251344?v=4)](https://github.com/lloricode "lloricode (1 commits)")

### Embed Badge

![Health badge](/badges/taptima-phalyfusion/health.svg)

```
[![Health](https://phpackages.com/badges/taptima-phalyfusion/health.svg)](https://phpackages.com/packages/taptima-phalyfusion)
```

PHPackages © 2026

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