Laravel Boost
介绍
Laravel Boost 通过提供必要的指南和智能体技能,加速 AI 辅助开发,帮助 AI 智能体编写遵循 Laravel 最佳实践的高质量 Laravel 应用程序。
Boost 还提供了一个强大的 Laravel 生态系统文档 API,它结合了内置的 MCP 工具和一个包含超过 17,000 条 Laravel 特定信息的广泛知识库,所有这些都通过使用嵌入的语义搜索功能进行了增强,以实现精确、上下文感知的结果。Boost 指导像 Claude Code 和 Cursor 这样的 AI 智能体使用此 API 来了解最新的 Laravel 特性和最佳实践。
安装
Laravel Boost 可以通过 Composer 安装:
composer require laravel/boost --dev接下来,安装 MCP 服务器和编码指南:
php artisan boost:installboost:install 命令将为你安装过程中选择的编码智能体生成相关的智能体指南和技能文件。
安装 Laravel Boost 后,你就可以开始使用 Cursor、Claude Code 或你选择的 AI 智能体进行编码了。
NOTE
可以将生成的 MCP 配置文件(.mcp.json)、指南文件(CLAUDE.md、AGENTS.md、junie/ 等)以及 boost.json 配置文件添加到应用程序的 .gitignore 中,因为这些文件在运行 boost:install 和 boost:update 时会自动重新生成。
设置你的智能体
Cursor
- 打开命令面板 (
Cmd+Shift+P或Ctrl+Shift+P) - 按
enter选择 "/open MCP Settings" - 将
laravel-boost的开关打开
Claude Code
Claude Code 支持通常是自动启用的。如果发现没有启用,请在项目目录中打开 shell 并运行以下命令:
claude mcp add -s local -t stdio laravel-boost php artisan boost:mcpCodex
Codex 支持通常是自动启用的。如果发现没有启用,请在项目目录中打开 shell 并运行以下命令:
codex mcp add laravel-boost -- php "artisan" "boost:mcp"Gemini CLI
Gemini CLI 支持通常是自动启用的。如果发现没有启用,请在项目目录中打开 shell 并运行以下命令:
gemini mcp add -s project -t stdio laravel-boost php artisan boost:mcpGitHub Copilot (VS Code)
- 打开命令面板 (
Cmd+Shift+P或Ctrl+Shift+P) - 按
enter选择 "MCP: List Servers" - 用方向键选择
laravel-boost然后按enter - 选择 "Start server"
Junie
- 按两次
shift打开命令面板 - 搜索 "MCP Settings" 并按
enter - 勾选
laravel-boost旁边的复选框 - 点击右下角的 "Apply"
保持 Boost 资源更新
你可能需要定期更新本地的 Boost 资源(AI 指南和技能),以确保它们反映你已安装的 Laravel 生态系统包的最新版本。为此,你可以使用 boost:update Artisan 命令。
php artisan boost:update你也可以通过将其添加到 Composer 的 "post-update-cmd" 脚本来自动化此过程:
{
"scripts": {
"post-update-cmd": [
"@php artisan boost:update --ansi"
]
}
}MCP 服务器
Laravel Boost 提供了一个 MCP(模型上下文协议)服务器,向 AI 智能体公开工具以与你的 Laravel 应用程序交互。这些工具使智能体能够检查你的应用程序结构、查询数据库、执行代码等。
可用的 MCP 工具
| 名称 | 说明 |
|---|---|
| 应用程序信息 | 读取 PHP & Laravel 版本、数据库引擎、生态系统包及其版本列表,以及 Eloquent 模型 |
| 浏览器日志 | 从浏览器读取日志和错误 |
| 数据库连接 | 检查可用的数据库连接,包括默认连接 |
| 数据库查询 | 对数据库执行查询 |
| 数据库架构 | 读取数据库架构 |
| 获取绝对 URL | 将相对路径 URI 转换为绝对路径,以便智能体生成有效的 URL |
| 获取配置 | 使用“点”表示法从配置文件中获取值 |
| 最后错误 | 从应用程序的日志文件中读取最后一条错误 |
| 列出 Artisan 命令 | 检查可用的 Artisan 命令 |
| 列出可用的配置键 | 检查可用的配置键 |
| 列出可用的环境变量 | 检查可用的环境变量键 |
| 列出路由 | 检查应用程序的路由 |
| 读取日志条目 | 读取最后 N 条日志条目 |
| 搜索文档 | 查询 Laravel 托管的文档 API 服务,以根据已安装的包检索文档 |
| Tinker | 在应用程序的上下文中执行任意代码 |
手动注册 MCP 服务器
有时你可能需要手动将 Laravel Boost MCP 服务器注册到你选择的编辑器。你应该使用以下详细信息注册 MCP 服务器:
| 命令 | php |
| 参数 | artisan boost:mcp |
JSON 示例:
{
"mcpServers": {
"laravel-boost": {
"command": "php",
"args": ["artisan", "boost:mcp"]
}
}
}AI 指南
AI 指南是可组合的指令文件,在 AI 智能体启动时预先加载,为 AI 智能体提供有关 Laravel 生态系统包的基本上下文。这些指南包含核心约定、最佳实践和框架特定模式,有助于智能体生成一致、高质量的代码。
可用的 AI 指南
Laravel Boost 包含以下包和框架的 AI 指南。core 指南为给定包提供了适用于所有版本的通用建议。
| 包 | 支持的版本 |
|---|---|
| 核心 & Boost | core |
| Laravel 框架 | core, 10.x, 11.x, 12.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 |
| Inertia React | core, 1.x, 2.x |
| Inertia Vue | core, 1.x, 2.x |
| Inertia Svelte | core, 1.x, 2.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 |
| 强制执行测试 | 条件性 |
NOTE
要保持你的 AI 指南最新,请参阅保持 Boost 资源更新部分。
添加自定义 AI 指南
要使用你自己的自定义 AI 指南来增强 Laravel Boost,请将 .blade.php 或 .md 文件添加到应用程序的 .ai/guidelines/* 目录。当你运行 boost:install 时,这些文件将自动包含在 Laravel Boost 的指南中。
覆盖 Boost 的 AI 指南
你可以通过创建具有匹配文件路径的自定义指南来覆盖 Boost 内置的 AI 指南。当你创建与现有 Boost 指南路径匹配的自定义指南时,Boost 将使用你的自定义版本而不是内置版本。
例如,要覆盖 Boost 的 "Inertia React v2 表单指南",请在 .ai/guidelines/inertia-react/2/forms.blade.php 创建一个文件。当你运行 boost:install 时,Boost 将包含你的自定义指南而不是默认的指南。
第三方包的 AI 指南
如果你维护一个第三方包,并希望 Boost 包含其 AI 指南,可以通过在你的包中添加 resources/boost/guidelines/core.blade.php 文件来实现。当你的包的用户运行 php artisan boost:install 时,Boost 将自动加载你的指南。
AI 指南应简要概述你的包的功能,概述任何必需的文件结构或约定,并解释如何创建或使用其主要功能(附带示例命令或代码片段)。保持简洁、可操作并专注于最佳实践,以便 AI 可以为你的用户生成正确的代码。这是一个示例:
## 包名
此包提供[功能简介]。
### 特性
- 特性 1: [清晰简短的描述].
- 特性 2: [清晰简短的描述]. 使用示例:
@verbatim
<code-snippet name="如何使用特性 2" lang="php">
$result = PackageName::featureTwo($param1, $param2);
</code-snippet>
@endverbatim智能体技能
智能体技能是轻量级、有针对性的知识模块,智能体在处理特定领域时可以按需激活。与预先加载的指南不同,技能允许仅在相关时加载详细的模式和最佳实践,从而减少上下文膨胀并提高 AI 生成代码的相关性。
当你运行 boost:install 并选择技能作为一项功能时,将根据你在 composer.json 中检测到的包自动安装技能。例如,如果你的项目包含 livewire/livewire,则会自动安装 livewire-development 技能。
可用技能
| 技能 | 包 |
|---|---|
| fluxui-development | Flux UI |
| folio-routing | Folio |
| 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
要保持你的技能最新,请参阅保持 Boost 资源更新部分。
自定义技能
要创建你自己的自定义技能,请在你的应用程序的 .ai/skills/{skill-name}/ 目录中添加一个 SKILL.md 文件。当你运行 boost:update 时,你的自定义技能将与 Boost 的内置技能一起安装。
例如,为你的应用程序的领域逻辑创建一个自定义技能:
.ai/skills/creating-invoices/SKILL.md覆盖技能
你可以通过创建具有匹配名称的自定义技能来覆盖 Boost 的内置技能。当你创建与现有 Boost 技能名称匹配的自定义技能时,Boost 将使用你的自定义版本而不是内置版本。
例如,要覆盖 Boost 的 livewire-development 技能,请在 .ai/skills/livewire-development/SKILL.md 创建一个文件。当你运行 boost:update 时,Boost 将包含你的自定义技能而不是默认的技能。
第三方包技能
如果你维护一个第三方包,并希望 Boost 包含其技能,可以通过在你的包中添加 resources/boost/skills/{skill-name}/SKILL.md 文件来实现。当你的包的用户运行 php artisan boost:install 时,Boost 将根据用户偏好自动安装你的技能。
Boost 技能支持 Agent Skills 格式,应结构化为包含带有 YAML 前置元数据和 Markdown 指令的 SKILL.md 文件的文件夹。SKILL.md 文件必须包含必需的前置元数据(name 和 description),并可以选择性地包含脚本、模板和参考资料。
技能应概述任何必需的文件结构或约定,并解释如何创建或使用其主要功能(附带示例命令或代码片段)。保持简洁、可操作并专注于最佳实践,以便 AI 可以为你的用户生成正确的代码:
---
name: package-name-development
description: 构建和使用 PackageName 功能,包括组件和工作流。
---
# Package Name 开发
## 何时使用此技能
在处理 PackageName 功能时使用此技能...
## 特性
- 特性 1: [清晰简短的描述].
- 特性 2: [清晰简短的描述]. 使用示例:
$result = PackageName::featureTwo($param1, $param2);指南 vs. 技能
Laravel Boost 提供了两种不同的方式为 AI 智能体提供有关你应用程序的上下文:指南和技能。
指南在 AI 智能体启动时预先加载,提供适用于整个代码库的 Laravel 约定和最佳实践的基本上下文。
技能在处理特定任务时按需激活,包含特定领域(如 Livewire 组件或 Pest 测试)的详细模式。仅在相关时加载技能可减少上下文膨胀并提高代码质量。
| 方面 | 指南 | 技能 |
|---|---|---|
| 加载方式 | 预先,始终存在 | 按需,在相关时 |
| 范围 | 广泛,基础性 | 专注,任务特定 |
| 目的 | 核心约定和最佳实践 | 详细的实现模式 |
文档 API
Laravel Boost 包含一个文档 API,为 AI 智能体提供对一个包含超过 17,000 条 Laravel 特定信息的广泛知识库的访问。该 API 使用带有嵌入的语义搜索来提供精确、上下文感知的结果。
Search Docs MCP 工具允许智能体查询 Laravel 托管的文档 API 服务,以根据你安装的包检索文档。Boost 的 AI 指南和技能将自动指导你的编码智能体使用此 API。
| 包 | 支持的版本 |
|---|---|
| Laravel 框架 | 10.x, 11.x, 12.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
Boost 开箱即用地与许多流行的 IDE 和 AI 智能体配合使用。如果你的编码工具尚不支持,你可以创建自己的智能体并将其与 Boost 集成。
添加对其他 IDE / AI 智能体的支持
要添加对新 IDE 或 AI 智能体的支持,请创建一个扩展 Laravel\Boost\Install\Agents\Agent 的类,并根据需要实现以下一个或多个接口:
Laravel\Boost\Contracts\SupportsGuidelines- 添加对 AI 指南的支持。Laravel\Boost\Contracts\SupportsMcp- 添加对 MCP 的支持。Laravel\Boost\Contracts\SupportsSkills- 添加对智能体技能的支持。
编写智能体
<?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。
注册智能体
在你的应用程序的 App\Providers\AppServiceProvider 的 boot 方法中注册你的自定义智能体:
use Laravel\Boost\Boost;
public function boot(): void
{
Boost::registerAgent('customagent', CustomAgent::class);
}注册后,你的智能体将在运行 php artisan boost:install 时可供选择。