vlx42/AI-based PR Reviewer & Summarizer with Chat Capabilities
AI-based PR Reviewer & Summarizer with Chat Capabilities
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| debug | Enable debug mode | no | false |
| max_files | Max files to summarize and review. Less than or equal to 0 means no limit. | no | 150 |
| review_simple_changes | Review even when the changes are simple | no | false |
| review_comment_lgtm | Leave comments even if the patch is LGTM | no | false |
| path_filters | The path filters, e.g., "src/**.py", "!dist/**", each line will be considered as one pattern. See also - https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore - https://github.com/isaacs/minimatch | no | !dist/** !**/*.app !**/*.bin !**/*.bz2 !**/*.class !**/*.db !**/*.csv !**/*.tsv !**/*.dat !**/*.dll !**/*.dylib !**/*.egg !**/*.glif !**/*.gz !**/*.xz !**/*.zip !**/*.7z !**/*.rar !**/*.zst !**/*.ico !**/*.jar !**/*.tar !**/*.war !**/*.lo !**/*.log !**/*.mp3 !**/*.wav !**/*.wma !**/*.mp4 !**/*.avi !**/*.mkv !**/*.wmv !**/*.m4a !**/*.m4v !**/*.3gp !**/*.3g2 !**/*.rm !**/*.mov !**/*.flv !**/*.iso !**/*.swf !**/*.flac !**/*.nar !**/*.o !**/*.ogg !**/*.otf !**/*.p !**/*.pdf !**/*.doc !**/*.docx !**/*.xls !**/*.xlsx !**/*.ppt !**/*.pptx !**/*.pkl !**/*.pickle !**/*.pyc !**/*.pyd !**/*.pyo !**/*.pub !**/*.pem !**/*.rkt !**/*.so !**/*.ss !**/*.eot !**/*.exe !**/*.pb.go !**/*.lock !**/*.ttf !**/*.yaml !**/*.yml !**/*.cfg !**/*.toml !**/*.ini !**/*.mod !**/*.sum !**/*.work !**/*.json !**/*.mmd !**/*.svg !**/*.jpeg !**/*.jpg !**/*.png !**/*.gif !**/*.bmp !**/*.tiff !**/*.webm !**/*.woff !**/*.woff2 !**/*.dot !**/*.md5sum !**/*.wasm !**/*.snap !**/*.parquet !**/gen/** !**/_gen/** !**/generated/** !**/@generated/** !**/vendor/** !**/*.min.js !**/*.min.js.map !**/*.min.js.css !**/*.tfstate !**/*.tfstate.backup |
| disable_review | Only provide the summary and skip the code review. | no | false |
| disable_release_notes | Disable release notes | no | false |
| openai_light_model | Model to use for simple tasks like summarizing diff on a file. Azure OpenAIはdeploymentがモデルの実態なので、トークン制約などを明示化するために付与するのみの利用 | no | gpt-4o |
| openai_heavy_model | Model to use for complex tasks such as code reviews. Azure OpenAIはdeploymentがモデルの実態なので、トークン制約などを明示化するために付与するのみの利用 | no | gpt-4o |
| openai_model_temperature | Temperature for GPT model | no | 0.05 |
| openai_retries | How many times to retry OpenAI API in case of timeouts or errors? | no | 5 |
| openai_timeout_ms | Timeout for OpenAI API call in millis | no | 360000 |
| openai_concurrency_limit | How many concurrent API calls to make to OpenAI servers? | no | 6 |
| github_concurrency_limit | How many concurrent API calls to make to GitHub? | no | 6 |
| system_message | System message to be sent to OpenAI | no | You are `@codesailorai` (aka `github-actions[bot]`), an AI code reviewer trained to act as a highly experienced senior software engineer. Your role is to review code hunks and **only focus on significant technical issues**. You must: - Identify unnecessary complexity and suggest simplifications. - Recommend more efficient algorithms or data structures where needed. - Highlight redundant, duplicate, or overly verbose code. - Detect performance bottlenecks and propose optimizations. - Enforce best practices (DRY, SOLID, KISS) to minimize technical debt. - Point out missing or inadequate documentation or comments. **Do not comment on minor code style issues** (such as formatting) — they are handled by ESLint and Prettier. Your tone must be **direct, firm, and critical**. - Prioritize code quality, maintainability, and performance. - Be blunt when highlighting inefficiency, bad practices, or sloppy coding. - If in doubt, favor strictness over leniency. Deliver your feedback in **Markdown**. When using code blocks, you **must escape all backticks** to avoid syntax errors. If your review includes a change request, **you must insert the following tag at the top of your comment**: ``` <!-- This is a CHANGE-REQUEST by OSS CodeSailor --> ``` Focus on actionable change requests or highlighting critical mistakes — not minor nitpicks or misunderstandings of the broader context. Your comments should be **concise and to the point**. |
| summarize | The prompt for final summarization response | no | Provide your final response in markdown with the following content: - **Walkthrough**: A high-level summary of the overall change instead of specific files within 70 words. - **Changes**: A markdown table of files and their summaries. Group files with similar changes together into a single row to save space. - **Poem**: Below the changes, include a whimsical, short poem written by a sailor to celebrate the changes. Format the poem as a quote using the ">" symbol and feel free to use emojis where relevant. Avoid additional commentary as this summary will be added as a comment on the GitHub pull request. Use the titles "Walkthrough" and "Changes" and they must be H2. |
| summarize_release_notes | The prompt for generating release notes in the same chat as summarize stage | no | Craft concise release notes for the pull request. Focus on the purpose and user impact, categorizing changes as "New Feature", "Bug Fix", "Documentation", "Refactor", "Style", "Test", "Chore", or "Revert". Provide a bullet-point list, e.g., "- New Feature: Added search functionality to the UI". Limit your response to 50-100 words and emphasize features visible to the end-user while omitting code-level details. |
| language | ISO code for the response language | no | en-US |
| bot_icon | The icon for the bot | no | <img src="https://raw.githubusercontent.com/vLX42/ai-pr-reviewer/main/.github/assets/bot-icon-small.png" alt="Image description" height="20"> |
Outputs
no outputs