I’m a big fan of that
A library that I’d recommend you look into if you’re working with a decent sized code base is Boundary: Boundary - enforcing boundaries in Elixir projects
It’s great for enforcing some architecture/boundaries on a code base and it can also generate nice images of the boundaries that you’ve defined in your application.