typo3-ddev
Use Cautionnpx machina-cli add skill netresearch/typo3-ddev-skill/typo3-ddev --openclawTYPO3 DDEV Setup Skill
Automates DDEV environment for TYPO3 extension development with multi-version testing.
Why DDEV
Use DDEV when:
- You need a quick, standardized TYPO3 development environment
- Testing extensions across multiple TYPO3/PHP versions
- Onboarding new team members (consistent setup)
- Working on multiple TYPO3 projects (DDEV isolates each)
Use Docker Compose directly when:
- Production-like environment testing (custom orchestration)
- Complex multi-service setups beyond DDEV's scope
- CI/CD pipelines with specific container requirements
- You need fine-grained control over container configuration
Use plain Docker when:
- Running single isolated commands (e.g., one-off scripts)
- Building/publishing custom images
- Minimal overhead needed for simple tasks
TL;DR: DDEV = fast local development. Docker Compose = production-like or complex setups. Docker = single containers.
When to Use
- Setting up DDEV for a TYPO3 extension project
- Testing extension across multiple TYPO3 versions
- Quick development environment spin-up
Container Priority
Always check for existing containers first:
- Check
.ddev/exists → useddev exec - Check
docker-compose.ymlexists → usedocker compose exec - Only use system tools if no container environment
Critical: Use the project's configured PHP version, not system PHP.
Quick Start
scripts/validate-prerequisites.sh # Check Docker, DDEV
ddev start
ddev install-all # All versions (11/12/13/14)
ddev install-v13 # Single version
Post-Setup Verification
After setup, verify with ddev status (all running), then check backend URL and extension activation. See references/post-setup-verification.md for full verification commands and generated file structure.
Access URLs
| Environment | URL |
|---|---|
| TYPO3 v13 | https://v13.{sitename}.ddev.site/typo3/ |
| Docs | https://docs.{sitename}.ddev.site/ |
Credentials: admin / Joh316!!
Optional Commands
ddev generate-makefile # Creates make up/test/lint/ci
ddev generate-index # Overview dashboard
ddev docs # Render Documentation/*.rst
Troubleshooting
| Issue | Solution |
|---|---|
| Database exists | ddev mysql -e "DROP DATABASE v13; CREATE DATABASE v13;" |
| Extension not appearing | ddev exec -d /var/www/html/v13 vendor/bin/typo3 cache:flush |
References
| Topic | File |
|---|---|
| Post-setup verification | references/post-setup-verification.md |
| Prerequisites | references/prerequisites-validation.md |
| Quick start | references/quickstart.md |
| Advanced options | references/advanced-options.md |
| Landing page templates | references/index-page-generation.md |
| Windows fixes | references/windows-fixes.md |
| Troubleshooting | references/troubleshooting.md |
| PHP version management | references/0003-php-version-management.md |
Contributing: https://github.com/netresearch/typo3-ddev-skill
Source
git clone https://github.com/netresearch/typo3-ddev-skill/blob/main/skills/typo3-ddev/SKILL.mdView on GitHub Overview
Automates DDEV environment setup for TYPO3 extension development and multi-version testing across TYPO3 versions 11.5, 12.4, 13.4, and 14.0. Provides fast, standardized, isolated local environments suitable for teams.
How This Skill Works
Leverages DDEV to create per project containers and isolate TYPO3 work. It checks for existing containers by inspecting .ddev and docker-compose.yml before starting. It installs TYPO3 versions via ddev install-all or a specific version like ddev install-v13, ensuring the project PHP version remains aligned.
When to Use It
- Setting up a TYPO3 extension project with DDEV.
- Testing extensions across multiple TYPO3 versions (11.5/12.4/13.4/14.0).
- Onboarding new teammates with a consistent, ready-to-use local environment.
- Isolating multiple TYPO3 projects on a single host to avoid cross-project conflicts.
- Evaluating different TYPO3/PHP version combinations locally before deployment.
Quick Start
- Step 1: Run scripts/validate-prerequisites.sh to verify Docker and DDEV.
- Step 2: Run ddev start and ddev install-all to provision all TYPO3 versions (11/12/13/14).
- Step 3: If needed, install a single version with a command like ddev install-v13.
Best Practices
- Always check for existing containers before starting a new environment.
- Use the project specific PHP version instead of the system PHP.
- Leverage ddev install-all to provision all target TYPO3 versions.
- Isolate each TYPO3 project using its own DDEV configuration for clean environments.
- Validate prerequisites before spinning up environments and follow the quick-start steps.
Example Use Cases
- Spin up TYPO3 v11, v12, v13, and v14 environments for a single extension.
- Onboard a new teammate with a reproducible DDEV setup.
- Isolate two different TYPO3 projects on the same machine to prevent cross contamination.
- Debug extension activation by verifying ddev status and backend URL.
- Run tests across multiple TYPO3 versions locally before committing.