chatgpt-action
chatgpt-action copied to clipboard
Let ChatGPT review PRs for you
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
towith
node in your config to enable this feature.- When you have too many changed files, ChatGPT will produce very bad results. Here is an example: https://github.com/LearningOS/lab5-os8-kxxt/pull/1
Showcase
YOLO Mode: Give all the info to ChatGPT in one go
- https://github.com/kxxt/chatgpt-action/pull/12
- https://github.com/kxxt/chatgpt-action/pull/10
- https://github.com/kxxt/chatgpt-action/pull/9
Using Unstable Split Feature
- https://github.com/kxxt/chatgpt-action/pull/20
- https://github.com/kxxt/chatgpt-action/pull/22
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/[email protected]
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 }}