laravel/pao
Agent-optimized output for PHP tools. Auto-detects AI agents (Claude Code, Cursor, Devin, Gemini CLI) and replaces verbose PHPUnit/Pest/Paratest/PHPStan output with minimal structured JSON; cleans Laravel Artisan output too. Zero config; human output unchanged.
laravel organizationchore: bumps dependencies
fix: removes style tags from artisan tool
fix: usage with non-supported versions of pest
fix: adds missing tool to make clear to LLMs what tool the output came from
fix: pao's output style being registered during testing
chore: stable version
pest --parallel output being leakparatest / pest --parallelTestResult instead of XML, so we have access to deprecations, warnings, etc: {
"result": "passed",
"tests": 8,
"passed": 7,
"assertions": 5,
"duration_ms": 9,
"skipped": 1,
"incomplete": 1,
"deprecations": 1,
"deprecation_details": [
{"file": "/app/tests/Unit/ExampleTest.php", "line": 14, "message": "This function is deprecated, use newFunction() instead"}
],
"warnings": 1,
"warning_details": [
{"file": "/app/tests/Unit/ExampleTest.php", "line": 23, "message": "Configuration value is suboptimal"}
],
"notices": 1,
"notice_details": [
{"file": "/app/tests/Unit/ExampleTest.php", "line": 32, "message": "Cache miss on key user.42"}
]
}
phpunitdev keyword to composer.jsonartisan support:| Command | Without PAO | With PAO ⚡️ | Reduction |
|---|---|---|---|
about |
528 tokens | 134 tokens | 🔥 74% |
db:show |
390 tokens | 102 tokens | 🔥 73% |
| all other commands supported too... | — | — | — |
fix: --profile option on pest by @RanaMoizHaider in https://github.com/nunomaduro/pao/pull/8
How can I help you explore Laravel packages today?