mcpField
W
wp-bootstrap

wp-bootstrap

github.com/kylebrodeur開発148 回インストール1 週間前に更新
リポジトリ

wp-bootstrap について

wp-bootstrapは、WordPressのプラグイン、テーマ、monorepoにwp-agent-kitのツール群を設定するスキルです。リポジトリ構成を調べ、開発、テスト、パッケージ化、WP Engineへのデプロイ設定を案内します。

主な機能

  1. 01リポジトリ構成の検出
  2. 02エージェントキットの導入
  3. 03PHP・JavaScriptツールの設定
  4. 04Playgroundテストとプラグインのパッケージ化
  5. 05GitHubのシークレットとデプロイ設定

活用シーン

  1. 01WordPressプラグインやテーマの新規設定
  2. 02既存リポジトリへのwp-agent-kit導入
  3. 03WordPress monorepoの設定
  4. 04WP EngineのCI/CDデプロイ準備

インストール

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

$npx skills add https://github.com/kylebrodeur/wordpress-agent-kit --skill wp-bootstrap

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

同梱ファイル

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

references/
composer-setup.md
monorepo-patterns.md
scripts/
bootstrap.sh
detect-structure.mjs
package-wp.sh
playground-start.sh
playground-verify.sh
pull-wpe-env.sh
setup-github.sh

詳細

WordPress プロジェクトブートストラッパー

1 つのコマンドで、WordPress プロジェクト(単一プラグイン、ブロックテーマ、または複数のパッケージを含むモノレポ)を wp-agent-kit システム全体に接続します。ローカルの Playground 開発、WP Engine デプロイ環境、Composer で管理する PHP 依存関係、CI ゲート、Git フックを設定します。

使用する場面

  • WordPress プラグイン、テーマ、ブロックテーマを新規にセットアップするとき。
  • 既存のコードベースをフルエージェントツールキットに対応させるとき。
  • wp-agent-os パターンのように、複数のプラグイン/テーマと JS パッケージを 1 つのリポジトリに含むモノレポを接続するとき:wpaos/ + wpaos-blocks/ + wpaos-theme/ + JS パッケージ。
  • WordPress プロジェクトに Composer(WPackagist + オプションの SatisPress)を追加するとき。
  • WP Engine の開発/ステージング/本番環境と GitHub Actions CI/CD を設定するとき。

設定される内容

コンポーネント内容場所
エージェントキットスキル、エージェント、指示.agents/skills/ + .github/
PHP ツールPHPCS + PHPStan + Pestcomposer.json + phpcs.xml.dist + phpstan.neon.dist
JS ツールBiome(リント+フォーマット)biome.json
Git フックプッシュ前ゲート.githooks/pre-push
ワンコマンドセットアップtools/setup.shtools/setup.sh
WP-CLI エイリアスローカルパス + WPE SSHwp-cli.yml
Playground複数マウントの対話型検証 + ヘッドレス検証tools/playground/
WP Engine CI/CDブランチ条件付きデプロイワークフロー.github/workflows/
プラグインのパッケージ化アップロード用のビルド + ziptools/package-wp.sh
ComposerWPackagist + オプションの SatisPresscomposer.json + auth.json
設定モノレポの構成宣言wp-bootstrap.config.json

手順

1) リポジトリを調査する(必ず最初に実行)

構成検出ツールを実行します。WP パッケージ、JS ワークスペース、既存のツール、WP Engine リモート、GitHub CLI の状態、既存のシークレット、ブランチ保護を特定します。

node {baseDir}/scripts/detect-structure.mjs --pretty

出力の主なフィールド:

フィールド内容
isMonorepo複数の WP パッケージまたは JS ワークスペース
wpPackages[]プラグイン/テーマのディレクトリ、スラッグ、バージョン
wpRootWP コアの場所(null = Playground のみ)
wpeRemotes[]既存の WP Engine Git リモート
php.hasPhpcsPHPCS がすでに設定されているか
js.hasBiomeBiome がすでに設定されているか
playground.hasPlaygroundPlayground のスクリプト/ブループリントがすでに存在するか
hasAgentKitwp-agent-kit がすでにインストールされているか
github.ghInstalledgh CLI が利用可能か
github.authenticatedgh auth status が成功するか
github.existingSecrets[]GitHub Actions のシークレットがすでに設定されているか
github.missingSecrets[]必須の WPE シークレットがまだ設定されていないか
github.branchProtectionブランチごとの保護状況

