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:install

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

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

信息

你可以自由地将生成的 MCP 配置文件(.mcp.json)、指南文件(CLAUDE.md、AGENTS.md、junie/ 等)和 boost.json 配置文件添加到应用的 .gitignore 中,因为这些文件在运行 boost:install 和 boost:update 时会自动重新生成。

设置你的代理

1. Open the command palette (`Cmd+Shift+P` or `Ctrl+Shift+P`)
2. Press `enter` on "/open MCP Settings"
3. Turn the toggle on for `laravel-boost`
Claude Code support is typically enabled automatically. If you find it isn't, open a shell in the project's directory and run the following command:

claude mcp add -s local -t stdio laravel-boost php artisan boost:mcp
Codex support is typically enabled automatically. If you find it isn't, open a shell in the project's directory and run the following command:

codex mcp add laravel-boost -- php "artisan" "boost:mcp"
Gemini CLI support is typically enabled automatically. If you find it isn't, open a shell in the project's directory and run the following command:

gemini mcp add -s project -t stdio laravel-boost php artisan boost:mcp
1. Open the command palette (`Cmd+Shift+P` or `Ctrl+Shift+P`)
2. Press `enter` on "MCP: List Servers"
3. Arrow to `laravel-boost` and press `enter`
4. Choose "Start server"
1. Press `shift` twice to open the command palette
2. Search "MCP Settings" and press `enter`
3. Check the box next to `laravel-boost`
4. Click "Apply" at the bottom right

保持 Boost 资源更新

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

php artisan boost:update

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

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

默认情况下,boost:update 命令只会更新应用中已发布的现有 Boost 资源。如果你希望 Boost 扫描应用中任何新安装的包并提供发布其对应的指南和技能,你可以使用 --discover 选项:

php artisan boost:update --discover

MCP 服务器

Laravel Boost 提供了一个 MCP(模型上下文协议)服务器,它暴露了供 AI 代理与你的 Laravel 应用交互的工具。这些工具使代理能够检查应用的结构、查询数据库、执行代码等。

可用的 MCP 工具

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

手动注册 MCP 服务器

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

Command php
Args artisan boost:mcp

JSON 示例:

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

AI 指南

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

可用的 AI 指南

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

注意: 要保持你的 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 能为你的用户生成正确的代码。以下是一个示例:

## 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

代理技能

代理技能是轻量级的、有针对性的知识模块,代理可以在处理特定领域时按需激活。与启动时加载的指南不同,技能允许仅在相关时加载详细的模式和最佳实践,减少上下文膨胀并提高 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

注意: 要保持你的技能为最新,请参阅保持 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 格式,应该结构化为一个包含 SKILL.md 文件的文件夹,该文件包含 YAML frontmatter 和 Markdown 指令。SKILL.md 文件必须包含必需的 frontmatter(name 和 description),并可以选择性地包含脚本、模板和参考材料。

技能应该概述任何必需的文件结构或约定,并解释如何创建或使用其主要功能(附带示例命令或代码片段)。保持它们简洁、可操作并专注于最佳实践,以便 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 代理提供有关应用的上下文:指南和技能。

指南在 AI 代理启动时加载,提供有关 Laravel 约定和最佳实践的必要上下文,这些内容广泛适用于你的代码库。

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

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

文档 API

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

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

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

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

注册代理

在应用的 App\Providers\AppServiceProvider 的 boot 方法中注册你的自定义代理:

use Laravel\Boost\Boost;

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

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