I am starting a git port of the scripts I originally created for Tom Lord's Arch, the tool that let the cat out of the bag for distributed scm. Tom's command interfaces were verbose but uniform, enough so that it made sense to curry the arguments by way of shell functions set in the environment startup scripts. That strategy morphed into my Setview package, which mocks a workflow similar to that of the ClearCase command of the same name. The idea is that even if the SCM is distributed and can be cloned anywhere, you can benefit from organizing the common contextual information for your working projects, and injecting that context into a sort of sandboxed shell environment just when you want to do work on a given project.
It might be neat to combine the two ideas, and have Setview bind accessor methods for the snippets library to the view environment. Or perhaps better as a VIM plugin.