agentsclimarketplace

Wp bootstrap

Skill kylebrodeur/wordpress-agent-kit/skills/wp-bootstrap

WordPress-focused AGENTS.md + Agent Skills starter kit for AI coding agents.

Install
npx -y skills add kylebrodeur/wordpress-agent-kit --skill wp-bootstrap

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Bootstrap a new or existing WordPress project with the full wp-agent-kit system: monorepo detection, Composer/WPackagist/SatisPress setup, Playground local dev, WP Engine dev/staging/production, CI gate, git hooks, and plugin packaging. Use when setting up a new WordPress project from scratch, onboarding an existing codebase, or wiring up a monorepo with multiple plugins/themes.

The file declares its own license as GPL-2.0-or-later. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

10.4 KB, as published. Nobody here has run it

WordPress Project Bootstrapper

One command to wire a WordPress project (single plugin, block theme, or monorepo with multiple packages) into the full wp-agent-kit system: local Playground dev, WP Engine deploy environments, Composer-managed PHP deps, CI gate, and git hooks.

When to use

  • Setting up a new WordPress plugin, theme, or block theme from scratch.
  • Onboarding an existing codebase to use the full agent toolkit.
  • Wiring up a monorepo (multiple plugins/themes + JS packages in one repo) — like the wp-agent-os pattern: wpaos/ + wpaos-blocks/ + wpaos-theme/ + JS packages.
  • Adding Composer (WPackagist + optional SatisPress) to a WordPress project.
  • Configuring WP Engine dev/staging/production + GitHub Actions CI/CD.

What gets set up

ComponentWhatWhere
Agent kitSkills, agents, instructions.agents/skills/ + .github/
PHP toolingPHPCS + PHPStan + Pestcomposer.json + phpcs.xml.dist + phpstan.neon.dist
JS toolingBiome (lint+format)biome.json
Git hooksPre-push gate.githooks/pre-push
One-command setuptools/setup.shtools/setup.sh
WP-CLI aliasesLocal path + WPE SSHwp-cli.yml
PlaygroundMulti-mount interactive + headless verifytools/playground/
WP Engine CI/CDBranch-gated deploy workflows.github/workflows/
Plugin packagingBuild + zip for uploadtools/package-wp.sh
ComposerWPackagist + optional SatisPresscomposer.json + auth.json
ConfigMonorepo layout declarationwp-bootstrap.config.json

Procedure

1) Probe the repository (always first)

Run the structure detector. It identifies WP packages, JS workspaces, existing tooling, WP Engine remotes, GitHub CLI status, existing secrets, and branch protection.

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

Key fields in the output:

FieldWhat it tells you
isMonorepoMultiple WP packages or JS workspaces
wpPackages[]Plugin/theme dirs, slugs, versions
wpRootWhere WP core lives (null = Playground-only)
wpeRemotes[]Existing WP Engine git remotes
php.hasPhpcsPHPCS already configured
js.hasBiomeBiome already configured
playground.hasPlaygroundPlayground scripts/blueprints already exist
hasAgentKitwp-agent-kit already installed
github.ghInstalledgh CLI available
github.authenticatedgh auth status passes
github.existingSecrets[]GitHub Actions secrets already set
github.missingSecrets[]Required WPE secrets not yet set
github.branchProtectionProtection status per branch

For JSON output (useful in scripts/CI):

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

Read: references/monorepo-patterns.md to match the detected structure to a known pattern.


2) Ask what the probe couldn't determine

If any of these are unknown after the probe, ask the user before proceeding:

QuestionWhen to ask
WP Engine install slugs (prod/staging/dev)?wpeRemotes is empty
WP root path (or Playground-only)?wpRoot is null AND WP packages found
Build command for generated packages?Has generated *-blocks or *-theme packages
SatisPress URL + API key?User has premium plugins to manage
Package manager preference?packageManager is null
Deploy strategy for monorepo?Multiple WP packages + no WPE remotes
Is gh CLI installed and authenticated?Check github.ghInstalled and github.authenticated

3) Install the agent kit

wp-agent-kit install . --platform github

Or for Pi:

wp-agent-kit install . --platform pi

This installs .agents/skills/, .github/agents/, .github/instructions/, and AGENTS.md.


4) Set up PHP tooling

If php.hasComposer is false or php.hasPhpcs is 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

For plugin-level tests (Pest), in each plugin directory:

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

Read: references/composer-setup.md for phpcs.xml.dist and phpstan.neon.dist templates.


