claude-plugin-wordpress-manager 1.4.0 → 1.7.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 (81) hide show
  1. package/.claude-plugin/plugin.json +7 -3
  2. package/CHANGELOG.md +111 -0
  3. package/README.md +10 -3
  4. package/agents/wp-accessibility-auditor.md +206 -0
  5. package/agents/wp-content-strategist.md +18 -0
  6. package/agents/wp-deployment-engineer.md +34 -2
  7. package/agents/wp-performance-optimizer.md +12 -0
  8. package/agents/wp-security-auditor.md +20 -0
  9. package/agents/wp-security-hardener.md +266 -0
  10. package/agents/wp-site-manager.md +14 -0
  11. package/agents/wp-test-engineer.md +207 -0
  12. package/docs/GUIDE.md +68 -15
  13. package/docs/guides/INDEX.md +46 -0
  14. package/docs/guides/wp-blog.md +590 -0
  15. package/docs/guides/wp-design-system.md +976 -0
  16. package/docs/guides/wp-ecommerce.md +786 -0
  17. package/docs/guides/wp-landing-page.md +762 -0
  18. package/docs/guides/wp-portfolio.md +713 -0
  19. package/docs/plans/2026-02-27-design-system-guide-design.md +30 -0
  20. package/docs/plans/2026-02-27-local-dev-tools-assessment.md +332 -0
  21. package/docs/plans/2026-02-27-local-env-design.md +179 -0
  22. package/docs/plans/2026-02-27-site-type-guides-design.md +44 -0
  23. package/package.json +7 -3
  24. package/skills/wordpress-router/SKILL.md +25 -5
  25. package/skills/wordpress-router/references/decision-tree.md +59 -3
  26. package/skills/wp-accessibility/SKILL.md +170 -0
  27. package/skills/wp-accessibility/references/a11y-audit-tools.md +248 -0
  28. package/skills/wp-accessibility/references/a11y-testing.md +222 -0
  29. package/skills/wp-accessibility/references/block-a11y.md +247 -0
  30. package/skills/wp-accessibility/references/interactive-a11y.md +272 -0
  31. package/skills/wp-accessibility/references/media-a11y.md +254 -0
  32. package/skills/wp-accessibility/references/theme-a11y.md +309 -0
  33. package/skills/wp-audit/SKILL.md +4 -0
  34. package/skills/wp-block-development/SKILL.md +5 -0
  35. package/skills/wp-block-themes/SKILL.md +4 -0
  36. package/skills/wp-deploy/SKILL.md +12 -0
  37. package/skills/wp-e2e-testing/SKILL.md +186 -0
  38. package/skills/wp-e2e-testing/references/ci-integration.md +174 -0
  39. package/skills/wp-e2e-testing/references/jest-wordpress.md +114 -0
  40. package/skills/wp-e2e-testing/references/phpunit-wordpress.md +141 -0
  41. package/skills/wp-e2e-testing/references/playwright-wordpress.md +108 -0
  42. package/skills/wp-e2e-testing/references/test-data-generation.md +127 -0
  43. package/skills/wp-e2e-testing/references/visual-regression.md +107 -0
  44. package/skills/wp-e2e-testing/references/wp-env-setup.md +97 -0
  45. package/skills/wp-e2e-testing/scripts/test_inspect.mjs +375 -0
  46. package/skills/wp-headless/SKILL.md +168 -0
  47. package/skills/wp-headless/references/api-layer-choice.md +160 -0
  48. package/skills/wp-headless/references/cors-config.md +245 -0
  49. package/skills/wp-headless/references/frontend-integration.md +331 -0
  50. package/skills/wp-headless/references/headless-auth.md +286 -0
  51. package/skills/wp-headless/references/webhooks.md +277 -0
  52. package/skills/wp-headless/references/wpgraphql.md +331 -0
  53. package/skills/wp-headless/scripts/headless_inspect.mjs +321 -0
  54. package/skills/wp-i18n/SKILL.md +170 -0
  55. package/skills/wp-i18n/references/js-i18n.md +201 -0
  56. package/skills/wp-i18n/references/multilingual-setup.md +219 -0
  57. package/skills/wp-i18n/references/php-i18n.md +196 -0
  58. package/skills/wp-i18n/references/rtl-support.md +206 -0
  59. package/skills/wp-i18n/references/translation-workflow.md +178 -0
  60. package/skills/wp-i18n/references/wpcli-i18n.md +177 -0
  61. package/skills/wp-i18n/scripts/i18n_inspect.mjs +330 -0
  62. package/skills/wp-interactivity-api/SKILL.md +4 -0
  63. package/skills/wp-local-env/SKILL.md +233 -0
  64. package/skills/wp-local-env/references/localwp-adapter.md +156 -0
  65. package/skills/wp-local-env/references/mcp-adapter-setup.md +153 -0
  66. package/skills/wp-local-env/references/studio-adapter.md +127 -0
  67. package/skills/wp-local-env/references/wpenv-adapter.md +121 -0
  68. package/skills/wp-local-env/scripts/detect_local_env.mjs +404 -0
  69. package/skills/wp-playground/SKILL.md +13 -1
  70. package/skills/wp-plugin-development/SKILL.md +6 -0
  71. package/skills/wp-rest-api/SKILL.md +4 -0
  72. package/skills/wp-security/SKILL.md +179 -0
  73. package/skills/wp-security/references/api-restriction.md +147 -0
  74. package/skills/wp-security/references/authentication-hardening.md +105 -0
  75. package/skills/wp-security/references/filesystem-hardening.md +105 -0
  76. package/skills/wp-security/references/http-headers.md +105 -0
  77. package/skills/wp-security/references/incident-response.md +144 -0
  78. package/skills/wp-security/references/user-capabilities.md +115 -0
  79. package/skills/wp-security/references/wp-config-security.md +129 -0
  80. package/skills/wp-security/scripts/security_inspect.mjs +393 -0
  81. package/skills/wp-wpcli-and-ops/SKILL.md +6 -0
