SPMCLI is an option since to compile SwiftGit2 we need to perform amounts of linking and passing flags during compilation which in turns very cumbersome. The other way is to use helper like Make or other automation. SPMCLI is choosen because it supports resolving configuration in dependencies. For now, ZipArchive. The user doesn't need to manually state each updated link and flags because SPMCLI will handle it.