Building
- 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.