@@ -0,0 +1,30 @@
1
+ # Design: Guida WordPress Design System — Da Token a Pixel
2
+
3
+ **Data:** 2026-02-27
4
+ **Stato:** Approvato
5
+
6
+ ## Obiettivo
7
+
8
+ Guida concettuale + pratica che unifica le 4 skill UI del plugin (wpds, wp-block-themes, wp-block-development, wp-interactivity-api) sotto il paradigma design-as-data. Colma il gap tra skill operative mostrando la catena completa da design token a pixel renderizzato.
9
+
10
+ ## Posizione
11
+
12
+ `docs/guides/wp-design-system.md`
13
+
14
+ ## Struttura (8 sezioni)
15
+
16
+ 1. Paradigma Design-as-Data
17
+ 2. Strato 1: Design Tokens
18
+ 3. Strato 2: theme.json come compilatore
19
+ 4. Strato 3: Blocchi Core come componenti UI
20
+ 5. Strato 4: Patterns come pagine prefabbricate
21
+ 6. Strato 5: Blocchi Custom con WPDS (@wordpress/components)
22
+ 7. Strato 6: Interattivita (Interactivity API)
23
+ 8. Mappa Skill del Plugin
24
+
25
+ ## Decisioni
26
+
27
+ - Approccio A (guida unificata) scelto
28
+ - Ogni sezione: concetto + schema ASCII + esempio dal blog Developer Journal
29
+ - Audience: sia utente Claude Code sia sviluppatore WordPress
30
+ - ~700-800 righe stimate
@@ -0,0 +1,332 @@
1
+ # Assessment: Integrazione WordPress Studio + LocalWP
2
+
3
+ **Data**: 2026-02-27
4
+ **Versione plugin**: 1.4.0
5
+ **Stato**: Approccio A approvato — design doc in `2026-02-27-local-env-design.md`
6
+
7
+ ---
8
+
9
+ ## 1. Contesto
10
+
11
+ Il plugin wordpress-manager v1.4.0 copre sviluppo (13 skill) e operazioni (5 skill + 5 agent + 2 MCP server) su siti WordPress remoti e sandbox effimeri (Playground). Manca un layer per **ambienti locali persistenti** — il gap critico tra "scrivo codice" e "lo testo/deploy".
12
+
13
+ WordPress Studio (by Automattic) e LocalWP (by WP Engine) sono i due strumenti principali per sviluppo WordPress locale. Questo assessment analizza le superfici di integrazione, i workflow tipici, e propone tre approcci architetturali.
14
+
15
+ ---
16
+
17
+ ## 2. Gap Analysis — Plugin attuale
18
+
19
+ ### Cosa il plugin GIA copre
20
+
21
+ | Area | Copertura |
22
+ |------|-----------|
23
+ | Sviluppo codice WP | 13 skill (blocchi, temi, plugin, REST, PHPStan, Interactivity API...) |
24
+ | Operazioni siti remoti | 5 skill + 5 agent + 2 MCP server (Hostinger + WP REST Bridge) |
25
+ | Sandbox effimeri | `wp-playground` (WASM, @wp-playground/cli) |
26
+ | Routing intelligente | `wordpress-router` + decision tree v2 |
27
+
28
+ ### Gap identificati
29
+
30
+ | Gap | Dettaglio |
31
+ |-----|-----------|
32
+ | **Ambiente locale persistente** | Nessuna skill gestisce siti locali permanenti (non effimeri come Playground) |
33
+ | **Discovery siti locali** | Non esiste detection di Studio (`~/Studio/`, CLI `studio`) o LocalWP (`~/Local Sites/`, `sites.json`) |
34
+ | **WP-CLI locale** | La skill `wp-wpcli-and-ops` assume WP-CLI disponibile ma non sa come invocarlo via `studio wp` o i binari bundled di LocalWP |
35
+ | **Ciclo dev completo** | Manca: scaffold progetto -> sviluppo locale -> test -> deploy (il deploy c'e, ma parte dal codice, non dall'ambiente locale) |
36
+ | **MCP Adapter** | WordPress 6.9 ha il plugin MCP Adapter (STDIO + HTTP) — non integrato |
37
+ | **Studio MCP Server** | Automattic pubblica un MCP server per Studio — non integrato |
38
+ | **Database locale** | Nessun supporto per SQLite (Studio) o MySQL socket (LocalWP) |
39
+
40
+ ---
41
+
42
+ ## 3. WordPress Studio — Superficie di integrazione
43
+
44
+ ### Architettura interna
45
+
46
+ - **Runtime**: Electron + WASM (PHP compilato in WebAssembly)
47
+ - **Database**: SQLite (file: `wp-content/database/.ht.sqlite`)
48
+ - **Web server**: Nessuno (WASM serve direttamente)
49
+ - **Porte**: Da 8881 in su (sequenziali)
50
+ - **Storage siti**: `~/Studio/<nome-sito>/`
51
+ - **Config app**: `~/.config/WordPressStudio/` (Linux)
52
+
53
+ ### Punti di integrazione
54
+
55
+ | Punto | Metodo | Automazione possibile |
56
+ |-------|--------|----------------------|
57
+ | **Studio CLI** | `studio site create/start/stop/list/delete` | Ciclo di vita siti completo |
58
+ | **WP-CLI via Studio** | `studio wp <comando> --path=<sito>` | Tutto WP-CLI, senza installare WP-CLI |
59
+ | **REST API** | `http://localhost:888x/wp-json/` | CRUD contenuti, plugin, temi |
60
+ | **SQLite diretto** | `sqlite3 wp-content/database/.ht.sqlite` | Query raw, bulk ops |
61
+ | **Filesystem** | `~/Studio/<sito>/wp-content/` | Sviluppo tema/plugin, symlink |
62
+ | **Studio MCP Server** | `wordpress-agent-skills/studio-mcp/` (Node.js) | AI agent site management |
63
+ | **MCP Adapter plugin** | `studio wp mcp-adapter serve` (STDIO) | WordPress 6.9+ come MCP server |
64
+ | **Preview API** | `studio preview create/update/delete` | Deploy temporaneo su WordPress.com |
65
+
66
+ ### Punti di forza
67
+
68
+ - CLI v2 eccellente, completamente scriptabile
69
+ - MCP ecosystem maturo (Studio MCP + MCP Adapter + WordPress.com MCP)
70
+ - Setup in secondi, risorse minime
71
+ - Integrazione nativa con WordPress.com per preview/deploy
72
+ - Symlink workflow per multi-site testing
73
+
74
+ ### Limitazioni
75
+
76
+ - No multisite
77
+ - No Xdebug nativo
78
+ - SQLite incompatibile con alcuni plugin complessi (WooCommerce)
79
+ - No estensioni PHP native (solo quelle compilate in WASM)
80
+ - Linux: richiede build da source
81
+
82
+ ---
83
+
84
+ ## 4. LocalWP — Superficie di integrazione
85
+
86
+ ### Architettura interna
87
+
88
+ - **Runtime**: Electron + Lightning Stack (processi nativi OS)
89
+ - **Web server**: NGINX o Apache (selezionabile per sito)
90
+ - **PHP**: PHP-FPM nativo (versioni multiple bundled: 7.4 - 8.3)
91
+ - **Database**: MySQL/MariaDB nativo (credenziali default: root/root, db: local)
92
+ - **Porte**: Da 10000+ (incrementali: HTTP, HTTPS, MySQL)
93
+ - **Storage siti**: `~/Local Sites/<nome-sito>/app/public/`
94
+ - **Config siti**: `~/.config/Local/sites.json` (Linux)
95
+ - **Binari**: `~/.config/Local/lightning-services/{php,mysql,nginx,wp-cli}-*/`
96
+
97
+ ### Punti di integrazione
98
+
99
+ | Punto | Metodo | Automazione possibile |
100
+ |-------|--------|----------------------|
101
+ | **Site Discovery** | Parse `~/.config/Local/sites.json` | Scoperta automatica siti, porte, versioni |
102
+ | **WP-CLI** | Binario bundled `wp-cli-*/bin/wp --path=` | Tutto WP-CLI (richiede MySQL attivo) |
103
+ | **REST API** | `http://<nome>.local/wp-json/` o `http://127.0.0.1:<porta>/wp-json/` | CRUD completo |
104
+ | **MySQL diretto** | Socket `~/.config/Local/run/<id>/mysql/mysqld.sock` o TCP | Query, export, import |
105
+ | **Filesystem** | `~/Local Sites/<nome>/app/public/wp-content/` | Sviluppo tema/plugin, symlink |
106
+ | **Logs** | `~/Local Sites/<nome>/logs/{nginx,php,mysql}/` | Debug, monitoring |
107
+ | **Blueprints** | `~/.config/Local/blueprints/` | Template siti riutilizzabili |
108
+ | **MCP Adapter** | `wp mcp-adapter serve --path=<root>` (STDIO) | WordPress 6.9+ come MCP server |
109
+ | **Live Links** | GUI only (ngrok-like) | Non automabile direttamente |
110
+
111
+ ### Punti di forza
112
+
113
+ - Production parity completa (MySQL, PHP nativo, NGINX/Apache)
114
+ - Multisite supportato
115
+ - Xdebug + VS Code (add-on)
116
+ - MailHog per email testing
117
+ - Ecosystem add-on esteso
118
+ - Pacchetti Linux ufficiali (.deb/.rpm)
119
+
120
+ ### Limitazioni
121
+
122
+ - **No CLI ufficiale** — solo GUI + "Open Site Shell"
123
+ - Automazione richiede parsing `sites.json` + PATH setup per binari interni
124
+ - Setup piu lento (minuti vs secondi)
125
+ - Risorse pesanti (processi nativi multipli per sito)
126
+ - No MCP server dedicato (solo MCP Adapter generico)
127
+ - Live Links solo da GUI
128
+
129
+ ---
130
+
131
+ ## 5. Confronto decisionale
132
+
133
+ | Criterio | WordPress Studio | LocalWP | Vincitore per plugin |
134
+ |----------|-----------------|---------|---------------------|
135
+ | **CLI automation** | Eccellente (`studio` CLI v2) | Assente (solo binari interni) | Studio |
136
+ | **MCP ecosystem** | Studio MCP Server + MCP Adapter | Solo MCP Adapter (generico) | Studio |
137
+ | **Production parity** | Bassa (SQLite, WASM PHP) | Alta (MySQL, PHP nativo, NGINX) | LocalWP |
138
+ | **WooCommerce dev** | Fragile (SQLite compat issues) | Completo | LocalWP |
139
+ | **Multisite** | Non supportato | Supportato | LocalWP |
140
+ | **Xdebug** | Non disponibile | Supportato (add-on) | LocalWP |
141
+ | **Setup speed** | Secondi | Minuti | Studio |
142
+ | **Risorse sistema** | Leggero (~100MB) | Pesante (multi-processo) | Studio |
143
+ | **Email testing** | Non disponibile | MailHog integrato | LocalWP |
144
+ | **Linux support** | Build da source | Pacchetti .deb/.rpm | LocalWP |
145
+ | **Preview/share** | `studio preview` (WordPress.com) | Live Links (GUI) | Studio |
146
+ | **Symbiosi con plugin** | Forte (stesso ecosystem Automattic) | Moderata (parsing richiesto) | Studio |
147
+
148
+ **Sintesi**: Studio vince per automazione e leggerezza. LocalWP vince per fedelta all'ambiente di produzione.
149
+
150
+ ---
151
+
152
+ ## 6. Workflow tipici mappati
153
+
154
+ ### Comandi concreti per tool
155
+
156
+ | Workflow | WordPress Studio | LocalWP |
157
+ |----------|-----------------|---------|
158
+ | **Crea sito** | `studio site create --path ~/Studio/test` | GUI -> New Site (no CLI) |
159
+ | **Scaffold tema** | `studio wp scaffold theme mytheme` | `wp scaffold theme mytheme --path=~/Local\ Sites/test/app/public` |
160
+ | **Scaffold blocco** | `studio wp scaffold block myblock --plugin=myplugin` | (stesso via wp-cli bundled) |
161
+ | **Installa plugin** | `studio wp plugin install woocommerce --activate` | (stesso via wp-cli bundled) |
162
+ | **Test PHP version** | `studio site set --php-version=8.2` | GUI -> Site Settings -> PHP Version |
163
+ | **Export DB** | `studio wp db export backup.sql` | (stesso via wp-cli bundled) |
164
+ | **Import contenuti** | `studio wp import content.xml --authors=create` | (stesso via wp-cli bundled) |
165
+ | **Preview sharing** | `studio preview create` | Live Links (GUI only) |
166
+ | **Debug PHP** | `studio wp eval 'error_log("test");'` | Xdebug + VS Code (add-on) |
167
+ | **Deploy a produzione** | Locale -> `wp-deploy` skill (esistente) | Locale -> `wp-deploy` skill (esistente) |
168
+
169
+ ### Workflow completo: Sviluppo Block Theme
170
+
171
+ ```
172
+ 1. Crea sito locale studio site create / LocalWP GUI
173
+ 2. Scaffold tema wp scaffold theme / npx create-block-theme
174
+ 3. Sviluppa in editor VS Code + symlink wp-content/themes/
175
+ 4. Testa nel browser localhost:8881 / mysite.local
176
+ 5. Test PHP versions studio site set --php / LocalWP settings
177
+ 6. PHPStan analisi wp-phpstan skill (esistente)
178
+ 7. Preview condivisa studio preview / Live Links
179
+ 8. Deploy wp-deploy skill (esistente)
180
+ ```
181
+
182
+ ### Workflow completo: Sviluppo Plugin con Gutenberg Block
183
+
184
+ ```
185
+ 1. Crea sito locale studio site create / LocalWP GUI
186
+ 2. Scaffold plugin wp scaffold plugin myplugin
187
+ 3. Scaffold blocco npx @wordpress/create-block@latest
188
+ 4. Dev con hot reload npm start (wp-scripts)
189
+ 5. Unit test npm test / phpunit
190
+ 6. PHPStan wp-phpstan skill (esistente)
191
+ 7. Build produzione npm run build
192
+ 8. Deploy wp-deploy skill (esistente)
193
+ ```
194
+
195
+ ---
196
+
197
+ ## 7. Tre approcci architetturali
198
+
199
+ ### Approccio A: "Local Environment Abstraction Layer"
200
+
201
+ Un layer di astrazione unificato che rileva automaticamente Studio, LocalWP, o wp-env e espone un'interfaccia comune.
202
+
203
+ ```
204
+ ┌──────────────────────────┐
205
+ │ wordpress-router │
206
+ │ (decision tree v3) │
207
+ └─────────┬────────────────┘
208
+
209
+ ┌─────────▼────────────────┐
210
+ │ wp-local-env (NUOVA) │
211
+ │ Detection + Abstraction │
212
+ └─────────┬────────────────┘
213
+ ┌────────┼────────┐
214
+ ┌────▼──┐ ┌──▼───┐ ┌──▼────┐
215
+ │Studio │ │Local │ │wp-env │
216
+ │adapter│ │adapter│ │adapter│
217
+ └───────┘ └──────┘ └───────┘
218
+ ```
219
+
220
+ **Nuovi componenti**:
221
+ - 1 skill: `wp-local-env` (detection, lifecycle, unified API)
222
+ - 1 script detection: `detect_local_env.mjs` (trova Studio/LocalWP/wp-env)
223
+ - 3 adapter sections in SKILL.md (Studio CLI, LocalWP sites.json, wp-env)
224
+ - Aggiornamento router decision tree -> v3
225
+ - Opzionale: integrazione Studio MCP Server in `.mcp.json`
226
+
227
+ **Pro**: Massima flessibilita, futuro-proof, un solo workflow per l'utente.
228
+ **Contro**: Complessita di implementazione alta, 3 adapter da documentare.
229
+
230
+ **Effort stimato**: ~v1.5.0 (major feature)
231
+
232
+ ### Approccio B: "Studio-First con fallback LocalWP"
233
+
234
+ Focus su Studio (CLI eccellente, MCP server Automattic), con detection passiva di LocalWP.
235
+
236
+ ```
237
+ ┌─────────────────────┐
238
+ │ wp-local-dev (NUOVA)│
239
+ │ Studio-first │
240
+ └─────────┬───────────┘
241
+ ┌────────┼────────┐
242
+ ┌────▼──────┐ ┌────▼──────┐
243
+ │Studio CLI │ │LocalWP │
244
+ │(primario) │ │(discovery)│
245
+ └───────────┘ └───────────┘
246
+ ```
247
+
248
+ **Nuovi componenti**:
249
+ - 1 skill: `wp-local-dev` (focalizzata su Studio, con sezione LocalWP)
250
+ - 1 script: `detect_local_env.mjs`
251
+ - Integrazione `.mcp.json` con Studio MCP Server (disabled by default)
252
+ - Aggiornamento router v3
253
+
254
+ **Pro**: Piu semplice, Studio ha la migliore superficie CLI per automazione.
255
+ **Contro**: Utenti LocalWP hanno esperienza di seconda classe.
256
+
257
+ **Effort stimato**: ~v1.5.0 (medium feature)
258
+
259
+ ### Approccio C: "Workflow Skills" (per tipo di attivita)
260
+
261
+ Skill separate per workflow tipico, ognuna con istruzioni specifiche per ogni tool.
262
+
263
+ ```
264
+ ┌───────────────┐ ┌──────────────┐ ┌───────────────┐
265
+ │wp-local-theme │ │wp-local-plugin│ │wp-local-test │
266
+ │ development │ │ development │ │ & debug │
267
+ └───────┬───────┘ └──────┬───────┘ └───────┬───────┘
268
+ │ │ │
269
+ Istruzioni per: Istruzioni per: Istruzioni per:
270
+ - Studio - Studio - Studio
271
+ - LocalWP - LocalWP - LocalWP
272
+ - wp-env - wp-env - wp-env
273
+ ```
274
+
275
+ **Nuovi componenti**:
276
+ - 3+ skill workflow-based
277
+ - 1 script detection condiviso
278
+ - Nessun adapter layer
279
+
280
+ **Pro**: Ogni skill e self-contained, facile da capire.
281
+ **Contro**: Duplicazione istruzioni, manutenzione difficile.
282
+
283
+ **Effort stimato**: ~v1.5.0 (medium feature, ma manutenzione alta)
284
+
285
+ ---
286
+
287
+ ## 8. Integrazione MCP proposta
288
+
289
+ ### Opzione 1: Studio MCP Server (Automattic)
290
+
291
+ ```json
292
+ {
293
+ "studio-mcp": {
294
+ "command": "node",
295
+ "args": ["<path-to>/wordpress-agent-skills/studio-mcp/dist/index.js"],
296
+ "disabled": true
297
+ }
298
+ }
299
+ ```
300
+
301
+ ### Opzione 2: MCP Adapter Plugin (WordPress 6.9+, per qualsiasi sito locale)
302
+
303
+ ```json
304
+ {
305
+ "wp-local-mcp": {
306
+ "command": "studio",
307
+ "args": ["wp", "mcp-adapter", "serve", "--server=mcp-adapter-default-server", "--user=admin", "--path=<site>"],
308
+ "disabled": true
309
+ }
310
+ }
311
+ ```
312
+
313
+ ### Opzione 3: wp-rest-bridge esistente puntato a localhost
314
+
315
+ Il `wp-rest-bridge` MCP server gia presente nel plugin puo gia connettersi a siti locali configurando `WP_SITES_CONFIG` con URL `http://localhost:8881` e Application Password locale.
316
+
317
+ ---
318
+
319
+ ## 9. Raccomandazione
320
+
321
+ **Approccio A** e il piu robusto e futuro-proof.
322
+ **Approccio B** e il miglior compromesso effort/valore — Studio ha la CLI migliore e l'ecosistema MCP piu maturo.
323
+ **Approccio C** e il piu semplice da iniziare ma scala male.
324
+
325
+ La decisione dipende da:
326
+ - Se l'utente usa prevalentemente Studio -> Approccio B
327
+ - Se deve supportare team con tool diversi -> Approccio A
328
+ - Se vuole partire veloce e iterare -> Approccio C
329
+
330
+ ---
331
+
332
+ *Assessment generato il 2026-02-27 per wordpress-manager v1.4.0*
@@ -0,0 +1,179 @@
1
+ # Design: wp-local-env — Local Environment Abstraction Layer
2
+
3
+ **Data**: 2026-02-27
4
+ **Approccio**: A (Abstraction Layer)
5
+ **Target version**: 1.5.0
6
+ **Stato**: Implementato
7
+ **Stato**: Approvato
8
+
9
+ ---
10
+
11
+ ## 1. Nuova skill `wp-local-env`
12
+
13
+ ### Directory structure
14
+
15
+ ```
16
+ skills/wp-local-env/
17
+ ├── SKILL.md
18
+ ├── references/
19
+ │ ├── studio-adapter.md
20
+ │ ├── localwp-adapter.md
21
+ │ ├── wpenv-adapter.md
22
+ │ └── mcp-adapter-setup.md
23
+ └── scripts/
24
+ └── detect_local_env.mjs
25
+ ```
26
+
27
+ ### Detection script output schema
28
+
29
+ ```json
30
+ {
31
+ "environments": [
32
+ {
33
+ "tool": "studio|localwp|wpenv",
34
+ "version": "string",
35
+ "cli": "path or null",
36
+ "sites": [
37
+ {
38
+ "name": "string",
39
+ "path": "string",
40
+ "url": "string",
41
+ "port": "number|null",
42
+ "status": "running|stopped|unknown",
43
+ "php": "string",
44
+ "wp": "string|null",
45
+ "db": "sqlite|mysql",
46
+ "webServer": "wasm|nginx|apache|null"
47
+ }
48
+ ]
49
+ }
50
+ ],
51
+ "recommended": "studio|localwp|wpenv|null",
52
+ "wpCli": {
53
+ "studio": "studio wp --path=<site>",
54
+ "localwp": "<wp-cli-bin> --path=<site>",
55
+ "wpenv": "npx wp-env run cli wp"
56
+ }
57
+ }
58
+ ```
59
+
60
+ ### Unified operations
61
+
62
+ | Operation | Studio | LocalWP | wp-env |
63
+ |-----------|--------|---------|--------|
64
+ | Create site | `studio site create --path X` | Manual (GUI) + doc | `npx wp-env start` |
65
+ | Start site | `studio site start --path X` | Manual (GUI) | `npx wp-env start` |
66
+ | Stop site | `studio site stop --path X` | Manual (GUI) | `npx wp-env stop` |
67
+ | WP-CLI | `studio wp <cmd> --path=X` | `<wp-cli-bin> --path=X` | `npx wp-env run cli wp <cmd>` |
68
+ | REST API | `localhost:888x/wp-json/` | `localhost:<port>/wp-json/` | `localhost:8888/wp-json/` |
69
+ | Symlink plugin | `ln -s src ~/Studio/X/wp-content/plugins/` | `ln -s src ~/Local Sites/X/app/public/wp-content/plugins/` | `.wp-env.json` mapping |
70
+ | DB export | `studio wp db export` | `wp db export` (bundled) | `npx wp-env run cli wp db export` |
71
+
72
+ ---
73
+
74
+ ## 2. Router Decision Tree v3
75
+
76
+ ### New Step 0
77
+
78
+ ```
79
+ Step 0: determine task category
80
+ ├── Development (modifying code) → Step 1 (triage)
81
+ ├── Operations (managing live sites) → Step 2b (ops routing)
82
+ └── Local Environment (NEW) → Step 2c (local routing)
83
+ ```
84
+
85
+ ### New Step 2c keywords
86
+
87
+ ```
88
+ local site, local dev, studio, localwp, local wp, create local,
89
+ test locally, local environment, spin up, setup dev environment,
90
+ preview locally, wp-env, dev server
91
+ ```
92
+
93
+ ### Step 2c routing
94
+
95
+ - Create/setup local site → wp-local-env (create workflow)
96
+ - List/discover local sites → wp-local-env (detect_local_env.mjs)
97
+ - Start/stop/delete local site → wp-local-env (lifecycle)
98
+ - Scaffold + develop locally → wp-local-env + development skill
99
+ - Test locally / switch PHP / debug → wp-local-env (testing)
100
+ - Preview/share local site → wp-local-env (preview)
101
+ - Deploy from local to remote → wp-local-env (source) + wp-deploy (target)
102
+
103
+ ---
104
+
105
+ ## 3. Detection script logic
106
+
107
+ ### Platform paths
108
+
109
+ ```
110
+ Linux:
111
+ Studio: ~/Studio/, ~/.config/WordPressStudio/
112
+ LocalWP: ~/Local Sites/, ~/.config/Local/sites.json
113
+
114
+ macOS:
115
+ Studio: ~/Studio/, ~/Library/Application Support/WordPressStudio/
116
+ LocalWP: ~/Local Sites/, ~/Library/Application Support/Local/sites.json
117
+
118
+ Windows:
119
+ Studio: ~/Studio/, %APPDATA%/WordPressStudio/
120
+ LocalWP: ~/Local Sites/, %APPDATA%/Local/sites.json
121
+ ```
122
+
123
+ ### Recommendation logic
124
+
125
+ ```
126
+ Studio CLI available AND sites found → recommended: "studio"
127
+ Only LocalWP found → recommended: "localwp"
128
+ Only .wp-env.json found → recommended: "wpenv"
129
+ None found → recommended: null
130
+ Multiple → prefer Studio (best CLI), then LocalWP, then wp-env
131
+ ```
132
+
133
+ ---
134
+
135
+ ## 4. MCP server additions (disabled by default)
136
+
137
+ ```json
138
+ {
139
+ "studio-mcp": {
140
+ "command": "node",
141
+ "args": ["${STUDIO_MCP_PATH}/dist/index.js"],
142
+ "disabled": true
143
+ },
144
+ "wp-local-mcp": {
145
+ "command": "studio",
146
+ "args": ["wp", "mcp-adapter", "serve", "--server=mcp-adapter-default-server", "--user=admin"],
147
+ "env": { "WP_LOCAL_SITE_PATH": "${WP_LOCAL_SITE_PATH}" },
148
+ "disabled": true
149
+ }
150
+ }
151
+ ```
152
+
153
+ ---
154
+
155
+ ## 5. Files modified
156
+
157
+ | Existing file | Change |
158
+ |---------------|--------|
159
+ | `skills/wordpress-router/SKILL.md` | Add "Local Environment" category |
160
+ | `skills/wordpress-router/references/decision-tree.md` | v2 → v3, add Step 2c |
161
+ | `skills/wp-wpcli-and-ops/SKILL.md` | Add "WP-CLI in local environments" section |
162
+ | `skills/wp-deploy/SKILL.md` | Add "Deploy from local environment" workflow |
163
+ | `skills/wp-playground/SKILL.md` | Add differentiation note (ephemeral vs persistent) |
164
+ | `.mcp.json` | Add 2 disabled MCP servers |
165
+ | `README.md` | Update to 19 skills, add local dev section |
166
+ | `docs/GUIDE.md` | Add "Sviluppo Locale" section |
167
+ | `CHANGELOG.md` | Add v1.5.0 entry |
168
+ | `package.json` | Version bump 1.4.0 → 1.5.0 |
169
+ | `.claude-plugin/plugin.json` | Version bump 1.4.0 → 1.5.0 |
170
+
171
+ ---
172
+
173
+ ## 6. Deliverable summary
174
+
175
+ 6 new files + 11 modifications = 17 deliverables
176
+
177
+ ---
178
+
179
+ *Design approvato il 2026-02-27*
@@ -0,0 +1,44 @@
1
+ # Design: Guide WordPress per Tipologia di Sito
2
+
3
+ **Data:** 2026-02-27
4
+ **Stato:** Approvato
5
+
6
+ ## Obiettivo
7
+
8
+ Creare una serie di guide `.md` per ogni tipologia di sito WordPress (blog, landing page, ecommerce, portfolio). Ogni guida serve due audience: utente Claude Code (operativo) e sviluppatore WordPress (tecnico).
9
+
10
+ ## Posizione
11
+
12
+ `docs/guides/` nel plugin wordpress-manager:
13
+
14
+ ```
15
+ docs/guides/
16
+ ├── INDEX.md # Indice e matrice tipologie
17
+ ├── wp-blog.md # Prima guida
18
+ ├── wp-landing-page.md # Futuro
19
+ ├── wp-ecommerce.md # Futuro
20
+ ├── wp-portfolio.md # Futuro
21
+ └── ...
22
+ ```
23
+
24
+ ## Struttura Standard (ogni guida)
25
+
26
+ 1. **Panoramica** — cos'e, quando usarlo, varianti
27
+ 2. **Per l'Utente** — concept, setup, contenuti, gestione, SEO, manutenzione
28
+ 3. **Per lo Sviluppatore** — architettura, theme.json, templates, patterns, plugin, workflow
29
+ 4. **Checklist di Lancio** — items raggruppati per area
30
+ 5. **Riferimenti** — skill plugin, risorse WP.org
31
+
32
+ ## Decisioni
33
+
34
+ - Approccio A (file separati) scelto per modularita
35
+ - Ogni guida e autocontenuta (~400-500 righe)
36
+ - Le skill del plugin possono linkare alla guida rilevante
37
+ - Lingua: italiano
38
+
39
+ ## Roadmap
40
+
41
+ 1. wp-blog.md (ora)
42
+ 2. wp-landing-page.md
43
+ 3. wp-ecommerce.md
44
+ 4. wp-portfolio.md
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "claude-plugin-wordpress-manager",
3
- "version": "1.4.0",
4
- "description": "Unified WordPress management and development plugin for Claude Code. Orchestrates Hostinger MCP, WP REST API bridge, and WordPress.com MCP with 18 skills, 5 agents, and security hooks.",
3
+ "version": "1.7.0",
4
+ "description": "Unified WordPress management and development plugin for Claude Code. Orchestrates Hostinger MCP, WP REST API bridge, and WordPress.com MCP with 24 skills, 8 agents, and security hooks. Includes local dev environment support for WordPress Studio, LocalWP, and wp-env. v1.7.0 adds 3 new agents (testing, security hardening, accessibility) and upgrades 5 existing agents.",
5
5
  "author": {
6
6
  "name": "vinmor",
7
7
  "email": "morreale.v@gmail.com"
@@ -18,7 +18,11 @@
18
18
  "multi-site",
19
19
  "gutenberg",
20
20
  "block-development",
21
- "wp-cli"
21
+ "wp-cli",
22
+ "local-development",
23
+ "wordpress-studio",
24
+ "localwp",
25
+ "wp-env"
22
26
  ],
