Boost
📝 此頁面為 Laravel 官方文檔的繁體中文翻譯。查看原始英文版本
Laravel Boost
簡介
Laravel Boost 透過提供 essential 指南和代理技能來加速 AI 輔助開發,這些指南和技能幫助 AI 代理編寫高品質的 Laravel 應用程式,並遵循 Laravel 的最佳實踐。
Boost 還提供了一個強大的 Laravel 生態系統文件 API,該 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 代理開始編碼了。
[!NOTE] 您可以自由地將生成的 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 支援通常會自動啟用。如果您發現它沒有啟用,請在專案的目錄中打開一個終端並運行以下命令:
claude mcp add -s local -t stdio laravel-boost php artisan boost:mcp
Codex 支援通常會自動啟用。如果您發現它沒有啟用,請在專案的目錄中打開一個終端並運行以下命令:
codex mcp add laravel-boost -- php "artisan" "boost:mcp"
Gemini CLI 支援通常會自動啟用。如果您發現它沒有啟用,請在專案的目錄中打開一個終端並運行以下命令:
gemini mcp add -s project -t stdio 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 命令只會更新已在應用程式中發佈的現有 Boost 資源。如果您希望 Boost 掃描您的應用程式以查找任何新安裝的套件並提供發佈其相應的指南和技能,您可以使用 --discover 選項:
php artisan boost:update --discover
MCP 伺服器
Laravel Boost 提供了一個 MCP(Model Context Protocol)伺服器,該伺服器為 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 指南為 AI 提供了適用於所有版本的通用、概括性建議。
| 套件 | 支援的版本 |
|---|---|
| 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
代理技能
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 的內建技能一起安裝。
例如,要為應用程式的領域邏輯建立一個自訂技能:
.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 前置元資料和 Markdown 指令。SKILL.md 檔案必須包含必需的前置元資料(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);
指南 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 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- 添加對 Agent Skills 的支援。
編寫代理
<?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 時可供選擇。