Feature Request - Turn chat history into Requirement and Design documents
Issue
I frequently ask aider not to write any code, but instead to suggest design changes and features. I then lose some of the details as my chat history gets longer. It would be useful to be able to create and add to design and requirement documents, and have them under version control. Aider could make additions and changes and they would always be available.
I realise I could already do this, but I think that there might be additions to aider that could make this easier
- tags for the chat history
- library of document templates
One workflow might be that after a discussion with aider, I tag the suggestions and right-click or somehow select them for addition to the design docs.
This is much fishing for workflow suggestions as it is a feature request. Thanks to Paul for aider, it really extends the capabilities of LLMs for coding.
Version and model info
No response
Sounds cool, first iterate to have it write out the design docs - and perhaps the API specifications.
Then it can use that piece by piece to write the code.
I think that this would be too complicated. And any sufficiently accurate project description would easily consume all the context space of the chat. The best would be taking the example from Github: you can manage github project with just three things:
- feature requests (todo)
- bug reports
- tasklist/milestones (those are just a list of the 2 things above: featreq and bugs)
We can just let the user create those with two new aider commands like these:
“/task feature
Also the AI should be able to create those entries by itself in the /ask mode if the user asks for new features, or if the user report a bug.
Those two kind of entries should also be imported from the github repo issues list, with a command like this:
“/github-sync
You should also be able to specify if you want just to sync the bugs and/or the features:
“/github-sync
When you need to have a overview of the project progress, you should be able to call a command like: “/task list”
...and getting a result like:
PROJECT TASKLIST:
| n | Description | Reference URL | Status |
|---|---|---|---|
| 1 | [❇️ Feat] Add user authentication feature | https://github.com/myproject/issues/45 | 📝 planned |
| 2 | [🪲Bug] Fix crash on startup when configuration is missing | https://github.com/myproject/issues/32 | ✅ solved |
| 3 | [❇️ Feat] Implement dark mode for the application | 📝 planned | |
| 4 | [🪲Bug] Resolve memory leak in data processing module | https://github.com/myproject/issues/19 | 🔄 in progress |
| 5 | [❇️ Feat] Add support for exporting data in CSV format | https://github.com/myproject/issues/52 | 📝 planned |
| 6 | [🪲Bug] Correct typo in user settings description | ✅ solved | |
| 7 | [❇️ Feat] Create an admin dashboard for monitoring activities | 📝 planned | |
| 8 | [🪲Bug] Address layout issues on mobile devices | https://github.com/myproject/issues/27 | 📝 planned |
| 9 | [❇️ Feat] Integrate third-party API for weather updates | 📝 planned | |
| 10 | [🪲Bug] Fix broken link in the help documentation | ❌ wontfix |
Project Status Summary:
- 📝 Planned: 6
- ✅ Solved: 2
- ❌ Wontfix: 1
- 🔄 In Progress: 1
Write a task number and the new status (Example: “n solved”). “n drop” to delete a task. C to clear all tasks:
> 8 solved
help:
You can show the tasklist with the command /task list
You can delete a task with the command /task drop n
You can change the status of a task with the command /task status n new-status
You can create new bug report with the command /task bug description
You can create new feature request with the command /task feature description
You can sync bug reports and feature requests with your Github repo with /github-sync
The AI can create tasks, but only the user can change the status of a task. Until a task is not marked as solved the AI will try to complete it, starting with fixing bugs, and only when all bugs are fixed it will start adding new features. Of course the user can ask the AI to focus on a certain task number.
What do you think?
Thanks for trying aider and filing this issue.
Maybe have aider edit some markdown documents for you as you chat? requirements.md and design.md etc.
Thanks for the replies. I've recently learned about Claude Artifacts, I think this might be close to what I want. At the moment I have Claude open separately to aider.
I still think it would be nice to incorporate it into aider.