Skip to main content

Perché serve un agente personalizzato

Laravel Boost supporta di default i principali strumenti di AI coding come Claude Code, Cursor, Codex, GitHub Copilot (VS Code). Per adattarsi a strumenti interni, agenti AI emergenti o flussi di lavoro proprietari, però, devi implementare un agente personalizzato tramite l’estensione di Boost. Casi in cui un agente custom è utile:
  • Stai usando un IDE o uno strumento AI non supportato da Boost
  • Vuoi integrare Boost in un flusso di sviluppo interno o in una pipeline CI/CD proprietaria
  • L’agente richiede un formato di file di configurazione o una procedura di installazione specifica

Architettura di estensione di Boost

Classe base Agent

Tutti gli agenti estendono Laravel\Boost\Install\Agents\Agent. Questa classe astratta fornisce:
  • Rilevamento dell’agente (a livello di sistema e di progetto)
  • Installazione di server MCP (file-based e shell-command-based)
  • Hook di trasformazione delle linee guida (transformGuidelines)
Ci sono due metodi astratti obbligatori.

I tre contract

Per abilitare selettivamente le funzionalità di Boost, implementi i contract che servono.
Tutti e tre i contract sono opzionali. Puoi implementare solo le linee guida senza MCP, ad esempio.

Contract SupportsGuidelines

guidelinesPath() restituisce il path del file in cui scrivere le linee guida generate. Per Claude Code è CLAUDE.md, per Cursor .cursor/rules/laravel-boost.mdc, adattandosi al formato che l’agente carica. transformGuidelines() è un hook per elaborare il Markdown dopo la generazione. Puoi aggiungere un header specifico dell’agente o convertirlo in un formato speciale. Il default nella classe base restituisce la stringa così com’è.

Contract SupportsMcp

La classe base Agent ha già implementazioni di default per installMcp() e installHttpMcp(): nella maggior parte dei casi basta fare override di mcpInstallationStrategy() e mcpConfigPath(). Ci sono due strategie di installazione.

Contract SupportsSkills

Restituisce il path della directory di skills letta dall’agente. Per Claude Code è .claude/skills, per Cursor .cursor/skills, e così via.

Creare un agente personalizzato

Implementiamo concretamente una classe di agente custom. Come esempio, un ipotetico “MyAgent” integrato in un flusso CI/CD proprietario.
1

Creare la classe dell'agente

Crea app/Boost/MyAgent.php.
systemDetectionConfig() e projectDetectionConfig() servono a Boost per rilevare automaticamente l’agente a livello di sistema e di progetto. All’esecuzione di boost:install l’agente compare fra i candidati.
2

Registrare l'agente

Nel metodo boot di App\Providers\AppServiceProvider registri l’agente custom.
Dopo la registrazione, con php artisan boost:install MyAgent compare tra le scelte.
3

Verifica del funzionamento

Nella schermata di selezione dell’agente MyAgent viene mostrato. Selezionandolo vengono generati MYAGENT.md, .myagent.json e .myagent/skills/.

Personalizzare le linee guida

Impostare guidelinesPath

Ogni agente carica il file delle linee guida da un punto diverso.
Renderlo sovrascrivibile da file di configurazione aumenta la flessibilità.

Agenti che richiedono frontmatter

Per formati che richiedono un frontmatter (come i .cursor/rules/*.mdc di Cursor) restituisci true da frontmatter().

Post-elaborazione delle linee guida

Con transformGuidelines() puoi elaborare il Markdown dopo la generazione.

Aggiungere linee guida AI personalizzate

Per aggiungere regole specifiche del progetto alle linee guida di Boost, metti file Blade nella directory .ai/guidelines/.
Esempio di file:
Eseguendo boost:install queste linee guida vengono unite automaticamente a quelle integrate in Boost.

Override delle linee guida integrate

Se metti un file personalizzato nello stesso path di una linea guida integrata di Boost, la tua ha la priorità.

Aggiungere skills personalizzati

Creare SKILL.md

Definisci le skill in .ai/skills/{nome-skill}/SKILL.md.
SKILL.md è composto da un frontmatter YAML e da istruzioni Markdown.

Generare il PDF della fattura

Genera il PDF con barryvdh/laravel-dompdf:
Le skill sono progettate per essere “caricate solo quando servono”. Metti in linee guida le informazioni sempre necessarie e nelle skill i pattern dettagliati specifici del task: ottimizzi l’uso della context dell’AI.

Override delle skill integrate

Creando una skill custom con lo stesso nome di una skill integrata di Boost, la sovrascrivi.

Aggiungere il supporto Boost a pacchetti di terze parti

Per aggiungere il supporto Boost al tuo pacchetto, metti i file di configurazione nella directory resources/boost/ del pacchetto.

Aggiungere linee guida

Aggiungere skill

Quando gli utenti del pacchetto eseguono php artisan boost:install, queste linee guida e skill vengono rilevate automaticamente e proposte per l’installazione.

Esempio pratico: agente custom per pipeline CI/CD

Esempio completo di “PipelineAgent”, un agente virtuale integrato in una pipeline CI/CD interna. L’agente supporta solo le linee guida, non MCP e non skill.
Registrazione in AppServiceProvider:
In ambiente CI puoi generare solo le linee guida con:

ClaudeCode.php — esempio ufficiale

Codice sorgente completo dell’agente ClaudeCode incluso in Boost.

Agent Skills

Specifica del formato SKILL.md e best practice.

Laravel Boost Custom Agent for GitHub Copilot CLI

Esempio di pacchetto pubblicato che supporta sia Copilot CLI sia Testbench.

Laravel Boost Custom Agent for PhpStorm with GitHub Copilot

Esempio di pacchetto pubblicato per il plugin GitHub Copilot di PhpStorm.
Ultima modifica il 13 luglio 2026