I've been a unix user for more than 2 decades now and have seen many of projects like these. And I've dismissed all for the simple reason that they don't fix the problem at its roots: getopt et al should be instrumented to provide valid completions for all unix commands. A layer on top is destined to be out of sync with the actual implementations soon. We only get one more level of indirection, one more abstraction layer that can go wrong. I simply don't get it.