wordpress-agent-kit 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/.github/skills/blueprint/SKILL.md +418 -0
  2. package/.github/skills/wp-abilities-api/SKILL.md +12 -0
  3. package/.github/skills/wp-abilities-api/references/delegate-helper-pattern.md +241 -0
  4. package/.github/skills/wp-abilities-api/references/domain-vs-projection.md +113 -0
  5. package/.github/skills/wp-abilities-api/references/error-code-vocabulary.md +123 -0
  6. package/.github/skills/wp-abilities-api/references/grouping-heuristic.md +89 -0
  7. package/.github/skills/wp-abilities-api/references/input-schema-gotchas.md +265 -0
  8. package/.github/skills/wp-abilities-api/references/php-registration.md +47 -20
  9. package/.github/skills/wp-abilities-api/references/plugin-family-patterns.md +233 -0
  10. package/.github/skills/wp-abilities-api/references/shared-core-service.md +184 -0
  11. package/.github/skills/wp-abilities-audit/SKILL.md +199 -0
  12. package/.github/skills/wp-abilities-audit/references/audit-schema.md +300 -0
  13. package/.github/skills/wp-abilities-audit/references/capability-gate-tracing.md +197 -0
  14. package/.github/skills/wp-abilities-audit/references/controller-enumeration.md +116 -0
  15. package/.github/skills/wp-abilities-verify/SKILL.md +215 -0
  16. package/.github/skills/wp-abilities-verify/references/annotation-correctness.md +154 -0
  17. package/.github/skills/wp-abilities-verify/references/audit-schema-validation.md +131 -0
  18. package/.github/skills/wp-abilities-verify/references/permission-roundtrip.md +190 -0
  19. package/.github/skills/wp-abilities-verify/references/runtime-harness.md +462 -0
  20. package/.github/skills/wp-abilities-verify/references/schema-lints.md +118 -0
  21. package/.github/skills/wp-abilities-verify/references/static-enumeration.md +126 -0
  22. package/.github/skills/wp-playground/SKILL.md +132 -1
  23. package/.github/skills/wp-playground/references/e2e-playwright.md +115 -0
  24. package/.github/skills/wp-plugin-directory-guidelines/SKILL.md +133 -0
  25. package/.github/skills/wp-plugin-directory-guidelines/references/gpl-compliance.md +217 -0
  26. package/.github/skills/wp-plugin-directory-guidelines/references/guideline-review-checklist.md +592 -0
  27. package/.github/skills/wp-plugin-directory-guidelines/references/naming-rules.md +121 -0
  28. package/.github/skills/wp-project-triage/scripts/detect_wp_project.mjs +22 -4
  29. package/.github/skills/wp-wpengine/SKILL.md +127 -0
  30. package/README.md +14 -8
  31. package/dist/lib/api.js +43 -19
  32. package/dist/lib/installer.js +0 -2
  33. package/extensions/wp-agent-kit/index.ts +146 -324
  34. package/package.json +1 -1
  35. package/skills-custom/wp-wpengine/SKILL.md +127 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wordpress-agent-kit",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "WordPress-focused AGENTS.md + Agent Skills starter kit for AI coding agents.",
5
5
  "license": "GPL-2.0-or-later",
6
6
  "author": "Kyle Brodeur <kyle@brodeur.me> (https://brodeur.me)",
