-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaction.yml
More file actions
103 lines (81 loc) · 3.37 KB
/
action.yml
File metadata and controls
103 lines (81 loc) · 3.37 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
99
100
101
102
103
name: 'spit-the-diff'
description: 'Where your diffs drop bars. Generates creative rap, haiku, or roast summaries of pull requests using AI.'
author: 'ssfinney'
branding:
icon: 'mic'
color: 'purple'
inputs:
format:
description: 'Output format: rap, haiku, or roast. The roast label also triggers roast mode automatically.'
required: false
default: 'rap'
model:
description: 'Model to use for generation. Must be valid for the chosen provider. Defaults vary by provider (e.g. gpt-4.1-mini for OpenAI, claude-haiku-4-5-20251001 for Anthropic).'
required: false
default: ''
max_files:
description: 'Maximum number of changed files to include in the diff sent to the LLM'
required: false
default: '6'
roast_label:
description: 'PR label that enables roast mode'
required: false
default: 'roast-me'
enable_moderation:
description: 'Run OpenAI moderation on generated output before posting. Set to true to enable. Only works with the openai provider; automatically skipped for all other providers.'
required: false
default: 'false'
skip_drafts:
description: 'Skip draft PRs entirely. Add "ready_for_review" to pull_request.types to re-trigger when the PR is marked ready.'
required: false
default: 'true'
min_diff_lines:
description: 'Skip if total non-noise diff lines are below this threshold. 0 disables the check.'
required: false
default: '0'
mic_drop_threshold:
description: 'Use a tight 2-line mic drop instead of the full format when non-noise diff lines are below this threshold. 0 disables. Should be larger than min_diff_lines when both are set.'
required: false
default: '0'
max_patch_lines:
description: 'Maximum lines of a single file patch to include in the diff payload. Longer patches are truncated with a note.'
required: false
default: '60'
max_prompt_chars:
description: 'Maximum total characters of the diff payload sent to the LLM. If the full payload exceeds this, only the change summary is sent (no raw hunks).'
required: false
default: '30000'
openai_api_key:
description: 'OpenAI API key. Provide exactly one of the provider API key inputs.'
required: false
anthropic_api_key:
description: 'Anthropic API key (for Claude models). Provide exactly one of the provider API key inputs.'
required: false
google_api_key:
description: 'Google API key (for Gemini models). Provide exactly one of the provider API key inputs.'
required: false
openrouter_api_key:
description: 'OpenRouter API key. Provide exactly one of the provider API key inputs.'
required: false
huggingface_api_key:
description: 'HuggingFace API key. Provide exactly one of the provider API key inputs.'
required: false
groq_api_key:
description: 'Groq API key. Provide exactly one of the provider API key inputs.'
required: false
mistral_api_key:
description: 'Mistral AI API key. Provide exactly one of the provider API key inputs.'
required: false
together_api_key:
description: 'Together AI API key. Provide exactly one of the provider API key inputs.'
required: false
github_token:
description: 'GitHub token used to post PR comments'
required: false
default: ${{ github.token }}
outputs:
content:
description: 'The generated creative summary text'
runs:
using: 'node24'
main: 'dist/index.js'