Skip to content

Taskfile Reference

Complete reference of all available Task commands for Data Helpers development.

This project uses Task as the task runner. Task is a modern alternative to Make with YAML syntax and better readability.

  • Cross-platform - Works on macOS, Linux, and Windows
  • Fast - Written in Go, much faster than Make
  • Simple - YAML-based configuration
  • Powerful - Variables, dependencies, includes
  • Beautiful Output - Consistent formatting with colors and icons

See Development Setup for installation instructions.

Terminal window
# Show all available tasks
task
# Show detailed task list
task --list
# Start Docker containers
task docker:up
# Run tests
task test:run
# Run all quality checks
task quality:check
# Complete development setup
task dev:setup

Manage Docker containers and environment.

Terminal window
task docker:build # Build containers
task docker:up # Start containers
task docker:down # Stop containers
task docker:restart # Restart containers
task docker:logs # Show logs
task docker:logs:follow # Follow logs (tail -f)
task docker:clean # Remove containers & volumes
task docker:rebuild # Clean + build + up
task docker:ps # Show container status

Variables:

  • PHP=8.2|8.3|8.4 - Specify PHP version (default: 8.4)

Examples:

Terminal window
# Start containers
task docker:up
# View logs
task docker:logs
# Rebuild everything
task docker:rebuild

Open shell in Docker containers.

Terminal window
task shell # Shell in PHP 8.4 (default)
task shell PHP=8.2 # Shell in PHP 8.2
task shell:82 # Shell in PHP 8.2
task shell:83 # Shell in PHP 8.3
task shell:84 # Shell in PHP 8.4

Examples:

Terminal window
# Open shell in PHP 8.4
task shell
# Open shell in PHP 8.2
task shell:82

Install and update dependencies.

Terminal window
task install # Install dependencies (all containers)
task install:82 # Install in PHP 8.2
task install:83 # Install in PHP 8.3
task install:84 # Install in PHP 8.4
task update # Update dependencies (PHP 8.4)
task update PHP=8.2 # Update in PHP 8.2

Examples:

Terminal window
# Install dependencies in all containers
task install
# Update dependencies in PHP 8.4
task update

Run unit and E2E tests.

Terminal window
task test:run # Run tests (PHP 8.4)
task test:run PHP=8.2 # Run tests (PHP 8.2)
task test:unit # Unit tests only
task test:e2e # E2E tests only
task test:coverage # Tests with coverage
task test:full # Full test suite (unit + e2e)
task test:documentation # Documentation tests

Aliases:

  • task testtask test:run
  • task test:docstask test:documentation

Examples:

Terminal window
# Run tests with PHP 8.4
task test:run
# Run tests with PHP 8.2
task test:run PHP=8.2
# Run with coverage
task test:coverage

Test with specific frameworks (isolated containers).

Terminal window
# Laravel
task test:laravel10 # Laravel 10 (PHP 8.3)
task test:laravel11 # Laravel 11 (PHP 8.4)
task test:l10 # Alias for laravel10
task test:l11 # Alias for laravel11
# Symfony
task test:symfony6 # Symfony 6 (PHP 8.4)
task test:symfony7 # Symfony 7 (PHP 8.4)
task test:s6 # Alias for symfony6
task test:s7 # Alias for symfony7
# Doctrine
task test:doctrine2 # Doctrine 2 (PHP 8.4)
task test:doctrine3 # Doctrine 3 (PHP 8.4)
task test:d2 # Alias for doctrine2
task test:d3 # Alias for doctrine3
# Plain PHP
task test:plain # Plain PHP (PHP 8.4)

Variables:

  • PHP=8.2|8.3|8.4 - Specify PHP version

Examples:

Terminal window
# Test Laravel 11 with PHP 8.4
task test:laravel11
# Test Symfony 7 with PHP 8.2
task test:symfony7 PHP=8.2

Run comprehensive test matrix.

