ChatGPT-ProBot  by oceanlvr

GitHub bot for chat, code review, and refactoring

created 2 years ago
384 stars

Top 75.6% on sourcepulse

GitHubView on GitHub
Project Summary

This project provides a GitHub App that integrates ChatGPT for automated code review, refactoring, and conversational interaction within GitHub issues and pull requests. It targets developers and teams looking to leverage AI for enhancing their GitHub workflow, offering automated code analysis and assistance directly within their repositories.

How It Works

The bot is built using Probot and the chatgpt-api. It listens for specific commands like /chatgpt, /review, and /refactor within issue and pull request comments. Upon receiving a command, it interacts with the ChatGPT API to process the request, analyze code snippets, and generate responses or code modifications. This approach allows for seamless integration into existing GitHub workflows without requiring external tools.

Quick Start & Requirements

  • Install dependencies: npm install
  • Run the bot: npm dev
  • Prerequisites: Node.js, npm, a GitHub App configuration (APP_ID, PRIVATE_KEY, GITHUB_CLIENT_SECRET, GITHUB_CLIENT_ID), and a ChatGPT SESSION_TOKEN. The private key needs to be base64 encoded.
  • Deployment: Vercel is recommended, requiring webhook URL configuration.
  • Official Docs: https://github.com/oceanlvr/ChatGPT-ProBot

Highlighted Details

  • Automates code review and refactoring via slash commands.
  • Enables direct chat with ChatGPT within GitHub issues and PRs.
  • Leverages Probot for GitHub event handling.
  • Future plans to switch to the official ChatGPT API.

Maintenance & Community

  • Developed by oceanlvr.
  • No explicit community links (Discord/Slack) or roadmap mentioned in the README.

Licensing & Compatibility

  • License: ISC
  • Compatible with commercial use and closed-source linking as per ISC license terms.

Limitations & Caveats

The bot currently relies on a SESSION_TOKEN obtained from the ChatGPT website, which may be unstable or subject to change by OpenAI. The README indicates a future switch to the official API, suggesting the current implementation might be transitional.

Health Check
Last commit

1 year ago

Responsiveness

1 week

Pull Requests (30d)
0
Issues (30d)
0
Star History
3 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.