PHPackages                             zalas/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. [Utility &amp; Helpers](/categories/utility)
4. /
5. zalas/toolbox

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

zalas/toolbox
=============

Helps to discover and install tools

v1.109.0(1w ago)2027428[3 issues](https://github.com/jakzal/toolbox/issues)[2 PRs](https://github.com/jakzal/toolbox/pulls)MITPHPPHP ~8.3.0 || ~8.4.0 || ~8.5.0CI failing

Since Aug 29Pushed 1mo ago2 watchersCompare

[ Source](https://github.com/jakzal/toolbox)[ Packagist](https://packagist.org/packages/zalas/toolbox)[ GitHub Sponsors](https://github.com/jakzal)[ RSS](/packages/zalas-toolbox/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (10)Dependencies (18)Versions (231)Used By (0)

Toolbox
=======

[](#toolbox)

[![Build Status](https://github.com/jakzal/toolbox/workflows/Build/badge.svg)](https://github.com/jakzal/toolbox/actions)

Helps to discover and install tools.

Use cases
---------

[](#use-cases)

Toolbox [started its life](https://github.com/jakzal/phpqa/blob/49482ae447d4b6341cf77aac9d51390fe1176e8c/tools.php)as a simple script in the [phpqa docker image](https://github.com/jakzal/phpqa). Its purpose was to install set of tools while building the docker image and it's still its main goal. It has been extracted as a separate project to make maintenance easier and enable new use cases.

Available tools
---------------

[](#available-tools)

NameDescriptionPHP 8.3PHP 8.4PHP 8.5behat[Helps to test business expectations](http://behat.org/)✅✅✅box[Fast, zero config application bundler with PHARs](https://github.com/humbug/box)✅✅✅churn[Discovers good candidates for refactoring](https://github.com/bmitch/churn-php)✅✅✅codeception[Codeception is a BDD-styled PHP testing framework](https://codeception.com/)✅✅❌composer[Dependency Manager for PHP](https://getcomposer.org/)✅✅✅composer-bin-plugin[Composer plugin to install bin vendors in isolated locations](https://github.com/bamarni/composer-bin-plugin)✅✅✅composer-lock-diff[Composer plugin to check what has changed after a composer update](https://github.com/davidrjonas/composer-lock-diff)✅✅✅composer-normalize[Composer plugin to normalize composer.json files](https://github.com/ergebnis/composer-normalize)✅✅✅composer-require-checker[Verify that no unknown symbols are used in the sources of a package.](https://github.com/maglnet/ComposerRequireChecker)❌✅✅composer-require-checker-3[Verify that no unknown symbols are used in the sources of a package.](https://github.com/maglnet/ComposerRequireChecker)✅✅✅composer-unused[Show unused packages by scanning your code](https://github.com/icanhazstring/composer-unused)✅✅✅cyclonedx-php-composer[Composer plugin to create Software-Bill-of-Materials (SBOM) in CycloneDX format](https://github.com/CycloneDX/cyclonedx-php-composer)✅✅✅dephpend[Detect flaws in your architecture](https://dephpend.com/)✅✅✅deprecation-detector[Finds usages of deprecated code](https://github.com/sensiolabs-de/deprecation-detector)✅✅✅deptrac[Enforces dependency rules between software layers](https://github.com/deptrac/deptrac)✅✅✅diffFilter[Applies QA tools to run on a single pull request](https://github.com/exussum12/coverageChecker)✅✅✅ecs[Sets up and runs coding standard checks](https://github.com/Symplify/EasyCodingStandard)✅✅✅gherkin-lint-php[Gherkin linter for PHP](https://github.com/dantleech/gherkin-lint-php)✅✅✅infection[AST based PHP Mutation Testing Framework](https://infection.github.io/)✅✅✅jack[Helps to upgrade outdated Composer dependencies incrementally](https://github.com/rectorphp/jack)✅✅✅kahlan[Kahlan is a full-featured Unit &amp; BDD test framework a la RSpec/JSpec](https://kahlan.github.io/docs/)✅✅✅larastan[PHPStan extension for Laravel](https://github.com/nunomaduro/larastan)✅✅✅lines[CLI tool for quick metrics of PHP projects](https://github.com/tomasVotruba/lines)✅✅✅local-php-security-checker[Checks composer dependencies for known security vulnerabilities](https://github.com/fabpot/local-php-security-checker)✅✅✅parallel-lint[Checks PHP file syntax](https://github.com/php-parallel-lint/PHP-Parallel-Lint)✅✅✅paratest[Parallel testing for PHPUnit](https://github.com/paratestphp/paratest)✅✅✅pdepend[Static Analysis Tool](https://pdepend.org/)✅✅✅phan[Static Analysis Tool](https://github.com/phan/phan)✅✅✅phive[PHAR Installation and Verification Environment](https://phar.io/)✅✅✅php-cs-fixer[PHP Coding Standards Fixer](http://cs.symfony.com/)✅✅✅php-fuzzer[A fuzzer for PHP, which can be used to find bugs in libraries by feeding them 'random' inputs](https://github.com/nikic/PHP-Fuzzer)✅✅✅php-semver-checker[Suggests a next version according to semantic versioning](https://github.com/tomzx/php-semver-checker)✅✅✅phpa[Checks for weak assumptions](https://github.com/rskuipers/php-assumptions)✅✅✅phparkitect[Helps to put architectural constraints in a PHP code base](https://github.com/phparkitect/arkitect)✅✅✅phpat[Easy to use architecture testing tool](https://github.com/carlosas/phpat)✅✅✅phpbench[PHP Benchmarking framework](https://github.com/phpbench/phpbench)✅✅✅phpca[Finds usage of non-built-in extensions](https://github.com/wapmorgan/PhpCodeAnalyzer)✅✅✅phpcb[PHP Code Browser](https://github.com/mayflower/PHP_CodeBrowser)✅✅✅phpcbf[Automatically corrects coding standard violations](https://github.com/PHPCSStandards/PHP_CodeSniffer)✅✅✅phpcodesniffer-composer-install[Easy installation of PHP\_CodeSniffer coding standards (rulesets).](https://github.com/PHPCSStandards/composer-installer)✅✅✅phpcov[a command-line frontend for the PHP\_CodeCoverage library](https://github.com/sebastianbergmann/phpcov)❌✅✅phpcpd[Copy/Paste Detector](https://github.com/sebastianbergmann/phpcpd)✅✅✅phpcs[Detects coding standard violations](https://github.com/PHPCSStandards/PHP_CodeSniffer)✅✅✅phpcs-security-audit[Finds vulnerabilities and weaknesses related to security in PHP code](https://github.com/FloeDesignTechnologies/phpcs-security-audit)✅✅✅phpdd[Finds usage of deprecated features](http://wapmorgan.github.io/PhpDeprecationDetector)✅✅✅phpDocumentor[Documentation generator](https://www.phpdoc.org/)✅✅✅phpinsights[Analyses code quality, style, architecture and complexity](https://phpinsights.com/)✅✅✅phplint[Lints php files in parallel](https://github.com/overtrue/phplint)✅✅✅phploc[A tool for quickly measuring the size of a PHP project](https://github.com/sebastianbergmann/phploc)✅✅✅phpmd[A tool for finding problems in PHP code](https://phpmd.org/)✅✅✅phpmetrics[Static Analysis Tool](http://www.phpmetrics.org/)✅✅✅phpmnd[Helps to detect magic numbers](https://github.com/povils/phpmnd)✅✅✅phpspec[SpecBDD Framework](http://www.phpspec.net/)✅✅❌phpstan[Static Analysis Tool](https://github.com/phpstan/phpstan)✅✅✅phpstan-banned-code[PHPStan rules for detecting calls to specific functions you don't want in your project](https://github.com/ekino/phpstan-banned-code)✅✅✅phpstan-beberlei-assert[PHPStan extension for beberlei/assert](https://github.com/phpstan/phpstan-beberlei-assert)✅✅✅phpstan-deprecation-rules[PHPStan rules for detecting deprecated code](https://github.com/phpstan/phpstan-deprecation-rules)✅✅✅phpstan-doctrine[Doctrine extensions for PHPStan](https://github.com/phpstan/phpstan-doctrine)✅✅✅phpstan-ergebnis-rules[Additional rules for PHPstan](https://github.com/ergebnis/phpstan-rules)✅✅✅phpstan-larastan[Separate installation of phpstan for larastan](https://github.com/phpstan/phpstan)✅✅✅phpstan-phpunit[PHPUnit extensions and rules for PHPStan](https://github.com/phpstan/phpstan-phpunit)✅✅✅phpstan-strict-rules[Extra strict and opinionated rules for PHPStan](https://github.com/phpstan/phpstan-strict-rules)✅✅✅phpstan-symfony[Symfony extension for PHPStan](https://github.com/phpstan/phpstan-symfony)✅✅✅phpstan-webmozart-assert[PHPStan extension for webmozart/assert](https://github.com/phpstan/phpstan-webmozart-assert)✅✅✅phpunit[The PHP testing framework](https://phpunit.de/)❌✅✅phpunit-10[The PHP testing framework (10.x version)](https://phpunit.de/)✅✅✅phpunit-11[The PHP testing framework (11.x version)](https://phpunit.de/)✅✅✅phpunit-12[The PHP testing framework (12.x version)](https://phpunit.de/)✅✅✅phpunit-8[The PHP testing framework (8.x version)](https://phpunit.de/)✅✅✅phpunit-9[The PHP testing framework (9.x version)](https://phpunit.de/)✅✅✅pint[Opinionated PHP code style fixer for Laravel](https://github.com/laravel/pint)✅✅✅psalm[Finds errors in PHP applications](https://psalm.dev/)✅✅✅psalm-plugin-doctrine[Stubs to let Psalm understand Doctrine better](https://github.com/weirdan/doctrine-psalm-plugin)✅✅✅psalm-plugin-phpunit[Psalm plugin for PHPUnit](https://github.com/psalm/psalm-plugin-phpunit)✅✅✅psalm-plugin-symfony[Psalm Plugin for Symfony](https://github.com/psalm/psalm-plugin-symfony)✅✅✅psecio-parse[Scans code for potential security-related issues](https://github.com/psecio/parse)✅✅✅rector[Tool for instant code upgrades and refactoring](https://github.com/rectorphp/rector)✅✅✅roave-backward-compatibility-check[Tool to compare two revisions of a class API to check for BC breaks](https://github.com/Roave/BackwardCompatibilityCheck)✅✅✅simple-phpunit[Provides utilities to report legacy tests and usage of deprecated code](https://symfony.com/doc/current/components/phpunit_bridge.html)✅✅✅twig-cs-fixer[Automatically corrects twig files following the official coding standard rules](https://github.com/VincentLanglet/Twig-CS-Fixer)✅✅✅twig-lint[Standalone cli twig 1.X linter](https://github.com/asm89/twig-lint)✅✅✅twig-linter[Standalone cli twig 3.X linter](https://github.com/sserbin/twig-linter)✅✅✅twigcs[The missing checkstyle for twig!](https://github.com/friendsoftwig/twigcs)✅✅❌yaml-lint[Compact command line utility for checking YAML file syntax](https://github.com/j13k/yaml-lint)✅✅✅### Removed tools

[](#removed-tools)

NameSummaryanalyze[Visualizes metrics and source code](https://github.com/Qafoo/QualityAnalyzer)box-legacy[Legacy version of box](https://box-project.github.io/box2/)design-pattern[Detects design patterns](https://github.com/Halleck45/DesignPatternDetector)parallel-lint[Checks PHP file syntax](https://github.com/JakubOnderka/PHP-Parallel-Lint)pest[The elegant PHP Testing Framework](https://github.com/pestphp/pest)php-coupling-detector[Detects code coupling issues](https://akeneo.github.io/php-coupling-detector/)php-formatter[Custom coding standards fixer](https://github.com/mmoreram/php-formatter)phpcf[Finds usage of deprecated features](http://wapmorgan.github.io/PhpCodeFixer/)phpda[Generates dependency graphs](https://mamuz.github.io/PhpDependencyAnalysis/)phpdoc-to-typehint[Automatically adds type hints and return types based on PHPDocs](https://github.com/dunglas/phpdoc-to-typehint)phpstan-exception-rules[PHPStan rules for checked and unchecked exceptions](https://github.com/pepakriz/phpstan-exception-rules)phpstan-localheinz-rules[Additional rules for PHPstan](https://github.com/localheinz/phpstan-rules)phpunit-5[The PHP testing framework (5.x version)](https://phpunit.de/)phpunit-7[The PHP testing framework (7.x version)](https://phpunit.de/)security-checker[Checks composer dependencies for known security vulnerabilities](https://github.com/sensiolabs/security-checker)testability[Analyses and reports testability issues of a php codebase](https://github.com/edsonmedina/php_testability)Installation
------------

[](#installation)

Get the `toolbox.phar` from the [latest release](https://github.com/jakzal/toolbox/releases/latest). The command below should do the job:

```
curl -Ls https://github.com/jakzal/toolbox/releases/latest/download/toolbox.phar -o toolbox && chmod +x toolbox
```

Usage
-----

[](#usage)

### List available tools

[](#list-available-tools)

```
./toolbox list-tools

```

#### Filter tools by tags

[](#filter-tools-by-tags)

To exclude some tools from the listing multiple `--exclude-tag` options can be added. The `--tag` option can be used to filter tools by tags.

```
./toolbox list-tools --exclude-tag exclude-php:8.3 --exclude-tag foo --tag bar

```

### Install tools

[](#install-tools)

```
./toolbox install

```

#### Install tools in a custom directory

[](#install-tools-in-a-custom-directory)

By default tools are installed in the `/usr/local/bin` directory. To perform an installation in another location, pass the `--target-dir` option to the `install` command. Also, to change the location composer packages are installed in, export the `COMPOSER_HOME` environment variable.

```
mkdir /tools
export COMPOSER_HOME=/tools/.composer
export PATH="/tools:$COMPOSER_HOME/vendor/bin:$PATH"
./toolbox install --target-dir /tools

```

The target dir can also be configured with the `TOOLBOX_TARGET_DIR` environment variable.

#### Dry run

[](#dry-run)

To only see what commands would be executed, use the dry run mode:

```
./toolbox install --dry-run

```

#### Filter tools by tags

[](#filter-tools-by-tags-1)

To exclude some tools from the installation multiple `--exclude-tag` options can be added. The `--tag` option can be used to filter tools by tags.

```
./toolbox install --exclude-tag exclude-php:8.3 --exclude-tag foo --tag bar

```

### Test if installed tools are usable

[](#test-if-installed-tools-are-usable)

```
./toolbox test

```

#### Dry run

[](#dry-run-1)

To only see what commands would be executed, use the dry run mode:

```
./toolbox test --dry-run

```

#### Filter tools by tags

[](#filter-tools-by-tags-2)

To exclude some tools from the generated test command multiple `--exclude-tag` options can be added. The `--tag` option can be used to filter tools by tags.

```
./toolbox test --exclude-tag exclude-php:8.3 --exclude-tag foo --tag bar

```

### Tools definitions

[](#tools-definitions)

By default the following files are used to load tool definitions:

- `resources/pre-installation.json`
- `resources/architecture.json`
- `resources/checkstyle.json`
- `resources/compatibility.json`
- `resources/composer.json`
- `resources/deprecation.json`
- `resources/documentation.json`
- `resources/linting.json`
- `resources/metrics.json`
- `resources/phpstan.json`
- `resources/psalm.json`
- `resources/refactoring.json`
- `resources/security.json`
- `resources/test.json`
- `resources/tools.json`

Definitions can be loaded from customised files by passing the `--tools` option(s):

```
./toolbox list-tools --tools path/to/file1.json --tools path/to/file2.json

```

Tool definition location(s) can be also specified with the `TOOLBOX_JSON` environment variable:

```
TOOLBOX_JSON='path/to/file1.json,path/to/file2.json' ./toolbox list-tools

```

### Tool tags

[](#tool-tags)

Tools can be tagged in order to enable grouping and filtering them.

The tags below have a special meaning:

- `pre-installation` - these tools will be installed before any other tools.
- `exclude-php:8.3`, `exclude-php:8.4` etc - used to exclude installation on the specified php version.

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

[](#contributing)

Please read the [Contributing guide](CONTRIBUTING.md) to learn about contributing to this project. Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.

###  Health Score

65

—

FairBetter than 99% of packages

Maintenance93

Actively maintained with recent releases

Popularity28

Limited adoption so far

Community26

Small or concentrated contributor base

Maturity99

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 92.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 ~12 days

Recently: every ~31 days

Total

228

Last Release

7d ago

Major Versions

v0.5.0 → v1.0.02019-01-02

PHP version history (12 changes)v0.0.1PHP ^7.1

v1.13.0PHP ^7.2

v1.31.0PHP ^7.3 || ~8.0.0

v1.51.0PHP ^7.4.7 || ~8.0.0

v1.54.0PHP ^7.4.7 || ~8.0.0 || ~8.1.0

v1.68.0PHP ^7.4.7 || ~8.0.0 || ~8.1.0 || ~8.2.0

v1.69.0PHP ~8.0.0 || ~8.1.0 || ~8.2.0

v1.80.0PHP ~8.1.0 || ~8.2.0 || ~8.3.0

v1.85.0PHP ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0

v1.92.0PHP ~8.2.0 || ~8.3.0 || ~8.4.0

v1.104.0PHP ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0

v1.109.0PHP ~8.3.0 || ~8.4.0 || ~8.5.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/190447?v=4)[Jakub Zalas](/maintainers/jakzal)[@jakzal](https://github.com/jakzal)

---

Top Contributors

[![jakzal](https://avatars.githubusercontent.com/u/190447?v=4)](https://github.com/jakzal "jakzal (1092 commits)")[![dkarlovi](https://avatars.githubusercontent.com/u/209225?v=4)](https://github.com/dkarlovi "dkarlovi (19 commits)")[![ro0NL](https://avatars.githubusercontent.com/u/1047696?v=4)](https://github.com/ro0NL "ro0NL (11 commits)")[![Pen-y-Fan](https://avatars.githubusercontent.com/u/40126936?v=4)](https://github.com/Pen-y-Fan "Pen-y-Fan (9 commits)")[![newmedia](https://avatars.githubusercontent.com/u/731226?v=4)](https://github.com/newmedia "newmedia (7 commits)")[![wseng](https://avatars.githubusercontent.com/u/6572161?v=4)](https://github.com/wseng "wseng (5 commits)")[![mihai-stancu](https://avatars.githubusercontent.com/u/1294142?v=4)](https://github.com/mihai-stancu "mihai-stancu (4 commits)")[![benjy8001](https://avatars.githubusercontent.com/u/20282245?v=4)](https://github.com/benjy8001 "benjy8001 (4 commits)")[![hussainweb](https://avatars.githubusercontent.com/u/1040271?v=4)](https://github.com/hussainweb "hussainweb (3 commits)")[![Spomky](https://avatars.githubusercontent.com/u/1091072?v=4)](https://github.com/Spomky "Spomky (3 commits)")[![carlosas](https://avatars.githubusercontent.com/u/29227794?v=4)](https://github.com/carlosas "carlosas (2 commits)")[![Jojolam44](https://avatars.githubusercontent.com/u/4331282?v=4)](https://github.com/Jojolam44 "Jojolam44 (2 commits)")[![hason](https://avatars.githubusercontent.com/u/288535?v=4)](https://github.com/hason "hason (2 commits)")[![jrfnl](https://avatars.githubusercontent.com/u/663378?v=4)](https://github.com/jrfnl "jrfnl (1 commits)")[![babaorum](https://avatars.githubusercontent.com/u/6162081?v=4)](https://github.com/babaorum "babaorum (1 commits)")[![betd-bmabille](https://avatars.githubusercontent.com/u/51611734?v=4)](https://github.com/betd-bmabille "betd-bmabille (1 commits)")[![danielsuguimoto](https://avatars.githubusercontent.com/u/25229545?v=4)](https://github.com/danielsuguimoto "danielsuguimoto (1 commits)")[![dgoosens](https://avatars.githubusercontent.com/u/1250047?v=4)](https://github.com/dgoosens "dgoosens (1 commits)")[![jkowalleck](https://avatars.githubusercontent.com/u/2765863?v=4)](https://github.com/jkowalleck "jkowalleck (1 commits)")[![andrew-demb](https://avatars.githubusercontent.com/u/12499813?v=4)](https://github.com/andrew-demb "andrew-demb (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/zalas-toolbox/health.svg)

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

###  Alternatives

[laravel/framework

The Laravel Framework.

34.8k543.8M19.7k](/packages/laravel-framework)[drupal/core-recommended

Locked core dependencies; require this project INSTEAD OF drupal/core.

6942.5M406](/packages/drupal-core-recommended)[ecotone/ecotone

Enterprise architecture layer for Laravel and Symfony — CQRS, Event Sourcing, Durable Workflows (Sagas, Orchestrators), Projections, and Outbox messaging via PHP attributes.

564576.7k48](/packages/ecotone-ecotone)[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

103519.9k48](/packages/friendsoftypo3-content-blocks)[internal/dload

Downloads binaries.

102187.3k18](/packages/internal-dload)[testo/testo

A lightweight PHP testing framework.

1943.4k52](/packages/testo-testo)

PHPackages © 2026

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