VOOZH about

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

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


Loading...
Last indexed: 7 March 2026 (397730)
Menu

Development Guide

This section documents the development workflow for contributors working on the revolution/laravel-boost-copilot-cli package source code. It covers local environment setup, test infrastructure, code quality tooling, and CI/CD pipelines.

For end-user installation and usage, see Getting Started. For runtime architecture, see Core Architecture.


Overview

The package uses Orchestra Testbench to provide a minimal Laravel application environment for testing, Pest as the test framework, and Laravel Pint for code formatting. All development tasks are executed via Composer scripts.

Core development dependencies:

PackageVersionPurpose
orchestra/testbench^10.6Provides Laravel application environment for package development and testing
pestphp/pest^4.1Test framework
pestphp/pest-plugin-laravel^4.0Laravel-specific assertions and helpers
mockery/mockery^1.6Mocking framework for tests
laravel/pint^1.25Code formatting based on Laravel style preset

Sources: composer.json16-22


Development Dependencies and Autoloading

The package defines PSR-4 autoloading for both production code and development/test code:

Production autoloading:

  • Namespace: Revolution\Laravel\Boost\
  • Directory: src/

Development autoloading:

  • Tests\tests/
  • Workbench\App\workbench/app/
  • Workbench\Database\Factories\workbench/database/factories/
  • Workbench\Database\Seeders\workbench/database/seeders/

Sources: composer.json23-35 </old_str> <new_str>

Development Guide

This section documents the development workflow for contributors working on the revolution/laravel-boost-copilot-cli package source code. It covers local environment setup, test infrastructure, code quality tooling, and CI/CD pipelines.

For end-user installation and usage, see Getting Started. For runtime architecture, see Core Architecture.


Overview

The package uses Orchestra Testbench to provide a minimal Laravel application environment for testing, Pest as the test framework, and Laravel Pint for code formatting. All development tasks are executed via Composer scripts.

Core development dependencies:

PackageVersionPurpose
orchestra/testbench^10.6Provides Laravel application environment for package development and testing
pestphp/pest^4.1Test framework
pestphp/pest-plugin-laravel^4.0Laravel-specific assertions and helpers
mockery/mockery^1.6Mocking framework for tests
laravel/pint^1.25Code formatting based on Laravel style preset

Sources: composer.json16-22


Package Namespace and Autoloading

The package defines PSR-4 autoloading for production and development code:

Production code:

  • Namespace: Revolution\Laravel\Boost\
  • Directory: src/
  • Classes: CopilotCli, CopilotCliServiceProvider

Development/test code:

  • Tests\tests/
  • Workbench\App\workbench/app/
  • Workbench\Database\Factories\workbench/database/factories/
  • Workbench\Database\Seeders\workbench/database/seeders/

The service provider Revolution\Laravel\Boost\CopilotCliServiceProvider is auto-discovered by Laravel via the extra.laravel.providers configuration.

Sources: composer.json23-50


Composer Scripts

All development tasks are executed via Composer scripts:

ScriptCommandPurpose
composer testpest --compactExecute full test suite in compact output mode
composer test:coveragepest --compact --coverage --coverage-clover build/logs/clover.xmlExecute tests with code coverage reporting (Clover XML)
composer lintpintFormat code using Laravel Pint
composer test:lintpint --testCheck code formatting without modifying files
composer boostvendor/bin/testbench boost:install --no-interaction --ansiExecute boost:install command in the Testbench environment
composer servevendor/bin/testbench serveStart Testbench development server (includes workbench:build)

Automatic post-install scripts:

After composer install or composer update, three scripts execute automatically via the post-autoload-dump hook:

  1. clearvendor/bin/testbench package:purge-skeleton — Removes skeleton files
  2. preparevendor/bin/testbench package:discover — Discovers packages
  3. buildvendor/bin/testbench workbench:build — Builds workbench assets and database

Sources: composer.json53-76


Development Workflow

Composer Script Execution Flow


Sources: composer.json53-76 testbench.yaml23-27


Repository Structure for Contributors

The relevant directories for contributors are:

PathPurpose
src/Package source (CopilotCli, CopilotCliServiceProvider)
tests/Pest tests (Feature/, ArchTest.php, TestCase.php, Pest.php)
workbench/Orchestra Testbench workbench app (models, factories, seeders, routes)
resources/boost/guidelines/Blade template for the AI guidelines file distributed to users
.ai/guidelines/Blade template for the AI guidelines file used during package development
.github/workflows/CI/CD workflows (tests, lint, copy-guideline)
pint.jsonPint code style configuration
testbench.yamlOrchestra Testbench configuration

Sub-sections

The child pages of this section cover each topic in detail:


Test Infrastructure Map

Test file to system under test mapping:


Sources: composer.json28-34