Code Review GPT uses Large Language Models to review code in your CI/CD pipeline. It helps streamline the code review process by providing feedback on code that may have issues or areas for improvement.
It should pick up on common issues such as:
- Dead code
- Exposed secrets
- Slow or inefficient code
- Unreadable code
It can also be run locally in your command line to review staged files.
Just so you know, this is in alpha and should be used for fun only. It may provide helpful suggestions or they may be completely wrong.
code-review-gpt-3.mp4
- Node.js
- Git
- Github CLI (optional for setup tool)
In the root of your git repository run:
npm install code-review-gpt
npx code-review-gpt configure
- name: Install code-review-gpt
run: npm install code-review-gpt
- name: Run code review script
run: npx code-review-gpt review --ci
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BASE_SHA: ${{ github.event.pull_request.base.sha }}
GITHUB_SHA: ${{ github.sha }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
See templates/pr.yml for an example.
-
Clone the repository:
git clone https://github.com/mattzcarey/code-review-gpt.git cd code-review-gpt
-
Install dependencies:
npm install
-
Set up the API key:
- Rename the .env.example file to .env.
- Open the .env file and replace YOUR_API_KEY with your actual OPENAI API key.
When used globally you should run export OPENAI_API_KEY=YOUR_API_KEY
(or similar for your operating system) in your terminal to set the API key.
-
Run the application:
npm start
-
Install the application globally (optional):
npm run build npm install -g
This will allow you to run the application from anywhere on your machine.
Run npm i code-review-gpt && npx code-review-gpt
in the root directory of a git repository.
Run code-review-gpt
in the root directory of a git repository.
code-review-gpt review
- Runs the code review on the staged files.code-review-gpt configure
- Runs a setup tool to configure the application.
-
--ci
- Runs the application in CI mode. This will use the BASE_SHA and GITHUB_SHA environment variables to determine which files to review. It will also use the GITHUB_TOKEN environment variable to create a comment on the pull request with the review results. -
--model
- The model to use for the review. Defaults togpt-4
. You can use any openai model you have access to.
- Make a more clever way to find the exact code to review
- VSCode extension
- Use some embeddings and vector store to build a knowledge graph of the repo to make better suggestions
- Prompt engineering to refine the prompt
- Build a prompt analysis tool
- Support different LLMs... Private, HuggingFace, Azure etc.
- Build out the cloud offering