跳轉至內容

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 時即可選擇你的智慧體。