@@ -0,0 +1,127 @@
1
+ ---
2
+ name: wp-wpengine
3
+ description: "Optional: Use for WP Engine hosting workflows — SSH-based git push to WP Engine environments, managing installs/domains/cache/backups via the wpe-labs Claude Code skills, and WP Engine API access. Requires WPE_USERNAME and WPE_PASSWORD env vars."
4
+ license: GPL-2.0-or-later
5
+ optional: true
6
+ ---
7
+
8
+ # WP Engine
9
+
10
+ ## When to use
11
+
12
+ - Deploy WordPress code to a WP Engine environment via `git push`.
13
+ - Manage WP Engine installs, domains, cache, backups, or users through natural language.
14
+ - Generate monthly usage/bandwidth reports across WP Engine accounts.
15
+ - Manage LargeFS media offload configuration.
16
+
17
+ ## Prerequisites
18
+
19
+ - SSH key for WP Engine git push stored in 1Password (`Employee` vault, item `wpengine_ed25519`).
20
+ - WP Engine API credentials in 1Password (`Employee` vault, item `WP Engine API`).
21
+ - `op` CLI authenticated (`op whoami` works).
22
+ - The `wpe-labs` Claude Code skills installed (`~/.claude/skills/wpe-labs:*`).
23
+
24
+ ## Procedure
25
+
26
+ ### 1) First-time SSH setup on a new machine
27
+
28
+ Pull the private key from 1Password and configure SSH:
29
+
30
+ ```bash
31
+ op read "op://Employee/wpengine_ed25519/private key" > ~/.ssh/wpengine_ed25519
32
+ chmod 600 ~/.ssh/wpengine_ed25519
33
+ ssh-keyscan git.wpengine.com >> ~/.ssh/known_hosts
34
+ ```
35
+
36
+ Add to `~/.ssh/config` (before any `Host *` block):
37
+ ```
38
+ Host git.wpengine.com
39
+ User git
40
+ IdentityFile ~/.ssh/wpengine_ed25519
41
+ IdentitiesOnly yes
42
+ ```
43
+
44
+ Verify:
45
+ ```bash
46
+ ssh git@git.wpengine.com info
47
+ # Expected: hello <username> / R W <install-name>
48
+ ```
49
+
50
+ The public key is already registered on WP Engine — no portal action needed on new machines.
51
+
52
+ ### 2) Add a WP Engine git remote
53
+
54
+ Find the remote URL on the WP Engine portal: `https://my.wpengine.com/installs/<ENV>/git_push`
55
+
56
+ ```bash
57
+ git remote add wpengine git@git.wpengine.com:<install-name>.git
58
+ # Example for staging:
59
+ git remote add wpengine-staging git@git.wpengine.com:<install-name>stg.git
60
+ ```
61
+
62
+ ### 3) Deploy via git push
63
+
64
+ ```bash
65
+ git push wpengine main
66
+ ```
67
+
68
+ - WP Engine deploys the pushed branch automatically.
69
+ - Only the WordPress files are pushed (not `node_modules`, build artifacts, etc.).
70
+ - After push, WP Engine may take 1–2 min to propagate the deploy.
71
+
72
+ ### 4) wpe-labs skills (natural language management)
73
+
74
+ Load API credentials, then use any `/wpe-labs:*` skill:
75
+
76
+ ```bash
77
+ # Load credentials from 1Password for the session
78
+ eval $(op run --env-file ~/.config/op-ssh/.env.1pass -- env | grep ^WPE | sed 's/^/export /')
79
+ ```
80
+
81
+ Available skills:
82
+
83
+ | Skill | What it does | Risk |
84
+ |---|---|---|
85
+ | `/wpe-labs:account-usage` | Bandwidth, visits, storage across accounts | 🟢 Read-only |
86
+ | `/wpe-labs:monthly-report` | Client-ready monthly usage report | 🟢 Read-only |
87
+ | `/wpe-labs:backups` | On-demand backups + progress monitoring | 🟡 Write |
88
+ | `/wpe-labs:cache` | Purge object/page/CDN cache | 🟡 Write |
89
+ | `/wpe-labs:users` | List, invite, update roles, remove users | 🟡/🔴 |
90
+ | `/wpe-labs:domains` | Manage domains, DNS, SSL | 🟡/🔴 |
91
+ | `/wpe-labs:installs` | List, create, copy WordPress installs | 🟡/🔴 |
92
+ | `/wpe-labs:offload` | LargeFS media offload config | 🟡 Write |
93
+
94
+ Example prompts:
95
+ ```
96
+ /wpe-labs:account-usage which accounts are closest to their bandwidth limit?
97
+ /wpe-labs:cache purge all cache for uofdev production
98
+ /wpe-labs:backups back up uofdev production before deployment
99
+ /wpe-labs:installs copy uofdev production to staging
100
+ /wpe-labs:monthly-report last month
101
+ ```
102
+
103
+ ### 5) Re-installing wpe-labs skills
104
+
105
+ ```bash
106
+ curl -fsSL https://raw.githubusercontent.com/wpengine/wpe-labs-platform-skills/main/install.sh | bash
107
+ ```
108
+
109
+ ## Verification
110
+
111
+ - SSH: `ssh git@git.wpengine.com info` — should return `hello <username> / R W <install>`
112
+ - API: `op run --env-file ~/.config/op-ssh/.env.1pass -- bash -c 'curl -s -u "$WPE_USERNAME:$WPE_PASSWORD" https://api.wpengineapi.com/v1/user | jq .email'`
113
+
114
+ ## Failure modes
115
+
116
+ - **SSH: Host key verification failed** — re-run `ssh-keyscan git.wpengine.com >> ~/.ssh/known_hosts`
117
+ - **SSH: Permission denied** — confirm the key is at `~/.ssh/wpengine_ed25519` with `chmod 600`
118
+ - **git push rejected** — verify the remote URL matches the install name exactly
119
+ - **wpe-labs: 401 Unauthorized** — regenerate API credentials at `https://my.wpengine.com/api_access` and update the `WP Engine API` item in 1Password
120
+ - **wpe-labs: storage shows zero** — ask Claude to "refresh storage" (async recalculation, ~30–60s)
121
+
122
+ ## References
123
+
124
+ - WP Engine git push portal: `https://my.wpengine.com/installs/<ENV>/git_push`
125
+ - WP Engine API access: `https://my.wpengine.com/api_access`
126
+ - wpe-labs skills source: `https://github.com/wpengine/wpe-labs-platform-skills`
127
+ - SSH setup log (first machine): gist `602d6a16ddfea438c0611a8e5cc31d5e`