mcpField
D
drupal-tooling

drupal-tooling

github.com/omedia開発2867 回インストール53 週間前に更新
リポジトリ

drupal-tooling について

drupal-tooling は、Drupal 開発者向けに DDEV のローカル環境と Drush のコマンドライン操作を案内します。Drupal 8 から 11+ までを対象に、データベース、設定、デプロイ、コード生成、トラブルシューティングを扱います。

主な機能

  1. 01DDEV ローカル環境の管理
  2. 02Drush によるサイトとキャッシュの管理
  3. 03データベースのインポート、エクスポート、移行
  4. 04設定同期とデプロイの実行
  5. 05モジュール、コントローラー、フォームの生成
  6. 06環境とコマンドラインの問題解決

活用シーン

  1. 01Drupal プロジェクトとローカル環境の初期設定
  2. 02開発環境へのデータベースのインポート
  3. 03設定変更のデプロイとデータベース更新
  4. 04サイトの性能やコンテナの問題の調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/omedia/drupal-skill --skill drupal-tooling

インストール後、Claude Code で/drupal-toolingを入力して読み込まれたか確認します。

同梱ファイルreferences/ddev.mdreferences/drush.md

詳細

Drupal 開発ツール

概要

DDEV の Docker ベースのローカル開発環境と、Drupal 8、9、10、11+ 向けの Drush コマンドライン操作に関する包括的なガイダンスにより、エキスパートレベルの Drupal 開発ツールの機能を利用できるようにします。

このスキルを使用する場面

次の作業を行う際にこのスキルを呼び出します:

  • DDEV の操作: ローカル開発環境の起動、管理、設定
  • Drush コマンド: サイト管理、設定、キャッシュ操作
  • データベース管理: インポート/エクスポート、スナップショット、マイグレーション
  • デプロイのワークフロー: 設定の同期、データベースの更新
  • 開発環境のセットアップ: プロジェクトの初期化、環境の設定
  • トラブルシューティング: 環境またはコマンドラインの問題のデバッグ

主な機能

1. DDEV によるローカル開発

Docker ベースのローカル Drupal 環境を効率的に管理します:

プロジェクトの初期化:

# Initialize new Drupal project
ddev config --project-type=drupal10 --docroot=web --create-docroot

# Start containers
ddev start

# Install Drupal via Composer
ddev composer create drupal/recommended-project

# Install Drupal site
ddev drush site:install standard --account-name=admin --account-pass=admin

日々の操作:

# Start/stop project
ddev start
ddev stop
ddev restart

# SSH into container
ddev ssh

# Launch site in browser
ddev launch

# View logs
ddev logs
ddev logs -f  # Follow logs

データベース操作:

# Import database
ddev import-db --src=database.sql.gz

# Export database
ddev export-db --file=backup.sql.gz --gzip

# Create snapshot
ddev snapshot

# Restore snapshot
ddev snapshot restore

# Access MySQL CLI
ddev mysql

参照ドキュメント:

  • references/ddev.md - DDEV の完全なリファレンス
2. Drush によるコマンドライン管理

サイト管理タスクを効率的に実行します:

キャッシュ管理:

# Rebuild cache (most common)
ddev drush cr

# Clear specific cache
ddev drush cache:clear css-js
ddev drush cache:clear render

設定管理:

# Export configuration
ddev drush config:export
ddev drush cex

# Import configuration
ddev drush config:import
ddev drush cim

# View configuration
ddev drush config:get system.site
ddev drush cget system.site

# Set configuration
ddev drush config:set system.site name "My Site"
ddev drush cset system.site name "My Site"

モジュール管理:

# Enable module
ddev drush pm:enable mymodule -y
ddev drush en mymodule -y

# Uninstall module
ddev drush pm:uninstall mymodule -y
ddev drush pmu mymodule -y

# List modules
ddev drush pm:list
ddev drush pml

# Download module
ddev drush pm:download webform

データベースの更新:

# Run pending database updates
ddev drush updatedb -y
ddev drush updb -y

ユーザー管理:

# One-time login URL
ddev drush user:login
ddev drush uli

# Login as specific user
ddev drush uli admin

