davd-gzl/Prompt2PR

Turn prompts into Pull Requests using LLMs - on push, on schedule, or on demand.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
promptThe prompt describing what changes to make. This is sent to the LLM along with the scoped file contents as context.yes
providerThe LLM provider to use. Supported values: mistral, openai, anthropic, github.yes
modelThe model identifier to use. If not specified, the provider's default model is used (e.g., mistral-large-latest, gpt-4o, claude-sonnet-4-20250514, openai/gpt-4o).no""
pathsComma-separated glob patterns for files to include as LLM context. Only matching files are scanned and eligible for modification.no**
max_filesMaximum number of files the LLM is allowed to modify in a single run. Responses exceeding this limit are rejected.no10
max_changesMaximum total lines changed across all files in a single run. Responses exceeding this limit are rejected.no200
labelComma-separated labels to apply to the created PR. The label 'prompt2pr' is always included automatically.noprompt2pr
branch_prefixPrefix for the branch name created for the PR. The full branch name is {branch_prefix}{timestamp}.noprompt2pr/
dry_runWhen set to true, the action runs the full pipeline but skips branch creation and PR submission. Useful for testing prompts.nofalse
base_urlOverride the base URL for the LLM provider API. Useful for proxies or self-hosted endpoints.no""
allowed_hostsComma-separated list of additional hostnames allowed for base_url validation. Use this for self-hosted or proxied LLM endpoints. Each hostname is added to the built-in allowlist (api.mistral.ai, api.openai.com, api.anthropic.com, models.github.ai, etc.).no""
namedescription
pr_urlThe URL of the created Pull Request. Empty if skipped.
pr_numberThe number of the created Pull Request. Empty if skipped.
files_changedThe number of files changed by the action.
lines_changedThe total number of lines changed across all files.
skippedWhether PR creation was skipped (true if no changes detected or dry_run was enabled).