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

Pao Laravel Package

nunomaduro/pao

pao is a tiny CLI helper for Laravel/PHP projects by Nuno Maduro. It makes running common project tasks easier by providing a simple command runner you can ship with your app or use in development, keeping team workflows consistent and repeatable.

Deep Wiki
Context7

PAO is agent-optimized output for PHP testing tools.

Frequently asked questions about Pao
How do I install nunomaduro/pao in a Laravel project?
Run `composer require nunomaduro/pao` in your project root. No additional Laravel-specific setup is needed—it works globally with PHPUnit or Pest. For Laravel, ensure your `phpunit.xml` includes the PAO autoloader or use the `--pao` flag in test commands.
Does pao work with Laravel’s built-in testing helpers?
Yes, pao integrates seamlessly with Laravel’s testing helpers (e.g., `create()`, `assertDatabaseHas()`). It processes output after test execution, so no changes to your test logic are required. Just run tests with `--pao` to see formatted results.
What Laravel/PHP versions does nunomaduro/pao support?
Pao requires PHP 8.1+ and is compatible with Laravel 9+ (or standalone PHPUnit/Pest). Check the package’s [composer.json](https://packagist.org/packages/nunomaduro/pao) for the latest version’s exact requirements. Works with any Laravel version that supports PHP 8.1.
Can I customize which logs pao filters out?
Absolutely. Use a `.paorc` file in your project root to define rules. For example, exclude debug logs or vendor directory output with `- exclude: /vendor/` or `- level: ERROR`. Default rules are sensible but can be overridden entirely.
Will pao break my CI/CD pipeline if it parses test output (e.g., JUnit XML)?
Pao changes the *visual* output format but doesn’t alter the underlying test results. If your CI relies on raw output (e.g., parsing stdout), you’ll need to update scripts to handle pao’s formatted tables. Test this in a staging environment first.
How does pao compare to other test output tools like phpunit-color or laravel-debugbar?
Unlike `phpunit-color` (which only adds colors) or `laravel-debugbar` (a browser tool), pao is *agent-optimized*—it dynamically filters logs to reduce noise. It’s ideal for CLI-heavy workflows, while tools like debugbar focus on web debugging. Use pao for test output, debugbar for browser sessions.
Does pao slow down my test suite?
No, pao adds minimal overhead because it processes output *after* tests run. Benchmark in your CI: expect negligible impact unless you’re running thousands of tests with extremely verbose output. The agent model ensures filtering happens efficiently.
Can I use pao with Pest instead of PHPUnit?
Yes, pao works with Pest out of the box. Run Pest commands with `--pao` (e.g., `pest --pao`) or configure it in your `pest.php` file. The setup is identical to PHPUnit—just install pao and enable it via flags or config.
What if pao hides important logs during debugging?
Pao’s default rules are conservative, but you can override them. For critical logs, add exceptions to `.paorc` (e.g., `- exclude: !/critical-path/`). Always test with `--pao --verbose` to preview changes before full adoption.
Is nunomaduro/pao actively maintained? What if I need help?
Pao was last updated in 2026 and has a strong community following (check GitHub stars/issues). For support, open an issue on the [repo](https://github.com/nunomaduro/pao) or consult the [documentation](https://github.com/nunomaduro/pao#readme). Forking is an option if maintenance stalls.
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.
comsave/common
alecsammon/php-raml-parser
chrome-php/wrench
lendable/composer-license-checker
typhoon/reflection
mesilov/moneyphp-percentage
mike42/gfx-php
bookdown/themes
aura/view
aura/html
aura/cli
povils/phpmnd
nayjest/manipulator
omnipay/tests
psr-mock/http-message-implementation
psr-mock/http-factory-implementation
psr-mock/http-client-implementation
voku/email-check
voku/urlify
rtheunissen/guzzle-log-middleware