VOOZH about

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

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


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

Development Guide

This section covers everything a contributor needs to develop, test, and maintain the revolution/laravel-boost-phpstorm-copilot package itself. It does not cover how to use the package in an end-user Laravel project — for that, see the Getting Started section.

The sub-pages here address four concerns:

Sub-pageTopic
6.1 Development Environment SetupTestbench workbench, composer scripts, local dev server
6.2 Testing Framework and StrategyPest 4 test suite, mocking approach, running tests
6.3 Code Style and Quality StandardsLaravel Pint, PSR-12, strict_types, EditorConfig
6.4 CI/CD PipelineGitHub Actions: test matrix and lint workflows

Repository Layout

The package separates production code, installable templates, and test infrastructure into distinct directories.

Repository Structure — Production vs. Development Surfaces


Sources: composer.json1-84 .github/copilot-instructions.md1-188


Composer Scripts

All routine developer tasks are accessible through composer scripts defined in composer.json55-77

ScriptCommandPurpose
composer testpestRun the full test suite
composer test:coveragepest --coverage --coverage-clover build/logs/clover.xmlRun tests with Clover coverage report
composer lintpintFormat code in-place with Laravel Pint
composer test:lintpint --testCheck formatting without modifying files
composer boosttestbench boost:install --no-interaction --ansiInstall the agent into the workbench app
composer cleartestbench package:purge-skeleton --ansiPurge the workbench skeleton
composer preparetestbench package:discover --ansiDiscover packages in the workbench
composer buildtestbench workbench:build --ansiBuild workbench assets
composer servebuild + testbench serve --ansiStart a local dev server for the workbench app

The post-autoload-dump hook automatically runs clear, prepare, and build after every composer install or composer update, keeping the workbench environment in sync.

Sources: composer.json55-77


Development Workflow Overview

The diagram below maps the developer actions to the specific tools and files they invoke.

Contributor Workflow — Actions to Tools


Sources: composer.json55-77 .github/copilot-instructions.md50-96


Key Development Constraints

The following constraints apply to all contributions:

  • PHP minimum version: 8.3 (enforced via composer.json and CI matrix)
  • Laravel minimum version: 12.x
  • declare(strict_types=1): Required in every PHP file
  • All tests must pass before merging: composer test
  • Code must pass linting before merging: composer test:lint
  • Test coverage target: above 90%
  • Namespace root: Revolution\Laravel\Boost\ (PSR-4, mapped from src/)
  • Test namespace: Tests\ (PSR-4, mapped from tests/)
  • Workbench namespace: Workbench\App\ (mapped from workbench/app/)

Sources: composer.json12-36 .github/copilot-instructions.md8-15 .github/copilot-instructions.md38-48


Class Responsibilities at a Glance

For contributors landing on a specific bug or feature, this table maps concerns to files:

ConcernFileKey Class / Trait
Agent behavior, MCP config generationsrc/PhpStormCopilot.phpPhpStormCopilot
WSL-specific installation logicsrc/Concerns/WithWSL.phpWithWSL
Package registration with Laravel Boostsrc/PhpStormCopilotServiceProvider.phpPhpStormCopilotServiceProvider
Guideline template installed into projectsresources/boost/guidelines/core.blade.php
Feature tests for agent logictests/Feature/PhpStormCopilotTest.php
Feature tests for service providertests/Feature/PhpStormCopilotServiceProviderTest.php
Architecture rulestests/ArchTest.php
Pest bootstrap and uses() configtests/Pest.php

Sources: .github/copilot-instructions.md19-32 composer.json25-36


Sub-page Summaries

6.1 Development Environment Setup

Covers orchestra/testbench workbench configuration (testbench.yaml), the workbench/ directory structure, and how to get the local dev server running via composer serve. Also explains what each post-autoload-dump step does.

6.2 Testing Framework and Strategy

Documents the Pest 4 test suite in tests/Feature/. Explains how DetectionStrategyFactory is mocked to isolate platform detection logic, what PhpStormCopilotTest covers (detection configs, path helpers, WSL transforms), and how to run tests with filtering.

6.3 Code Style and Quality Standards

Describes the pint.json configuration (Laravel preset, strict_comparison, declare_strict_types rules), .editorconfig settings (4-space indent, LF line endings, final newline), and composer lint / composer test:lint usage.

6.4 CI/CD Pipeline

Explains the two GitHub Actions workflows: tests.yml (matrix across PHP 8.3/8.4/8.5 with Xdebug coverage uploaded to qlty) and lint.yml (Pint check on push to main).