wp-bootstrap について
wp-bootstrapは、WordPressのプラグイン、テーマ、monorepoにwp-agent-kitのツール群を設定するスキルです。リポジトリ構成を調べ、開発、テスト、パッケージ化、WP Engineへのデプロイ設定を案内します。
主な機能
- 01リポジトリ構成の検出
- 02エージェントキットの導入
- 03PHP・JavaScriptツールの設定
- 04Playgroundテストとプラグインのパッケージ化
- 05GitHubのシークレットとデプロイ設定
活用シーン
- 01WordPressプラグインやテーマの新規設定
- 02既存リポジトリへのwp-agent-kit導入
- 03WordPress monorepoの設定
- 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.mdmonorepo-patterns.mdscripts/bootstrap.shdetect-structure.mjspackage-wp.shplayground-start.shplayground-verify.shpull-wpe-env.shsetup-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 + Pest | composer.json + phpcs.xml.dist + phpstan.neon.dist |
| JS ツール | Biome(リント+フォーマット) | biome.json |
| Git フック | プッシュ前ゲート | .githooks/pre-push |
| ワンコマンドセットアップ | tools/setup.sh | tools/setup.sh |
| WP-CLI エイリアス | ローカルパス + WPE SSH | wp-cli.yml |
| Playground | 複数マウントの対話型検証 + ヘッドレス検証 | tools/playground/ |
| WP Engine CI/CD | ブランチ条件付きデプロイワークフロー | .github/workflows/ |
| プラグインのパッケージ化 | アップロード用のビルド + zip | tools/package-wp.sh |
| Composer | WPackagist + オプションの SatisPress | composer.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[] | プラグイン/テーマのディレクトリ、スラッグ、バージョン |
wpRoot | WP コアの場所(null = Playground のみ) |
wpeRemotes[] | 既存の WP Engine Git リモート |
php.hasPhpcs | PHPCS がすでに設定されているか |
js.hasBiome | Biome がすでに設定されているか |
playground.hasPlayground | Playground のスクリプト/ブループリントがすでに存在するか |
hasAgentKit | wp-agent-kit がすでにインストールされているか |
github.ghInstalled | gh CLI が利用可能か |
github.authenticated | gh 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 の状態を調査 → JSON | node {baseDir}/scripts/detect-structure.mjs [--pretty] |
scripts/bootstrap.sh | ワンコマンドでセットアップ(フック + PHP + JS 依存関係) | bash {baseDir}/scripts/bootstrap.sh |
scripts/setup-github.sh | gh を介して GitHub シークレットとブランチ保護を確認/設定 | bash {baseDir}/scripts/setup-github.sh [--set-all] |
scripts/package-wp.sh | WP プラグイン/テーマをビルドして 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 E2Ewp-phpstanスキル — WordPress 向け PHPStan 設定