async function findProjectRoot(startDirectory, options) {
  searcher ??= new DirectorySearcher(DIRECTORIES, { allowSymlinks: false });
  const directory = await searcher.search(startDirectory, {
    cache: options.shouldCache,
  });

  return directory ? path.dirname(directory) : undefined;
}
Find the directory contains a version control system directory
@param {string} startDirectory
@param {{shouldCache?: boolean}} options
@returns {Promise<string | undefined>}