Taskfile Reference
Complete reference of all available Task commands for Data Helpers development.
Introduction
Section titled “Introduction”This project uses Task as the task runner. Task is a modern alternative to Make with YAML syntax and better readability.
Why Task?
Section titled “Why Task?”- ✅ 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
Installation
Section titled “Installation”See Development Setup for installation instructions.
Quick Reference
Section titled “Quick Reference”# Show all available taskstask
# Show detailed task listtask --list
# Start Docker containerstask docker:up
# Run teststask test:run
# Run all quality checkstask quality:check
# Complete development setuptask dev:setupTask Categories
Section titled “Task Categories”🐳 Docker Management
Section titled “🐳 Docker Management”Manage Docker containers and environment.
task docker:build # Build containerstask docker:up # Start containerstask docker:down # Stop containerstask docker:restart # Restart containerstask docker:logs # Show logstask docker:logs:follow # Follow logs (tail -f)task docker:clean # Remove containers & volumestask docker:rebuild # Clean + build + uptask docker:ps # Show container statusVariables:
PHP=8.2|8.3|8.4- Specify PHP version (default: 8.4)
Examples:
# Start containerstask docker:up
# View logstask docker:logs
# Rebuild everythingtask docker:rebuild🖥️ Shell Access
Section titled “🖥️ Shell Access”Open shell in Docker containers.
task shell # Shell in PHP 8.4 (default)task shell PHP=8.2 # Shell in PHP 8.2task shell:82 # Shell in PHP 8.2task shell:83 # Shell in PHP 8.3task shell:84 # Shell in PHP 8.4Examples:
# Open shell in PHP 8.4task shell
# Open shell in PHP 8.2task shell:82📦 Dependencies
Section titled “📦 Dependencies”Install and update dependencies.
task install # Install dependencies (all containers)task install:82 # Install in PHP 8.2task install:83 # Install in PHP 8.3task install:84 # Install in PHP 8.4task update # Update dependencies (PHP 8.4)task update PHP=8.2 # Update in PHP 8.2Examples:
# Install dependencies in all containerstask install
# Update dependencies in PHP 8.4task update🧪 Testing - Basic
Section titled “🧪 Testing - Basic”Run unit and E2E tests.
task test:run # Run tests (PHP 8.4)task test:run PHP=8.2 # Run tests (PHP 8.2)task test:unit # Unit tests onlytask test:e2e # E2E tests onlytask test:coverage # Tests with coveragetask test:full # Full test suite (unit + e2e)task test:documentation # Documentation testsAliases:
task test→task test:runtask test:docs→task test:documentation
Examples:
# Run tests with PHP 8.4task test:run
# Run tests with PHP 8.2task test:run PHP=8.2
# Run with coveragetask test:coverage🧪 Testing - Framework Specific
Section titled “🧪 Testing - Framework Specific”Test with specific frameworks (isolated containers).
# Laraveltask test:laravel10 # Laravel 10 (PHP 8.3)task test:laravel11 # Laravel 11 (PHP 8.4)task test:l10 # Alias for laravel10task test:l11 # Alias for laravel11
# Symfonytask test:symfony6 # Symfony 6 (PHP 8.4)task test:symfony7 # Symfony 7 (PHP 8.4)task test:s6 # Alias for symfony6task test:s7 # Alias for symfony7
# Doctrinetask test:doctrine2 # Doctrine 2 (PHP 8.4)task test:doctrine3 # Doctrine 3 (PHP 8.4)task test:d2 # Alias for doctrine2task test:d3 # Alias for doctrine3
# Plain PHPtask test:plain # Plain PHP (PHP 8.4)Variables:
PHP=8.2|8.3|8.4- Specify PHP version
Examples:
# Test Laravel 11 with PHP 8.4task test:laravel11
# Test Symfony 7 with PHP 8.2task test:symfony7 PHP=8.2🧪 Testing - Test Matrix
Section titled “🧪 Testing - Test Matrix”Run comprehensive test matrix.
# Complete matrixtask test:matrix # All 33 tests
# By PHP versiontask 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 frameworktask 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 versiontask 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:
# Run complete matrixtask test:matrix
# Run all Laravel teststask test:matrix:laravel
# Run all PHP 8.4 teststask test:matrix:84✨ Code Quality - PHPStan
Section titled “✨ Code Quality - PHPStan”Static analysis with PHPStan Level 9.
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 baselinetask quality:phpstan:clear # Clear cacheVariables:
PHP=8.2|8.3|8.4- Specify PHP version
Examples:
# Run PHPStan with PHP 8.4task quality:phpstan
# Run PHPStan with PHP 8.2task quality:phpstan PHP=8.2
# Generate baselinetask quality:phpstan:baseline✨ Code Quality - ECS
Section titled “✨ Code Quality - ECS”Code style checks with PHP Easy Coding Standard.
task quality:ecs # Check code styletask quality:ecs:fix # Fix code style automaticallyVariables:
PHP=8.2|8.3|8.4- Specify PHP version
Examples:
# Check code styletask quality:ecs
# Fix code styletask quality:ecs:fix✨ Code Quality - Rector
Section titled “✨ Code Quality - Rector”PHP refactoring with Rector.
task quality:rector # Run Rector dry-runtask quality:rector:fix # Apply Rector changesVariables:
PHP=8.2|8.3|8.4- Specify PHP version
Examples:
# Check what Rector would changetask quality:rector
# Apply Rector changestask quality:rector:fix✨ Code Quality - Combined
Section titled “✨ Code Quality - Combined”Run all quality checks at once.
task quality:check # Run all quality checks (ECS + PHPStan + Rector)Examples:
# Run all quality checkstask quality:check⚡ Benchmarking
Section titled “⚡ Benchmarking”Performance benchmarking.
task bench:run # Run benchmarkstask bench:compare # Compare with baselinetask bench:profile # Profile performanceExamples:
# Run benchmarkstask bench:run
# Compare with baselinetask bench:compare📚 Documentation
Section titled “📚 Documentation”Starlight documentation server.
task docs:dev # Start documentation server (http://localhost:4321)task docs:build # Build documentationtask docs:preview # Preview production buildtask docs:clean # Clean documentation cacheExamples:
# Start documentation servertask docs:dev
# Build documentationtask docs:build💻 Development Workflows
Section titled “💻 Development Workflows”Common development workflows.
task dev:setup # Complete development setuptask 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 filestask dev:reset # Reset environment (clean + rebuild)Examples:
# Setup development environmenttask dev:setup
# Run pre-commit checkstask dev:pre-commit
# Reset environmenttask dev:resetCommon Workflows
Section titled “Common Workflows”Starting Development
Section titled “Starting Development”# 1. Setup environmenttask dev:setup
# 2. Open shelltask shell
# 3. Make changes and testtask test:runBefore Commit
Section titled “Before Commit”# Run pre-commit checkstask dev:pre-commit
# Or run individual checkstask quality:ecs:fix # Fix code styletask quality:phpstan # Static analysistask test:run # Run testsBefore Push
Section titled “Before Push”# Run pre-push checks (includes matrix tests)task dev:pre-push
# Or run complete test suitetask test:runNext Steps
Section titled “Next Steps”- Development Setup - Setup your environment
- Test Matrix - Learn about the test matrix
- Contributing Guide - Learn how to contribute