In the specific case above, we're talking about GitHub services running on GitHub's hardware. They know what is available. If your command-line utility can't tell you what options are available, it is broken.
Providing a GUI doesn't imply that only a GUI can be used. As I said above. Store the resultant file as text, json, xml, yml, or whatever. Let people edit it via SSH if they want. But give people the option of a modern GUI.
Your last point... Most open source software is poorly documented. Even GitHub's documentation for their text based tools is terrible. The Alexa documentation is similarly awful. But a GUI gives discoverability in a way that an empty text file doesn't.
Look, if the config file said:
# Set your Foo version here
foo: 1.7
# Valid strings are "1.7" or "2.4". This has not been tested with Foo 3 yet
Then I'd be able to use it almost as easily as a GUI. But almost no one does that.