skavys / harbor-crane
Harbor Generator commands
Installs: 64
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 1
Type:project
pkg:composer/skavys/harbor-crane
Requires
- php: ^8.1
Requires (Dev)
- laminas/laminas-text: ^2.9
- laravel-zero/framework: ^9.0
- laravel/pint: ^1.0
- mockery/mockery: ^1.4.4
- nunomaduro/larastan: ^2.1
- nunomaduro/termwind: ^1.3
- pestphp/pest: ^1.21.1
- roave/security-advisories: dev-latest
This package is auto-updated.
Last update: 2025-09-29 02:22:55 UTC
README
Harbor Generator commands
Introduction
Harbor Crane is a tool to generate files and directories for Porto architecture pattern.
Installation
You may install Harbor Crane via Composer:
composer require skavys/harbor-crane --dev
Alternatively, Harbor Crane has standalone version distributed as PHAR archive. You may download
phar version in Assets section of each release.
Configuration
Each command has following global options:
--config- loads configuration from aJSONfile;--ship- relative path to theShipdirectory (default issrc/Ship);--containers- relative path to theContainersdirectory (default issrc/Containers);--src-namespace- Porto root namespace (default isApp).
Available Commands
Run vendor/bin/harbor-crane to see the list of available commands.
Usage
Run following command to create AccountSection section:
./vendor/bin/harbor-crane make:section AccountSection
You can create section and containers inside this section in one step:
./vendor/bin/harbor-crane make:section AccountSection --container-name=User --container-name=Profile
Above command will create AccountSection section and two containers in it: User and Profile.
Run following command to create Product container:
./vendor/bin/harbor-crane make:container Product
Above command will create Product container in containers directory (src/Containers by default).
You can create section and container in it in one step:
./vendor/bin/harbor-crane make:container Product --section=ProductSection
Above command will create ProductSection section if it doesn't exist and create Product container in this section.
Configuration file
If your global options differ from default ones and you don't want to provide them for each command run, you can
create JSON configuration file. By default, the name of configuration file is harbor-crane.json and
it should be located in the root directory of your project:
{
"ship": "app/Ship",
"containers": "app/Containers",
"src-namespace": "App"
}
Contributing
Thank you for considering contributing to Harbor Crane! You can read the contribution guide here.
Code of Conduct
Please review and abide by the Code of Conduct.
Credits
License
Harbor Crane is open-sourced software licensed under the MIT license.