Skip to content
This repository was archived by the owner on Aug 15, 2024. It is now read-only.

kxxt/chatgpt-action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1391cb7 · Dec 12, 2022
Dec 8, 2022
Dec 8, 2022
Dec 7, 2022
Dec 7, 2022
Dec 7, 2022
Dec 7, 2022
Dec 7, 2022
Dec 7, 2022
Dec 7, 2022
Dec 12, 2022
Dec 8, 2022
Dec 8, 2022
Dec 8, 2022
Dec 8, 2022
Dec 7, 2022
Dec 8, 2022
Dec 8, 2022

Repository files navigation

chatgpt-action

Let chatgpt review your PR.

Please note: this repo is a WIP and I do not recommend you to use it in production!

Ideas

  • Create a vscode extension that asks ChatGPT to refactor or point out the bugs of a selected range of code. I don't have time to learn vscode extension and implement it.
  • Implement ChatGPT's review feedback as a commit or suggested change (#27)

Warning

  • code of experimental quality!
  • ChatGPT often generates misleading comments which could confuse your contributors and that's one reason against using this action in production.
  • Sometimes you will get 403 errors when the generated prompt is too long or considered an attack(perhaps?).
    • Split the prompt and let ChatGPT comment on every single file should resolve this issue most of the time.
    • This feature has been implemented but it is unstable. Add split: true to with node in your config to enable this feature.

Showcase

YOLO Mode: Give all the info to ChatGPT in one go

Using Unstable Split Feature

Usage

on: [pull_request]

name: ChatGPT CodeReview

jobs:
  chatgpt_comment:
    runs-on: ubuntu-latest
    name: Let chatgpt comment on your PR.
    steps:
      - name: ChatGPT comment
        uses: kxxt/chatgpt-action@v0.3
        id: chatgpt
        with:
          number: ${{ github.event.pull_request.number }}
          sessionToken: ${{ secrets.CHATGPT_SESSION_TOKEN }}
          split: 'yolo'  # Use true to enable the unstable split feature.
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}