hoa/console
Hoa\Console is a PHP library for building command-line applications. It provides terminal abstraction, cursor and window control, readline-style input, process management, option parsing, and I/O helpers, making rich interactive CLI tools easier to develop and maintain.
symfony/console, laravel/prompts, and ReactPHP-style async process libraries, giving engineering a concrete alternative to evaluate rather than an abstract debate.Reasonable to consider only when:
Look elsewhere when:
symfony/console for command structure and I/O, laravel/prompts for interactive UX in Laravel applications, clue/shell-react or react/child-process for async/interactive process work.Treat the low opportunity signal (~22/100) alongside the archive status as corroborating, not independent, evidence: this is a reference artifact, not a candidate dependency.
For executives (30 seconds): A dependency review surfaced hoa/console, an archived PHP terminal library last released in 2017 with no dependents in our codebase and no active maintainer. Our recommendation is no new investment and no adoption. If it is already present anywhere, we cap exposure and schedule a replacement inside an existing maintenance window — this is a small, contained cleanup, not a program. Cost of action is measured in days; cost of inaction is an unpatched, unsupported component in our CLI tooling with no one to call when it breaks.
For engineering leads (one paragraph): hoa/console solves a real problem well for its era — terminal abstraction, argument handling, cursor/TTY control, process management — and that makes it genuinely useful as a design reference when we scope interactive CLI features. It is not a viable runtime dependency: the upstream project is archived, the release line stopped in 2017, there is no security response path, and it predates modern PHP. Where we need these capabilities, we standardize on symfony/console for command structure and laravel/prompts for interactive flows, and we scope low-level terminal work explicitly rather than inheriting it. Ask: confirm whether it appears anywhere in our dependency graph; if yes, we produce a one-page replacement plan with an owner and a date.
How can I help you explore Laravel packages today?