Pourquoi un agent personnalisé est nécessaire
Laravel Boost prend en charge en standard les principaux outils de coding IA tels que Claude Code, Cursor, Codex, GitHub Copilot (VS Code). Cependant, pour prendre en charge des outils internes, des agents d’IA émergents ou des workflows propres, vous devez implémenter un agent personnalisé à l’aide des mécanismes d’extension de Boost. Situations où un agent personnalisé est utile :- Vous utilisez un IDE ou un outil d’IA non pris en charge par Boost
- Vous voulez intégrer Boost dans un workflow de développement interne ou un pipeline CI/CD propre
- L’agent a un format de fichier de configuration ou une procédure d’installation spécifiques
Architecture d’extension de Boost
La classe de base Agent
Tous les agents héritent deLaravel\Boost\Install\Agents\Agent. Cette classe abstraite fournit :
- La détection de l’agent (à l’échelle système ou du projet)
- L’installation du serveur MCP (basée sur des fichiers ou des commandes shell)
- Un hook de transformation des guidelines (
transformGuidelines)
Les trois contrats
Pour activer sélectivement les fonctionnalités de Boost, implémentez les contrats ci-dessous selon vos besoins.Les trois contrats sont tous facultatifs. Une implémentation qui ne prend en charge que les guidelines, sans MCP, est possible.
Le contrat SupportsGuidelines
guidelinesPath() retourne le chemin du fichier dans lequel les guidelines générées seront écrites. Adaptez-le au format lu par l’agent : CLAUDE.md pour Claude Code, .cursor/rules/laravel-boost.mdc pour Cursor, etc.
transformGuidelines() est un hook pour transformer le Markdown après génération. Vous pouvez ajouter un en-tête spécifique à l’agent ou convertir vers un format particulier. L’implémentation par défaut de la classe de base Agent retourne la chaîne telle quelle.
Le contrat SupportsMcp
Agent fournit une implémentation par défaut de installMcp() et installHttpMcp(), il suffit dans la plupart des cas de surcharger mcpInstallationStrategy() et mcpConfigPath().
Il existe deux stratégies d’installation.
Le contrat SupportsSkills
.claude/skills pour Claude Code, .cursor/skills pour Cursor, etc.
Création d’un agent personnalisé
Implémentons concrètement notre propre classe d’agent. Nous prendrons pour exemple un agent virtuel « MyAgent » intégré dans un workflow CI/CD propre.1
Créer la classe d'agent
Créez
app/Boost/MyAgent.php.systemDetectionConfig() et projectDetectionConfig() sont utilisées par Boost pour détecter automatiquement l’agent au niveau système et projet. Lors de l’exécution de boost:install, l’agent correspondant sera automatiquement affiché comme candidat.2
Enregistrer l'agent
Enregistrez l’agent personnalisé dans la méthode Après enregistrement, lancer
boot de App\Providers\AppServiceProvider.php artisan boost:install fait apparaître MyAgent parmi les choix.3
Vérifier le fonctionnement
MYAGENT.md, .myagent.json et .myagent/skills/ seront générés.Personnalisation des guidelines
Configuration de guidelinesPath
L’emplacement de lecture des guidelines varie selon l’agent.Agents nécessitant un frontmatter
Pour les formats qui nécessitent un frontmatter, comme les.cursor/rules/*.mdc de Cursor, faites retourner true par frontmatter().
Post-traitement des guidelines
UtiliseztransformGuidelines() pour transformer le Markdown après génération.
Ajout de guidelines d’IA personnalisées
Pour ajouter des règles spécifiques au projet dans les guidelines Boost, placez des fichiers Blade dans le répertoire.ai/guidelines/.
boost:install, ces guidelines sont automatiquement combinées avec les guidelines intégrées de Boost et produites en sortie.
Surcharger les guidelines intégrées
Si vous placez un fichier personnalisé au même chemin qu’une guideline intégrée de Boost, votre fichier a priorité.Ajout de skills personnalisés
Création de SKILL.md
Définissez la skill dans.ai/skills/{nom-de-la-skill}/SKILL.md.
SKILL.md est composé d’un frontmatter YAML et d’instructions en Markdown.
Génération PDF de la facture
Le PDF est généré avecbarryvdh/laravel-dompdf :
Surcharger les skills intégrées
Créer une skill personnalisée du même nom qu’une skill intégrée de Boost écrase cette dernière.Ajouter le support Boost à un package tiers
Pour ajouter la prise en charge de Boost à votre propre package, placez les fichiers de configuration dans le répertoireresources/boost/ du package.
Ajouter des guidelines
Ajouter des skills
php artisan boost:install, ces guidelines et skills sont automatiquement détectées et affichées comme cibles d’installation.
Exemple pratique : agent personnalisé pour un pipeline CI/CD propre
Voici l’implémentation complète d’un agent virtuel « PipelineAgent » intégré dans un pipeline CI/CD interne. Cet agent ne prend en charge que les guidelines, pas le MCP ni les skills.AppServiceProvider :
Liens de référence
ClaudeCode.php — exemple officiel
Vous pouvez consulter le code source complet de l’agent ClaudeCode fourni avec Boost.
Agent Skills
Consultez les spécifications du format SKILL.md et les bonnes pratiques.
Laravel Boost Custom Agent for GitHub Copilot CLI
Exemple de package publié compatible à la fois avec Copilot CLI et Testbench
Laravel Boost Custom Agent for PhpStorm with GitHub Copilot
Exemple de package publié pour le plugin GitHub Copilot de PhpStorm