docs: def parse_args(self):
          """ Parse the cli args
  
              Returns:
                  args (namespace): The args
          """
          parser = ArgumentParser(description='',
                                  formatter_class=RawTextHelpFormatter)
          parser.add_argument("--generate", action="store", dest='generate',
                              choices=['command', 'docker-run', 'docker-compose',
                                       'ini', 'env', 'kubernetes', 'readme', 'drone-plugin'],
                              help="Generate a template ")
          parser.add_argument("--settings", action="store", dest='settings',
                              help="Specify a settings file. (ie settings.dev)")
          for key, value in self.spec.items():
              if value['type'] in [str, int, float]:
                  parser.add_argument(f"--{key.lower()}", action="store", dest=key,
                                      type=value['type'],
                                      choices=value.get("choices"),
                                      help=self.help(value))
              elif value['type'] == bool:
                  parser.add_argument(f"--{key.lower()}", action="store", dest=key,
                                      type=lambda x:bool(strtobool(x)),
                                      choices=value.get("choices"),
                                      help=self.help(value))
              elif value['type'] == list:
                  parser.add_argument(f"--{key.lower()}", action="store", dest=key,
                                      nargs='+',
                                      choices=value.get("choices"),
                                      help=self.help(value))
              elif value['type'] == dict:
                  parser.add_argument(f"--{key.lower()}", action="store", dest=key,
                                      type=json.loads,
                                      choices=value.get("choices"),
                                      help=self.help(value))
          args, _unknown = parser.parse_known_args()
          return args