ddev-expert について
ddev-expertは、DDEV開発環境を管理するためのスキルリファレンスです。プロジェクト、データベース、デバッグ、Xdebug、カスタムサービスのコマンドと設定例を示し、Drupalを含むDDEV利用者を対象とします。
主な機能
- 01プロジェクトのライフサイクルコマンド
- 02DDEVの設定例
- 03データベースとコンテナのトラブル対応
- 04Mutagen同期の診断
- 05Xdebugの操作と設定
- 06カスタムサービスとコマンド
活用シーン
- 01DDEVプロジェクトの起動や再起動
- 02コンテナやデータベースの問題診断
- 03Mutagenのファイル同期確認
- 04Xdebugやカスタムサービスの設定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ edutrul/ drupal-ai --skill ddev-expertインストール後、Claude Code で/ddev-expertを入力して読み込まれたか確認します。
同梱ファイルREADME.md
詳細
DDEV エキスパート
基本的なコマンド
# Project
ddev start | stop | restart | poweroff | delete
# Execute
ddev drush <cmd> | ddev composer <cmd> | ddev exec <cmd> | ddev ssh
# Database
ddev mysql | ddev export-db | ddev import-db --file=dump.sql
ddev snapshot | ddev restore
# Utilities
ddev describe # URLs and project info
ddev logs -f # Follow logs
ddev launch # Open in browser
ddev launch -m # Open Mailpit UI
設定(.ddev/config.yaml)
name: my-project
type: drupal # auto-detects version; or drupal11/drupal10
docroot: web
php_version: "8.3"
webserver_type: nginx-fpm
database:
type: mariadb
version: "10.11"
additional_hostnames:
- api.my-project.ddev.site
webimage_extra_packages: [php8.3-imagick]
mutagen_enabled: true # macOS/Windows performance
オーバーライド: .ddev/config.local.yaml(Git で無視される個人用設定)
PHP のオーバーライド: .ddev/php/*.ini
トラブルシューティング
ddev composer create-project が失敗する(「not allowed to be present」):
一時的に追加のディレクトリ(.claude/、.git/)を移動し、create-project を実行してから元に戻します。
ポートの競合:
ddev poweroff && sudo lsof -i :80
コンテナーの問題:
ddev restart
ddev debug refresh # Rebuild containers
ddev delete && ddev start # Nuclear option
データベース: ホストには(コンテナー内では)db、(コンテナー外では)127.0.0.1:PORT を指定します。ddev describe でポートを確認します。
権限: ddev exec chown -R $(id -u):$(id -g) .
Drush の PHP 非推奨警告 — .ddev/php/drush.ini を作成します:
[PHP]
error_reporting = 22527 ; E_ALL & ~E_DEPRECATED
display_errors = Off
log_errors = On
error_log = /tmp/php-errors.log
Docker Desktop の overlay2 I/O エラー — 通常の再起動では解決しません:
killall -9 Docker # then relaunch Docker Desktop
Docker のクラッシュ後に Mutagen の同期が停止する場合:
ddev poweroff && ddev start
# If still stuck:
ddev stop
~/.ddev/bin/mutagen daemon stop
~/.ddev/bin/mutagen daemon start
ddev mutagen reset && ddev start
ddev mutagen status -l # Detailed sync status
ddev mutagen monitor # Real-time progress
デバッグコマンド:
ddev debug capabilities | ddev debug router
ddev exec env
Xdebug
ddev xdebug on | off | status
.ddev/php/xdebug.ini:
[xdebug]
xdebug.mode=debug,develop,coverage
モード:debug(ステップ実行)、develop(強化されたエラー表示)、coverage、profile。
IDE の完全なセットアップについては README.md を参照してください(VS Code / PHPStorm)。
カスタムサービス
.ddev/docker-compose.<service>.yaml を追加します。一般的なパターン:
services:
redis:
image: redis:7-alpine
container_name: ddev-${DDEV_SITENAME}-redis
labels:
com.ddev.site-name: ${DDEV_SITENAME}
com.ddev.approot: $DDEV_APPROOT
expose:
- "6379"
Solr、Elasticsearch、Redis の完全な設定と Drupal の settings.php スニペットについては、README.md を参照してください。
カスタムコマンド
.ddev/commands/web/<name>(または host/、db/)を作成します:
#!/bin/bash
## Description: Full site refresh
## Usage: refresh
set -e
drush sql:drop -y && drush sql:cli < /var/www/html/reference.sql
drush config:import -y && drush updatedb -y && drush cache:rebuild
chmod +x を実行してから、ddev <name> として実行します。
パフォーマンス(macOS/Windows)
ddev config global --mutagen-enabled # Enable globally
ddev mutagen status | sync | reset
NFS、tmpfs、ファイル同期の除外パターンについては README.md を参照してください。