Guida completa per aggiornare, creare e gestire i progetti su sviluppo.mclmedia.eu
Sviluppo Hub Γ¨ il portale centralizzato di MCL Media SRL dove vengono tracciati tutti i progetti in corso. Ogni progetto Γ¨ un file JSON nella cartella /projects/. Il portale mostra una dashboard con KPI, stato di avanzamento, task completate e prossimi step per ogni progetto.
Questo portale viene aggiornato dagli agenti Claude a fine sessione. Il proprietario Γ¨ Luca Macaluso.
Non importa se la sessione Γ¨ stata breve o lunga. Se si Γ¨ lavorato su un progetto, va tracciato.
Claude non puΓ² chiamare API esterne direttamente dalla chat (CSP di claude.ai lo impedisce). Il flusso Γ¨:
1. Claude lavora con Luca su un progetto
2. A fine sessione, Claude genera un blocco JSON nel formato standard
3. Luca copia il JSON
4. Luca va su sviluppo.mclmedia.eu/aggiorna-progetti.php e lo incolla
5. Clicca "Applica" β il portale si aggiorna istantaneamente
Claude deve sempre generare un unico blocco JSON con un array actions. Ogni azione specifica il tipo di operazione e il progetto target.
{
"actions": [
{ ... azione 1 ... },
{ ... azione 2 ... },
{ ... azione N ... }
]
}
Le azioni disponibili sono 4: add_log, update, update_tasks, create.
Aggiunge una entry al changelog del progetto. Usare SEMPRE almeno un add_log per sessione.
{
"action": "add_log",
"project": "travel-hub",
"entry": "Deploy completato per Gallipoli e Vieste con 45 hotel sincronizzati",
"log_type": "milestone"
}
Valori possibili per log_type:
milestone = traguardo importante (deploy, feature completata, test superato)
update = aggiornamento generico (modifiche, iterazioni, progress)
fix = bug risolto o problema fixato
note = osservazione, decisione presa, informazione da ricordare
Merge parziale: aggiorna solo i campi specificati, lasciando intatti gli altri.
{
"action": "update",
"project": "travel-hub",
"data": {
"progress": 60,
"status": "attivo",
"info": {
"Siti online": "22 regionali + 8 destinazioni",
"Ultimo deploy": "Gallipoli (08/03/2026)"
}
}
}
Campi aggiornabili: name, description, status, progress, priority, owner, tags, tech_stack, info, links, notes, icon, icon_bg.
Valori possibili per status: attivo, in_sviluppo, pianificato, in_pausa, completato, critico.
Valori possibili per priority: alta, media, bassa.
{
"action": "update_tasks",
"project": "travel-hub",
"tasks": [
{"text": "Siti regionali deploy (16+ regioni)", "done": true},
{"text": "Deploy wizard su base con AI", "done": true},
{"text": "Deploy Gallipoli e Vieste", "done": true},
{"text": "Deploy restanti 42 destinazioni", "done": false},
{"text": "Migrazione su OVH Dedicato", "done": false}
]
}
Crea un nuovo progetto. Lo slug deve essere lowercase, solo lettere/numeri/trattini. Se il progetto esiste giΓ , restituisce errore β in quel caso usa update.
{
"action": "create",
"project": "nome-progetto",
"data": {
"name": "Nome Progetto Visibile",
"description": "Descrizione breve del progetto",
"icon": "π",
"icon_bg": "rgba(59,130,246,0.15)",
"status": "pianificato",
"priority": "media",
"progress": 0,
"owner": "Luca",
"tags": ["tag1", "tag2"],
"tech_stack": ["PHP", "Laravel"],
"info": {
"URL": "https://...",
"Server": "IP o hostname"
},
"links": [
{"label": "Sito", "url": "https://...", "icon": "π"}
],
"tasks": [
{"text": "Prima cosa da fare", "done": false}
],
"changelog": [],
"notes": "Note iniziali sul progetto"
}
}
Icone suggerite per icon: π¬ video, βοΈ travel, π° content, π gestionale, π SEO, π premium, π‘ immobiliare, π° affiliate, π₯ server, π§ sviluppo, π nuovo.
Colori suggeriti per icon_bg:
Rosso: rgba(239,68,68,0.15) Β·
Blu: rgba(59,130,246,0.15) Β·
Verde: rgba(16,185,129,0.15) Β·
Ambra: rgba(245,158,11,0.15) Β·
Viola: rgba(139,92,246,0.15) Β·
Cyan: rgba(6,182,212,0.15) Β·
Grigio: rgba(107,114,128,0.15)
Scenario: Claude ha lavorato con Luca sul Travel Hub. Ha completato il deploy di Gallipoli, fixato un bug sulle immagini, e discusso il prossimo step (deploy Vieste).
{
"actions": [
{
"action": "add_log",
"project": "travel-hub",
"entry": "Deploy Gallipoli completato: 12 hotel, 6 attrazioni, content AI generato. Fix bug cover image che non appariva su mobile.",
"log_type": "milestone"
},
{
"action": "add_log",
"project": "travel-hub",
"entry": "Fix: cover image non visibile su mobile per mancanza di fallback Unsplash",
"log_type": "fix"
},
{
"action": "update",
"project": "travel-hub",
"data": {
"progress": 62,
"info": {
"Server": "VPS OVH 152.228.162.32",
"Gestionale": "base.mclmedia.eu",
"Regionali online": "16+",
"Destinazioni singole": "6 online (CefalΓΉ, Tropea, Taormina, Alberobello, Procida, Gallipoli)",
"Target": "50 destinazioni",
"Prossimo deploy": "Vieste"
}
}
},
{
"action": "update_tasks",
"project": "travel-hub",
"tasks": [
{"text": "Siti regionali deploy (16+ regioni)", "done": true},
{"text": "Deploy wizard su base con AI content generation", "done": true},
{"text": "Sistema task immagini per Salvina", "done": true},
{"text": "Template single_dest completo", "done": true},
{"text": "Deploy CefalΓΉ, Tropea, Taormina, Alberobello, Procida", "done": true},
{"text": "Deploy Gallipoli", "done": true},
{"text": "Fix cover image mobile", "done": true},
{"text": "Deploy Vieste", "done": false},
{"text": "Deploy restanti 43 destinazioni", "done": false},
{"text": "Migrazione su OVH Dedicato", "done": false},
{"text": "Integrazione GetYourGuide API", "done": false}
]
}
]
}
Usa sempre lo slug esatto nel campo project. Ecco la lista aggiornata in tempo reale:
| Slug | Progetto | Stato | Progresso |
|---|---|---|---|
| child-master-admin-plugin | Child Master Admin - Plugin | Attivo | 78% |
| worldfilia-affiliate | Siti Affiliate Worldfilia | Attivo | 80% |
| backly | Backly.it β Marketplace Backlink | In Sviluppo | 41% |
| gestionale-discover | Gestionale Discover | Attivo | 78% |
| travel-hub | MCL Travel Hub | Attivo | 55% |
| sviluppo-hub | Sviluppo Hub (sviluppo.mclmedia.eu) | Attivo | 88% |
| skyview-cefalu | Acquisizione Skyview CefalΓΉ | In Sviluppo | 45% |
| video-generator | MCL Video Generator | Attivo | 80% |
| gestionale-base | Gestionale Base (base.mclmedia.eu) | Attivo | 75% |
| quickspot | QuickSpot β Portale Video Spot AI | In Pausa | 70% |
| infrastruttura-server | Infrastruttura Server | In Sviluppo | 30% |
| portale-premium | Portale Premium β Siti di QualitΓ | Pianificato | 10% |
Checklist per Claude prima di generare il JSON:
β
SEMPRE: Almeno un add_log con il riassunto della sessione
π SE NECESSARIO:
β Task completate? Usa update_tasks con la lista completa
β Progresso cambiato? Usa update con il nuovo valore (oppure update_tasks lo ricalcola automaticamente)
β Stato cambiato? (es. da pianificato a in_sviluppo) Usa update
β Nuovi dati tecnici? (server, URL, date) Aggiorna il campo info
β Informazioni importanti da ricordare? Aggiorna il campo notes
β Progetto nuovo emerso nella conversazione? Usa create
Riferimento per capire tutti i campi disponibili:
{
"name": "Nome Progetto",
"description": "Descrizione breve",
"icon": "π¬",
"icon_bg": "rgba(239,68,68,0.15)",
"status": "attivo | in_sviluppo | pianificato | in_pausa | completato | critico",
"priority": "alta | media | bassa",
"progress": 0-100,
"owner": "Luca | Luca + Alessandro | ...",
"tags": ["tag1", "tag2"],
"info": {"chiave": "valore", "altra chiave": "altro valore"},
"tech_stack": ["PHP", "Laravel", "GPT-4o"],
"links": [{"label": "Nome", "url": "https://...", "icon": "π"}],
"tasks": [
{"text": "Descrizione task", "done": true},
{"text": "Task da completare", "done": false}
],
"changelog": [
{"date": "2026-03-08 12:00", "text": "Cosa Γ¨ successo", "type": "milestone", "agent": "claude"}
],
"notes": "Note libere, testo multiriga con \\n",
"created_at": "2026-03-08 00:00:00",
"updated_at": "auto-generato"
}
β Usare create su un progetto che esiste giΓ β Restituisce errore. Usa update.
β Usare update_tasks con solo le task nuove β Sovrascrive TUTTO. Includi sempre la lista completa.
β Dimenticare il campo project β Ogni azione deve avere lo slug del progetto target.
β Usare slug sbagliati β Controlla la tabella nella sezione 6. Gli slug sono lowercase con trattini.
β Generare JSON malformato β Attenzione alle virgole finali, alle virgolette e ai caratteri speciali nelle stringhe. Usa \n per andare a capo nelle note.
β Non proporre l'aggiornamento β La regola fondamentale Γ¨: se si Γ¨ lavorato su un progetto, va tracciato. Sempre.
sviluppo.mclmedia.eu/
βββ index.php β Dashboard + dettaglio progetto
βββ config.php β Helper functions PHP
βββ aggiorna-progetti.php β Pagina paste JSON per aggiornamenti
βββ istruzioni-claude.php β Questa pagina
βββ README_CLAUDE.md β Versione markdown di queste istruzioni
βββ api/
β βββ update.php β API REST (usabile anche via curl da SSH)
βββ projects/
βββ quickspot.json
βββ video-generator.json
βββ travel-hub.json
βββ gestionale-discover.json
βββ gestionale-base.json
βββ backly.json
βββ portale-premium.json
βββ skyview-cefalu.json
βββ worldfilia-affiliate.json
βββ infrastruttura-server.json
βββ sviluppo-hub.json