code: def build_args():
      
      parser = argparse.ArgumentParser(description=DESCRIPTION, formatter_class=argparse.RawDescriptionHelpFormatter)
      parser.add_argument('recipe', type=str, help="The recipe file to load and run.")
      parser.add_argument('-d', '--define', action="append", default=[], help="Set a free variable in the recipe")
      parser.add_argument('-l', '--loop', default=None, help="Loop over a free variable")
      parser.add_argument('-i', '--info', action='store_true', help="Lists out all the steps of that recipe, doesn't run the recipe steps")
      parser.add_argument('-a', '--archive', help="Archive the passed yaml recipe and do not run it")
      parser.add_argument('-c', '--config', default=None, help="A YAML config file with variable definitions")
  
      return parser
docs: Create command line argument parser.