# Create user
ddev drush user:create newuser --mail="[email protected]" --password="pass"

# Change password
ddev drush user:password admin "newpassword"

参照ドキュメント:

  • references/drush.md - Drush の完全なリファレンス
3. 開発ワークフロー

一般的な開発およびデプロイのワークフロー:

標準的なデプロイ:

# Run database updates
ddev drush updb -y

# Import configuration
ddev drush cim -y

# Clear cache
ddev drush cr

# One-liner version
ddev drush updb -y && ddev drush cim -y && ddev drush cr

新規サイトのセットアップ:

# Clone repository
git clone <repo> myproject
cd myproject

# Start DDEV
ddev start

# Install dependencies
ddev composer install

# Import database and files
ddev import-db --src=database.sql.gz
ddev import-files --src=files.tar.gz

# Clear cache
ddev drush cr

# Launch site
ddev launch

テーマ/モジュールの開発:

# Start work
ddev start

# Clear cache frequently
ddev drush cr

# Watch for changes (if using build tools)
ddev exec npm run watch

# View logs
ddev drush watchdog:tail
4. コード生成

Drush ジェネレーターを使用してコードをスキャフォールドします:

# Generate module
ddev drush generate module

# Generate controller
ddev drush generate controller

# Generate form
ddev drush generate form

# Generate plugin block
ddev drush generate plugin:block

# Generate service
ddev drush generate service

# Generate theme
ddev drush generate theme

# Generate hook
ddev drush generate hook

# List all generators
ddev drush generate --help
5. デバッグとトラブルシューティング

Drupal サイトをデバッグおよび監視します:

Xdebug を有効化:

# Enable Xdebug
ddev xdebug on

# Disable Xdebug (improves performance)
ddev xdebug off

# Check status
ddev xdebug status

ログを表示:

# Recent watchdog messages
ddev drush watchdog:show

# Follow watchdog logs
ddev drush watchdog:tail

# Container logs
ddev logs -s web
ddev logs -s db

プロジェクト情報:

# Show project details
ddev describe

# Drupal status
ddev drush status
ddev drush st

# List all DDEV projects
ddev list

ベストプラクティス

DDEV のベストプラクティス
  1. DDEV 経由でツールを実行: 常に ddev drush、ddev composer、ddev npm を使用します
  2. スナップショット: リスクの高い操作の前に作成します
  3. パフォーマンス: ファイル同期を改善するために Mutagen (Mac) または NFS を有効にします
  4. Xdebug: デバッグ時のみ有効にします
  5. バージョン管理: 設定を共有するために .ddev/config.yaml をコミットします
  6. クリーンなシャットダウン: システムをシャットダウンする前に ddev stop を使用します
Drush のベストプラクティス
  1. エイリアス: 短いエイリアス (cr、cex、cim、uli) を使用します
  2. 自動化: 確認をスキップするために -y フラグを追加します
  3. カスタムコマンド: 繰り返しのタスク用に作成します
  4. サイトエイリアス: マルチ環境管理のために設定します
  5. チェーン: 連続した操作には && を使用します
  6. エラー処理: スクリプトで終了コードを確認します
デプロイのベストプラクティス
  1. 順序: 設定のインポート (cim) の前に更新 (updb) を実行します
  2. テスト: デプロイのワークフローをまずステージングでテストします
  3. バックアップ: 大きな変更の前に必ずバックアップします
  4. ロールバック計画: 変更を元に戻す方法を用意します
  5. 監視: デプロイ後にログを確認します

一般的な操作

既存のプロジェクトで DDEV を初期化
cd existing-project

# Configure DDEV
ddev config

# Start containers
ddev start

# Install dependencies
ddev composer install

# Import database (if available)
ddev import-db --src=backup.sql.gz

# Clear cache
ddev drush cr
リモート環境からプル
# Configure Drush alias for remote site
# Then pull database and files
ddev pull @production

# Or pull separately
ddev drush sql:sync @production @self
ddev rsync @production:%files @self:%files
Drupal コアの更新
# Backup first
ddev snapshot

# Update with Composer
ddev composer update drupal/core "drupal/core-*" --with-all-dependencies

# Run database updates
ddev drush updb -y

