Helps to discover and install tools.
Toolbox started its life as a simple script in the phpqa docker image. 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 open itself for new use cases.
- composer - Dependency Manager for PHP
- composer-bin-plugin - Composer plugin to install bin vendors in isolated locations
- box - An application for building and managing Phars
- analyze - Visualizes metrics and source code
- behat - Helps to test business expectations
- churn - Discovers good candidates for refactoring
- dephpend - Detect flaws in your architecture
- deprecation-detector - Finds usages of deprecated code
- deptrac - Enforces dependency rules
- design-pattern - Detects design patterns
- diffFilter - Applies QA tools to run on a single pull request
- ecs - Sets up and runs coding standard checks
- infection - AST based PHP Mutation Testing Framework
- parallel-lint - Checks PHP file syntax
- pdepend - Static Analysis Tool
- phan - Static Analysis Tool
- php-coupling-detector - Detects code coupling issues
- php-cs-fixer - PHP Coding Standards Fixer
- php-formatter - Custom coding standards fixer
- php-semver-checker - Suggests a next version according to semantic versioning
- phpDocumentor - Documentation generator
- phpbench - PHP Benchmarking framework
- phpa - Checks for weak assumptions
- phpca - Finds usage of non-built-in extensions
- phpcb - PHP Code Browser
- phpcbf - Automatically corrects coding standard violations
- phpcf - Finds usage of deprecated features
- phpcov - a command-line frontend for the PHP_CodeCoverage library
- phpcpd - Copy/Paste Detector
- phpcs - Detects coding standard violations
- phpda - Generates dependency graphs
- phpdoc-to-typehint - Automatically adds type hints and return types based on PHPDocs
- phplint - Lints php files in parallel
- phploc - A tool for quickly measuring the size of a PHP project
- phpmd - A tool for finding problems in PHP code
- phpmetrics - Static Analysis Tool
- phpmnd - Helps to detect magic numbers
- phpspec - SpecBDD Framework
- phpstan - Static Analysis Tool
- phpstan-deprecation-rules - PHPStan rules for detecting deprecated code
- phpstan-strict-rules - Extra strict and opinionated rules for PHPStan
- phpstan-doctrine - Doctrine extensions for PHPStan
- phpstan-phpunit - PHPUnit extensions and rules for PHPStan
- phpstan-symfony - Symfony extension for PHPStan
- phpstan-beberlei-assert - PHPStan extension for beberlei/assert
- phpstan-webmozart-assert - PHPStan extension for webmozart/assert
- phpstan-exception-rules - PHPStan rules for checked and unchecked exceptions
- phpunit - The PHP testing framework
- psalm - Finds errors in PHP applications
- psecio-parse - Scans code for potential security-related issues
- security-checker - Checks composer dependencies for known security vulnerabilities
- testability - Analyses and reports testability issues of a php codebase
Get the toolbox.phar
from the latest release.
The command below should do the job:
curl -s https://api.github.com/repos/jakzal/toolbox/releases/latest \
| grep "browser_download_url.*toolbox.phar" \
| cut -d '"' -f 4 \
| xargs curl -Ls -o toolbox \
&& chmod +x toolbox
./toolbox list-tools
./toolbox install
To only see what commands would be executed, use the dry run mode:
./toolbox install --dry-run
./toolbox test
To only see what commands would be executed, use the dry run mode:
./toolbox test --dry-run
By default resources/pre-installation.json
and resources/tools.json
are used to load tool definitions.
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