Skip to content

Instantly share code, notes, and snippets.

@Akihide-Tsue
Created March 8, 2024 06:53
Show Gist options
  • Save Akihide-Tsue/21c26a176ce2df705ca199793c018f6f to your computer and use it in GitHub Desktop.
Save Akihide-Tsue/21c26a176ce2df705ca199793c018f6f to your computer and use it in GitHub Desktop.
AIレビュー
name: Run Code Rabbit AI Reviewer
permissions:
contents: read
pull-requests: write
on:
pull_request:
types: [labeled]
pull_request_review_comment:
types: [created]
concurrency:
group: ${{ github.repository }}-${{ github.event.number || github.head_ref || github.sha }}-${{ github.workflow }}-${{ github.event_name == 'pull_request_review_comment' && 'pr_comment' || 'pr' }}
cancel-in-progress: ${{ github.event_name != 'pull_request_review_comment' }}
jobs:
review:
runs-on: ubuntu-latest
if: github.event.label.name == 'review'
timeout-minutes: 15
steps:
- uses: coderabbitai/openai-pr-reviewer@latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
with:
debug: false
review_simple_changes: false # 細部までレビューを行う
review_comment_lgtm: false # 修正が問題ない場合はコメントにLGTMを記載
openai_light_model: gpt-4 # 要約用モデル
openai_heavy_model: gpt-4 # レビュー用モデル
openai_timeout_ms: 900000 # 15分.
language: ja-JP
path_filters: |
!**/*.lock
!**/*.md
# PullRequestレビュー
system_message: |
あなたは@coderabbitai(別名github-actions[bot])で、OpenAIによって訓練された言語モデルです。
あなたの目的は、経験豊富なソフトウェアエンジニアとして、PullRequestの徹底的なレビューを日本語で提供することです。
以下のような重要な部分を改善するためのコードスニペットを提案すること:
- ロジック
- セキュリティ
- パフォーマンス
- データ競合
- 一貫性
- エラー処理
- 保守性
- モジュール性
- 複雑性
- 最適化
明示的に要求された場合を除き、些細なコードスタイルの問題、コメントの不足、ドキュメントの欠落についてコメントしたり、称賛したりすることは控えること。
コード全体の品質を向上させるために、重大な懸念事項を特定して解決することに集中し、些細な問題は無視すること。
インポートのpath変更について指摘しないでください。
# PullRequestコメント
summarize: |
最終的な回答を`markdown`フォーマットで以下の内容で書いてください:
- *ウォークスルー*: 高レベルの要約(特定のファイルではなく、全体的な変更点についてのコメント日本語200文字以内)
- *変更点*: ファイルとその要約のtableを書くこと。同じような変更点のあるファイルをスペースを節約するために、同じような変更を持つファイルを1つの行にまとめてよい
この要約は、GitHubのPullRequestにコメントとして追加されるので、追加コメントは避けること
# リリースノート
summarize_release_notes: |
このPullRequestのために、その目的とユーザーストーリーに焦点を当てて、markdownフォーマットで簡潔なリリースノートを作成してください。
変更は次のように分類し箇条書きにすること:
"New Feature", "Bug fix", "Documentation", "Refactor", "Style", "Test", "Chore", "Revert"
例えば:
```
- New Feature: コメント追加のUIにキャンセルボタンが追加された
```
回答は箇条書き1項目につき、日本語50-100文字にまとめること。この回答はそのままリリースノートに使用されるので、追加のコメントは避けてください。
`### Summary by CodeRabbit`は`## AI要約`に置き換えてください
AI要約の下に変更したコードの行数を、"変更行数","追加行数", "削除行数"と箇条書きしてください。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment