Система автоматического обновления через github (NodeJS)

#node.js #github

Вопрос:

Я создаю систему обновления файлов для своего приложения nodejs. Я задал вопрос на эту тему, но до сих пор не получил ответа, тем временем я нашел информацию и идеи для этого, однако я не буду редактировать этот вопрос, потому что это уже другая проблема.

Я решил сохранить файлы на github. Например, у меня есть эта папка на клиенте и на github:

 file1.txt
file2.txt
file3.txt
file4.txt
folder1
    fileinfolder1.txt
    subfolder
        file10.txt
folder2
 

и т.д…

Мне нужно сравнить эти файлы и папки на клиенте с папками и файлами на сервере и получить список различных файлов и/или получить архив, содержащий обновленный файл с github, но не просто файл в архиве, а сохраненную структуру папок(ниже), чтобы я мог просто выполнить слияние папок с заменами:

update.zip

 folder1
    fileinfolder1.txt (updated)
 

Есть много нюансов, например, я бы хотел, чтобы пользователю не приходилось обновлять все файлы, только самые важные, а остальные он будет обновлять по своему желанию, я также хотел бы получить список файлов, которые необходимо удалить (потому что они также отсутствуют на github). Надеюсь, я все ясно объяснил. Возможно, для этого есть модуль npm или api github (я видел только, как получить сам файл, но не мог сравнить). Извините за английский, я воспользовался переводчиком.