As T6002 shows, our commit command doesn't check its arguments, which leads to situations when people can write commit "some stuff" instead of commit comment "some stuff" and similar. When we add more commit options, like commit dry-run, that will be even worse.
We need to validate the commit command args and display an error if there are extra arguments or arguments to subcommands are missing.