Contract for git repository interaction