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.
- package/.claude-plugin/plugin.json +7 -3
- package/CHANGELOG.md +111 -0
- package/README.md +10 -3
- package/agents/wp-accessibility-auditor.md +206 -0
- package/agents/wp-content-strategist.md +18 -0
- package/agents/wp-deployment-engineer.md +34 -2
- package/agents/wp-performance-optimizer.md +12 -0
- package/agents/wp-security-auditor.md +20 -0
- package/agents/wp-security-hardener.md +266 -0
- package/agents/wp-site-manager.md +14 -0
- package/agents/wp-test-engineer.md +207 -0
- package/docs/GUIDE.md +68 -15
- package/docs/guides/INDEX.md +46 -0
- package/docs/guides/wp-blog.md +590 -0
- package/docs/guides/wp-design-system.md +976 -0
- package/docs/guides/wp-ecommerce.md +786 -0
- package/docs/guides/wp-landing-page.md +762 -0
- package/docs/guides/wp-portfolio.md +713 -0
- package/docs/plans/2026-02-27-design-system-guide-design.md +30 -0
- package/docs/plans/2026-02-27-local-dev-tools-assessment.md +332 -0
- package/docs/plans/2026-02-27-local-env-design.md +179 -0
- package/docs/plans/2026-02-27-site-type-guides-design.md +44 -0
- package/package.json +7 -3
- package/skills/wordpress-router/SKILL.md +25 -5
- package/skills/wordpress-router/references/decision-tree.md +59 -3
- package/skills/wp-accessibility/SKILL.md +170 -0
- package/skills/wp-accessibility/references/a11y-audit-tools.md +248 -0
- package/skills/wp-accessibility/references/a11y-testing.md +222 -0
- package/skills/wp-accessibility/references/block-a11y.md +247 -0
- package/skills/wp-accessibility/references/interactive-a11y.md +272 -0
- package/skills/wp-accessibility/references/media-a11y.md +254 -0
- package/skills/wp-accessibility/references/theme-a11y.md +309 -0
- package/skills/wp-audit/SKILL.md +4 -0
- package/skills/wp-block-development/SKILL.md +5 -0
- package/skills/wp-block-themes/SKILL.md +4 -0
- package/skills/wp-deploy/SKILL.md +12 -0
- package/skills/wp-e2e-testing/SKILL.md +186 -0
- package/skills/wp-e2e-testing/references/ci-integration.md +174 -0
- package/skills/wp-e2e-testing/references/jest-wordpress.md +114 -0
- package/skills/wp-e2e-testing/references/phpunit-wordpress.md +141 -0
- package/skills/wp-e2e-testing/references/playwright-wordpress.md +108 -0
- package/skills/wp-e2e-testing/references/test-data-generation.md +127 -0
- package/skills/wp-e2e-testing/references/visual-regression.md +107 -0
- package/skills/wp-e2e-testing/references/wp-env-setup.md +97 -0
- package/skills/wp-e2e-testing/scripts/test_inspect.mjs +375 -0
- package/skills/wp-headless/SKILL.md +168 -0
- package/skills/wp-headless/references/api-layer-choice.md +160 -0
- package/skills/wp-headless/references/cors-config.md +245 -0
- package/skills/wp-headless/references/frontend-integration.md +331 -0
- package/skills/wp-headless/references/headless-auth.md +286 -0
- package/skills/wp-headless/references/webhooks.md +277 -0
- package/skills/wp-headless/references/wpgraphql.md +331 -0
- package/skills/wp-headless/scripts/headless_inspect.mjs +321 -0
- package/skills/wp-i18n/SKILL.md +170 -0
- package/skills/wp-i18n/references/js-i18n.md +201 -0
- package/skills/wp-i18n/references/multilingual-setup.md +219 -0
- package/skills/wp-i18n/references/php-i18n.md +196 -0
- package/skills/wp-i18n/references/rtl-support.md +206 -0
- package/skills/wp-i18n/references/translation-workflow.md +178 -0
- package/skills/wp-i18n/references/wpcli-i18n.md +177 -0
- package/skills/wp-i18n/scripts/i18n_inspect.mjs +330 -0
- package/skills/wp-interactivity-api/SKILL.md +4 -0
- package/skills/wp-local-env/SKILL.md +233 -0
- package/skills/wp-local-env/references/localwp-adapter.md +156 -0
- package/skills/wp-local-env/references/mcp-adapter-setup.md +153 -0
- package/skills/wp-local-env/references/studio-adapter.md +127 -0
- package/skills/wp-local-env/references/wpenv-adapter.md +121 -0
- package/skills/wp-local-env/scripts/detect_local_env.mjs +404 -0
- package/skills/wp-playground/SKILL.md +13 -1
- package/skills/wp-plugin-development/SKILL.md +6 -0
- package/skills/wp-rest-api/SKILL.md +4 -0
- package/skills/wp-security/SKILL.md +179 -0
- package/skills/wp-security/references/api-restriction.md +147 -0
- package/skills/wp-security/references/authentication-hardening.md +105 -0
- package/skills/wp-security/references/filesystem-hardening.md +105 -0
- package/skills/wp-security/references/http-headers.md +105 -0
- package/skills/wp-security/references/incident-response.md +144 -0
- package/skills/wp-security/references/user-capabilities.md +115 -0
- package/skills/wp-security/references/wp-config-security.md +129 -0
- package/skills/wp-security/scripts/security_inspect.mjs +393 -0
- 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
|
-
"description": "Unified WordPress management and development plugin for Claude Code. Orchestrates Hostinger MCP, WP REST API bridge, and WordPress.com MCP with
|
|
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.
|
|
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
|
|
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
|
-
###
|
|
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
|
|
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?”
|