As much as I like the CLI, I really find this useful, because it takes time to go through document and find the desired option.
I think the real solution is that every CLI program comes with a description file (probably in XML) that describes its CLI options, their types, combination, etc.
The description file should help automatic GUI creating or shell completion.