Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Pest Dev Tools Laravel Package

pestphp/pest-dev-tools

Pest Development Tools: internal utilities and tooling used to build and maintain the Pest testing framework. Includes helpers for local development, automation, and repository workflows. For using Pest in your app, see the main Pest repository.

View on GitHub
Deep Wiki
Context7

Getting Started

This package is not a runtime dependency—it's a collection of development-time tools intended for contributors or maintainers working on Pest itself or on advanced Pest-based tooling. As a developer, you typically do not install this package in your application. Instead:

  • Start with the main pestphp/pest package for everyday testing.
  • If you’re contributing to Pest’s core (e.g., fixing bugs, adding features), clone the Pest monorepo (via the main pestphp/pest repo), and this pest-dev-tools package will be used internally as part of the toolchain (e.g., linting, static analysis, reformatting).
  • First step: Read the official Pest Docs and familiarize yourself with core Pest usage before diving into dev tooling.

Implementation Patterns

This package does not expose a public API for application code. Instead, its composer.json defines strict development dependencies used in CI and local tooling:

  • Linting & Styling: laravel/pint for code style enforcement (configured via .pint.json in the monorepo).
  • Static Analysis: phpstan/phpstan + phpstan-strict-rules + symplify/phpstan-rules for type safety and rule enforcement across Pest’s codebase.
  • Refactoring: rector/rector for automated code modernization during core development.
  • Debugging & Dev Experience: symfony/var-dumper for rich dumping (used in tests), and phpunit/phpunit as the test runner (Pest is built on top of PHPUnit).

If you're building a custom Pest plugin or extension, you might adopt similar tooling in your own dev dependencies—but this package itself isn’t meant for direct integration.

Gotchas and Tips

  • Do not install this in your Laravel app: It’s a dev tooling meta-package—its dependencies overlap with or conflict with your app’s own dev requirements.
  • Version mismatch trap: It requires PHP 8.3+ and bleeding-edge tool versions (^8.0.4 for VarDumper, etc.). Never mix these versions into legacy apps requiring older toolchains.
  • Monorepo dependency: This package exists solely to declaratively define the dev requirements for the Pest monorepo. If you’re not developing Pest itself, you’ll never directly use it.
  • Extension tip: If creating your own Pest plugin, borrow the tooling config (e.g., phpstan.neon, rector.php) from Pest’s repo—but install the individual packages yourself (laravel/pint, rector/rector, etc.), not this meta-package.
  • No tests here: Like its name implies, it’s not a testing package—it’s tooling for testing Pest. Don’t expect Pest-style test examples or docs for end users.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport