After the earlier discussion that resulted in
the above this diagram for how various code components interact with each other, I just merged the CLI/client repository into the Core repository. Here is the commit and I’m pasting the commit message below as well.
This commit merges the Blockstack client, registrar, and CLI into the main Core repository. This is being done to simplify things. Over time, the client logic started getting pretty heavy and we were running a background daemon at the client side that was effectively acting as a server interface.
We recently started talking about where should the RESTful API interface for Blockstack be and the client “background daemon” looked like a natural place for the API interface. It feels weird to have a REST API for a client or CLI. So we’re merging the two repositories and there will be only one Blockstack Core repository that has the reference implementation for Blockstack.
Update: We might run the merge process once again to include some latest pull requests that were submitted on the CLI repo. @jude is going to temporarily reset the master and I’ll run the merge process again and include the PRs.
Oh, I love merging of repos. After working at Opera I became fan of the ‘one repo’ idea, and the ones I’m contracting for now has absolutely everything in one repo (not Git), and it has big upsides.
So not suggesting using one repo for all the things here, especially won’t work well for much of free software, however, it’s nice to have fewer repos. systemd has gotten quite a lot of pepper for doing it this way, but it makes keeping things well in sync and reusing code simple. Each repo also has a hardly quantifiable cognitive overhead IMHO.
Also grepping around is simpler. So I’m very much for this, all the repos was somewhat unwieldy when I did the Python3 port of the cli I stupidly lost.