Lets say I launch a new WordPress site at a hosted provider such as WPEngine. As I start to configure my site (install a template, install plugins, create layout and content for my pages, etc.), is there a good way to record what I'm doing in code or otherwise codify and centralize those modifications so that it is repeatable? By repeatable, I mean that I can launch a fresh/new site, run my code, and functionally I'll have the same site that I configured by-hand? I'm also happy with a solution that requires some items to be done "by-hand" in between running code. In the extreme I could just take very good notes about what I'm doing and then repeat that process by-hand, but it would be very slow to inflate a new site.
I would be surprised if this question hasn't already been asked/answers, but there are so many articles written about WordPress it's hard to find the needle in the haystack.