Something like this can kind of be achieved programmatically by unraveling bash completion arguments and loosely parsing terminal help strings.
They aren’t all formatted uniformly though, so you’ll need to come up with a filtering mechanism to prevent returning garbage. You’ll also always be a little out of date…
I made it through college without using windows on any of my personal machines, but I did need to access a library or computer lab to take 1 test that needed a specialized web browser for some reason. Other than that, I was actually pleasantly surprised by how easy it was to slip by with a good PDF viewer, libreoffice, and Inkscape.
My degree was in computer engineering, most groups I worked in outside of the engineering department just preferred collaboration through office online or google docs.