Nice, I've been thinking about building something similar. However, I'd still like to use my shell configuration/dotfiles inside the container (and I'd like my team mates to be able to do the same) and, so far, I haven't really found a good solution for that.
If the dotfiles are in the project dir, they'll be exposed of course. If not, perhaps a bind mount from ~/.config would work, but it could also unintentionally expose files on the host.
It is possible to bind-mount individual files, so perhaps having a list of exposed config files / mappings could work.
The problem with this is that docker doesn't like it when not all mounts are found, so within a team it requires something more sophisticated.