pollora / cli
Pollora CLI Tool
Requires
- php: ^8.2
- guzzlehttp/guzzle: ^7.0
- laravel/prompts: ^0.3
- symfony/console: ^7.0
- symfony/process: ^7.0
Requires (Dev)
- larastan/larastan: ^3.3
- laravel/pint: ^1.21
- pestphp/pest: ^3.8
- pestphp/pest-plugin-type-coverage: ^3.5
- phpstan/phpstan: ^2.1
- rector/rector: ^2.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
The Pollora CLI creates Pollora projects, the Laravel framework for WordPress, in one command: pollora new my-site installs the skeleton, writes the .env, sets up WordPress and, if you want, a DDEV environment. Inside a project, pollora <command> runs the matching php artisan pollora:<command>, in the DDEV container when there is one.
The full documentation, including the installation guide, lives at pollora.dev.
Installation
Install the CLI globally via Composer:
composer global require pollora/cli
Make sure the Composer global vendor/bin directory is in your system's PATH:
composer global config bin-dir --absolute
Add 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/bin
Windows (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.
Creating a new project
Standard install
pollora new my-site
The command will:
- Run
composer create-project pollora/pollora(without the skeleton's post-install scripts) - Create the
.envfile and its application key - Execute
php artisan pollora:env:setupto configure the site URL and database - Execute
php artisan pollora:installfor WordPress setup - Optionally initialize a Git repository
By default the CLI asks Composer for the newest skeleton release, pre-releases included (--stability=beta). The framework's current line is stable, so this installs the latest stable release; --stable guarantees you never get a pre-release, and --ver pins an exact version or constraint:
pollora new my-site --stable pollora new my-site --ver 13.35.0
With DDEV (recommended)
pollora new my-site --ddev
When 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:env:setupandpollora:installinside the container
Your site will be available at https://my-site.ddev.site.
Options
| 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) |
--ver=VERSION |
Install a specific version or constraint (e.g. 13.35.0, ^13.35) |
--stable |
Install the latest stable release only, never a pre-release |
Using Pollora commands
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 starter pollora doctor # => php artisan pollora:doctor
In a project with a .ddev directory, the same commands run in the container (ddev exec php artisan pollora:{command}). new, version, self-update, list, help and completion always stay with the CLI.
Updating
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-update
This runs composer global update pollora/cli under the hood. You can also use the alias pollora self:update.
Other commands
| Command | Description |
|---|---|
pollora version |
Display the CLI version |
pollora self-update |
Update the CLI to the latest version (alias: self:update) |
Requirements
- PHP 8.2+ for the CLI itself (the project it creates needs PHP 8.4+)
- Composer 2.x
- DDEV (optional, for
--ddevmode)
Testing
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%)
Contributing
Contributions are welcome: see the contributing guide. Report security issues privately, as described in the security policy.
License
Pollora CLI is open-source software licensed under the MIT license. © RuBee group