← Back to context

Comment by tedggh

2 hours ago

A few things seem to work well for me (Codex):

1) An up-to-date detailed functional specification.

2) A codebase structured and organized in multiple projects.

3) Well documented code including good naming conventions; each class, variable or function name should clearly state what its purpose is, no matter how long and silly the name is. These naming conventions are part of a coding guidelines section in Agent.md.

My functional specification acts as the Project.md for the agent.

Then before each agentic code review I create a tree of my project directory and I merged it with the codebase into one single file, and add the timestamp to the file name. This last bit seems to matter to avoid the LLM to refer to older versions and it’s also useful to do quick diffs without sending the agent to git.

So far this simple workflow has been working very well in a fairly large and complex codebase.

Not very efficient tokens wise, but it just works.

By the way I don’t need to merge the entire codebase every time, I may decide to leave projects out because I consider them done and tested or irrelevant to the area I want to be working on.

However I do include them in the printed directory tree so the agent at least knows about them and could request seeing a particular file if it needs to.

Interesting approach. How do you do the merging? Is it manual? Just changed files? A hybrid?