# Clear cache
ddev drush cr
開発設定を有効化
# Copy development settings
cp sites/example.settings.local.php sites/default/settings.local.php

# Disable CSS/JS aggregation via Drush
ddev drush config:set system.performance css.preprocess 0 -y
ddev drush config:set system.performance js.preprocess 0 -y

# Enable Twig debugging
# Edit sites/default/services.yml:
# twig.config:
#   debug: true
#   auto_reload: true
#   cache: false

# Clear cache
ddev drush cr

トラブルシューティング

DDEV の問題

コンテナが起動しない:

# Check Docker is running
docker ps

# Restart DDEV
ddev restart

# Power off and restart
ddev poweroff
ddev start

# Clean restart
ddev restart --clean

ポートの競合:

# Check what's using ports
ddev describe

# Change ports in .ddev/config.yaml:
# router_http_port: "8080"
# router_https_port: "8443"

# Restart
ddev restart

パーミッションの問題:

# Fix file permissions
ddev exec chmod -R 755 web/sites/default/files
ddev exec chown -R www-data:www-data web/sites/default/files
Drush の問題

Drush が見つからない:

# Always run through DDEV
ddev drush status

# Not just: drush status

設定の同期の失敗:

# Check for overridden configuration
ddev drush config:status

# Force import
ddev drush cim -y --partial

# Check specific config
ddev drush config:get system.site

データベース更新の失敗:

# Run with verbose output
ddev drush updb -v

# Check specific module updates
ddev drush updatedb:status

# Check logs
ddev drush watchdog:show

パフォーマンスの最適化

DDEV のパフォーマンス (Mac)

Mutagen を有効化:

# In .ddev/config.yaml
ddev config --mutagen-enabled

# Restart
ddev restart

NFS を有効化:

# In .ddev/config.yaml
ddev config --nfs-mount-enabled

# Restart
ddev restart
Drush のパフォーマンス

デバッグ時以外は Xdebug を無効化:

ddev xdebug off

エイリアスの代わりに特定のコマンドを使用:

# Faster (loads less)
ddev drush cache:rebuild

# vs
ddev drush cr

リソース

リファレンスドキュメント
  • references/ddev.md - DDEV の完全リファレンス

    • プロジェクトの初期化と設定
    • データベースとファイルの操作
    • アドオンとサービス(Redis、Elasticsearch など)
    • パフォーマンスの最適化
    • トラブルシューティング
  • references/drush.md - Drush の完全リファレンス

    • キャッシュ管理コマンド
    • 設定管理
    • モジュールとテーマの操作
    • データベース操作
    • ユーザー管理
    • カスタムコマンドの開発
リファレンスの検索
# Find DDEV command
grep -r "ddev snapshot" references/

# Find Drush command
grep -r "config:import" references/

# Find deployment info
grep -r "deployment" references/

一般的なユースケース

ローカル開発環境のセットアップ
  1. プロジェクトをクローン: git clone <repo>
  2. DDEV を設定: ddev config
  3. 起動: ddev start
  4. 依存関係をインストール: ddev composer install
  5. DB をインポート: ddev import-db --src=db.sql.gz
  6. キャッシュをクリア: ddev drush cr
  7. 起動: ddev launch
設定変更のデプロイ
  1. 設定をエクスポート: ddev drush cex -y
  2. git にコミット: git add config/ && git commit
  3. プッシュ: git push
  4. サーバー上で: drush cim -y && drush cr
パフォーマンス問題のデバッグ
  1. Xdebug を有効化: ddev xdebug on
  2. IDE でブレークポイントを設定
  3. リクエストをトリガー: ddev launch
  4. コードをステップ実行
  5. Xdebug を無効化: ddev xdebug off

バージョン互換性

DDEV のバージョン
  • DDEV v1.21+ 推奨
  • すべての Drupal バージョン(8〜11+)をサポート
  • 更新コマンド: brew upgrade ddev(Mac)または同等のプラットフォームコマンド
Drush のバージョン
  • Drupal 8.4+ には Drush 10+
  • Drupal 9.0+ には Drush 11+
  • Drupal 10.0+ には Drush 12+
  • Composer 経由でインストール(プロジェクトごと)

関連項目

コメント