JSON 出力(スクリプト/CI で便利です):

node {baseDir}/scripts/detect-structure.mjs

参照:検出された構成を既知のパターンに照合するには、references/monorepo-patterns.md を読んでください。


2) 調査で判定できなかった内容を確認する

調査後、次の項目に不明な点があれば、作業を進める前にユーザーに確認してください。

質問確認するタイミング
WP Engine のインストールスラッグ(本番/ステージング/開発)wpeRemotes が空
WP ルートパス(または Playground のみか)wpRoot が null で、WP パッケージが見つかった場合
生成パッケージのビルドコマンド生成された *-blocks または *-theme パッケージがある場合
SatisPress の URL + API キーユーザーが管理対象のプレミアムプラグインを持つ場合
パッケージマネージャーの設定packageManager が null
モノレポのデプロイ戦略複数の WP パッケージがあり、WPE リモートがない場合
gh CLI がインストールされ、認証済みかgithub.ghInstalled と github.authenticated を確認

3) エージェントキットをインストールする
wp-agent-kit install . --platform github

または Pi の場合:

wp-agent-kit install . --platform pi

.agents/skills/、.github/agents/、.github/instructions/、AGENTS.md がインストールされます。


4) PHP ツールをセットアップする

php.hasComposer または php.hasPhpcs が false の場合:

# Create root composer.json (dev tooling — not shipped)
# See references/composer-setup.md for the full template
composer init --no-interaction
composer require --dev squizlabs/php_codesniffer wp-coding-standards/wpcs \
  phpcompatibility/phpcompatibility-wp dealerdirect/phpcodesniffer-composer-installer \
  szepeviktor/phpstan-wordpress

# Register WordPress standards
composer run register-standards

プラグイン単位のテスト(Pest)を設定するには、各プラグインディレクトリで次を実行します。

cd <plugin-dir>
composer require --dev pestphp/pest

参照:phpcs.xml.dist と phpstan.neon.dist のテンプレートについては、references/composer-setup.md を読んでください。


5) Composer リポジトリをセットアップする

WPackagist(無料、wordpress.org のプラグイン/テーマ向け):

composer config repositories.wpackagist composer https://wpackagist.org
composer require composer/installers

SatisPress(任意、有料プラグイン向け):

composer config repositories.satispress composer https://<your-satispress-site>/satispress/
composer config http-basic.<your-satispress-site> <API_KEY> satispress

認証情報の auth.json とセットアップの全容については、references/composer-setup.md をお読みください。


6) JS ツール(Biome)をセットアップする

js.hasBiome が false の場合:

npm install --save-dev @biomejs/biome
npx biome init

biome.json をプロジェクトのスタイルに合わせて更新します。参考として、wp-agent-os では以下を使用します。

  • indentStyle: "space"、indentWidth: 2(JS パッケージを含むモノレポ向け)
  • indentStyle: "tab"(wp-agent-kit 自体のような TS/JS のみのプロジェクト向け)
  • 除外対象:wpaos-blocks/、wpaos-theme/(生成物)、dist/、vendor/

7) git フックをセットアップする

.githooks/pre-push を作成します(Husky への依存はなく、すべてのセットアップで動作します)。

mkdir -p .githooks
# See ci-gate.md in wp-wpengine skill for the full template
cat > .githooks/pre-push << 'HOOK'
#!/usr/bin/env bash
set -uo pipefail
root="$(git rev-parse --show-toplevel)"
cd "$root"
bash .agents/skills/wp-bootstrap/scripts/ci-gate.sh || exit 1
HOOK
chmod +x .githooks/pre-push

# Activate
git config core.hooksPath .githooks

または、以下のすべてを処理するブートストラップスクリプトを実行します。

bash {baseDir}/scripts/bootstrap.sh

8) wp-cli.yml を作成する
# wp-cli.yml — WP-CLI targeting. Commit to repo.

# Local (if WP is in this repo)
# path: ./web     # Bedrock style
# path: .         # WP at root

@production:
  ssh: <install>@<install>.ssh.wpengine.net
  path: /home/wpe-user/sites/<install>

@staging:
  ssh: <install>stg@<install>stg.ssh.wpengine.net
  path: /home/wpe-user/sites/<install>stg

@development:
  ssh: <install>dev@<install>dev.ssh.wpengine.net
  path: /home/wpe-user/sites/<install>dev

