简介
Laravel Boost 通过提供必要的指南和智能体技能来加速 AI 辅助开发,这些指南和技能可帮助 AI 智能体编写遵循 Laravel 最佳实践的高质量 Laravel 应用程序。
Boost 还提供了一个强大的 Laravel 生态系统文档 API,它结合了内置的 MCP 工具和包含超过 17,000 条 Laravel 特定信息的庞大知识库,所有这些都通过基于 Embedding 的语义搜索功能进行了增强,从而提供精准且具备上下文感知的结果。Boost 指导 Claude Code 和 Cursor 等 AI 智能体使用此 API 来了解最新的 Laravel 功能和最佳实践。
安装
可以通过 Composer 安装 Laravel Boost:
composer require laravel/boost --dev接下来,安装 MCP 服务器和编码指南:
php artisan boost:installboost:install 命令将为你在安装过程中选择的编码智能体生成相关的智能体指南和技能文件。如果像 CLAUDE.md 或 AGENTS.md 这样的指南文件已经存在,Boost 只会替换其 <laravel-boost-guidelines> 代码块内的内容,因此你在该代码块之外编写的任何内容都会被保留。
Laravel Boost 安装完成后,你就可以使用 Cursor、Claude Code 或你选择的 AI 智能体开始编写代码了。
可以将生成的 MCP 配置文件(.mcp.json)、指南文件(CLAUDE.md、AGENTS.md、junie/ 等)以及 boost.json 配置文件添加到应用程序的 .gitignore 中,因为这些文件在运行 boost:install 和 boost:update 时会自动重新生成。
配置你的智能体
1. 打开命令面板(`Cmd+Shift+P` 或 `Ctrl+Shift+P`)
2. 在 "/open MCP Settings" 上按 `enter`
3. 为 `laravel-boost` 打开开关Claude Code 支持通常会自动启用。如果发现未启用,请在项目目录下打开 shell 并运行以下命令:
claude mcp add -s local -t stdio laravel-boost php artisan boost:mcpCodex 支持通常会自动启用。如果发现未启用,请在项目目录下打开 shell 并运行以下命令:
codex mcp add laravel-boost -- php "artisan" "boost:mcp"1. 打开命令面板(`Cmd+Shift+P` 或 `Ctrl+Shift+P`)
2. 在 "MCP: List Servers" 上按 `enter`
3. 移动箭头到 `laravel-boost` 并按 `enter`
4. 选择 "Start server"1. 按两次 `shift` 打开命令面板
2. 搜索 "MCP Settings" 并按 `enter`
3. 勾选 `laravel-boost` 旁边的复选框
4. 点击右下角的 "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"
]
}
}默认情况下,boost:update 命令还会扫描你的应用程序以查找任何新安装的包,并提示发布其相应的指南和技能。当命令以非交互方式运行时(例如从 Composer 脚本运行),此提示会被跳过。如果你希望 Boost 仅更新应用程序内已发布的现有 Boost 资源,可以使用 --no-discover 选项:
php artisan boost:update --no-discoverMCP 服务器
Laravel Boost 提供了一个 MCP(Model Context Protocol,模型上下文协议)服务器,它公开了一些工具,供 AI 智能体与你的 Laravel 应用程序进行交互。这些工具使智能体能够检查应用程序结构、查询数据库、执行代码等。
可用的 MCP 工具
| 名称 | 说明 |
|---|---|
| 应用信息 | 读取 PHP 与 Laravel 版本、数据库引擎、包含版本的生态系统包列表以及 Eloquent 模型 |
| 浏览器日志 | 读取浏览器中的日志和错误 |
| 数据库连接 | 检查可用的数据库连接,包括默认连接 |
| 数据库查询 | 对数据库执行查询 |
| 数据库架构 | 读取数据库架构 |
| 获取绝对 URL | 将相对路径 URI 转换为绝对 URI,以便智能体生成有效的 URL |
| 最近错误 | 从应用程序的日志文件中读取最近的错误 |
| 读取日志条目 | 读取最近的 N 条日志条目 |
| 记录规则 | 将持久化的项目规则记录到 .ai/rules 中,以便未来的智能体继承该规则 |
| 搜索文档 | 查询 Laravel 托管的文档 API 服务,以根据已安装的包检索文档 |
手动注册 MCP 服务器
有时你可能需要使用所选编辑器手动注册 Laravel Boost MCP 服务器。你应该使用以下详细信息注册 MCP 服务器:
| 命令 | php |
| 参数 | artisan boost:mcp |
JSON 示例:
{
"mcpServers": {
"laravel-boost": {
"command": "php",
"args": ["artisan", "boost:mcp"]
}
}
}AI 指南
AI 指南是可组合的指令文件,这些文件会被预先加载,以便为 AI 智能体提供关于 Laravel 生态系统包的必要上下文。这些指南包含核心约定、最佳实践和特定于框架的模式,可帮助智能体生成一致且高质量的代码。
可用的 AI 指南
Laravel Boost 包含了针对以下包和框架的 AI 指南。core 指南为给定包向 AI 提供了通用、一般性的建议,适用于所有版本。
| 包 | 支持的版本 |
|---|---|
| 核心与 Boost | core |
| Laravel 框架 | 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 |
| 强制测试 | 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智能体技能
代理技能(Agent Skills)是一种轻量级、有针对性的知识模块,代理在处理特定领域工作时可按需激活这些模块。与预先加载的指南(guidelines)不同,技能允许仅在相关时加载详细的模式和最佳实践,从而减少上下文冗余并提高人工智能生成代码的相关性。
当您运行 boost:install 并将技能选为功能时,系统会根据 composer.json 中检测到的包自动安装技能。例如,如果您的项目包含 livewire/livewire,livewire-development 技能将被自动安装。Boost 自带的技能(如 infer-conventions)无论您拥有哪些包都会被安装。
可用技能
| 技能 | 包 |
|---|---|
| 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 |
要让您的技能保持最新,请参阅“保持 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 技能支持 代理技能格式,其结构应为包含带 YAML frontmatter 和 Markdown 说明的 SKILL.md 文件的文件夹。SKILL.md 文件必须包含必需的 frontmatter(name 和 description),还可以可选地包含脚本、模板和参考资料。
技能应概述任何必需的文件结构或约定,并说明如何创建或使用其主要功能(附带示例命令或代码片段)。请保持内容简洁、可执行且专注于最佳实践,以便人工智能能为用户生成正确的代码:
---
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 提供了两种截然不同的方式,为人工智能代理提供有关您应用程序的上下文:指南和技能。
指南在人工智能代理启动时预先加载,提供适用于整个代码库的 Laravel 约定和最佳实践的上下文信息。
技能在处理特定任务时按需激活,包含特定领域的详细模式(如 Livewire 组件或 Pest 测试)。仅在相关时加载技能可以减少上下文冗余,并提高代码质量。
| 方面 | 指南 | 技能 |
|---|---|---|
| 加载方式 | 预先加载,始终存在 | 按需加载,仅在相关时 |
| 范围 | 广泛,基础性 | 专注,针对特定任务 |
| 目的 | 核心约定和最佳实践 | 详细实现模式 |
指南和技能均描述了 Laravel 生态系统。要记录您自己应用程序的约定,您应使用项目规则。
项目规则
指南和技能教会代理如何编写 Laravel,而项目规则则教会它们如何编写您的应用程序。规则是指您在每个新会话中都需要反复说明的内容:
- 由您、您的代理或您的队友在过程中做出的决策。
- 难以让代理遵循的风格指南和偏好。
- 无法从周围代码中推断出的陷阱和约束。
规则以 Markdown 文件的形式存储在应用程序的 .ai/rules 目录中,并应提交到源代码控制。与代理自身的记忆(个人化且仅限当前会话)不同,您的规则会与团队以及所有在您应用程序上工作的代理共享。
每个规则文件在其 frontmatter 中声明了其适用的文件 glob 模式:
---
paths:
- app/Http/Controllers/**
---
# Http Controllers
## Extend BaseController for tenant scoping
All controllers must extend `App\Http\Controllers\BaseController`, which applies the
current tenant's query scope. Extending Laravel's base controller directly will leak
data across tenants.此外,Boost 维护着一个 .ai/rules/index.md 文件,该文件将 glob 模式映射到相应的规则文件。代理被指示在规划或编辑任何文件前先查阅此索引,因此只有在相关时才会加载规则:
# Project Rules Index
Before planning or editing, find the row whose globs match the file's path and read that rule file.
| Applies to | Rule file |
| --- | --- |
| app/Http/Controllers/** | .ai/rules/controllers.md |
| app/Models/** | .ai/rules/models.md | 与 .mcp.json 和生成的指南文件不同,.ai/rules 目录应提交到源代码控制,以便您的团队共享这些规则。
记录规则
要记录一条规则,您只需要求您的代理记住它:
Remember that all money values are stored as integer cents, never as floats.代理将调用 Boost 的 record-rule MCP 工具,传入 glob、简短的 title 和 note。随后,Boost 会将规则归档到匹配的区域,必要时创建规则文件,并更新索引。
您应始终使用 record-rule 工具记录规则,而非手动创建规则文件。Boost 会在记录规则时重新生成 .ai/rules/index.md,而代理依赖该索引来发现适用于其正在处理文件的规则。手动添加的规则文件在索引下次重新生成前不会被发现。
推断应用程序的约定
逐个记录规则在后续工作中效果良好;然而,现有应用程序已经积累了多年的约定。infer-conventions 技能将从您已编写的代码中引导生成规则。要开始使用,请要求您的代理使用该技能:
Use the infer-conventions skill该技能将按照一份 Laravel 约定维度检查清单扫描您的应用程序,包括验证、控制器、授权、模型、架构、测试、前端、数据库和控制台,随后进行开放式扫描,以发现诸如基类、共享特性(trait)和模块布局等模式。
该技能记录的是您的代码实际执行的操作,而非应执行的操作。它仅记录有充分依据且非默认的约定,跳过框架默认设置以及 Pint 或 Rector 已强制实施的内容,对于确实混合的模式,会如实报告而非记录。在编写任何规则前,该技能会向您展示其发现的每一条约定及支撑证据,供您批准。如果您希望该技能无需确认就记录所有发现的约定,可以告诉它“yolo”。
禁用项目规则
项目规则默认启用。要完全禁用它们,请定义以下环境变量。这会移除 record-rule MCP 工具,并阻止 Boost 管理 .ai/rules 目录:
BOOST_RULES_ENABLED=false文档 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 时,即可选择该智能体。