@timcharper/ai-pull-review
Version:
A GitHub Action that leverages Anthropic's Claude AI to provide intelligent analysis and review of pull requests.
58 lines (54 loc) • 1.77 kB
YAML
name: 'AI Pull Request Analysis'
description: 'Analyzes pull requests using Anthropic Claude AI to provide intelligent feedback'
author: 'Diego Maroto and Tim Harper'
inputs:
anthropic_api_key:
description: 'Anthropic API key for Claude'
required: true
github_token:
description: 'GitHub token for API access'
required: true
default: ${{ github.token }}
file_patterns:
description: 'Glob patterns for files to analyze (comma-separated)'
required: false
default: '**/*.{js,jsx,ts,tsx,py,java,rb,go,rs}'
exclude_patterns:
description: 'Glob patterns for files to exclude (comma-separated)'
required: false
default: '**/node_modules/**,**/dist/**,**/build/**'
max_files:
description: 'Maximum number of files to analyze in a single PR'
required: false
default: '10'
comment_threshold:
description: 'Minimum confidence score for comments (0-1)'
required: false
default: '0.7'
model:
description: 'Claude model to use for analysis'
required: false
default: 'claude-3-5-haiku-20241022'
runs:
using: 'docker'
image: 'node:22-alpine'
env:
GITHUB_TOKEN: ${{ inputs.github_token }}
ANTHROPIC_API_KEY: ${{ inputs.anthropic_api_key }}
args:
- 'sh'
- '-c'
- |
npm install -g @timcharper/ai-pull-review
ai-pull-review --mode github \
--repo "${{ github.repository }}" \
--pr "${{ github.event.pull_request.number }}" \
--include "${{ inputs.file_patterns }}" \
--exclude "${{ inputs.exclude_patterns }}" \
--max-files "${{ inputs.max_files }}" \
--threshold "${{ inputs.comment_threshold }}" \
--model "${{ inputs.model }}" \
--write-pull-request
branding:
icon: 'eye'
color: 'blue'