docs: def clean_add(self, regex, conditional=False, manual=False):
          """
          Add files (or regexs) to a cleanup list, to delete when this pipeline completes successfully.
          When making a call with run that produces intermediate files that should be
          deleted after the pipeline completes, you flag these files for deletion with this command.
          Files added with clean_add will only be deleted upon success of the pipeline.
  
          :param str regex:  A unix-style regular expression that matches files to delete
              (can also be a file name).
          :param bool conditional: True means the files will only be deleted if no other
              pipelines are currently running; otherwise they are added to a manual cleanup script
              called {pipeline_name}_cleanup.sh
          :param bool manual: True means the files will just be added to a manual cleanup script.
          """
          if self.dirty:
              # Override the user-provided option and force manual cleanup.
              manual = True
  
          if not self.clean_initialized:
              # Make cleanup files relative to the cleanup script in case the result folder moves.
              with open(self.cleanup_file, "a") as myfile:
                  clean_init = 'DIR="$(cd -P -- "$(dirname -- "$0")" && pwd -P)"'
                  myfile.write(clean_init + "\n")
                  myfile.write("cd ${DIR}\n")
                  self.clean_initialized = True
  
          if manual:
              try:
                  filenames = glob.glob(regex)
                  for filename in filenames:
                      with open(self.cleanup_file, "a") as myfile:
                          relative_filename = os.path.relpath(filename, self.outfolder) \
                              if os.path.isabs(filename) else filename
                          if os.path.isfile(relative_filename):
                              myfile.write("rm " + relative_filename + "\n")
                          elif os.path.isdir(relative_filename):
                              # first, add all filenames in the directory
                              myfile.write("rm " + relative_filename + "/*\n")
                              # and the directory itself
                              myfile.write("rmdir " + relative_filename + "\n")
              except:
                  pass
          elif conditional:
              self.cleanup_list_conditional.append(regex)
          else:
              self.cleanup_list.append(regex)
              # TODO: what's the "absolute" list?
              # Remove it from the conditional list if added to the absolute list
              while regex in self.cleanup_list_conditional:
                  self.cleanup_list_conditional.remove(regex)