CLI Reference
Phexium uses Taskfile as its task runner. All development commands are defined in taskfile.yaml.
Installation
sudo sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d
Usage
task # List all tasks
task <task-name> # Run a task
task tests:unit -- path/to/test # Pass arguments
Development Environment
| Task | Description |
dev:environment:install | Install local environment |
dev:environment:start | Start Docker containers |
dev:environment:stop | Stop Docker containers |
Testing
| Task | Description |
tests:unit | Run unit tests (--group unit) |
tests:unit:phexium | Unit tests (Phexium only) |
tests:unit:appdemo | Unit tests (AppDemo only) |
tests:integration | Run integration tests (--group integration) |
tests:integration:phexium | Integration tests (Phexium only) |
tests:integration:appdemo | Integration tests (AppDemo only) |
tests:component | All Pest tests (unit + integration) |
tests:acceptance | Run all acceptance tests |
tests:acceptance:demoInMemory | Acceptance with InMemory |
tests:acceptance:demoSqlite | Acceptance with SQLite |
tests:all | All tests with merged coverage |
tests:mutation | Mutation tests |
Code Quality
| Task | Description |
coding-standard:lint | Check PHP coding standard |
coding-standard:fix | Apply coding standard fixes |
rector | Run Rector refactoring |
deptrac:analyse | Analyze architecture dependencies |
Database
| Task | Description |
database:sqlite:init | Initialize SQLite with fixtures |
database:mysql:init | Initialize MySQL with fixtures |
database:postgresql:init | Initialize PostgreSQL with fixtures |
Documentation
| Task | Description |
docs:install | Install MkDocs dependencies |
docs:serve | Start documentation server |
docs:build | Build static documentation |
Release
| Task | Description |
release:lint | Check rector and coding standard |
release:fix | Apply fixes |
release:test | Run all tests and deptrac |
release:all | Complete release preparation |
Examples
# Run unit tests for specific directory
task tests:unit -- tests/Phexium/Component/Domain/Collection/
# Run acceptance test for specific feature
task tests:acceptance:demoInMemory -- tests/AppDemo/Acceptance/Library.feature
Docker Integration
Tasks run PHP commands inside Docker containers. No local PHP installation is required.