9) WordPress Playground をセットアップする

すべてのローカルプラグイン/テーマをマウントして、インタラクティブな Playground を起動します。

bash {baseDir}/scripts/playground-start.sh

ヘッドレス検証(ブラウザーなし)を実行します。

bash {baseDir}/scripts/playground-verify.sh

ライブサイトにアップロードするプラグインをパッケージ化します。

bash {baseDir}/scripts/package-wp.sh

複数マウント構成については、references/monorepo-patterns.md をお読みください。


10) gh CLI で GitHub リポジトリをセットアップする

github.ghInstalled が true の場合、GitHub セットアップスクリプトを使用して以下を行います。

  • 認証とリポジトリへのアクセスを確認する
  • 必須シークレットのうち、すでに設定されているものを確認する
  • 未設定のシークレットを対話形式で設定する(SSH キー、既知のホスト、WPE インストールスラッグ、API 認証情報)
  • main、staging、develop のブランチ保護を設定する
# Check-only first (no changes)
bash {baseDir}/scripts/setup-github.sh --check-only

# Set missing secrets interactively
bash {baseDir}/scripts/setup-github.sh --set-secrets

# Configure branch protection
bash {baseDir}/scripts/setup-github.sh --set-protection

# Do everything at once
bash {baseDir}/scripts/setup-github.sh --set-all

# Pass WPE slugs to skip those prompts
bash {baseDir}/scripts/setup-github.sh --set-all \
  --wpe-prod=mysite --wpe-staging=mysitestg --wpe-dev=mysitedev

このスクリプトは ssh-keyscan を使用して WPE_SSH_KNOWN_HOSTS を自動的に処理し、~/.ssh/wpengine_ed25519 が存在する場合はそこから WPE_SSH_KEY を読み取ります(または 1Password 経由で op read を使用します)。

gh がインストールされていない場合:brew install gh(macOS)を実行するか、https://cli.github.com をご覧ください。 インストール後:gh auth login を実行してください。


11) WP Engine GitHub Actions CI/CD をセットアップする

wp-wpengine スキルをお読みください。

  • references/ci-gate.md — PHP と JS の並列ジョブによる CI ゲート、no-verify ポリシー
  • references/github-actions-deploy.md — dev/staging/production 向けデプロイワークフロー

必須の GitHub シークレット:

WPE_SSH_KEY              — private key for WP Engine SSH
WPE_SSH_KNOWN_HOSTS      — output of ssh-keyscan for git.wpengine.com
WPE_PROD_INSTALL         — production install slug
WPE_PROD_GIT_URL         — exact URL from WPE portal (git_push page)
WPE_STAGING_INSTALL / WPE_STAGING_GIT_URL
WPE_DEV_INSTALL / WPE_DEV_GIT_URL
WPE_API_USER / WPE_API_PASSWORD  — for pre-deploy DB backups

エージェントスクリプト

スクリプト目的使用方法
scripts/detect-structure.mjsリポジトリ構造と GitHub の状態を調査 → JSONnode {baseDir}/scripts/detect-structure.mjs [--pretty]
scripts/bootstrap.shワンコマンドでセットアップ(フック + PHP + JS 依存関係)bash {baseDir}/scripts/bootstrap.sh
scripts/setup-github.shgh を介して GitHub シークレットとブランチ保護を確認/設定bash {baseDir}/scripts/setup-github.sh [--set-all]
scripts/package-wp.shWP プラグイン/テーマをビルドして zip 化bash {baseDir}/scripts/package-wp.sh [--dry-run]
scripts/playground-start.shインタラクティブな Playground を起動bash {baseDir}/scripts/playground-start.sh
scripts/playground-verify.shヘッドレスの WP 検証bash {baseDir}/scripts/playground-verify.sh

参考資料

  • references/monorepo-patterns.md — WordPress モノレポの構造パターン
  • references/composer-setup.md — Composer、WPackagist、SatisPress のセットアップ
  • wp-wpengine スキル → references/ci-gate.md — PHP + JS の CI ゲート、no-verify ポリシー
  • wp-wpengine スキル → references/github-actions-deploy.md — デプロイワークフロー
  • wp-playground スキル — Playground CLI、ブループリント、PHPUnit、Playwright E2E
  • wp-phpstan スキル — WordPress 向け PHPStan 設定

コメント