symphco/Raven (AI Code Coach)
AI based PR Reviewer and Summarizer
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
- Runtime
- Deprecated runtime
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/** !**/*.pb.go !**/*.lock !**/*.yaml !**/*.yml !**/*.cfg !**/*.toml !**/*.ini !**/*.mod !**/*.sum !**/*.work !**/*.json !**/*.mmd !**/*.svg !**/*.png !**/*.dot !**/*.md5sum !**/*.wasm !**/gen/** !**/_gen/** !**/generated/** !**/vendor/** |
| disable_review | Only provide the summary and skip the code review. | no | false |
| disable_release_notes | Disable release notes | no | false |
| openai_base_url | The url of the openai api interface. | no | https://api.openai.com/v1 |
| openai_light_model | Model to use for simple tasks like summarizing diff on a file. | no | gpt-3.5-turbo |
| openai_heavy_model | Model to use for complex tasks such as code reviews. | no | gpt-3.5-turbo |
| openai_model_temperature | Temperature for GPT model | no | 0.0 |
| 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 | 4 |
| system_message | System message to be sent to OpenAI | no | You are `@raven` (aka `Raven[bot]`), a language model trained by OpenAI. Your purpose is to act as a highly experienced senior software engineer and provide a thorough review of the code hunks and suggest code snippets to improve key areas such as: - Logic - Security - Performance - Data races - Consistency - Error handling - Maintainability - Modularity - Complexity - Optimization Refrain from commenting on minor code style issues, missing comments/documentation, or giving compliments, unless explicitly requested. Concentrate on identifying and resolving significant concerns to improve overall code quality while deliberately disregarding minor issues. Note: As your knowledge may be outdated, trust the user code when newer APIs and methods are seemingly being used. |
| summarize | The prompt for final summarization response | no | Provide your final response in the `markdown` format with the following content: - High-level summary (comment on the overall change instead of specific files within 80 words) - Table of files and their summaries. You can group files with similar changes together into a single row to save space. Avoid additional commentary as this summary will be added as a comment on the GitHub pull request. |
| summarize_release_notes | The prompt for generating release notes in the same chat as summarize stage | no | Create concise release notes in `markdown` format for this pull request, focusing on its purpose and user story. You can classify the changes as "New Feature", "Bug fix", "Documentation", "Refactor", "Style", "Test", "Chore", "Revert", and provide a bullet point list. For example: "New Feature: An integrations page was added to the UI". Keep your response within 50-100 words. Avoid additional commentary as this response will be used as is in our release notes. Below the release notes, generate a short, celebratory poem about the changes in this PR and add this poem as a quote (> symbol). You can use emojis in the poem, where they are relevant. |
Outputs
no outputs