mcpField
D
ddev-expert

ddev-expert

github.com/edutrul開発7351 回インストール21 週間前に更新
リポジトリ

ddev-expert について

ddev-expertは、DDEV開発環境を管理するためのスキルリファレンスです。プロジェクト、データベース、デバッグ、Xdebug、カスタムサービスのコマンドと設定例を示し、Drupalを含むDDEV利用者を対象とします。

主な機能

  1. 01プロジェクトのライフサイクルコマンド
  2. 02DDEVの設定例
  3. 03データベースとコンテナのトラブル対応
  4. 04Mutagen同期の診断
  5. 05Xdebugの操作と設定
  6. 06カスタムサービスとコマンド

活用シーン

  1. 01DDEVプロジェクトの起動や再起動
  2. 02コンテナやデータベースの問題診断
  3. 03Mutagenのファイル同期確認
  4. 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 を参照してください。

コメント