All agents are pretty much the same. Think of it like pair programming with someone, except that someone doesn’t have feelings and you can micromanage them.
In general, I give it instructions for what I want to accomplish. It has a “plan mode” that basically instructs the LLM to give me an execution plan to approve before actually doing it. We iterate on the implementation plan together and then when I satisfied I let it generate code.
It generated diffs essentially that I can approve or deny directly, in aggregate or by individual chunk.
I can (and do) provide custom instructions that it loads whenever I start a session. Instructions are basically md files, but it can be any text.
It’s a very different way of writing code, but if you ever pair programmed with a knowledgeable junior then that’s kind of what it feels like.