Download the PHP package kwidoo/hex-tools without Composer
On this page you can find all versions of the php package kwidoo/hex-tools. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download kwidoo/hex-tools
More information about kwidoo/hex-tools
Files in kwidoo/hex-tools
Package hex-tools
Short Description Laravel development tools for Hexagonal and Clean Architecture projects.
License MIT
Informations about the package hex-tools
Hex Tools
kwidoo/hex-tools is a pragmatic Laravel/PHP toolkit for generating, inspecting, documenting, and enforcing hexagonal architecture boundaries.
Supported Versions: Laravel 11, 12 | PHP 8.2+
TODO: Laravel 13 support is planned for a future release.
Installation
Commands
| Command | Description |
|---|---|
hex:install |
Publish config, create docs/build folders, optionally install composer scripts |
hex:deptrac:layers |
Generate deptrac.layers.yaml for strict technical layer checks |
hex:deptrac:modules |
Generate deptrac.modules.yaml for business module boundary checks |
hex:map {module} |
Print grouped class map for a module |
hex:inspect |
Inspect modules, layers, dependencies, and architecture issues |
hex:doctor |
Check package configuration and quality-tooling health |
hex:docs |
Generate architecture intelligence documentation |
hex:baseline |
Baseline current architecture issues for legacy projects |
hex:explain {rule} |
Explain a known architecture rule code |
hex:module:init {module} |
Create module folder skeleton and docs stub |
hex:docs:generate |
Generate architecture documentation from config |
hex:adr:create {title} |
Create a numbered Architecture Decision Record |
Layer config vs Module config
deptrac.layers.yaml enforces technical layer boundaries:
Domainmay only depend on itselfApplicationmay depend onDomainHttpmay depend onApplication,Domain, framework, and vendorInfrastructuremay depend onApplication,Domain,Models, framework, and vendorModelsmay depend onDomain, framework, and vendor
This prevents technical violations like Http -> Models or Domain -> Eloquent.
deptrac.modules.yaml enforces business module boundaries:
Each module (e.g. Product, Order) is collected from all technical layers but treated as a single unit. Rules define which modules may depend on which others.
Configuration
Publish the config file:
Edit config/hex-tools.php to define your modules and allowed dependencies.
Module Configuration
The package uses a neutral default configuration with example modules. You should replace these with your own business domain modules:
Guidelines:
- Each module represents a bounded context in your domain
- The
Sharedmodule is typically used for common code that other modules can depend on - A module may depend on itself implicitly (no need to list it)
- Avoid circular dependencies between modules
Example
Architecture Intelligence
hex:inspect analyzes source structure and reports conservative rule violations such as Domain depending on framework or Infrastructure code. hex:doctor checks setup health, including config files, quality tooling, CI workflow, module paths, and composer scripts. hex:baseline stores stable hashes for current issues so future inspections can distinguish existing baseline issues from new ones.
PHPMD
Hex Tools can generate a Laravel-friendly PHPMD ruleset.
Install PHPMD:
Generate config:
Run:
Generate baseline for existing projects:
| Command | Description |
|---|---|
hex:phpmd:install |
Install PHPMD ruleset and optional composer scripts |
hex:phpmd:generate |
Regenerate PHPMD ruleset |
hex:phpmd:baseline |
Print or run PHPMD baseline generation |
hex:phpmd:run |
Run PHPMD using generated rules |
PHPStan/Larastan
Hex Tools can generate PHPStan/Larastan configs for Laravel Hexagonal Architecture projects.
Generated configs:
phpstan.neon.distphpstan-domain.neonphpstan-application.neon
Run:
| Command | Description |
|---|---|
hex:phpstan:install |
Install PHPStan configs and optional composer scripts |
hex:phpstan:generate |
Regenerate PHPStan config files |
hex:phpstan:baseline |
Print or run PHPStan baseline generation |
License
MIT
All versions of hex-tools with dependencies
illuminate/console Version ^11.0|^12.0|^13.0
illuminate/support Version ^11.0|^12.0|^13.0
symfony/yaml Version ^7.0|^8.0