and make sure the command failed if there's a validation error.
And turn it into a markdown page. It also does some simple validation, to check that the getopt() arguments match the documentation.