kjohnson / impress-cli
A CLI for generating DDD classes
Installs: 25
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:project
Requires
- php: ^8.1
Requires (Dev)
- fakerphp/faker: ^1.9.1
- laminas/laminas-text: *
- laravel-zero/framework: ^10.2
- laravel/pint: ^1.13
- laravel/prompts: ^0.1.13
- mockery/mockery: ^1.6
- nunomaduro/termwind: ^1.15.1
- pestphp/pest: ^2.22
README
_____
|_ _|
| | _ __ ___ _ __ _ __ ___ ___ ___
| | | '_ ` _ \| '_ \| '__/ _ \/ __/ __|
_| |_| | | | | | |_) | | | __/\__ \__ \
|_____|_| |_| |_| .__/|_| \___||___/___/
| |
|_|
Impress is a developer command line tool for generating Domain Driven Design (DDD) classes, such as actions, controllers, and exceptions under a specific domain.
Installation
The CLI installs globally via Composer and can be called from any directory containing a src
sub-directory.
composer global require kjohnson/impress-cli
Note: .composer/vendor/bin
must be included in PATH for the command to be called globally, which varies across operating systems.
Usage
Once installed, the CLI can be called from any directory containing a src
sub-directory.
USAGE: <command> [options] [arguments] make:action Create a new Action class make:controller Create a new Controller class make:domain Create a new Domain directory make:exception Create a new Exception class
Example usage:
impress make:domain User // Creates the `User` domain/directory within `src/` impress make:action User UpdateUserPassword // Creates the `UpdateUserPassword` action within the `User` domain // See src/User/Actions/UpdateUserPassword.php
Each command will generate the appropriate directories and files within the corresponding Domain.
Maintenance
Releasing an update
- Update the version number in
composer.json
- Run
composer run build
- Commit and push changes
- Create a new release on GitHub
- Update the package on Packagist