Skip to content

Laravel Boost

简介

Laravel Boost 通过提供必要的指南和 agent 技能来加速 AI 辅助开发,帮助 AI agent 编写遵循 Laravel 最佳实践的高质量 Laravel 应用程序。

Boost 还提供了强大的 Laravel 生态系统文档 API,它将内置 MCP 工具与包含超过 17,000 条 Laravel 特定信息的广泛知识库相结合,所有内容都通过使用嵌入的语义搜索功能增强,以实现精确的、上下文感知的结果。Boost 指示 Claude Code 和 Cursor 等 AI agent 使用此 API 来了解最新的 Laravel 功能和最佳实践。

安装

Laravel Boost 可以通过 Composer 安装:

shell
composer require laravel/boost --dev

接下来,安装 MCP 服务器和编码指南:

shell
php artisan boost:install

boost:install 命令将为你在安装过程中选择的编码 agent 生成相关的 agent 指南和技能文件。

安装 Laravel Boost 后,你就可以使用 Cursor、Claude Code 或你选择的 AI agent 开始编码了。

NOTE

你可以随意将生成的 MCP 配置文件(.mcp.json)、指南文件(CLAUDE.mdAGENTS.mdjunie/ 等)和 boost.json 配置文件添加到应用程序的 .gitignore 中,因为这些文件在运行 boost:installboost:update 时会自动重新生成。

设置你的 Agent

text
1. 打开命令面板(`Cmd+Shift+P` 或 `Ctrl+Shift+P`)
2. 在 "/open MCP Settings" 上按 `enter`
3. 打开 `laravel-boost` 的开关
text
Claude Code 支持通常会自动启用。如果你发现没有启用,请在项目目录中打开 shell 并运行以下命令:

claude mcp add -s local -t stdio laravel-boost php artisan boost:mcp
text
Codex 支持通常会自动启用。如果你发现没有启用,请在项目目录中打开 shell 并运行以下命令:

codex mcp add laravel-boost -- php "artisan" "boost:mcp"
text
Gemini CLI 支持通常会自动启用。如果你发现没有启用,请在项目目录中打开 shell 并运行以下命令:

gemini mcp add -s project -t stdio laravel-boost php artisan boost:mcp
text
1. 打开命令面板(`Cmd+Shift+P` 或 `Ctrl+Shift+P`)
2. 在 "MCP: List Servers" 上按 `enter`
3. 使用方向键选择 `laravel-boost` 并按 `enter`
4. 选择 "Start server"
text
1. 按两次 `shift` 打开命令面板
2. 搜索 "MCP Settings" 并按 `enter`
3. 勾选 `laravel-boost` 旁边的复选框
4. 点击右下角的 "Apply"

保持 Boost 资源更新

你可能希望定期更新本地 Boost 资源(AI 指南和技能),以确保它们反映你已安装的 Laravel 生态系统包的最新版本。为此,你可以使用 boost:update Artisan 命令。

shell
php artisan boost:update

你还可以通过将其添加到 Composer 的 "post-update-cmd" 脚本来自动化此过程:

json
{
  "scripts": {
    "post-update-cmd": [
      "@php artisan boost:update --ansi"
    ]
  }
}

MCP 服务器

Laravel Boost 提供了一个 MCP(Model Context Protocol)服务器,它公开了供 AI agent 与你的 Laravel 应用程序交互的工具。这些工具使 agent 能够检查应用程序的结构、查询数据库、执行代码等。

可用的 MCP 工具

名称说明
Application Info读取 PHP 和 Laravel 版本、数据库引擎、生态系统包版本列表和 Eloquent model
Browser Logs读取浏览器的日志和错误
Database Connections检查可用的数据库连接,包括默认连接
Database Query对数据库执行查询
Database Schema读取数据库 schema
Get Absolute URL将相对路径 URI 转换为绝对路径,以便 agent 生成有效的 URL
Last Error读取应用程序日志文件中的最后一个错误
Read Log Entries读取最后 N 条日志条目
Search Docs查询 Laravel 托管的文档 API 服务,根据已安装的包检索文档

手动注册 MCP 服务器

有时你可能需要手动将 Laravel Boost MCP 服务器注册到你选择的编辑器中。你应该使用以下详细信息注册 MCP 服务器:

项目
Commandphp
Argsartisan boost:mcp

JSON 示例:

json
{
    "mcpServers": {
        "laravel-boost": {
            "command": "php",
            "args": ["artisan", "boost:mcp"]
        }
    }
}

AI 指南

AI 指南是可组合的指令文件,在启动时加载,为 AI agent 提供关于 Laravel 生态系统包的基本上下文。这些指南包含核心约定、最佳实践和框架特定的模式,帮助 agent 生成一致的、高质量的代码。

可用的 AI 指南

Laravel Boost 包含以下包和框架的 AI 指南。core 指南为给定包提供适用于所有版本的通用、概括性建议。

