-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathaction.yaml
More file actions
98 lines (94 loc) · 3.42 KB
/
action.yaml
File metadata and controls
98 lines (94 loc) · 3.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
name: 'AI-Powered PR Bot'
description: 'AI-powered PR analysis, review, and auto-approval using Claude. Generates descriptions and provides intelligent code feedback.'
author: 'jacsamell'
inputs:
anthropic_api_key:
description: 'Anthropic API key for Claude AI'
required: true
github_token:
description: 'GitHub token for API access'
required: false
default: ${{ github.token }}
auto_review:
description: 'Enable automatic code review'
required: false
default: 'false'
auto_describe:
description: 'Enable automatic PR description generation'
required: false
default: 'false'
auto_improve:
description: 'Enable code improvement suggestions'
required: false
default: 'false'
enable_auto_approval:
description: 'Enable automatic approval of safe changes'
required: false
default: 'false'
model:
description: 'AI model to use (e.g., anthropic/claude-sonnet-4-20250514)'
required: false
default: 'anthropic/claude-sonnet-4-20250514'
max_model_tokens:
description: 'Maximum tokens for AI model'
required: false
default: '1000000'
require_trigger:
description: 'Require ##prbot trigger in PR description'
required: false
default: 'false'
max_findings:
description: 'Maximum number of review findings to report'
required: false
default: '5'
pretty_logs:
description: 'Enable pretty console logs with emojis instead of JSON'
required: false
default: 'true'
enable_review_labels_effort:
description: 'Enable review effort labels (1-5 scale) on PRs'
required: false
default: 'false'
enable_review_labels_security:
description: 'Enable security concern labels on PRs'
required: false
default: 'false'
feedback_on_draft_pr:
description: 'Enable processing of draft PRs (default: false to skip draft PRs)'
required: false
default: 'false'
use_cursor_rules:
description: 'Enable reading Cursor rules from repository (.cursor/rules/*.mdc and .cursorrules)'
required: false
default: 'true'
outputs:
review_posted:
description: 'Whether a review was posted'
description_updated:
description: 'Whether PR description was updated'
improvements_posted:
description: 'Whether improvement suggestions were posted'
auto_approved:
description: 'Whether PR was automatically approved'
branding:
icon: 'git-pull-request'
color: 'blue'
runs:
using: 'docker'
image: 'docker://ghcr.io/jacsamell/github-pr-bot:v1'
env:
ANTHROPIC__KEY: ${{ inputs.anthropic_api_key }}
GITHUB_TOKEN: ${{ inputs.github_token }}
GITHUB_ACTION_CONFIG__AUTO_REVIEW: ${{ inputs.auto_review }}
GITHUB_ACTION_CONFIG__AUTO_DESCRIBE: ${{ inputs.auto_describe }}
GITHUB_ACTION_CONFIG__AUTO_IMPROVE: ${{ inputs.auto_improve }}
CONFIG__ENABLE_AUTO_APPROVAL: ${{ inputs.enable_auto_approval }}
CONFIG__MODEL: ${{ inputs.model }}
CONFIG__MAX_MODEL_TOKENS: ${{ inputs.max_model_tokens }}
CONFIG__REQUIRE_AIDESC_TRIGGER: ${{ inputs.require_trigger }}
PR_REVIEWER__NUM_MAX_FINDINGS: ${{ inputs.max_findings }}
GITHUB_ACTION_CONFIG__PRETTY_LOGS: ${{ inputs.pretty_logs }}
PR_REVIEWER__ENABLE_REVIEW_LABELS_EFFORT: ${{ inputs.enable_review_labels_effort }}
PR_REVIEWER__ENABLE_REVIEW_LABELS_SECURITY: ${{ inputs.enable_review_labels_security }}
CONFIG__FEEDBACK_ON_DRAFT_PR: ${{ inputs.feedback_on_draft_pr }}
CONFIG__USE_CURSOR_RULES: ${{ inputs.use_cursor_rules }}