Automatic programming by creating Pull Requests from Issues using LLMs.
An experimental project to automate programming. It uses a task-based approach to move a software project development forward by reading task descriptions from Github Issues and implementing them in a Pull Request.
Example Pull Requests created with this tool are available here
- Modifying files
- Creating new files
- Automatic reacting to Issues with the specified label
- Creating Pull Requests
- Released as Github Action in the marketplace
- Automatic creation of tests for it's implementation
- Reacting to Pull Requests checks
- Back-and-forth conversation and reacting to human feedback in a Pull Request
- Implement Reflection (https://arxiv.org/pdf/2303.11366.pdf and https://nanothoughts.substack.com/p/reflecting-on-reflexion)
- Being able to go though massive projects
- Read .ai/project_description_short.json of every project and include it in the prompt
- Easy attachment of different LLMs, inlucing locally hosted
- Comlpete a simple Issue, example
- Complete a more complex issue
Sometimes, and only for small projects with small files, like this one. The biggest limitation right now is the tokens length for LLMs.
It's an experiment, not an actual product.
- GPT-4 API access and token
- Github repository
- This project as a GitHub Action
- Enable "Allow Github Actions to create pull requests" in settings