Terminal window
# Complete matrix
task test:matrix # All 33 tests
# By PHP version
task test:matrix:82 # All PHP 8.2 tests (11 tests)
task test:matrix:83 # All PHP 8.3 tests (11 tests)
task test:matrix:84 # All PHP 8.4 tests (11 tests)
# By framework
task test:matrix:plain # Plain PHP only (3 tests)
task test:matrix:laravel # All Laravel tests (6 tests)
task test:matrix:symfony # All Symfony tests (6 tests)
task test:matrix:doctrine # All Doctrine tests (6 tests)
# By framework version
task test:matrix:laravel9 # Laravel 9 (3 tests)
task test:matrix:laravel10 # Laravel 10 (2 tests)
task test:matrix:laravel11 # Laravel 11 (3 tests)
task test:matrix:symfony6 # Symfony 6 (3 tests)
task test:matrix:symfony7 # Symfony 7 (3 tests)
task test:matrix:doctrine2 # Doctrine 2 (3 tests)
task test:matrix:doctrine3 # Doctrine 3 (3 tests)

Examples:

Terminal window
# Run complete matrix
task test:matrix
# Run all Laravel tests
task test:matrix:laravel
# Run all PHP 8.4 tests
task test:matrix:84

Static analysis with PHPStan Level 9.

Terminal window
task quality:phpstan # Run PHPStan (PHP 8.4)
task quality:phpstan:82 # Run PHPStan (PHP 8.2)
task quality:phpstan:83 # Run PHPStan (PHP 8.3)
task quality:phpstan:84 # Run PHPStan (PHP 8.4)
task quality:phpstan:baseline # Generate baseline
task quality:phpstan:clear # Clear cache

Variables:

  • PHP=8.2|8.3|8.4 - Specify PHP version

Examples:

Terminal window
# Run PHPStan with PHP 8.4
task quality:phpstan
# Run PHPStan with PHP 8.2
task quality:phpstan PHP=8.2
# Generate baseline
task quality:phpstan:baseline

Code style checks with PHP Easy Coding Standard.

Terminal window
task quality:ecs # Check code style
task quality:ecs:fix # Fix code style automatically

Variables:

  • PHP=8.2|8.3|8.4 - Specify PHP version

Examples:

Terminal window
# Check code style
task quality:ecs
# Fix code style
task quality:ecs:fix

PHP refactoring with Rector.

Terminal window
task quality:rector # Run Rector dry-run
task quality:rector:fix # Apply Rector changes

Variables:

  • PHP=8.2|8.3|8.4 - Specify PHP version

Examples:

Terminal window
# Check what Rector would change
task quality:rector
# Apply Rector changes
task quality:rector:fix

Run all quality checks at once.

Terminal window
task quality:check # Run all quality checks (ECS + PHPStan + Rector)

Examples:

Terminal window
# Run all quality checks
task quality:check

Performance benchmarking.

Terminal window
task bench:run # Run benchmarks
task bench:compare # Compare with baseline
task bench:profile # Profile performance

Examples:

Terminal window
# Run benchmarks
task bench:run
# Compare with baseline
task bench:compare

Starlight documentation server.

Terminal window
task docs:dev # Start documentation server (http://localhost:4321)
task docs:build # Build documentation
task docs:preview # Preview production build
task docs:clean # Clean documentation cache

Examples:

Terminal window
# Start documentation server
task docs:dev
# Build documentation
task docs:build

Common development workflows.

Terminal window
task dev:setup # Complete development setup
task dev:pre-commit # Pre-commit checks (ECS + PHPStan + Tests)
task dev:pre-push # Pre-push checks (Quality + Matrix)
task dev:clean # Clean cache and temp files
task dev:reset # Reset environment (clean + rebuild)

Examples:

Terminal window
# Setup development environment
task dev:setup
# Run pre-commit checks
task dev:pre-commit
# Reset environment
task dev:reset
Terminal window
# 1. Setup environment
task dev:setup
# 2. Open shell
task shell
# 3. Make changes and test
task test:run
Terminal window
# Run pre-commit checks
task dev:pre-commit
# Or run individual checks
task quality:ecs:fix # Fix code style
task quality:phpstan # Static analysis
task test:run # Run tests
Terminal window
# Run pre-push checks (includes matrix tests)
task dev:pre-push
# Or run complete test suite
task test:run