PHPackages                             karlosagudo/fixtro - 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. [Testing &amp; Quality](/categories/testing)
4. /
5. karlosagudo/fixtro

ActiveLibrary[Testing &amp; Quality](/categories/testing)

karlosagudo/fixtro
==================

A QA static analysis code

1.0.11(7y ago)2317.6k↓40%4MITPHPPHP ^7.0

Since Jun 2Pushed 7y ago6 watchersCompare

[ Source](https://github.com/karlosagudo/fixtro)[ Packagist](https://packagist.org/packages/karlosagudo/fixtro)[ RSS](/packages/karlosagudo-fixtro/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (13)Versions (13)Used By (0)

Fixtro
======

[](#fixtro)

[![Build Status](https://camo.githubusercontent.com/b55cb02f7c666d522a929a40596f594094b05d5240b246351015a71b0b78be6c/68747470733a2f2f7472617669732d63692e6f72672f6b61726c6f73616775646f2f66697874726f2e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/karlosagudo/fixtro)

A tool/framework to fix and check static code analysis in our enviroments.

90% Users just need to run the install command, install the precommit and thats it, you will have a fixer of the code, and a way to analyze your code so detects possible(or future) errors. In order to do so execute:

```
composer require karlosagudo/fixtro --dev

vendor/bin/fixtro install

```

Usage:
------

[](#usage)

```
{vendor-bin}/fixtro

```

In order to install:

```
{vendor-bin}/fixtro install

```

This will install fixtro dependencies and it as a precommit hook.

This is the command will be executed in each precommit:

```
{vendor-bin}/fixtro precommit

```

If want more info about the processes use verbose option -vvv

**Fixtro** uses local binaries in case it found it, (for example phpunit, phpmd, php-cs-fixer), but in case it doesnt find it, it uses the own from fistro. (Thats why the install run a composer inside the vendor folder)

With this special feature, **there is no need to install anymore php-cs-fixer, phpunit etc in new projects**, only need to install fixtro on it. Also , fixtro will try to look for local config files ie: .php\_cs, phpunit.xml , inside the root folder of your project or the build one. So, if you want to configure the project just think, as is php\_cs\_fixer, or phpunit were installed on it.

**Requisites**

- Php 7.0+
- Composer

**Important**Read the section about Uncomfortable errors, and [generate your own config files](docs/configFile.md)(.php\_cs, phpunit.xml, psalm.xml, phpmd.xml) (TODO: this files will be generated in the install) You can put this files, in the root of your project, or in the build folder.

### Commands

[](#commands)

Are in the folder src/CodeQualityTool/Commands. There is a general Abstract called GeneralCommand, that normal commands will heritage.

Examples:

- FixEntireCommand - Will run all the checkers across the whole project
- FIxPreCommit- Its intended to be a git-hook precommit, so will analyze only precommited files. (Will ignore the config for src folder and execute in commited files)

All Commands have an array where you can put the analyzers, and filter by files (folder FilterFiles), and add extra parameters. This analyzers are in the Checker folder.

### Checkers

[](#checkers)

Checkers are the fixers or checkers that run in each commit and are already configured to be used in fixtro [List of Checkers](docs/checkers.md)

### Uncomfortable errors

[](#uncomfortable-errors)

Some of the checkers will show possible errors, that are almost impossible to solve, or there is no need to lost time on it, but you still want to run the other checkers.

This usually happens on phpmd and psalm. You can configure your own configuration files for this projects, or avoid errors with annotations on the code:

- [Phpmd conf](https://phpmd.org/documentation/writing-a-phpmd-rule.html)
- [Phpmd avoid errors](https://phpmd.org/documentation/suppress-warnings.html)
- [Psalm conf](https://github.com/vimeo/psalm/wiki/Configuration)
- [Psalm avoid errors](https://github.com/vimeo/psalm/wiki/Dealing-with-code-issues)

You can also avoid errors, using a listener in your project. Check next section

### Control Fixtro in your own project

[](#control-fixtro-in-your-own-project)

[Using events](docs/events.md)

### Config File Reference

[](#config-file-reference)

[Config fixtro.yml Reference](docs/configFile.md)

\#####TODO:

- allow to generate your own runner in the config
- Tests, create a fake fixer test command, to add coverage
- Checker of phpunit and phpspec if the project has defined a spec folder / phphunit

[![Fixtro Logo](docs/fixtro.gif)](docs/fixtro.gif)

###  Health Score

38

—

LowBetter than 85% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity36

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity65

Established project with proven stability

 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 ~58 days

Recently: every ~141 days

Total

12

Last Release

2635d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2ac4edf7bff2bc59a899edf9019924fc758bb6e5561e099d2aec05bfb84b4379?d=identicon)[karlosagudo](/maintainers/karlosagudo)

---

Top Contributors

[![karlosagudo](https://avatars.githubusercontent.com/u/1233369?v=4)](https://github.com/karlosagudo "karlosagudo (18 commits)")[![desarrolla2](https://avatars.githubusercontent.com/u/661529?v=4)](https://github.com/desarrolla2 "desarrolla2 (2 commits)")[![mathbr](https://avatars.githubusercontent.com/u/534301?v=4)](https://github.com/mathbr "mathbr (1 commits)")

---

Tags

phpphp7qatoolsstatic-analysisstatic-code-analysis

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Psalm

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/karlosagudo-fixtro/health.svg)

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

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[behat/behat

Scenario-oriented BDD framework for PHP

4.0k96.8M2.0k](/packages/behat-behat)[infection/infection

Infection is a Mutation Testing framework for PHP. The mutation adequacy score can be used to measure the effectiveness of a test set in terms of its ability to detect faults.

2.2k26.2M1.8k](/packages/infection-infection)[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[phpbench/phpbench

PHP Benchmarking Framework

2.0k13.0M627](/packages/phpbench-phpbench)[drupal/core

Drupal is an open source content management platform powering millions of websites and applications.

19562.3M1.3k](/packages/drupal-core)

PHPackages © 2026

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