VOOZH about

URL: https://deepwiki.com/invokable/laravel-boost-phpstorm-copilot

⇱ invokable/laravel-boost-phpstorm-copilot | DeepWiki


Loading...
Last indexed: 28 February 2026 (57ef88)
Menu

Overview

This page introduces revolution/laravel-boost-phpstorm-copilot: what it is, what problem it solves, and how it fits into the Laravel Boost ecosystem. For installation steps see Getting Started. For the full class-level implementation details see Core Implementation.


What This Package Does

revolution/laravel-boost-phpstorm-copilot is a Laravel package that registers a Boost Agent enabling PhpStorm's GitHub Copilot plugin to communicate with a Laravel project's MCP (Model Context Protocol) server.

When a developer runs php artisan boost:install in their Laravel project, this package adds a PhpStorm with GitHub Copilot option to the agent list. Selecting it:

  1. Writes a system-wide mcp.json file that tells the GitHub Copilot plugin inside PhpStorm how to spawn the boost:mcp subprocess.
  2. Optionally installs AI guidelines (.github/instructions/laravel-boost.instructions.md) and agent skills (.github/skills/) into the project.

The core constraint is that mcp.json is system-wide, not per-project. Its entries contain absolute paths to the PHP binary and artisan file of the currently active project. This means boost:install must be re-run whenever you switch Laravel projects.

Sources: README.md96-120 .github/copilot-instructions.md1-35


Position in the Ecosystem

Package ecosystem diagram: how this repo relates to its dependencies and external systems


Sources: composer.json12-16 README.md7-15 .github/copilot-instructions.md17-35


Key Components

ComponentFileRole
PhpStormCopilotsrc/PhpStormCopilot.phpMain Agent implementation; handles detection, MCP config generation, and installation
PhpStormCopilotServiceProvidersrc/PhpStormCopilotServiceProvider.phpLaravel service provider; registers the agent with laravel/boost at boot
WithWSLsrc/Concerns/WithWSL.phpTrait that encapsulates all WSL-specific MCP installation logic
Guidelines templateresources/boost/guidelines/core.blade.phpBlade template installed as .github/instructions/laravel-boost.instructions.md

Sources: .github/copilot-instructions.md19-27 composer.json26-29


Core Class Structure

Class hierarchy: inheritance chain and interface contracts for PhpStormCopilot


Sources: .github/copilot-instructions.md19-27 composer.json47-53


Supported Platforms

Platformmcp.json Write LocationNotes
macOS~/.config/github-copilot/intellij/mcp.jsonStandard
Linux~/.config/github-copilot/intellij/mcp.jsonStandard
Windows (native)%LOCALAPPDATA%\github-copilot\intellij\mcp.jsonStandard
WSL (PHP in WSL, PhpStorm on Windows)%LOCALAPPDATA%\github-copilot\intellij\mcp.json (written via PowerShell)Requires wslu package
Laravel SailSame as above per OSCommand wrapped in bash -c or wsl.exe

PhpStorm Remote Development (PhpStorm running inside WSL) is not supported by automated installation — the mcp.json file must be configured manually in that case.

Sources: README.md16-88 .github/copilot-instructions.md61-68


Runtime Data Flow

Sequence diagram: what happens after boost:install when a developer uses Copilot in PhpStorm


Sources: README.md96-120 .github/copilot-instructions.md99-116


MCP Configuration Format

The mcp.json file written by boost:install uses the following shape. The command and args fields always contain absolute paths:


For WSL environments, the command is wrapped with wsl.exe:


For Laravel Sail on macOS/Linux, the command is wrapped in a bash -c invocation:


Sources: .github/copilot-instructions.md99-154 README.md96-125


Requirements

RequirementValue
PHP^8.3
Laravel^12.x
laravel/boost^2.0
PhpStormAny version with GitHub Copilot plugin installed
WSL (optional)wslu package; wslvar must be available

The package is installed as a dev dependency:


Laravel's package auto-discovery automatically loads PhpStormCopilotServiceProvider via the extra.laravel.providers entry in composer.json47-53

Sources: README.md7-14 composer.json12-16 composer.json47-53


Important Operational Constraint

Because mcp.json stores absolute paths and lives in a system-wide (not per-project) location, the same file is shared across all PhpStorm projects on the machine. Each time you switch to a different Laravel project, you must re-run:


The boost:update command (available in laravel/boost 1.8+) does not update the MCP configuration file.

For more detail on the multi-project workflow and failure modes, see Multi-Project Workflow. For WSL troubleshooting see Troubleshooting Common Issues.

Sources: README.md113-120