Skip to main content

Por qué necesitas un agente personalizado

Laravel Boost soporta de forma predeterminada las principales herramientas de codificación con IA, como Claude Code, Cursor, Codex y GitHub Copilot (VS Code). Sin embargo, si quieres dar soporte a herramientas internas, agentes de IA emergentes o flujos de trabajo propios, tendrás que implementar un agente personalizado utilizando el mecanismo de extensión de Boost. Situaciones en las que resulta útil un agente personalizado:
  • Usas un IDE o herramienta de IA que Boost no soporta.
  • Quieres integrar Boost en un flujo de desarrollo interno o en un pipeline de CI/CD propio.
  • El agente tiene un formato de archivo de configuración o unos pasos de instalación específicos.

Arquitectura de extensión de Boost

Clase base Agent

Todos los agentes extienden Laravel\Boost\Install\Agents\Agent. Esta clase abstracta ofrece:
  • Detección del agente (a nivel de sistema y a nivel de proyecto).
  • Instalación del servidor MCP (basada en archivos o en comandos de shell).
  • Hook de transformación de guidelines (transformGuidelines).
Los métodos abstractos que hay que implementar son dos:

Los tres contratos

Para habilitar las funciones de Boost de manera selectiva, implementa solo los contratos que necesites.
Los tres contratos son opcionales. También puedes implementar solo el soporte de guidelines sin MCP, por ejemplo.

Contrato SupportsGuidelines

guidelinesPath() devuelve la ruta del archivo donde se escribirán las guidelines generadas. Se ajusta al formato que el agente carga: CLAUDE.md para Claude Code, .cursor/rules/laravel-boost.mdc para Cursor, etc. transformGuidelines() es un hook para procesar el Markdown ya generado. Puedes añadir cabeceras propias del agente o convertirlo a un formato especial. La implementación por defecto en la clase base Agent devuelve la cadena sin cambios.

Contrato SupportsMcp

Como la clase base Agent ya ofrece implementaciones por defecto de installMcp() e installHttpMcp(), en la mayoría de los casos basta con sobrescribir mcpInstallationStrategy() y mcpConfigPath(). Hay dos estrategias de instalación:

Contrato SupportsSkills

Devuelve la ruta del directorio de skills que carga el agente. Se ajusta a lo que espera el agente: .claude/skills para Claude Code, .cursor/skills para Cursor, etc.

Crear un agente personalizado

Vamos a implementar una clase de agente propia. Usaremos como ejemplo un agente ficticio llamado «MyAgent» integrado en un flujo de CI/CD propio.
1

Crea la clase del agente

Crea app/Boost/MyAgent.php.
Boost usa systemDetectionConfig() y projectDetectionConfig() para detectar el agente en el sistema y en el proyecto. Al ejecutar boost:install, mostrará el agente como candidato automáticamente.
2

Registra el agente

Registra el agente personalizado en el método boot de App\Providers\AppServiceProvider.
Después del registro, php artisan boost:install mostrará MyAgent entre las opciones.
3

Comprueba el funcionamiento

En la pantalla de selección de agente aparecerá MyAgent. Al seleccionarlo, se generarán MYAGENT.md, .myagent.json y .myagent/skills/.

Personalizar las guidelines

Configurar guidelinesPath

Cada agente lee las guidelines desde una ubicación diferente.
Si permites sobrescribirlo desde el archivo de configuración, ganarás flexibilidad.

Agentes que requieren frontmatter

Para formatos que requieren frontmatter, como .cursor/rules/*.mdc de Cursor, devuelve true desde frontmatter().

Post-procesamiento de las guidelines

Puedes procesar el Markdown generado con transformGuidelines().

Añadir guidelines personalizadas de IA

Para añadir reglas específicas del proyecto a las guidelines de Boost, coloca archivos Blade en el directorio .ai/guidelines/.
Ejemplo de archivo:
Cuando ejecutes boost:install, esta guideline se combinará automáticamente con las guidelines integradas de Boost y se generará el archivo resultante.

Sobrescribir las guidelines integradas

Si colocas un archivo personalizado en la misma ruta que una guideline integrada de Boost, esta última tendrá prioridad.

Añadir skills personalizadas

Crear SKILL.md

Define la skill en .ai/skills/{nombre-de-la-skill}/SKILL.md.
SKILL.md se compone de un frontmatter YAML y de las instrucciones en Markdown.

Generar el PDF de la factura

El PDF se genera con barryvdh/laravel-dompdf:
Las skills están diseñadas para «cargarse solo cuando son necesarias». Al colocar la información imprescindible en las guidelines y los patrones detallados específicos de cada tarea en las skills, optimizas el uso del contexto de la IA.

Sobrescribir skills integradas

Si creas una skill personalizada con el mismo nombre que una integrada de Boost, la sobrescribirás.

Añadir soporte de Boost a paquetes de terceros

Para añadir soporte de Boost a un paquete propio, coloca los archivos de configuración en el directorio resources/boost/ del paquete.

Añadir guidelines

Añadir skills

Cuando el usuario del paquete ejecute php artisan boost:install, estas guidelines y skills se detectarán automáticamente y aparecerán como candidatas para la instalación.

Ejemplo práctico: agente personalizado para un agente de CI/CD propio

Ejemplo completo de un agente ficticio llamado «PipelineAgent» integrado en el pipeline de CI/CD interno. Este agente solo soporta guidelines; no soporta MCP ni skills.
Regístralo en AppServiceProvider:
En el entorno de CI puedes generar solo las guidelines con el siguiente comando:

Enlaces de referencia

ClaudeCode.php — ejemplo de implementación oficial

Puedes revisar en el código fuente la implementación completa del agente ClaudeCode incluido con Boost.

Agent Skills

Consulta la especificación del formato de SKILL.md y las buenas prácticas.

Laravel Boost Custom Agent for GitHub Copilot CLI

Ejemplo de implementación de paquete público compatible con Copilot CLI y Testbench.

Laravel Boost Custom Agent for PhpStorm with GitHub Copilot

Ejemplo de implementación de paquete público para el plugin de GitHub Copilot de PhpStorm.
Última modificación el 13 de julio de 2026