Inspiration
As Engineering Managers (and previously developers) of BitsOfGood teams, we've faced the time sink that comes from looking through the codebase to create or ideate a step-by-step guide to action a ticket. We decided to act on it and create BitBot (also named Samrat)
What it does
Comment "samrat help" on a BitsOfGood repository issue and it will automatically generate a how-to guide detailing steps that may be helpful to action a ticket based on the codebase and the ticket's information. You'll see a comment stating that it's generating your how-to followed by another comment that contains a how-to for your ticket within a minute!
How we built it
We used Python paired with Claude's API and GitHub Webhooks to build out the application. We listen for comments on the repositories that Samrat-bot-app is installed on and if the comment contains a "samrat help" message, we generate a how-to for the respective issue that the comment was posted on. It's hosted on a cloud instance and utilized GitHub's Webhooks to listen for comments. The codebase is given to Claude as context (through Claude's API), and the output is sent through GitHub's API to create the how-to comment.
Challenges we ran into
Hosting was a big challenge as we ran into memory issues on most free hosting platforms (as we needed to download the codebase and send it to Claude's API). We went through a few providers before landing on Oracle's Cloud Infrastructure paired with Cloudflare Tunnels to host the web server and securely allow it to receive GitHub Webhooks.
Accomplishments that we're proud of
Getting BitBot to work! It gives a pretty nice How-To message using the codebase that the issue was created on and worked for a few tickets on our respective BitsOfGood Projects (Juno & Heart Of Passion).
What we learned
We learned about working with GenAI as well as building out applications that interact with GitHub Codebases (and the best practices there), as well as how to register applications with GitHub and work with GitHub's expansive developer API.
What's next for BitBot (Samrat)
Cleaning up some of the execution. We'd like to have it be a little easier to use like all other bots where we can provide an '@' tag so it will autocomplete and give a response once the bot is tagged in an issue.


Log in or sign up for Devpost to join the conversation.