docs: def resolve_prefix_path(cls, start_path=None):
          """
          Look for an existing prefix in the given path, in a path/.lago dir, or
          in a .lago dir under any of it's parent directories
  
          Args:
              start_path (str): path to start the search from, if None passed, it
                  will use the current dir
  
          Returns:
              str: path to the found prefix
  
          Raises:
              RuntimeError: if no prefix was found
          """
          if not start_path or start_path == 'auto':
              start_path = os.path.curdir
  
          cur_path = start_path
          LOGGER.debug('Checking if %s is a prefix', os.path.abspath(cur_path))
          if cls.is_prefix(cur_path):
              return os.path.abspath(cur_path)
  
          # now search for a .lago directory that's a prefix on any parent dir
          cur_path = join(start_path, '.lago')
          while not cls.is_prefix(cur_path):
              LOGGER.debug('%s  is not a prefix', cur_path)
              cur_path = os.path.normpath(
                  os.path.join(cur_path, '..', '..', '.lago')
              )
              LOGGER.debug('Checking %s for a prefix', cur_path)
              if os.path.realpath(join(cur_path, '..')) == '/':
                  raise RuntimeError(
                      'Unable to find prefix for %s' %
                      os.path.abspath(start_path)
                  )
  
          return os.path.abspath(cur_path)