{"id":29943367,"url":"https://github.com/sourcefuse/ai-pr-reviewer","last_synced_at":"2026-07-02T09:33:01.140Z","repository":{"id":269550671,"uuid":"907343704","full_name":"sourcefuse/ai-pr-reviewer","owner":"sourcefuse","description":"ai-pr-reviewer","archived":false,"fork":false,"pushed_at":"2024-12-24T10:33:18.000Z","size":5692,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-08-01T05:55:57.035Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sourcefuse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-23T11:21:12.000Z","updated_at":"2025-07-03T07:44:18.000Z","dependencies_parsed_at":"2024-12-24T11:44:14.023Z","dependency_job_id":null,"html_url":"https://github.com/sourcefuse/ai-pr-reviewer","commit_stats":null,"previous_names":["sourcefuse/ai-pr-reviewer"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sourcefuse/ai-pr-reviewer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcefuse%2Fai-pr-reviewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcefuse%2Fai-pr-reviewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcefuse%2Fai-pr-reviewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcefuse%2Fai-pr-reviewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sourcefuse","download_url":"https://codeload.github.com/sourcefuse/ai-pr-reviewer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcefuse%2Fai-pr-reviewer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35041996,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-02T02:00:06.368Z","response_time":173,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-08-03T02:15:10.479Z","updated_at":"2026-07-02T09:33:01.135Z","avatar_url":"https://github.com/sourcefuse.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AI-based PR reviewer and summarizer\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n## Overview\n\nARC Intelligence `ai-pr-reviewer` is an AI-based code reviewer and summarizer for\nGitHub pull requests using OpenAI's `gpt-4o` or any openAI compatible API models. It is\ndesigned to be used as a GitHub Action and can be configured to run on every\npull request and review comments\n\n## Reviewer Features:\n\n- **PR Summarization**: It generates a summary and release notes of the changes\n  in the pull request.\n- **Line-by-line code change suggestions**: Reviews the changes line by line and\n  provides code change suggestions.\n- **Continuous, incremental reviews**: Reviews are performed on each commit\n  within a pull request, rather than a one-time review on the entire pull\n  request.\n- **Cost-effective and reduced noise**: Incremental reviews save on OpenAI costs\n  and reduce noise by tracking changed files between commits and the base of the\n  pull request.\n- **\"Light\" model for summary**: Designed to be used with a \"light\"\n  summarization model (e.g. `gpt-3.5-turbo`) and a \"heavy\" review model (e.g.\n  `gpt-4`). _For best results, use `gpt-4` or equivalent as the \"heavy\" model, as thorough\n  code review needs strong reasoning abilities._\n- **Chat with bot**: Supports conversation with the bot in the context of lines\n  of code or entire files, useful for providing context, generating test cases,\n  and reducing code complexity.\n- **Smart review skipping**: By default, skips in-depth review for simple\n  changes (e.g. typo fixes) and when changes look good for the most part. It can\n  be disabled by setting `review_simple_changes` and `review_comment_lgtm` to\n  `true`.\n- **Customizable prompts**: Tailor the `system_message`, `summarize`, and\n  `summarize_release_notes` prompts to focus on specific aspects of the review\n  process or even change the review objective.\n\nTo use this tool, you need to add the provided YAML file to your repository and\nconfigure the required environment variables, such as `GITHUB_TOKEN` and\n`OPENAI_API_KEY`. For more information on usage, examples, contributing, and\nFAQs, you can refer to the sections below.\n\n- [AI-based PR reviewer and summarizer](#ai-based-pr-reviewer-and-summarizer)\n  - [Overview](#overview)\n  - [Reviewer Features:](#reviewer-features)\n  - [Install instructions](#install-instructions)\n      - [Environment variables](#environment-variables)\n    - [Models: `gpt-4` and `gpt-3.5-turbo` or any other compatible model](#models-gpt-4-and-gpt-35-turbo-or-any-other-compatible-model)\n    - [Prompts \\\u0026 Configuration](#prompts--configuration)\n  - [Conversation with ARC Intelligence](#conversation-with-arc-intelligence)\n    - [Ignoring PRs](#ignoring-prs)\n  - [Contribute](#contribute)\n    - [Developing](#developing)\n  - [FAQs](#faqs)\n    - [Review pull requests from forks](#review-pull-requests-from-forks)\n    - [Inspect the messages between OpenAI server](#inspect-the-messages-between-openai-server)\n    - [Disclaimer](#disclaimer)\n\n\n## Install instructions\n\n`ai-pr-reviewer` runs as a GitHub Action. Add the below file to your repository\nat `.github/workflows/ai-pr-reviewer.yml`\n\n```yaml\nname: Code Review\n\npermissions:\n  contents: read\n  pull-requests: write\n\non:\n  pull_request:\n  pull_request_review_comment:\n    types: [created]\n\nconcurrency:\n  group:\n    ${{ github.repository }}-${{ github.event.number || github.head_ref ||\n    github.sha }}-${{ github.workflow }}-${{ github.event_name ==\n    'pull_request_review_comment' \u0026\u0026 'pr_comment' || 'pr' }}\n  cancel-in-progress: ${{ github.event_name != 'pull_request_review_comment' }}\n\njobs:\n  review:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: sourcefuse/ai-pr-reviewer@latest\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n          OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}\n        with:\n          debug: false\n          review_simple_changes: false\n          review_comment_lgtm: false\n```\n\n#### Environment variables\n\n- `GITHUB_TOKEN`: This should already be available to the GitHub Action\n  environment. This is used to add comments to the pull request.\n- `OPENAI_API_KEY`: use this to authenticate with OpenAI API. You can get one\n  [here](https://platform.openai.com/account/api-keys). Please add this key to\n  your GitHub Action secrets.\n- `OPENAI_API_ORG`: (optional) use this to use the specified organization with\n  OpenAI API if you have multiple. Please add this key to your GitHub Action\n  secrets.\n\n### Models: `gpt-4` and `gpt-3.5-turbo` or any other compatible model\n\nRecommend using `gpt-3.5-turbo` for lighter tasks such as summarizing the\nchanges (`openai_light_model` in configuration) and `gpt-4` for more complex\nreview and commenting tasks (`openai_heavy_model` in configuration).\n\n### Prompts \u0026 Configuration\n\nSee: [action.yml](./action.yml)\n\nTip: You can change the bot personality by configuring the `system_message`\nvalue. For example, to review docs/blog posts, you can use the following prompt:\n\n\u003cdetails\u003e\n\u003csummary\u003eBlog Reviewer Prompt\u003c/summary\u003e\n\n```yaml\nsystem_message: |\n  You are `@arci` (aka `github-actions[bot]`), a language model. Your purpose is to act as a highly experienced DevRel (developer relations) professional with focus on cloud-native\n  infrastructure.\n\n  Company context -\n  ARC Intelligence is an AI-powered Code reviewer.It boosts code quality and cuts manual effort. Offers context-aware, line-by-line feedback, highlights critical changes,\n  enables bot interaction, and lets you commit suggestions directly from GitHub.\n\n  When reviewing or generating content focus on key areas such as -\n  - Accuracy\n  - Security\n  - Relevance\n  - Clarity\n  - Technical depth\n  - Call-to-action\n  - SEO optimization\n  - Brand consistency\n  - Grammar and prose\n  - Typos\n  - Hyperlink suggestions\n  - Graphics or images\n  - Empathy\n  - Engagement\n```\n\n\u003c/details\u003e\n\n## Conversation with ARC Intelligence\n\nYou can reply to a review comment made by this action and get a response based\non the diff context. Additionally, you can invite the bot to a conversation by\ntagging it in the comment (`@arci`).\n\nExample:\n\n\u003e @arci Please generate a test plan for this file.\n\nNote: A review comment is a comment made on a diff or a file in the pull\nrequest.\n\n### Ignoring PRs\n\nSometimes it is useful to ignore a PR. For example, if you are using this action\nto review documentation, you can ignore PRs that only change the documentation.\nTo ignore a PR, add the following keyword in the PR description:\n\n```text\n@arci: ignore\n```\n\n## Contribute\n\n### Developing\n\n\u003e First, you'll need to have a reasonably modern version of `node` handy, tested\n\u003e with node 17+.\n\nInstall the dependencies\n\n```bash\n$ npm install\n```\n\nBuild the typescript and package it for distribution\n\n```bash\n$ npm run build \u0026\u0026 npm run package\n```\n\n## FAQs\n\n### Review pull requests from forks\n\nGitHub Actions limits the access of secrets from forked repositories. To enable\nthis feature, you need to use the `pull_request_target` event instead of\n`pull_request` in your workflow file. Note that with `pull_request_target`, you\nneed extra configuration to ensure checking out the right commit:\n\n```yaml\nname: Code Review\n\npermissions:\n  contents: read\n  pull-requests: write\n\non:\n  pull_request_target:\n    types: [opened, synchronize, reopened]\n  pull_request_review_comment:\n    types: [created]\n\nconcurrency:\n  group:\n    ${{ github.repository }}-${{ github.event.number || github.head_ref ||\n    github.sha }}-${{ github.workflow }}-${{ github.event_name ==\n    'pull_request_review_comment' \u0026\u0026 'pr_comment' || 'pr' }}\n  cancel-in-progress: ${{ github.event_name != 'pull_request_review_comment' }}\n\njobs:\n  review:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: sourcefuse/ai-pr-reviewer@latest\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n          OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}\n        with:\n          debug: false\n          review_simple_changes: false\n          review_comment_lgtm: false\n```\n\nSee also:\nhttps://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target\n\n### Inspect the messages between OpenAI server\n\nSet `debug: true` in the workflow file to enable debug mode, which will show the\nmessages\n\n### Disclaimer\n\n- Your code (files, diff, PR title/description) will be sent to OpenAI's servers (if used)\n  for processing. Please check with your compliance team before using this on\n  your private code repositories.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsourcefuse%2Fai-pr-reviewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsourcefuse%2Fai-pr-reviewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsourcefuse%2Fai-pr-reviewer/lists"}