| git | 9a047b04377b9e9fca43800eeb78c386f032c4cd |
|---|
- Введение
- Установка
- MCP-сервер
- AI-рекомендации
- Agent Skills
- Guidelines и Skills
- Правила проекта
- API документации
- Расширение Boost
Laravel Boost ускоряет разработку с помощью AI, предоставляя необходимые рекомендации и agent skills, которые помогают AI-агентам писать качественные Laravel-приложения, соответствующие лучшим практикам Laravel.
Boost также предоставляет мощный API документации экосистемы Laravel, объединяющий встроенный MCP-инструмент и обширную базу знаний с более чем 17 000 фрагментов информации о Laravel, улучшенную семантическим поиском через embeddings для точных результатов с учетом контекста. Boost инструктирует AI-агентов вроде Claude Code и Cursor использовать этот API, чтобы узнавать об актуальных возможностях Laravel и лучших практиках.
Laravel Boost можно установить через Composer:
composer require laravel/boost --devЗатем установите MCP-сервер и рекомендации по написанию кода:
php artisan boost:installКоманда boost:install сгенерирует соответствующие файлы рекомендаций и skills для coding agents, выбранных вами во время установки.
После установки Laravel Boost можно начинать работу с Cursor, Claude Code или любым другим AI-агентом.
Note
Сгенерированный файл MCP-конфигурации (.mcp.json), файлы рекомендаций (CLAUDE.md, AGENTS.md, junie/ и т. д.) и файл конфигурации boost.json можно добавить в .gitignore, так как они автоматически пересоздаются при запуске boost:install и boost:update.
1. Откройте палитру команд (`Cmd+Shift+P` или `Ctrl+Shift+P`)
2. Нажмите `enter` на "/open MCP Settings"
3. Включите переключатель для `laravel-boost`
Поддержка Claude Code обычно включается автоматически. Если этого не произошло, откройте shell в каталоге проекта и выполните:
claude mcp add -s local -t stdio laravel-boost php artisan boost:mcp
Поддержка Codex обычно включается автоматически. Если этого не произошло, откройте shell в каталоге проекта и выполните:
codex mcp add laravel-boost -- php "artisan" "boost:mcp"
Поддержка Gemini CLI обычно включается автоматически. Если этого не произошло, откройте shell в каталоге проекта и выполните:
gemini mcp add -s project -t stdio laravel-boost php artisan boost:mcp
1. Откройте палитру команд (`Cmd+Shift+P` или `Ctrl+Shift+P`)
2. Нажмите `enter` на "MCP: List Servers"
3. Выберите `laravel-boost` и нажмите `enter`
4. Выберите "Start server"
1. Дважды нажмите `shift`, чтобы открыть палитру команд
2. Найдите "MCP Settings" и нажмите `enter`
3. Отметьте флажок рядом с `laravel-boost`
4. Нажмите "Apply" в правом нижнем углу
Вы можете периодически обновлять локальные ресурсы Boost (AI-рекомендации и skills), чтобы они соответствовали актуальным версиям пакетов экосистемы Laravel, установленных в проекте. Для этого используйте Artisan-команду boost:update.
php artisan boost:updateТакже можно автоматизировать процесс, добавив его в Composer scripts post-update-cmd:
{
"scripts": {
"post-update-cmd": [
"@php artisan boost:update --ansi"
]
}
}По умолчанию команда boost:update обновляет только те ресурсы Boost, которые уже опубликованы в вашем приложении. Если вы хотите, чтобы Boost просканировал приложение на наличие недавно установленных пакетов и предложил опубликовать соответствующие guidelines и skills, используйте опцию --discover:
php artisan boost:update --discoverLaravel Boost предоставляет MCP-сервер (Model Context Protocol), который открывает инструменты для взаимодействия AI-агентов с вашим Laravel-приложением. Эти инструменты позволяют агентам изучать структуру приложения, выполнять запросы к базе данных, запускать код и многое другое.
| Название | Примечания |
|---|---|
| Application Info | Читает версии PHP и Laravel, движок базы данных, список пакетов экосистемы с версиями и Eloquent-модели |
| Browser Logs | Читает логи и ошибки браузера |
| Database Connections | Инспектирует доступные соединения базы данных, включая соединение по умолчанию |
| Database Query | Выполняет запрос к базе данных |
| Database Schema | Читает схему базы данных |
| Get Absolute URL | Преобразует относительные URI в абсолютные, чтобы агенты генерировали корректные URL |
| Last Error | Читает последнюю ошибку из логов приложения |
| Read Log Entries | Читает последние N записей лога |
| Record Rule | Записывает постоянное правило проекта в .ai/rules, чтобы оно применялось будущими агентами |
| Search Docs | Выполняет запрос к размещенному Laravel API документации, учитывая установленные пакеты |
Иногда MCP-сервер Laravel Boost нужно зарегистрировать в выбранном редакторе вручную. Используйте следующие параметры:
| Command | php |
| Args | artisan boost:mcp |
Пример JSON:
{
"mcpServers": {
"laravel-boost": {
"command": "php",
"args": ["artisan", "boost:mcp"]
}
}
}AI-рекомендации - это составные instruction-файлы, загружаемые заранее, чтобы дать AI-агентам важный контекст о пакетах экосистемы Laravel. Они содержат основные соглашения, лучшие практики и framework-specific паттерны, помогающие агентам генерировать согласованный и качественный код.
Laravel Boost включает AI-рекомендации для следующих пакетов и фреймворков. Рекомендации core дают общие советы по пакету, применимые ко всем версиям.
| Пакет | Поддерживаемые версии |
|---|---|
| Core & Boost | core |
| Laravel Framework | core, 10.x, 11.x, 12.x, 13.x |
| Livewire | core, 2.x, 3.x, 4.x |
| Flux UI | core, free, pro |
| Folio | core |
| Herd | core |
| Inertia Laravel | core, 1.x, 2.x, 3.x |
| Inertia React | core, 1.x, 2.x, 3.x |
| Inertia Vue | core, 1.x, 2.x, 3.x |
| Inertia Svelte | core, 1.x, 2.x, 3.x |
| MCP | core |
| Pennant | core |
| Pest | core, 3.x, 4.x |
| PHPUnit | core |
| Pint | core |
| Sail | core |
| Tailwind CSS | core, 3.x, 4.x |
| Livewire Volt | core |
| Wayfinder | core |
| Enforce Tests | conditional |
Note: Чтобы поддерживать AI-рекомендации в актуальном состоянии, смотрите раздел Поддержание ресурсов Boost в актуальном состоянии.
Чтобы расширить Laravel Boost своими AI-рекомендациями, добавьте файлы .blade.php или .md в каталог .ai/guidelines/* вашего приложения. Эти файлы будут автоматически включены в рекомендации Laravel Boost при запуске boost:install.
Вы можете переопределить встроенные AI-рекомендации Boost, создав собственные рекомендации с совпадающими путями. Если пользовательская рекомендация совпадает с существующим путем рекомендации Boost, Boost использует вашу версию вместо встроенной.
Например, чтобы переопределить рекомендации Boost "Inertia React v2 Form Guidance", создайте файл .ai/guidelines/inertia-react/2/forms.blade.php. При запуске boost:install Boost включит вашу рекомендацию вместо стандартной.
Если вы сопровождаете сторонний пакет и хотите, чтобы Boost включал для него AI-рекомендации, добавьте файл resources/boost/guidelines/core.blade.php в пакет. Когда пользователи пакета выполнят php artisan boost:install, Boost автоматически загрузит ваши рекомендации.
AI-рекомендации должны кратко описывать назначение пакета, указывать нужную структуру файлов или соглашения и объяснять, как создавать или использовать основные возможности (с примерами команд или кода). Делайте их лаконичными, практичными и сфокусированными на лучших практиках, чтобы AI мог генерировать корректный код:
## Package Name
This package provides [brief description of functionality].
### Features
- Feature 1: [clear & short description].
- Feature 2: [clear & short description]. Example usage:
@verbatim
<code-snippet name="How to use Feature 2" lang="php">
$result = PackageName::featureTwo($param1, $param2);
</code-snippet>
@endverbatimAgent Skills - это легкие, целевые модули знаний, которые агенты могут активировать по требованию при работе с конкретными областями. В отличие от guidelines, которые загружаются заранее, skills позволяют загружать подробные паттерны и лучшие практики только когда они релевантны, уменьшая раздувание контекста и улучшая качество AI-генерируемого кода.
Когда вы запускаете boost:install и выбираете skills как возможность, skills автоматически устанавливаются на основе пакетов, найденных в composer.json. Например, если проект включает livewire/livewire, skill livewire-development будет установлен автоматически. Skills, входящие в Boost, например infer-conventions, устанавливаются независимо от используемых пакетов.
| Skill | Пакет |
|---|---|
| fluxui-development | Flux UI |
| folio-routing | Folio |
| infer-conventions | Boost |
| inertia-react-development | Inertia React |
| inertia-svelte-development | Inertia Svelte |
| inertia-vue-development | Inertia Vue |
| livewire-development | Livewire |
| mcp-development | MCP |
| pennant-development | Pennant |
| pest-testing | Pest |
| tailwindcss-development | Tailwind CSS |
| volt-development | Volt |
| wayfinder-development | Wayfinder |
Note: Чтобы поддерживать skills в актуальном состоянии, смотрите раздел Поддержание ресурсов Boost в актуальном состоянии.
Чтобы создать собственный skill, добавьте файл SKILL.md в каталог .ai/skills/{skill-name}/ вашего приложения. При запуске boost:update ваш skill будет установлен вместе со встроенными skills Boost.
Например, чтобы создать skill для доменной логики приложения:
.ai/skills/creating-invoices/SKILL.md
Вы можете переопределить встроенные skills Boost, создав собственные skills с совпадающими именами. Если пользовательский skill совпадает с именем встроенного skill Boost, Boost использует вашу версию вместо стандартной.
Например, чтобы переопределить skill livewire-development, создайте файл .ai/skills/livewire-development/SKILL.md. При запуске boost:update Boost включит ваш skill вместо стандартного.
Если вы сопровождаете сторонний пакет и хотите, чтобы Boost включал skills для него, добавьте файл resources/boost/skills/{skill-name}/SKILL.md в пакет. Когда пользователи пакета выполнят php artisan boost:install, Boost автоматически установит ваши skills в соответствии с пользовательскими настройками.
Boost Skills поддерживают формат Agent Skills и должны быть структурированы как папка с файлом SKILL.md, содержащим YAML frontmatter и Markdown-инструкции. Файл SKILL.md должен включать обязательные поля frontmatter (name и description) и может дополнительно содержать scripts, templates и справочные материалы.
Skills должны описывать нужную структуру файлов или соглашения и объяснять, как создавать или использовать основные возможности (с примерами команд или кода). Делайте их лаконичными, практичными и сфокусированными на лучших практиках, чтобы AI мог генерировать корректный код:
---
name: package-name-development
description: Build and work with PackageName features, including components and workflows.
---
# Package Name Development
## When to use this skill
Use this skill when working with PackageName features...
## Features
- Feature 1: [clear & short description].
- Feature 2: [clear & short description]. Example usage:
$result = PackageName::featureTwo($param1, $param2);Laravel Boost предоставляет два разных способа дать AI-агентам контекст о приложении: guidelines и skills.
Guidelines загружаются заранее при старте AI-агента и дают основной контекст о соглашениях Laravel и лучших практиках, широко применимых по всей кодовой базе.
Skills активируются по требованию при работе над конкретными задачами и содержат подробные паттерны для отдельных областей, например компонентов Livewire или тестов Pest. Загрузка skills только при необходимости уменьшает раздувание контекста и повышает качество кода.
| Аспект | Guidelines | Skills |
|---|---|---|
| Загрузка | Заранее, всегда присутствуют | По требованию, когда релевантны |
| Область | Широкая, фундаментальная | Узкая, task-specific |
| Цель | Основные соглашения и практики | Подробные паттерны реализации |
И рекомендации, и навыки описывают экосистему Laravel. Для фиксации соглашений собственного приложения используйте правила проекта.
Рекомендации и навыки учат агентов писать код на Laravel, а правила проекта - писать именно ваше приложение. Правилом может стать все, что в противном случае пришлось бы заново объяснять в каждой новой сессии:
- Решения, принятые вами, вашими агентами или коллегами в ходе работы.
- Рекомендации по стилю и предпочтения, которым агенту сложно следовать без явного указания.
- Неочевидные ограничения и особенности, которые нельзя вывести из окружающего кода.
Правила хранятся в Markdown-файлах каталога .ai/rules приложения и должны быть добавлены в систему контроля версий. В отличие от собственной памяти агента, привязанной к пользователю и сессии, правила доступны всей команде и каждому агенту, работающему над приложением.
В frontmatter каждого файла правил указываются шаблоны путей, к которым он применяется:
---
paths:
- app/Http/Controllers/**
---
# HTTP-контроллеры
## Наследование от BaseController для ограничения по арендатору
Все контроллеры должны наследовать `App\Http\Controllers\BaseController`, который
применяет область запроса текущего арендатора. Прямое наследование от базового
контроллера Laravel приведет к утечке данных между арендаторами.Кроме того, Boost поддерживает файл .ai/rules/index.md, сопоставляющий шаблоны путей с файлами правил. Агентам предписывается обращаться к этому индексу перед планированием или редактированием файла, поэтому правило загружается только тогда, когда оно относится к задаче:
# Индекс правил проекта
Перед планированием или редактированием найдите строку, шаблоны которой соответствуют
пути файла, и прочитайте указанный файл правил.
| Применяется к | Файл правил |
| --- | --- |
| app/Http/Controllers/** | .ai/rules/controllers.md |
| app/Models/** | .ai/rules/models.md |Note
В отличие от .mcp.json и сгенерированных файлов рекомендаций, каталог .ai/rules следует добавить в систему контроля версий, чтобы правила были доступны всей команде.
Чтобы записать правило, можно просто попросить агента запомнить его:
Запомни, что все денежные значения хранятся целым числом копеек, а не дробным числом.
Агент вызовет MCP-инструмент Boost record-rule, передав glob, краткий title и note. Boost добавит правило в подходящий раздел, при необходимости создаст файл правил и обновит индекс.
Всегда записывайте правила с помощью инструмента record-rule, а не создавайте файлы вручную. При записи правила Boost заново формирует .ai/rules/index.md, на который агенты полагаются при поиске правил для текущего файла. Добавленное вручную правило не будет обнаружено до следующего формирования индекса.
Последовательная запись новых правил удобна для дальнейшей работы, однако в существующем приложении уже могут накопиться соглашения за несколько лет. Навык infer-conventions позволяет сформировать начальный набор правил на основе уже написанного кода. Чтобы начать, попросите агента использовать этот навык:
Используй навык infer-conventions
Навык проверит приложение по перечню аспектов соглашений Laravel, включая валидацию, контроллеры, авторизацию, модели, архитектуру, тестирование, frontend, базу данных и консоль, а затем выполнит свободный поиск таких паттернов, как базовые классы, общие трейты и структура модулей.
Навык документирует фактическое устройство кода, а не желаемое. Он записывает только хорошо подтвержденные соглашения, отличающиеся от стандартных, пропускает правила фреймворка и все, что уже обеспечивает Pint или Rector, а при наличии действительно смешанных подходов сообщает о них вместо записи правила. Перед созданием правил навык покажет каждое найденное соглашение вместе с подтверждающими примерами для вашего одобрения. Чтобы записать все найденные соглашения без подтверждения, можно сказать ему «yolo».
Правила проекта включены по умолчанию. Чтобы полностью отключить их, задайте следующую переменную окружения. Это удалит MCP-инструмент record-rule и прекратит управление каталогом .ai/rules со стороны Boost:
BOOST_RULES_ENABLED=falseLaravel Boost включает Documentation API, который дает AI-агентам доступ к обширной базе знаний, содержащей более 17 000 фрагментов информации о Laravel. API использует семантический поиск через embeddings, чтобы выдавать точные результаты с учетом контекста.
MCP-инструмент Search Docs позволяет агентам запрашивать размещенный Laravel сервис API документации и получать документацию на основе установленных пакетов. AI-рекомендации и skills Boost автоматически инструктируют coding agent использовать этот API.
| Пакет | Поддерживаемые версии |
|---|---|
| Laravel Framework | 10.x, 11.x, 12.x, 13.x |
| Filament | 2.x, 3.x, 4.x, 5.x |
| Flux UI | 2.x Free, 2.x Pro |
| Inertia | 1.x, 2.x |
| Livewire | 1.x, 2.x, 3.x, 4.x |
| Nova | 4.x, 5.x |
| Pest | 3.x, 4.x |
| Tailwind CSS | 3.x, 4.x |
Boost из коробки работает со многими популярными IDE и AI-агентами. Если ваш coding tool пока не поддерживается, можно создать собственного агента и интегрировать его с Boost.
Чтобы добавить поддержку новой IDE или AI-агента, создайте класс, расширяющий Laravel\Boost\Install\Agents\Agent, и реализуйте один или несколько следующих контрактов в зависимости от потребностей:
Laravel\Boost\Contracts\SupportsGuidelines- добавляет поддержку AI-рекомендаций.Laravel\Boost\Contracts\SupportsMcp- добавляет поддержку MCP.Laravel\Boost\Contracts\SupportsSkills- добавляет поддержку Agent Skills.
<?php
declare(strict_types=1);
namespace App;
use Laravel\Boost\Contracts\SupportsGuidelines;
use Laravel\Boost\Contracts\SupportsMcp;
use Laravel\Boost\Contracts\SupportsSkills;
use Laravel\Boost\Install\Agents\Agent;
class CustomAgent extends Agent implements SupportsGuidelines, SupportsMcp, SupportsSkills
{
// Ваша реализация...
}Пример реализации смотрите в ClaudeCode.php.
Зарегистрируйте собственного агента в методе boot класса App\Providers\AppServiceProvider вашего приложения:
use Laravel\Boost\Boost;
public function boot(): void
{
Boost::registerAgent('customagent', CustomAgent::class);
}После регистрации агент будет доступен для выбора при запуске php artisan boost:install.