支持的版本
Core & Boostcore
Laravel Frameworkcore, 10.x, 11.x, 12.x
Livewirecore, 2.x, 3.x, 4.x
Flux UIcore, free, pro
Foliocore
Herdcore
Inertia Laravelcore, 1.x, 2.x, 3.x
Inertia Reactcore, 1.x, 2.x, 3.x
Inertia Vuecore, 1.x, 2.x, 3.x
Inertia Sveltecore, 1.x, 2.x, 3.x
MCPcore
Pennantcore
Pestcore, 3.x, 4.x
PHPUnitcore
Pintcore
Sailcore
Tailwind CSScore, 3.x, 4.x
Livewire Voltcore
Wayfindercore
Enforce Testsconditional

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 Form Guidance"指南,请在 .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 能为你的用户生成正确的代码。以下是一个示例:

php
## 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>
@endverbatim

Agent 技能

Agent Skills 是轻量级的、有针对性的知识模块,agent 可以在处理特定领域时按需激活。与预先加载的指南不同,技能允许仅在相关时加载详细的模式和最佳实践,从而减少上下文膨胀并提高 AI 生成代码的相关性。

当你运行 boost:install 并选择技能作为功能时,技能会根据 composer.json 中检测到的包自动安装。例如,如果你的项目包含 livewire/livewirelivewire-development 技能将自动安装。

可用技能

技能
fluxui-developmentFlux UI
folio-routingFolio
inertia-react-developmentInertia React
inertia-svelte-developmentInertia Svelte
inertia-vue-developmentInertia Vue
livewire-developmentLivewire
mcp-developmentMCP
pennant-developmentPennant
pest-testingPest
tailwindcss-developmentTailwind CSS
volt-developmentVolt
wayfinder-developmentWayfinder

Note: 要保持技能最新,请参阅保持 Boost 资源更新部分。

自定义技能

要创建自己的自定义技能,请将 SKILL.md 文件添加到应用程序的 .ai/skills/{skill-name}/ 目录中。当你运行 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 frontmatter 和 Markdown 说明的 SKILL.md 文件的文件夹。SKILL.md 文件必须包含必需的 frontmatter(namedescription),并且可以选择包含脚本、模板和参考资料。

技能应概述任何所需的文件结构或约定,并解释如何创建或使用其主要功能(使用示例命令或代码片段)。保持简洁、可操作,并专注于最佳实践,以便 AI 能为你的用户生成正确的代码:

markdown
---
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);

指南 vs. 技能

Laravel Boost 提供了两种不同的方式来为 AI agent 提供关于应用程序的上下文:指南技能

指南在 AI agent 启动时预先加载,提供关于 Laravel 约定和最佳实践的基本上下文,这些内容广泛适用于整个代码库。

技能在处理特定任务时按需激活,包含特定领域(如 Livewire 组件或 Pest 测试)的详细模式。仅在相关时加载技能可以减少上下文膨胀并提高代码质量。

方面指南技能
加载时机预先加载,始终存在按需加载,相关时启用
范围广泛的、基础性的聚焦的、任务特定的
目的核心约定和最佳实践详细的实现模式

文档 API

Laravel Boost 包含一个文档 API,它为 AI agent 提供对包含超过 17,000 条 Laravel 特定信息的广泛知识库的访问。该 API 使用带有嵌入的语义搜索来提供精确的、上下文感知的结果。

Search Docs MCP 工具允许 agent 查询 Laravel 托管的文档 API 服务,根据已安装的包检索文档。Boost 的 AI 指南和技能将自动指示你的编码 agent 使用此 API。

支持的版本
Laravel Framework10.x, 11.x, 12.x
Filament2.x, 3.x, 4.x, 5.x
Flux UI2.x Free, 2.x Pro
Inertia1.x, 2.x
Livewire1.x, 2.x, 3.x, 4.x
Nova4.x, 5.x
Pest3.x, 4.x
Tailwind CSS3.x, 4.x

扩展 Boost

Boost 开箱即用地支持许多流行的 IDE 和 AI agent。如果你的编码工具尚未得到支持,你可以创建自己的 agent 并将其与 Boost 集成。

添加对其他 IDE / AI Agent 的支持

要添加对新 IDE 或 AI agent 的支持,请创建一个扩展 Laravel\Boost\Install\Agents\Agent 的类,并根据你的需要实现以下一个或多个 contract:

  • Laravel\Boost\Contracts\SupportsGuidelines - 添加对 AI 指南的支持。
  • Laravel\Boost\Contracts\SupportsMcp - 添加对 MCP 的支持。
  • Laravel\Boost\Contracts\SupportsSkills - 添加对 Agent 技能的支持。

编写 Agent

php
<?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
{
    // Your implementation...
}

有关示例实现,请参阅 ClaudeCode.php

注册 Agent

在应用程序的 App\Providers\AppServiceProviderboot 方法中注册你的自定义 agent:

php
use Laravel\Boost\Boost;

public function boot(): void
{
    Boost::registerAgent('customagent', CustomAgent::class);
}

注册后,你的 agent 将在运行 php artisan boost:install 时可供选择。