How will this actually work, what does the user have to do to update?
The user downloads the add-on through a special website, which downloads it from GitHub/Bitbucket and repackages it with a metadata file. When the user launches blockland it connects to the server and asks for the latest versions of all the installed add-ons. If any versions mismatch then the user will be prompted with a list of out-of-date add-ons, each entry containing information about the current version, new version, a link to the diff, and an option to download the update. Selecting to update automatically downloads and executes the add-on.
How does what detect updates to the github?
There is a server which queries GitHub for the latest versions, as well as doing applicable caching. The client compares SHA commit hashes, and prompts an update on any mismatch.