https://github.com/jeffersongoncalves/banners-cli
CLI tool to generate banner images using beyondcode/banners service. Built with Laravel Zero.
https://github.com/jeffersongoncalves/banners-cli
banner beyondcode cli composer image-generator laravel-zero phar php
Last synced: about 2 months ago
JSON representation
CLI tool to generate banner images using beyondcode/banners service. Built with Laravel Zero.
- Host: GitHub
- URL: https://github.com/jeffersongoncalves/banners-cli
- Owner: jeffersongoncalves
- Created: 2026-02-24T12:29:22.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-02-24T14:25:00.000Z (3 months ago)
- Last Synced: 2026-02-24T18:32:47.364Z (3 months ago)
- Topics: banner, beyondcode, cli, composer, image-generator, laravel-zero, phar, php
- Language: PHP
- Homepage:
- Size: 45.7 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README

# Banners CLI
CLI tool to generate banner images using the [beyondcode/banners](https://banners.beyondco.de/) service. Configure default parameters and generate banners with a single command.
## Requirements
- PHP >= 8.2
## Installation
### Download PHAR (recommended)
Download the latest `banners.phar` from the [Releases](https://github.com/jeffersongoncalves/banners-cli/releases) page:
```bash
# Download and make executable
curl -sL https://github.com/jeffersongoncalves/banners-cli/releases/latest/download/banners.phar -o banners
chmod +x banners
sudo mv banners /usr/local/bin/banners
```
### Via Composer (global)
```bash
composer global require jeffersongoncalves/banners-cli
```
## Usage
### Generate a banner
```bash
banners banner:generate "My Project" ./banner.png
```
### With options
```bash
banners banner:generate "My Project" ./banner.png \
--theme=dark \
--style=style_2 \
--pattern=texture \
--fontSize=72px \
--packageManager="composer require" \
--packageName="vendor/package" \
--description="A great PHP package" \
--md \
--showWatermark \
--fileType=png
```
### Available options
| Option | Values | Default |
|--------|--------|---------|
| `--theme` | `light`, `dark` | `light` |
| `--style` | `style_1`, `style_2` | `style_1` |
| `--pattern` | 90+ hero-patterns (e.g. `texture`, `topography`, `circuitBoard`) | `circuitBoard` |
| `--fontSize` | CSS size (e.g. `96px`, `72px`) | `96px` |
| `--packageManager` | Any text | _(empty)_ |
| `--packageName` | Any text | _(empty)_ |
| `--description` | Any text | _(empty)_ |
| `--md` | Flag (enable markdown) | `false` |
| `--showWatermark` | Flag | `false` |
| `--images` | Image URL or heroicon name | _(empty)_ |
| `--fileType` | `png`, `jpeg` | `png` |
## Configuration
Save default values so you don't have to pass them every time.
### Interactive wizard
```bash
banners config:init
```
The wizard configures: theme, style, pattern, fontSize, markdown rendering, watermark, and file type.
### Set individual values
```bash
banners config:set theme dark
banners config:set pattern texture
banners config:set fontSize 72px
banners config:set md true
banners config:set showWatermark true
```
### View current config
```bash
banners config:show
```
Configuration is stored in `~/.banners-cli/config.json`. Command-line options always override config values.
## Development
```bash
# Clone
git clone git@github.com:jeffersongoncalves/banners-cli.git
cd banners-cli
# Install dependencies
composer install
# Run tests
composer test
# Run code formatting
composer lint
# Build PHAR
composer build
```
## License
Banners CLI is open-source software licensed under the [MIT license](LICENSE).