Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kjohnson/impress-cli
https://github.com/kjohnson/impress-cli
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/kjohnson/impress-cli
- Owner: kjohnson
- Created: 2023-12-08T19:47:54.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-01-20T01:38:03.000Z (12 months ago)
- Last Synced: 2024-10-19T00:21:36.461Z (3 months ago)
- Language: PHP
- Size: 45.6 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
```ascii
_____
|_ _|
| | _ __ ___ _ __ _ __ ___ ___ ___
| | | '_ ` _ \| '_ \| '__/ _ \/ __/ __|
_| |_| | | | | | |_) | | | __/\__ \__ \
|_____|_| |_| |_| .__/|_| \___||___/___/
| |
|_|
```**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](https://getcomposer.org/) and can be called from any directory containing a `src` sub-directory.
```bash
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.
```bash
USAGE: [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:
```bash
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
1. Update the version number in `composer.json`
2. Run `composer run build`
3. Commit and push changes
4. Create a new release on GitHub
5. Update the package on Packagist