I've found that running everything via SaltStatck scripts helps to keep things scripted and documented: as in, the scripts are the documentation (build and maintenance notes are inherently part of the 'process code').
Then apps like dot and similar can be used to build links from the code and attribute files.
That is, attempt to build 'single sources of truth'. And then use tools to 'view' the relationships from their original sources.
By testing the scripts and using the scripts, processes and docs are inherently kept up to date.
Rigorously use the scripts and don't do things manually.