TODO
Use 'flag' instead of switch for non-Bool options
--version is required, not optional, in the get-version case
Update gitignore is the default