Select and configure the appropriate command runner based on Docker Compose standard, Symfony Docker (FrankenPHP), or host environment
Install
npx skillscat add data219/opencode-docker/symfony-runner-selection Install via the SkillsCat registry.
SKILL.md
Runner Selection
This skill helps you select the appropriate command runner based on your environment setup.
Environment Detection
The plugin automatically detects your environment:
Symfony Docker (FrankenPHP/Caddy)
- Detected via
compose.yamlwith frankenphp/caddy references - Or presence of
frankenphp/directory orCaddyfile
- Detected via
Docker Compose Standard
- Detected via
docker-compose.ymlorcompose.yaml - Service name auto-detected (
php,app, or first service)
- Detected via
Host Environment
- Fallback when no Docker configuration found
- Uses local PHP installation
Command Mapping
Symfony Docker
# PHP execution
docker compose exec php php script.php
# Symfony Console
docker compose exec php bin/console cache:clear
# Composer
docker compose exec php composer require package
# Tests
docker compose exec php ./vendor/bin/phpunit
docker compose exec php ./vendor/bin/pestDocker Compose Standard
# PHP execution (service name may vary: php, app, etc.)
docker compose exec app php script.php
# Symfony Console
docker compose exec app bin/console cache:clear
# Composer
docker compose exec app composer require package
# Tests
docker compose exec app ./vendor/bin/phpunitHost Environment
# PHP execution
php script.php
# Symfony Console
php bin/console cache:clear
# Composer
composer require package
# Tests
./vendor/bin/phpunit
./vendor/bin/pestSwitching Runners
If Docker is configured but not running, you have two options:
Option 1: Start Docker
# Symfony Docker
docker compose up -d --wait
# Docker Compose standard
docker compose up -dOption 2: Use Host Tools
Continue with host PHP/Composer if available.
Best Practices
- Consistency: Use the same runner throughout a session
- Docker preference: Prefer Docker for reproducibility
- Host for speed: Use host tools for quick iterations if Docker is slow
- CI/CD: Always use Docker in CI for consistency
Troubleshooting
Docker not found
# Check Docker installation
docker --version
docker compose versionService not running
# Check running containers
docker compose ps
# View logs
docker compose logs -fPermission issues
# Fix file ownership (Symfony Docker)
docker compose exec php chown -R $(id -u):$(id -g) .