Most of my time lately has been spent between my new startup and my new baby, but when I can squeeze in some free time I'm trying my hand at an autonomous programming agent based around Aider. First attempts with prompts I found from elsewhere were just mediocre, but I'm thinking something like this:
Aside from Aider's internal repo map, I'll create a list of all the files in the repository and use an LLM to create a short description of each one.
Core loop:
Get a task from plan.md
Use file_map.yaml to ask about relevant files, add these to Aider.
Generate a plan to implement this task. Lay out the interfaces between the frontend and backend, but do not generate any code except for type definitions.
Generate integration tests for the plan
Generate the frontend code based on the plan.
Generate the backend code based on the plan and the generated frontend code.
Check types and edit until type checks pass
Generate unit tests for the code
run/edit loop on tests
once tests pass, run format step
run postmortem step updating docs and lessons
update file_map.yaml file to describe any newly added files or files that
As I make progress on this I may need to also come up with a system for developing detailed plan documents for each task. It can be done in ChatGPT/Claude but it gets a bit hard to manage all the different feature-specific chats all in one, and it would be nice to have this live alongside the actual coding agent and be informed by the repository structure.