- What is IntelliPest and how does it differ from plain Pest?
- IntelliPest is a developer-experience extension for PestPHP that adds coding assistance and test automation helpers, primarily by emitting IDE-consumable metadata so Pest's fluent API resolves in autocomplete and static analysis. Plain Pest already gives you the fluent expect() API, datasets, and arch() presets at runtime, but editors often cannot infer those types. IntelliPest lives in the same engineering-platform layer as Larastan, IDE Helper, and Pint, so treat it as a require-dev tool rather than a runtime dependency.
- How do I install IntelliPest in a Laravel application?
- Install it as a dev dependency with composer require --dev ace-of-aces/intellipest, then run whatever generation command the package exposes to produce the IDE metadata artifact. No changes to your existing test code should be required, since the tool is purely additive. Wire the generation step into a Composer script so it reruns on install or after Pest upgrades.
- Does IntelliPest support Pest 3 and PHP 8.3 or newer?
- Pest has changed its expectation API across major versions, so verify the supported Pest and PHP ranges against the package's composer.json and release notes before rolling it out. Build an explicit support matrix covering your Pest major versions, PHP minor versions, and CI PHP images, and pin the dependency with a caret constraint. Confirm Pest 3 and PHP 8.3+ coverage directly, since a mismatch produces plausible-but-wrong autocomplete.
- Should I commit the generated IntelliPest metadata file or gitignore it?
- Both approaches work, but they trade off differently. Committing the generated file makes drift checkable in CI and gives every developer the same autocomplete immediately, at the cost of merge noise and stale-file risk. Gitignoring it and regenerating on install avoids drift but means every clone and CI job must run the generation step before static analysis.
- Does IntelliPest work in VS Code with Intelephense, or only in PhpStorm?
- The benefit is IDE-concentrated: PhpStorm users gain the most because it understands .phpstorm.meta.php files and docblock helper stubs well. VS Code with Intelephense benefits less predictably, depending on what artifact the package actually emits. Score adoption per team, and pilot where both Pest usage and PhpStorm adoption are high.
- Does IntelliPest pick up my project's custom expectations and datasets?
- That is the key fidelity question. Custom expectations registered via expect()->extend() and dynamic dataset providers may be missed if the metadata is generated statically or from a hand-maintained manifest. Read the generation mechanism to confirm whether it reflects over test classes or parses source, then test autocomplete on your own custom expectations before standardizing.
- Does generating IntelliPest metadata boot my Laravel app and need a database?
- It depends on the generation mechanism, which you should confirm before adopting. If it boots the application, that means a working .env, a bootable container, and possibly a database in CI. If it parses source statically, generation is fast and safe to run anywhere, including pre-commit hooks.
- How do I add an IntelliPest drift check to CI?
- Add the generation command to a Composer script, then have CI run it and fail the build if the working tree changes. That keeps the committed metadata in sync with the Pest version your lockfile pins. Pair the check with your existing Pint and Larastan steps so the toolchain stays one pipeline.
- Is IntelliPest safe to run in CI, and does it phone home?
- It runs in dev and CI environments that typically hold deploy credentials and secrets, so review the source before adoption. Check for post-install scripts, network calls, and telemetry, and note that this is a single-maintainer package with a small star count. Pin the version, review diffs on upgrade, and keep a one-line removal path as your exit plan.
- How do I remove IntelliPest if my team does not adopt it?
- Rollback is genuinely simple: run composer remove --dev ace-of-aces/intellipest and delete the generated metadata artifact. No test code changes are needed because the package is purely additive. That low-friction exit is worth highlighting when pitching adoption to skeptical teams.