5) Set up Composer repositories

WPackagist (free, for wordpress.org plugins/themes):

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

SatisPress (optional, for premium plugins):

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

Read: references/composer-setup.md for auth.json and full setup.


6) Set up JS tooling (Biome)

If js.hasBiome is false:

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

Update biome.json to match project style. Reference: wp-agent-os uses:

  • indentStyle: "space", indentWidth: 2 (for monorepos with JS packages)
  • indentStyle: "tab" (for TS/JS-only projects like wp-agent-kit itself)
  • Excludes: wpaos-blocks/, wpaos-theme/ (generated), dist/, vendor/

7) Set up git hooks

Create .githooks/pre-push (no Husky dependency — works in all setups):

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

Or run the bootstrap script which handles all of this:

bash {baseDir}/scripts/bootstrap.sh

8) Create 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) Set up WordPress Playground

Start interactive Playground with all local plugins/themes mounted:

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

Run headless verification (no browser):

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

Package plugins for upload to live sites:

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

Read: references/monorepo-patterns.md for multi-mount configurations.


10) Set up GitHub repo with gh CLI

If github.ghInstalled is true, use the GitHub setup script to:

  • Verify authentication and repo access
  • Check which required secrets are already set
  • Set missing secrets interactively (SSH key, known hosts, WPE install slugs, API credentials)
  • Configure branch protection for main, staging, and 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

The script handles WPE_SSH_KNOWN_HOSTS automatically via ssh-keyscan, and reads WPE_SSH_KEY from ~/.ssh/wpengine_ed25519 if present (or from 1Password via op read).

If gh is not installed: brew install gh (macOS) or see https://cli.github.com. After install: gh auth login.


11) Set up WP Engine GitHub Actions CI/CD

Read the wp-wpengine skill:

  • references/ci-gate.md — CI gate with PHP + JS parallel jobs, no-verify policy
  • references/github-actions-deploy.md — deploy workflows for dev/staging/production

Required GitHub Secrets:

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

Agent scripts

ScriptPurposeUsage
scripts/detect-structure.mjsProbe repo structure + GitHub status → JSONnode {baseDir}/scripts/detect-structure.mjs [--pretty]
scripts/bootstrap.shOne-command setup (hooks + PHP + JS deps)bash {baseDir}/scripts/bootstrap.sh
scripts/setup-github.shCheck/set GitHub secrets + branch protection via ghbash {baseDir}/scripts/setup-github.sh [--set-all]
scripts/package-wp.shBuild + zip WP plugins/themesbash {baseDir}/scripts/package-wp.sh [--dry-run]
scripts/playground-start.shStart interactive Playgroundbash {baseDir}/scripts/playground-start.sh
scripts/playground-verify.shHeadless WP verificationbash {baseDir}/scripts/playground-verify.sh

References

  • references/monorepo-patterns.md — WordPress monorepo structure patterns
  • references/composer-setup.md — Composer, WPackagist, SatisPress setup
  • wp-wpengine skill → references/ci-gate.md — PHP + JS CI gates, no-verify policy
  • wp-wpengine skill → references/github-actions-deploy.md — deploy workflows
  • wp-playground skill — Playground CLI, blueprints, PHPUnit, Playwright E2E
  • wp-phpstan skill — PHPStan configuration for WordPress

Gives 0 of the 12 instructions most project setup skills give

Counted across 999 of the 1,637 authors here whose files we hold, read 2026-08-06

  • ask one question at a timein 29 of 999, across 28 files
  • detect the package manager from lockfilesin 28 of 999, across 9 files
  • present findings to the userin 25 of 999, across 4 files
  • explore current repo statein 24 of 999, across 3 files
  • update the agent skills block in place if it existsin 24 of 999, across 3 files
  • install husky lint-staged and prettierin 23 of 999, across 4 files
  • create the lintstagedrc filein 22 of 999, across 3 files
  • commit all changed filesin 22 of 999, across 3 files
  • run lint-staged to verify it worksin 22 of 999, across 3 files
  • initialize huskyin 21 of 999, across 2 files
  • create the husky pre-commit filein 21 of 999, across 2 files
  • create a prettierrc file if missingin 21 of 999, across 2 files

Said here and by no other author read

  • run the structure detector first
  • ask the user about missing configuration
  • install the agent kit
  • set up PHP tooling
  • configure Composer repositories
  • set up JS tooling

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.