warden-dev について
Wardenを操作するためのスキルです。Wardenはdocker-composeのローカルラッパーで、PHPアプリケーション環境の設定やコンテナ管理に加え、DNS、リバースプロキシ、Webメール、データベース、各種サービスの操作を扱います。
主な機能
- 01環境の初期化と管理
- 02Compose設定の生成と確認
- 03DNS、プロキシ、メールの管理
- 04データベースのインポート、エクスポート、アップグレード
- 05コンテナシェルとデバッグ
- 06RedisとValkeyへのアクセス
活用シーン
- 01ローカルPHPプロジェクト環境の構築
- 02プロジェクトコンテナの起動や確認
- 03プロジェクトデータベースのインポートやエクスポート
- 04Xdebugを使ったPHPコンテナのデバッグ
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ wardenenv/ ai-skills --skill warden-devインストール後、Claude Code で/warden-devを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
examples/workflows.mdreferences/commands.mdenv-variables.mdenvironments.mdglobal-services.mdtroubleshooting.mdscripts/calculate-version.js詳細
Warden Agent Skill
Warden は docker-compose 用のローカルラッパーで、DNS(dnsmasq)、リバースプロキシ(Traefik)、Web メール(Mailpit)を自動化します。プロジェクトの .env に基づいて、一時的な docker-compose.yml を生成します。warden env config でプレビューできます。
クイックスタート
warden env-init myproject magento2 # Initialize project
warden svc up -d # Start global services (Traefik, DNS, Mailpit)
warden env up -d # Start project containers
warden shell # Interactive shell in php-fpm
環境のライフサイクル
| コマンド | 目的 | 例 |
|---|---|---|
warden env-init | 新しいプロジェクトを初期化 | warden env-init mystore magento2 |
warden env up | 環境を起動 | warden env up -d |
warden env down | 環境を停止 | warden env down |
warden env config | docker-compose をプレビュー | warden env config |
warden env ps | コンテナーを一覧表示 | warden env ps |
warden env pull | イメージを取得 | warden env pull |
warden env logs -f nginx | ログを追跡 | warden env logs -f nginx |
warden env exec php-fpm bash | コンテナー内でコマンドを実行 | warden env exec php-fpm bash |
データベース操作
| コマンド | 目的 | 例 |
|---|---|---|
warden db connect | MySQL に対話形式で接続 | warden db connect |
warden db import | SQL ダンプをインポート | 以下のパターンを参照 |
warden db dump | データベースをエクスポート | warden db dump > backup.sql |
warden db upgrade | MariaDB/MySQL をアップグレード | warden db upgrade |
インポートのパターン(大きなダンプではこちらを推奨):
pv dump.sql.gz | gzip -d | warden db import
gzip -dc dump.sql.gz | warden db import
warden db import < database.sql
シェルへのアクセス
| コマンド | 目的 |
|---|---|
warden shell | PHP-FPM コンテナーのシェル(デフォルト:bash) |
warden debug | Xdebug が有効なシェル(デバッグに使用) |
warden blackfire | Blackfire プロファイラー:warden blackfire run php script.php |
warden spx | PHP SPX プロファイラー |
重要: Xdebug を使ってデバッグする場合は、warden shell ではなく warden debug を使用してください。
サービス管理
| コマンド | 目的 |
|---|---|
warden svc up -d | グローバルサービスを起動 |
warden svc down | グローバルサービスを停止 |
warden svc ps | グローバルサービスを一覧表示 |
warden status | 実行中の環境を一覧表示 |
ファイル同期(macOS)
| コマンド | 目的 |
|---|---|
warden sync start | Mutagen 同期を開始 |
warden sync monitor | 同期状態を監視 |
warden sync flush | 同期をフラッシュ |
warden sync reset | 同期をリセット |
Redis / Valkey
warden redis # Interactive Redis CLI
warden redis FLUSHALL # Execute command
warden valkey # Valkey (Redis alternative)
環境タイプ
対応環境:magento2、magento1、laravel、symfony、wordpress、drupal、shopware、cakephp、local。references/environments.md を参照してください。
主な .env 変数
プロジェクトの .env でサービスとバージョンを制御します。詳細は references/env-variables.md を参照してください。
| 変数 | 説明 |
|---|---|
WARDEN_ENV_NAME | プロジェクトの一意な識別子 |
WARDEN_ENV_TYPE | 環境タイプ |
TRAEFIK_DOMAIN | ベースドメイン(デフォルト:{name}.test) |
PHP_VERSION | PHP バージョン(7.4、8.1~8.4) |
WARDEN_DB、WARDEN_REDIS など | サービスの有効・無効(1/0) |
MYSQL_DISTRIBUTION_VERSION | MariaDB/MySQL のバージョン |
サービス名の対応
| .env 変数 | コンテナー名 |
|---|---|
WARDEN_DB=1 | db |
WARDEN_REDIS=1 | redis |
WARDEN_OPENSEARCH=1 | opensearch |
WARDEN_ELASTICSEARCH=1 | elasticsearch |
WARDEN_VARNISH=1 | varnish |
WARDEN_RABBITMQ=1 | rabbitmq |
WARDEN_NGINX=1 | nginx |
PHP_VERSION | php-fpm、php-debug |
グローバルサービスと URL
デフォルトのドメイン:warden.test。~/.warden/.env(WARDEN_SERVICE_DOMAIN)で設定します。
| サービス | URL |
|---|---|
| Traefik ダッシュボード | https://traefik.warden.test |
| Web メール(Mailpit) | https://webmail.warden.test |
| Portainer | https://portainer.warden.test |
| phpMyAdmin | https://phpmyadmin.warden.test |
メール(Mailpit): SMTP の設定は不要です。Warden は sendmail の送信先を Mailpit にします。すべてのメールは https://webmail.warden.test で確認できます。
フレームワークとの互換性
「Magento 2.4.8 の要件に合わせる」というリクエストの場合:
- 公式ドキュメントでシステム要件を検索します
.envに対応付けます:PHP →PHP_VERSION、DB →MYSQL_DISTRIBUTION_VERSIONなど- 一致するバージョンで
.envを更新します
エージェントの動作例
サービス一覧を生成する: .env を読み込み、WARDEN_* 変数をサービスのステータスに対応付けて、表(サービス | ステータス | バージョン)を出力します。
PHP が実行中か確認する: warden env ps を実行し、php-fpm、php-debug、php-blackfire を確認します。
サイトが読み込まれない場合のトラブルシューティング: warden svc ps → warden env ps → ping app.{project}.test → warden env logs nginx
Xdebug が動作しない場合: warden debug を使用し、IDE のサーバー名が {project}-docker、ポートが 9003 であることと、XDEBUG_SESSION Cookie を確認します。
参考資料
references/commands.md– コマンドの完全なリファレンスreferences/environments.md– 環境の種類references/env-variables.md– .env 変数のリファレンスreferences/global-services.md– サービスの URL と設定references/troubleshooting.md– よくある問題と解決方法examples/workflows.md– ワークフローの例