We should add some integration tests that ensure that the client and server work well in complex real-world scenarios.
Examples:
- User with no matching key in the server and no github user
- User with no matching key in the server, a github user, and a matching github key
- User with multiple keys in their path, some invalid, some missing from disk, but a valid one at the end of the list.
- CLI run from a repo that overrides/merges into the user's existing config
- etc...