Keyring should have an interface (in the same file as Repository maybe), and possibly there should be two implementations: one for env vars, one for privkeys.json
editor_* helper funcs should be moved to another file: they are not part of the Repository abstraction
FilesystemRepository is not part of the Repository abstraction, should be moved to a separate file. Possibly renamed: GitRepository might be more descriptive
the repository verification should maybe be in a separate file: it should be able to use Repository to load data though...
draft PR for easier linking: the refactor works but is not very polished yet