왜 커스텀 에이전트가 필요한가
Laravel Boost는 Claude Code, Cursor, Codex, GitHub Copilot(VS Code) 등 주요 AI 코딩 도구를 기본으로 서포트하고 있습니다. 그러나 사내 도구, 신흥 AI 에이전트, 독자 워크플로우에 대응하려면, Boost의 확장 기능을 사용해 커스텀 에이전트를 구현해야 합니다. 커스텀 에이전트가 도움이 되는 장면:- Boost가 미대응인 IDE나 AI 도구를 사용하고 있음
- 사내 개발 워크플로우나 독자 CI/CD 파이프라인에 Boost를 통합하고 싶음
- 에이전트 고유의 설정 파일 형식이나 설치 절차가 있음
Boost의 확장 아키텍처
Agent 기저 클래스
모든 에이전트는Laravel\Boost\Install\Agents\Agent를 상속합니다. 이 추상 클래스가 제공하는 기능:
- 에이전트의 검출(시스템 전체·프로젝트 단위)
- MCP 서버의 설치(파일 기반·셸 커맨드 기반)
- 가이드라인 변환 훅(
transformGuidelines)
3개의 컨트랙트
Boost의 기능을 선택적으로 활성화하기 위해, 이하의 컨트랙트를 필요한 만큼 구현합니다.3개의 컨트랙트는 모두 임의입니다. 가이드라인만 서포트하고 MCP는 불필요, 라는 구현도 가능합니다.
SupportsGuidelines 컨트랙트
guidelinesPath()는 생성한 가이드라인을 쓸 파일 경로를 반환합니다. Claude Code라면 CLAUDE.md, Cursor라면 .cursor/rules/laravel-boost.mdc처럼, 에이전트가 로드하는 형식에 맞춥니다.
transformGuidelines()는 생성 후의 Markdown을 가공하는 훅입니다. 에이전트 고유의 헤더를 추가하거나, 특수한 포맷으로 변환할 수 있습니다. Agent 기저 클래스에 구현된 기본은 그대로 문자열을 반환합니다.
SupportsMcp 컨트랙트
Agent 기저 클래스가 installMcp()와 installHttpMcp()의 기본 구현을 가지고 있으므로, 많은 경우에는 mcpInstallationStrategy()와 mcpConfigPath()를 오버라이드하는 것만으로 충분합니다.
설치 전략은 2종류가 있습니다.
SupportsSkills 컨트랙트
.claude/skills, Cursor라면 .cursor/skills처럼 에이전트의 사양에 맞춥니다.
커스텀 에이전트의 작성
실제로 독자 에이전트 클래스를 구현합니다. 여기서는 독자의 CI/CD 워크플로우에 짜넣어진 가상 에이전트 “MyAgent”를 예로 합니다.1
에이전트 클래스를 작성한다
app/Boost/MyAgent.php를 작성합니다.systemDetectionConfig()와 projectDetectionConfig()는 Boost가 에이전트를 시스템·프로젝트에서 자동 검출하기 위해 사용합니다. boost:install 실행 시에 대상 에이전트를 자동적으로 후보로서 표시합니다.2
에이전트를 등록한다
App\Providers\AppServiceProvider의 boot 메서드에 커스텀 에이전트를 등록합니다.php artisan boost:install을 실행하면 MyAgent가 선택지에 표시됩니다.3
동작을 확인한다
MYAGENT.md, .myagent.json, .myagent/skills/가 생성됩니다.가이드라인의 커스터마이즈
guidelinesPath의 설정
에이전트에 따라 가이드라인 파일의 로드 장소는 다릅니다.프런트매터가 필요한 에이전트
Cursor의.cursor/rules/*.mdc처럼 프런트매터가 필요한 포맷에는 frontmatter()에서 true를 반환합니다.
가이드라인의 후처리
transformGuidelines()를 사용하여 생성 후의 Markdown을 가공할 수 있습니다.
커스텀 AI 가이드라인의 추가
프로젝트 고유의 룰을 Boost의 가이드라인에 추가하려면,.ai/guidelines/ 디렉토리에 Blade 파일을 배치합니다.
boost:install을 실행하면, 이 가이드라인이 Boost 내장의 가이드라인과 자동적으로 결합되어 출력됩니다.
내장 가이드라인의 오버라이드
Boost의 내장 가이드라인과 같은 경로에 커스텀 파일을 두면, 그쪽이 우선됩니다.커스텀 스킬의 추가
SKILL.md의 작성
.ai/skills/{스킬명}/SKILL.md에 스킬을 정의합니다.
SKILL.md는 YAML 프런트매터와 Markdown 지시로 구성합니다.
請求書のPDF生成
PDFはbarryvdh/laravel-dompdf を使って生成する:
내장 스킬의 오버라이드
Boost의 내장 스킬과 같은 이름으로 커스텀 스킬을 만들면 덮어써집니다.서드파티 패키지에의 Boost 대응 추가
자체 패키지에 Boost 서포트를 추가하려면, 패키지의resources/boost/ 디렉토리에 설정 파일을 배치합니다.
가이드라인의 추가
스킬의 추가
php artisan boost:install을 실행하면, 이 가이드라인과 스킬이 자동적으로 검출되어 설치 대상으로서 표시됩니다.
실전 예: 독자 CI/CD 에이전트용 커스텀 에이전트
사내의 CI/CD 파이프라인에 짜넣어진 가상 에이전트 “PipelineAgent”의 완전한 구현 예입니다. 이 에이전트는 가이드라인만 서포트하며, MCP와 스킬은 서포트하지 않습니다.AppServiceProvider에 등록합니다:
참고 링크
ClaudeCode.php — 공식 구현 예
Boost에 동봉되어 있는 ClaudeCode 에이전트의 완전한 구현을 소스 코드로 확인할 수 있습니다.
Agent Skills
SKILL.md의 포맷 사양과 베스트 프랙티스를 참조할 수 있습니다.
Laravel Boost Custom Agent for GitHub Copilot CLI
Copilot CLI와 Testbench 양대응의 공개 패키지 구현 예
Laravel Boost Custom Agent for PhpStorm with GitHub Copilot
PhpStorm의 GitHub Copilot 플러그인용 공개 패키지 구현 예