Maybe a better approach would be to rename the `.git/` to (for example) `.vdm` in each submodule? Each `vdm` command would first rename it back to `.git`, execute the git commands needed, and then rename it back to `.vdm/`.
This gives you the ability to implement `vdm history` or similar command while still keeping the submodule invisible to the parent?