DEV Community

Chris Cook
Chris Cook

Posted on • Edited on

AdaGPT: AI support for Issues and Pull Requests right at your fingertips!

What I built

I have built AdaGPT, an AI-powered GitHub Action that generates helpful responses for Issues and Pull Requests. It's like having a conversation with ChatGPT, but without actually leaving GitHub and available to everyone.

All you have to do is mention @AdaGPT in your issue or comments and she will respond to you with a helpful and charming reply.

Category Submission:

Wacky Wildcards

App Link:

Repository
Marketplace

Screenshots

Here are some screenshots of Issues and Pull Requests

Explain Pull Requests

AdaGPT can help you on Pull Requests.
Explain Pull Requests

Rock, Paper, Scissors!

With a little luck, you might convince AdaGPT to play a Rock, Paper, Scissors with you!
Rock, Paper, Scissors!

Tic, Tac, Toe

AdaGPT can help you to level up your Tic, Tac, Toe game.
Tic, Tac, Toe

Description

AdaGPT is a GitHub Action that responds to issues and pull requests if they mention @AdaGPT.

AdaGPT takes into account the description of the issue as well as all existing comments. For pull requests, AdaGPT also has access to the Git diff the changes.

Link to Source Code

AdaGPT Repository

Permissive License

MIT

Background (What made you decide to build this particular app? What inspired you?)

Trying out AI has been on my list of side projects for a long time. This hackathon finally gave me the motivation to tackle it. The idea for this GitHub activity came to me while using ChatGPT. A conversation using ChatGPT is similar to a discussion in an issue or pull request. However, on GitHub, multiple people can participate in the discussion and the messages are visible to everyone. Therefore, it sounded like an exciting idea to simply include ChatGPT in conversations on GitHub and make it available to everyone.

How I built it (How did you utilize GitHub Actions or GitHub Codespaces? Did you learn something new along the way? Pick up a new skill?)

The GitHub Action was implemented with TypeScript using the GitHub Actions Toolkit and the OpenAI Node.js Library.
The Action is activated on issues, pull requests, and comments, if the description or comment contains @AdaGPT.
The relevant issue number is determined from the event payload and doesn't need to be passed separately. In case of a pull request, the git diff of all changes is retrieved from the GitHub API. Furthermore, if the Action was triggered by a comment, all existing previous comments are read from the API.

Finally, a corresponding prompt is generated from all information (issue, pull request diff, comments) and the request is sent to OpenAI. The response of the request is added as a new comment to the issue.

Additional Resources/Info

Top comments (7)

Collapse
 
jmccabe profile image
John McCabe

Whilst it's nice that you've recognised Ada, Countess of Lovelace, in naming your application, the fact that there is already an Ada programming language with numerous tools whose names are something like 'AdaXXX' etc could make people think you're actually programming your application in Ada.

Collapse
 
zirkelc profile image
Chris Cook

Yes, at first glance some people might think that it is a GPT implementation in Ada. On the other hand, I think that Ada as a programming language is not that common nowadays, at least not on GitHub. In fact, the first GPT3 model of OpenAI was called Ada. I think (and hope) most people will think of the person Ada when they hear AdaGPT.

Collapse
 
niklampe profile image
Nik

Really impressive

Collapse
 
tylim88 profile image
Acid Coder

great tool

Collapse
 
meffer profile image
Matthias

Great use case!

Collapse
 
marcandreh profile image
Marc-Andre

Great use case for the GPT models 👍🏻 Ada helps with documentation while engineers have more time tackling new issues

Collapse
 
fyodorio profile image
Fyodor

Rock paper scissors is kinda failure for ChatGPT as I can see here lol