Add initial repository abstraction which clones github repos