Giter Site home page Giter Site logo

qihangnet / chatgpt-codereview Goto Github PK

View Code? Open in Web Editor NEW

This project forked from anc95/chatgpt-codereview

0.0 0.0 0.0 5.79 MB

🐥 A code review bot powered by ChatGPT

Home Page: https://github.com/apps/cr-gpt

License: ISC License

JavaScript 99.92% TypeScript 0.08% HTML 0.01% Dockerfile 0.01%

chatgpt-codereview's Introduction

CodeReview BOT

A code review robot powered by ChatGPT

Translation Versions: ENGLISH | 中文简体 | 中文繁體 | 한국어 | 日本語

Bot Usage

❗️⚠️ Due to cost considerations, BOT is only used for testing purposes and is currently deployed on AWS Lambda with ratelimit restrictions. Therefore, unstable situations are completely normal. It is recommended to deploy an app by yourself.

Install

Install: apps/cr-gpt;

Configuration

  1. Go to the repo homepage which you want integrate this bot
  2. click settings
  3. click actions under secrets and variables
  4. Change to Variables tab, create a new variable OPENAI_API_KEY with the value of your open api key (For Github Action integration, set it in secrets) image

Start using

  1. The robot will automatically do the code review when you create a new Pull request, the review information will show in the pr timeline / file changes part.
  2. After git push update the pull request, cr bot will re-review the changed files

example:

ChatGPT-CodeReview/pull/21

image

Using Github Actions

actions/chatgpt-codereviewer

  1. add the OPENAI_API_KEY to your github actions secrets
  2. create .github/workflows/cr.yml add bellow content
name: Code Review

permissions:
  contents: read
  pull-requests: write

on:
  pull_request:
    types: [opened, reopened, synchronize]

jobs:
  test:
    if: ${{ contains(github.event.*.labels.*.name, 'gpt review') }} # Optional; to run only when a label is attached
    runs-on: ubuntu-latest
    steps:
      - uses: anc95/ChatGPT-CodeReview@main
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
          # Optional
          LANGUAGE: Chinese
          MODEL:
          top_p: 1
          temperature: 1

Self-hosting

  1. clone code
  2. copy .env.example to .env, and fill the env variables
  3. install deps and run
npm i
npm -i g pm2
npm run build
pm2 start pm2.config.cjs

probot for more detail

Dev

Setup

# Install dependencies
npm install

# Run the bot
npm start

Docker

# 1. Build container
docker build -t cr-bot .

# 2. Start container
docker run -e APP_ID=<app-id> -e PRIVATE_KEY=<pem-value> cr-bot

Contributing

If you have suggestions for how cr-bot could be improved, or want to report a bug, open an issue! We'd love all and any contributions.

For more, check out the Contributing Guide.

Credit

this project is inpired by codereview.gpt

License

ISC © 2023 anc95

chatgpt-codereview's People

Contributors

anc95 avatar appleboy avatar ddzero2c avatar exposir avatar github-actions[bot] avatar hosakakeigo avatar hwisaac avatar jeonbyeongmin avatar okabe-junya avatar olshansk avatar ourines avatar peterdavehello avatar qihangnet avatar seolhs04 avatar sloep avatar sven0219 avatar tarfam111 avatar tooooo1 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.