Esta é uma versão antiga do CodeRabbit e agora está em modo de manutenção. Recomendamos instalar a versão Pro do CodeRabbit. A versão Pro é uma reformulação total e oferece análises significativamente melhores que aprendem com o uso e melhoram com o tempo. CodeRabbit Pro é gratuito para projetos de código aberto.
CodeRabbit ai-pr-reviewer
é um revisor de código baseado em IA e resumidor para solicitações pull do GitHub usando os modelos gpt-3.5-turbo
e gpt-4
da OpenAI. Ele foi projetado para ser usado como uma ação do GitHub e pode ser configurado para ser executado em cada solicitação pull e revisar comentários
gpt-3.5-turbo
) e um modelo de revisão "pesado" (por exemplo, gpt-4
). Para obter melhores resultados, use gpt-4
como modelo "pesado", pois a revisão completa do código requer fortes habilidades de raciocínio.review_simple_changes
e review_comment_lgtm
como true
.system_message
, summarize
e summarize_release_notes
para focar em aspectos específicos do processo de revisão ou até mesmo alterar o objetivo da revisão. Para usar esta ferramenta, você precisa adicionar o arquivo YAML fornecido ao seu repositório e configurar as variáveis de ambiente necessárias, como GITHUB_TOKEN
e OPENAI_API_KEY
. Para obter mais informações sobre uso, exemplos, contribuições e perguntas frequentes, consulte as seções abaixo.
ai-pr-reviewer
é executado como uma ação do GitHub. Adicione o arquivo abaixo ao seu repositório em .github/workflows/ai-pr-reviewer.yml
name : Code Review
permissions :
contents : read
pull-requests : write
on :
pull_request :
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
steps :
- uses : coderabbitai/ai-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
GITHUB_TOKEN
: já deve estar disponível para o ambiente GitHub Action. Isso é usado para adicionar comentários à solicitação pull.OPENAI_API_KEY
: use para autenticar com a API OpenAI. Você pode conseguir um aqui. Adicione esta chave aos seus segredos de ação do GitHub.OPENAI_API_ORG
: (opcional) use isto para usar a organização especificada com OpenAI API se você tiver várias. Adicione esta chave aos seus segredos de ação do GitHub.gpt-4
e gpt-3.5-turbo
Recomendo usar gpt-3.5-turbo
para tarefas mais leves, como resumir as alterações ( openai_light_model
na configuração) e gpt-4
para tarefas mais complexas de revisão e comentários ( openai_heavy_model
na configuração).
Custos: gpt-3.5-turbo
é muito barato. gpt-4
é muito mais caro, mas os resultados são muito superiores. Normalmente gastamos US$ 20 por dia para uma equipe de 20 desenvolvedores com análises e comentários baseados em gpt-4
.
Veja: action.yml
Dica: você pode alterar a personalidade do bot configurando o valor system_message
. Por exemplo, para revisar documentos/postagens de blog, você pode usar o seguinte prompt:
system_message : |
You are `@coderabbitai` (aka `github-actions[bot]`), a language model
trained by OpenAI. Your purpose is to act as a highly experienced
DevRel (developer relations) professional with focus on cloud-native
infrastructure.
Company context -
CodeRabbit is an AI-powered Code reviewer.It boosts code quality and cuts manual effort. Offers context-aware, line-by-line feedback, highlights critical changes,
enables bot interaction, and lets you commit suggestions directly from GitHub.
When reviewing or generating content focus on key areas such as -
- Accuracy
- Relevance
- Clarity
- Technical depth
- Call-to-action
- SEO optimization
- Brand consistency
- Grammar and prose
- Typos
- Hyperlink suggestions
- Graphics or images (suggest Dall-E image prompts if needed)
- Empathy
- Engagement
Você pode responder a um comentário de revisão feito por esta ação e obter uma resposta com base no contexto diferente. Além disso, você pode convidar o bot para uma conversa marcando-o no comentário ( @coderabbitai
).
Exemplo:
@coderabbitai Por favor, gere um plano de teste para este arquivo.
Observação: um comentário de revisão é um comentário feito em uma comparação ou arquivo na solicitação pull.
Às vezes é útil ignorar um PR. Por exemplo, se estiver usando esta ação para revisar a documentação, você poderá ignorar os PRs que apenas alteram a documentação. Para ignorar um PR, adicione a seguinte palavra-chave na descrição do PR:
@coderabbitai: ignore
Algumas das análises feitas pelo ai-pr-reviewer
Quaisquer sugestões ou solicitações de pull para melhorar os prompts são muito apreciadas.
Primeiro, você precisará ter em mãos uma versão razoavelmente moderna do
node
, testada com o node 17+.
Instale as dependências
$ npm install
Construa o texto datilografado e empacote-o para distribuição
$ npm run build && npm run package
GitHub Actions limita o acesso a segredos de repositórios bifurcados. Para ativar esse recurso, você precisa usar o evento pull_request_target
em vez de pull_request
em seu arquivo de fluxo de trabalho. Observe que com pull_request_target
, você precisa de configuração extra para garantir a verificação do commit correto:
name : Code Review
permissions :
contents : read
pull-requests : write
on :
pull_request_target :
types : [opened, synchronize, reopened]
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
steps :
- uses : coderabbitai/ai-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
Veja também: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target
Defina debug: true
no arquivo de fluxo de trabalho para ativar o modo de depuração, que mostrará as mensagens