drupal-tooling について
drupal-tooling は、Drupal 開発者向けに DDEV のローカル環境と Drush のコマンドライン操作を案内します。Drupal 8 から 11+ までを対象に、データベース、設定、デプロイ、コード生成、トラブルシューティングを扱います。
主な機能
- 01DDEV ローカル環境の管理
- 02Drush によるサイトとキャッシュの管理
- 03データベースのインポート、エクスポート、移行
- 04設定同期とデプロイの実行
- 05モジュール、コントローラー、フォームの生成
- 06環境とコマンドラインの問題解決
活用シーン
- 01Drupal プロジェクトとローカル環境の初期設定
- 02開発環境へのデータベースのインポート
- 03設定変更のデプロイとデータベース更新
- 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 のベストプラクティス
- DDEV 経由でツールを実行: 常に
ddev drush、ddev composer、ddev npmを使用します - スナップショット: リスクの高い操作の前に作成します
- パフォーマンス: ファイル同期を改善するために Mutagen (Mac) または NFS を有効にします
- Xdebug: デバッグ時のみ有効にします
- バージョン管理: 設定を共有するために
.ddev/config.yamlをコミットします - クリーンなシャットダウン: システムをシャットダウンする前に
ddev stopを使用します
Drush のベストプラクティス
- エイリアス: 短いエイリアス (
cr、cex、cim、uli) を使用します - 自動化: 確認をスキップするために
-yフラグを追加します - カスタムコマンド: 繰り返しのタスク用に作成します
- サイトエイリアス: マルチ環境管理のために設定します
- チェーン: 連続した操作には
&&を使用します - エラー処理: スクリプトで終了コードを確認します
デプロイのベストプラクティス
- 順序: 設定のインポート (
cim) の前に更新 (updb) を実行します - テスト: デプロイのワークフローをまずステージングでテストします
- バックアップ: 大きな変更の前に必ずバックアップします
- ロールバック計画: 変更を元に戻す方法を用意します
- 監視: デプロイ後にログを確認します
一般的な操作
既存のプロジェクトで 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/
一般的なユースケース
ローカル開発環境のセットアップ
- プロジェクトをクローン:
git clone <repo> - DDEV を設定:
ddev config - 起動:
ddev start - 依存関係をインストール:
ddev composer install - DB をインポート:
ddev import-db --src=db.sql.gz - キャッシュをクリア:
ddev drush cr - 起動:
ddev launch
設定変更のデプロイ
- 設定をエクスポート:
ddev drush cex -y - git にコミット:
git add config/ && git commit - プッシュ:
git push - サーバー上で:
drush cim -y && drush cr
パフォーマンス問題のデバッグ
- Xdebug を有効化:
ddev xdebug on - IDE でブレークポイントを設定
- リクエストをトリガー:
ddev launch - コードをステップ実行
- 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 経由でインストール(プロジェクトごと)
関連項目
- drupal-frontend - テーマ開発と Twig テンプレート
- drupal-backend - モジュール開発と API
- DDEV ドキュメント - DDEV 公式ドキュメント
- Drush ドキュメント - Drush 公式ドキュメント
- DDEV Discord - コミュニティサポート