Webware-console (Improving laminas-cli/mezzio-tooling DX)

(Full disclosure, I used an LLM to help prototype the proof of concept)

So mezzio-tooling is awesome, but my short-term memory is not the best in the world so I find myself constantly bouncing back and forth between the docs (or the commands code) to track down what options can be used with which commands. So, I asked myself - what if mezzio-tooling had a Menu?

I’m currently working on a set of components that will build on top of mezzio and one of them is a user manager and acl manager that needs database tables initialized just after composer installs them so I was working on providing cli commands and wanted a way to present a developer (mostly myself) with an easy-to-use cli command to build the required table and their user.

So, to make a long story short I used PSL and built a TUI in front of laminas-cli/mezzio-tooling which provides a Menu command.

It marks which arguments are required and validates that all required options are present and it reads the help text for the currently selected argument/option and presents it in the footer as you navigate through each one. It works but its super simple at the moment.. I built it for personal use but was curious if anyone else thinks something like this would be useful?

Currently it works for what I need in development and it works with the few laminas commands I’ve tested it with. Not tried it with mezzio commands yet since I need to check if mezzio-tooling can be installed with the component versions I am using.