aura/cli
Aura.Cli provides request/response-style objects for PHP CLI apps: Context for environment and argv discovery, Stdio for input/output, Getopt for option parsing, plus a standalone Help builder to describe commands. Lightweight, no userland deps.
getopt wrappers or ad-hoc argument handling) by leveraging a battle-tested, dependency-free package.Context for input validation, Stdio for consistent output formatting).--verbose/--help flags).Help objects for documentation.Adopt if:
Getopt support) without external dependencies.Request/Response patterns (e.g., unified codebases).Look elsewhere if:
For Executives: "Aura.Cli lets us standardize CLI tooling in PHP—reducing tech debt from custom scripts and ensuring consistency across internal tools. It’s lightweight (no dependencies), PSR-compliant, and aligns with our web stack (Request/Response patterns). This cuts development time for utilities like data migrations or admin scripts by 30–50%, while improving maintainability. Low risk: dependency-free and actively tested."
For Engineering: *"This package gives us a drop-in replacement for ad-hoc CLI argument parsing and I/O handling. Key benefits:
Context/Stdio objects mirror web Request/Response, easing onboarding.getopt wrappers.Help objects reduce boilerplate for --help documentation.parse_args() functions in scripts with Aura\Cli\Context for validation and Stdio for output. Ideal for tools where argument parsing is repetitive but not complex."*For Developers:
*"Swap your messy if ($argv[1] === '--verbose') logic for Aura\Cli\Context and Stdio. Example:
$context = new Aura\Cli\Context($argv);
$context->getFlag('verbose'); // Returns bool
$stdio = new Aura\Cli\Stdio();
$stdio->write('Hello, ' . $context->getArg('name') . '!');
How can I help you explore Laravel packages today?