docs: def main_from_cli():
      """Main workflow.
  
      Load config from cli and file
      Detect "bump triggers" - things that cause a version increment
      Find the current version
      Create a new version
      Write out new version and any other requested variables
      """
      args, others = get_cli()
  
      if args.version:
          print(__version__)
          exit(0)
  
      log_level = logging.WARNING - 10 * args.verbosity
      logging.basicConfig(level=log_level, format="%(module)s %(levelname)8s %(message)s")
  
      command_line_updates = parse_other_args(others)
  
      old, new, updates = main(
          set_to=args.set,
          set_patch_count=args.set_patch_count,
          lock=args.lock,
          release=args.release,
          bump=args.bump,
          file_triggers=args.file_triggers,
          config_path=args.config,
          **command_line_updates
      )
      _LOG.info("previously: %s", old)
      _LOG.info("currently:  %s", new)
      _LOG.debug("updates:\n%s", pprint.pformat(updates))
      print(
          updates.get(config._forward_aliases.get(Constants.VERSION_FIELD))
          or updates.get(config._forward_aliases.get(Constants.VERSION_STRICT_FIELD))
      )