Magit is a Git porcelain for Emacs that implements an interactive TUI. It uses the lower-level APIs Git exposes, I think via the shell but I’m not positive. I’m really just saying if there’s not a primitive API for third-party interactive porcelains to use, that should be part of the design picture! :)
is a "magit module" roughly synonymous with a vim plugin? if so, then would shelling out to the CLI work?