23
27
  "repository": {
24
28
  "type": "git",
@@ -4,7 +4,7 @@ description: “Use when the user asks about WordPress — whether development (
4
4
  blocks, REST API) or operations (deploy, audit, backup, migrate, content management).
5
5
  Classifies the task and routes to the correct development or operational skill/agent.”
6
6
  compatibility: “Targets WordPress 6.9+ (PHP 7.2.24+). Filesystem-based agent with bash + node. Some workflows require WP-CLI.”
7
- version: 1.0.0
7
+ version: 1.1.0
8
8
  source: “WordPress/agent-skills (GPL-2.0-or-later) + wordpress-manager extensions”
9
9
  ---
10
10
 
@@ -14,9 +14,10 @@ source: “WordPress/agent-skills (GPL-2.0-or-later) + wordpress-manager extensi
14
14
 
15
15
  Use this skill at the start of most WordPress tasks to:
16
16
 
17
- - identify what kind of WordPress task this is (development vs operations),
17
+ - identify what kind of WordPress task this is (development vs operations vs local environment),
18
18
  - for development: classify the repo (plugin vs theme vs block theme vs WP core),
19
19
  - for operations: identify the operation type (deploy, audit, backup, migrate, content),
20
+ - for local environment: detect tools (Studio, LocalWP, wp-env) and manage local sites,
20
21
  - route to the most relevant skill(s) and/or agent(s).
21
22
 
22
23
  ## Inputs required
@@ -35,6 +36,14 @@ Use this skill at the start of most WordPress tasks to:
35
36
  - Sandbox testing via WordPress Playground
36
37
  - Route via project triage → development skills
37
38
 
39
+ **Local Environment tasks** (managing local WordPress dev environments):
40
+ - Setting up, starting, stopping local WordPress sites
41
+ - Using WordPress Studio, LocalWP, or wp-env
42
+ - Running WP-CLI commands on local sites
43
+ - Symlink-based plugin/theme development
44
+ - Local database operations, PHP/WP version switching
45
+ - Route → `wp-local-env` skill (runs detection first)
46
+
38
47
  **Operational tasks** (managing live WordPress sites):
39
48
  - Deploying, auditing, backing up, migrating, managing content
40
49
  - Route directly → operational skills and agents
@@ -46,7 +55,17 @@ Use this skill at the start of most WordPress tasks to:
46
55
  2. Classify from triage output.
47
56
  3. Route to development skills — see `references/decision-tree.md`.
48
57
 
49
- ### 3) For Operational tasks
58
+ ### 3) For Local Environment tasks
59
+
60
+ 1. Run detection: `node skills/wp-local-env/scripts/detect_local_env.mjs`
61
+ 2. Route to `wp-local-env` skill with detected environment context.
62
+ 3. For detailed tool guidance, see adapter references:
63
+ - `wp-local-env/references/studio-adapter.md`
64
+ - `wp-local-env/references/localwp-adapter.md`
65
+ - `wp-local-env/references/wpenv-adapter.md`
66
+ 4. For MCP integration: `wp-local-env/references/mcp-adapter-setup.md`
67
+
68
+ ### 4) For Operational tasks
50
69
 
51
70
  Route by intent keywords:
52
71
 
@@ -58,9 +77,10 @@ Route by intent keywords:
58
77
  - **Performance / slow / PageSpeed / optimize** → `wp-audit` skill + `wp-performance-optimizer` agent
59
78
  - **Site status / plugins / users / multi-site** → `wp-site-manager` agent
60
79
 
61
- ### 4) Apply guardrails
80
+ ### 5) Apply guardrails
62
81
 
63
82
  - For development: prefer repo’s existing tooling and conventions.
83
+ - For local environment: verify tool availability and site status before operations.
64
84
  - For operations: confirm target site, verify backups, get user confirmation for destructive ops.
65
85
 
66
86
  ## Verification
@@ -75,4 +95,4 @@ Route by intent keywords:
75
95
 
76
96
  ## Escalation
77
97
 
78
- - If routing is ambiguous, ask: “Are you looking to develop/modify WordPress code, or manage/operate a live WordPress site?”
98
+ - If routing is ambiguous, ask: “Are you looking to develop/modify WordPress code, manage a local dev environment, or operate a live WordPress site?”