Have you ever read this HN comment from 2007 before? [0]
> I have a few qualms with this app...
Different paths towards the same outcome should multiply, so we can increase the surface area of the bandages on the different pain points along the way.
That works well for small repos or a few repos but if you want to find all cc files, at all release branch's, in your entire company and check for some exploit it is helpful to have a VFS. Makes it so you could also support N SCMs through one API. You just need to make a new VFS.
Needing to tie into a specific API (like codesearch) couples you to the specific storage backend (Github). If you build your software to operate on a POSIX-y file system, you can support anything that shows up as a file system. For example: A local working tree of files, an NFS share, or now a remote git repository.