The Pollora CLI is a command-line tool for creating and managing Pollora projects. It provides interactive scaffolding with optional DDEV integration, and acts as an intelligent proxy to framework commands when used inside a project.
Install the CLI globally via Composer:
composer global require pollora/cliMake sure the Composer global vendor/bin directory is in your system's PATH:
composer global config bin-dir --absoluteAdd the returned path to your shell profile if it's not already configured:
Bash — ~/.bashrc
export PATH="$HOME/.config/composer/vendor/bin:$PATH"Zsh — ~/.zshrc
export PATH="$HOME/.config/composer/vendor/bin:$PATH"Fish — ~/.config/fish/config.fish
fish_add_path $HOME/.config/composer/vendor/binWindows (PowerShell)
# Add to your PowerShell profile ($PROFILE)
$env:PATH = "$env:APPDATA\Composer\vendor\bin;$env:PATH"Note: On some systems, the Composer global directory may be
~/.composer/vendor/bininstead of~/.config/composer/vendor/bin. Use thecomposer global config bin-dir --absolutecommand to check.
After updating your profile, reload your shell (source ~/.zshrc, source ~/.bashrc, etc.) or open a new terminal.
pollora new my-siteThe command will:
- Run
composer create-project pollora/pollora - Execute
php artisan pollora:installfor WordPress setup - Optionally initialize a Git repository
pollora new my-site --ddevWhen the --ddev flag is passed (or selected interactively), the CLI will:
- Configure DDEV (WordPress, PHP 8.4, MariaDB 10.11)
- Start the DDEV environment
- Install the project via
ddev composer create-project - Run
pollora:installinside the container - Publish the
./pollorabinary andddev polloracommand
Your site will be available at https://my-site.ddev.site.
| Option | Description |
|---|---|
--ddev |
Set up the project with DDEV |
--force, -f |
Force install even if the directory already exists |
--git |
Initialize a Git repository |
--branch=NAME |
Branch name for the new repository (default: main) |
When you run pollora inside a directory that contains both artisan and vendor/pollora/framework, the CLI acts as a proxy and delegates commands to php artisan pollora:{command}:
cd my-site
pollora status # => php artisan pollora:status
pollora make-plugin Foo # => php artisan pollora:make-plugin Foo
pollora make-theme starter # => php artisan pollora:make-theme starterIf you set up your project with --ddev, a custom ddev pollora command is available:
ddev pollora status
ddev pollora make-plugin Foo
ddev pollora listThe framework provides a dedicated ./pollora binary (published via vendor:publish --tag=pollora-binary) that shows only Pollora-related commands with short names:
./pollora list
# Available commands:
# install Install and configure WordPress
# status Display Pollora framework status
# make-plugin Generate plugin structure
# make-theme Generate theme structure
# make-block Create a new Gutenberg block
# make-posttype Create a new custom post type
# ...The original php artisan pollora:* signatures continue to work as aliases.
The CLI checks for updates automatically (once every 24 hours) and displays a notification when a new version is available:
A new version of Pollora CLI is available: v0.3.0 (current: v0.2.0)
Run pollora self-update to update.
To update manually:
pollora self-updateThis runs composer global update pollora/cli under the hood. You can also use the alias pollora self:update.
| Command | Description |
|---|---|
pollora version |
Display the CLI version |
pollora self-update |
Update the CLI to the latest version (alias: self:update) |
- PHP >= 8.2
- Composer 2.x
- DDEV (optional, for
--ddevmode)
composer test # Run all checks (Rector, Pint, PHPStan, Pest, type-coverage)
composer test:unit # Run Pest tests
composer test:types # Run PHPStan static analysis (level 5)
composer test:lint # Check code style with Pint
composer test:refacto # Check refactoring rules with Rector
composer test:type-coverage # Check type coverage (>= 98%)Pollora CLI is open-sourced software licensed under the GPL-2.0-or-later.