跳转至内容

Laravel Boost

简介

Laravel Boost 通过提供必要的指南和智能体技能,帮助 AI 智能体编写符合 Laravel 最佳实践的高质量应用程序,从而加速 AI 辅助开发。

Boost 还提供了一个强大的 Laravel 生态系统文档 API,将内置的 MCP 工具与包含超过 17,000 条 Laravel 专有信息的知识库相结合,并通过基于嵌入(embeddings)的语义搜索能力进行增强,从而获得精确、具有上下文感知的结果。Boost 会指示 Claude Code 和 Cursor 等 AI 智能体使用此 API 来学习最新的 Laravel 特性和最佳实践。

安装

Laravel Boost 可以通过 Composer 安装

1composer require laravel/boost --dev

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

1php artisan boost:install

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

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

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

设置你的智能体

11. Open the command palette (`Cmd+Shift+P` or `Ctrl+Shift+P`)
22. Press `enter` on "/open MCP Settings"
33. Turn the toggle on for `laravel-boost`
1Claude 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:
2
3claude mcp add -s local -t stdio laravel-boost php artisan boost:mcp
1Codex support is typically enabled automatically. If you find it isn't, open a shell in the project's directory and run the following command:
2
3codex mcp add laravel-boost -- php "artisan" "boost:mcp"
1Gemini 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:
2
3gemini mcp add -s project -t stdio laravel-boost php artisan boost:mcp
11. Open the command palette (`Cmd+Shift+P` or `Ctrl+Shift+P`)
22. Press `enter` on "MCP: List Servers"
33. Arrow to `laravel-boost` and press `enter`
44. Choose "Start server"
11. Press `shift` twice to open the command palette
22. Search "MCP Settings" and press `enter`
33. Check the box next to `laravel-boost`
44. Click "Apply" at the bottom right

保持 Boost 资源更新

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

1php artisan boost:update

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

1{
2 "scripts": {
3 "post-update-cmd": [
4 "@php artisan boost:update --ansi"
5 ]
6 }
7}

MCP 服务器

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

可用的 MCP 工具

名称 备注
应用程序信息 读取 PHP 和 Laravel 版本、数据库引擎、生态系统包列表及其版本,以及 Eloquent 模型
浏览器日志 从浏览器读取日志和错误
数据库连接 检查可用的数据库连接,包括默认连接
数据库查询 执行数据库查询
数据库模式 读取数据库模式
获取绝对 URL 将相对路径 URI 转换为绝对路径,以便智能体生成有效的 URL
最新错误 从应用程序的日志文件中读取最后一个错误
读取日志条目 读取最后 N 条日志记录
搜索文档 查询 Laravel 托管的文档 API 服务,以根据已安装的包检索文档

手动注册 MCP 服务器

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

命令php
参数artisan boost:mcp

JSON 示例

1{
2 "mcpServers": {
3 "laravel-boost": {
4 "command": "php",
5 "args": ["artisan", "boost:mcp"]
6 }
7 }
8}

AI 指南(AI Guidelines)

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

可用的 AI 指南

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

扩展包 支持的版本
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, 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 表单指南",请在 .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## Package Name
2 
3This package provides [brief description of functionality].
4 
5### Features
6 
7- Feature 1: [clear & short description].
8- Feature 2: [clear & short description]. Example usage:
9 
10@verbatim
11<code-snippet name="How to use Feature 2" lang="php">
12$result = PackageName::featureTwo($param1, $param2);
13</code-snippet>
14@endverbatim

智能体技能(Agent Skills)

智能体技能 (Agent Skills) 是轻量级的、有针对性的知识模块,智能体可以在处理特定领域时按需激活。与初始加载的指南不同,技能允许仅在相关时才加载详细的模式和最佳实践,从而减少上下文冗余并提高 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 的内置技能一起安装。

例如,为你的应用程序领域逻辑创建一个自定义技能

1.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 文件必须包含必需的前置元数据(namedescription),并且可以选择性地包含脚本、模板和参考资料。

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

1---
2name: package-name-development
3description: Build and work with PackageName features, including components and workflows.
4---
5 
6# Package Name Development
7 
8## When to use this skill
9Use this skill when working with PackageName features...
10 
11## Features
12 
13- Feature 1: [clear & short description].
14- Feature 2: [clear & short description]. Example usage:
15 
16$result = PackageName::featureTwo($param1, $param2);

指南与技能的区别

Laravel Boost 提供了两种不同的方式来为 AI 智能体提供有关你应用程序的上下文:指南 (guidelines)技能 (skills)

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

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

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

文档 API

Laravel Boost 包含一个文档 API,为 AI 智能体提供对包含超过 17,000 条 Laravel 专有信息的庞大知识库的访问权限。该 API 使用带有嵌入(embeddings)的语义搜索来提供精确、具有上下文感知的结果。

搜索文档 (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 的类,并根据需要实现以下一个或多个契约(contracts)

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

编写智能体

1<?php
2 
3declare(strict_types=1);
4 
5namespace App;
6 
7use Laravel\Boost\Contracts\SupportsGuidelines;
8use Laravel\Boost\Contracts\SupportsMcp;
9use Laravel\Boost\Contracts\SupportsSkills;
10use Laravel\Boost\Install\Agents\Agent;
11 
12class CustomAgent extends Agent implements SupportsGuidelines, SupportsMcp, SupportsSkills
13{
14 // Your implementation...
15}

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

注册智能体

在应用程序的 App\Providers\AppServiceProviderboot 方法中注册你的自定义智能体

1use Laravel\Boost\Boost;
2 
3public function boot(): void
4{
5 Boost::registerAgent('customagent', CustomAgent::class);
6}

注册后,在运行 php artisan boost:install 时即可选择你的智能体。