@stevenic frequently mentions this tool that he made:
I haven’t tried it, but it could be a start if you don’t intend to roll your own solution