I recently tried out Copilot with Sonnet to implement whole C++ headers into .cpp files and it did very well making the implementation consistent, readable, and easy to reason about. Not having much C++ experience, it made the whole process much easier - some memory/etc errors in my own code would have been intractible to fix without it. It was also fantastic at turning a postgresql implementation file of that header into an sqlite implementation that worked/passed tests on the first try.
Overall, it seems like defining the structure to some extent yourself and letting the agent fill in implementation and suggest architecture changes is a good way to go to get a lot of useful work out of it without letting the structure of the overall app run away from you.
Overall, it seems like defining the structure to some extent yourself and letting the agent fill in implementation and suggest architecture changes is a good way to go to get a lot of useful work out of it without letting the structure of the overall app run away from you.