VOOZH about

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

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


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

Contributing Guidelines

This page describes the workflow and standards required to contribute to revolution/laravel-boost-phpstorm-copilot. It covers code style, testing, CI gate requirements, and which files are excluded from Packagist distribution releases.

For details on the development environment setup (Testbench workbench, composer scripts, local server), see 6.1. For the CI pipeline structure in more depth, see 6.4. For code quality configuration file references, see 7.5.


Workflow Overview

The following diagram maps the contribution lifecycle to the concrete commands and configuration files involved.

Contribution Workflow


Sources: .github/workflows/tests.yml1-47 .github/workflows/lint.yml1-34 composer.json55-78


Code Style Requirements

All PHP source files must conform to the Laravel Pint configuration defined in pint.json.

Pint Configuration

pint.json1-8

RuleValueEffect
presetlaravelLaravel-standard formatting baseline
no_unused_importsfalseUnused use statements are permitted
strict_comparisontrue=== required instead of ==
declare_strict_typestruedeclare(strict_types=1) required in every PHP file

Running the Linter

# Check only (what CI runs)
composer test:lint

# Auto-fix in place
composer lint

Both commands invoke pint (or pint --test), as declared in composer.json58-63

Sources: pint.json1-8 composer.json58-63


Testing Requirements

The test suite uses Pest 4 with the pestphp/pest-plugin-laravel plugin.

Running Tests

# Run the full suite
composer test

# Run with coverage (generates build/logs/clover.xml)
composer test:coverage

Both scripts are defined in composer.json55-58

Test Suite Structure


Sources: composer.json55-58 .github/workflows/tests.yml36-42

Test Coverage

CI runs composer test:coverage, which produces build/logs/clover.xml using Xdebug. This file is uploaded to qlty by the CI pipeline .github/workflows/tests.yml43-47 Contributions should not reduce coverage below the current baseline.

The full test matrix in CI covers:

PHP VersionRunner
8.3ubuntu-latest
8.4ubuntu-latest
8.5ubuntu-latest

.github/workflows/tests.yml18-19


CI Gate Requirements

Both workflows must pass before a PR can be merged.

CI Check Map


Sources: .github/workflows/tests.yml1-47 .github/workflows/lint.yml1-34

The fail-fast: true matrix setting .github/workflows/tests.yml16 means a failure on any PHP version halts the remaining matrix jobs.


Distribution Release Exclusions

When Packagist packages a release, files listed as export-ignore in .gitattributes are excluded from the downloadable archive. Contributors should not move source code into these paths, and should not remove existing export-ignore entries.

Excluded files and directories:

PathReason
/.githubCI workflows and development config not needed at runtime
/testsTest suite not needed by library consumers
.editorconfigEditor preferences, not runtime code
.gitattributesVCS metadata
.gitignoreVCS metadata
phpunit.xmlTest runner config
pint.jsonCode style config
boost.jsonDevelopment agent config
testbench.yamlTestbench workbench config
/workbenchTestbench development app

.gitattributes1-16

The files that are included in distribution releases are:

  • src/PhpStormCopilot.php, PhpStormCopilotServiceProvider.php, Concerns/WithWSL.php
  • resources/ — the installable guideline and skill templates
  • composer.json
  • LICENSE

Sources: .gitattributes1-16 composer.json25-36


Summary Checklist

Before submitting a pull request, verify:

  • declare(strict_types=1) is present in every modified PHP file
  • === is used instead of == throughout
  • composer test:lint exits with no errors
  • composer test exits with all tests passing
  • No production source files have been moved into export-ignore paths
  • No new files needed by library consumers are placed under /tests, /workbench, or /.github