mcpField
W
warden-dev

warden-dev

github.com/wardenenvクラウド・DevOps175 回インストール15 週間前に更新
リポジトリ

warden-dev について

Wardenを操作するためのスキルです。Wardenはdocker-composeのローカルラッパーで、PHPアプリケーション環境の設定やコンテナ管理に加え、DNS、リバースプロキシ、Webメール、データベース、各種サービスの操作を扱います。

主な機能

  1. 01環境の初期化と管理
  2. 02Compose設定の生成と確認
  3. 03DNS、プロキシ、メールの管理
  4. 04データベースのインポート、エクスポート、アップグレード
  5. 05コンテナシェルとデバッグ
  6. 06RedisとValkeyへのアクセス

活用シーン

  1. 01ローカルPHPプロジェクト環境の構築
  2. 02プロジェクトコンテナの起動や確認
  3. 03プロジェクトデータベースのインポートやエクスポート
  4. 04Xdebugを使ったPHPコンテナのデバッグ

インストール

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

$npx skills add https://github.com/wardenenv/ai-skills --skill warden-dev

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

examples/
workflows.md
references/
commands.md
env-variables.md
environments.md
global-services.md
troubleshooting.md
scripts/
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 configdocker-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 connectMySQL に対話形式で接続warden db connect
warden db importSQL ダンプをインポート以下のパターンを参照
warden db dumpデータベースをエクスポートwarden db dump > backup.sql
warden db upgradeMariaDB/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 shellPHP-FPM コンテナーのシェル(デフォルト:bash)
warden debugXdebug が有効なシェル(デバッグに使用)
warden blackfireBlackfire プロファイラー:warden blackfire run php script.php
warden spxPHP SPX プロファイラー

重要: Xdebug を使ってデバッグする場合は、warden shell ではなく warden debug を使用してください。

サービス管理

コマンド目的
warden svc up -dグローバルサービスを起動
warden svc downグローバルサービスを停止
warden svc psグローバルサービスを一覧表示
warden status実行中の環境を一覧表示

ファイル同期(macOS)

コマンド目的
warden sync startMutagen 同期を開始
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_VERSIONPHP バージョン(7.4、8.1~8.4)
WARDEN_DB、WARDEN_REDIS などサービスの有効・無効(1/0)
MYSQL_DISTRIBUTION_VERSIONMariaDB/MySQL のバージョン

サービス名の対応

.env 変数コンテナー名
WARDEN_DB=1db
WARDEN_REDIS=1redis
WARDEN_OPENSEARCH=1opensearch
WARDEN_ELASTICSEARCH=1elasticsearch
WARDEN_VARNISH=1varnish
WARDEN_RABBITMQ=1rabbitmq
WARDEN_NGINX=1nginx
PHP_VERSIONphp-fpm、php-debug

グローバルサービスと URL

デフォルトのドメイン:warden.test。~/.warden/.env(WARDEN_SERVICE_DOMAIN)で設定します。

サービスURL
Traefik ダッシュボードhttps://traefik.warden.test
Web メール(Mailpit)https://webmail.warden.test
Portainerhttps://portainer.warden.test
phpMyAdminhttps://phpmyadmin.warden.test

メール(Mailpit): SMTP の設定は不要です。Warden は sendmail の送信先を Mailpit にします。すべてのメールは https://webmail.warden.test で確認できます。

フレームワークとの互換性

「Magento 2.4.8 の要件に合わせる」というリクエストの場合:

  1. 公式ドキュメントでシステム要件を検索します
  2. .env に対応付けます:PHP → PHP_VERSION、DB → MYSQL_DISTRIBUTION_VERSION など
  3. 一致するバージョンで .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 – ワークフローの例

コメント