There’s Tangled[0], but I don’t have personal experience with it.
[0]: https://tangled.org/
Actually, they does seem to be almost exactly what I was thinking. Thanks.