rewrite the innards to handle branch descendants and remotes
Add sbt plugin