Simple workflow runner that applies change agents and opens PRs.
Project description
PR Creator
Simple workflow runner that clones target repos, applies changes via a change agent, and submits PRs.
Required tools
- Docker (for the cursor change agent)
- No git or GitHub CLI needed (Dulwich + GitHub API handle clone/push/PR)
Environment variables
Required
CURSOR_API_KEY— passed to the cursor agent.GITHUB_TOKEN— used for push and GitHub PR creation.
Optional
GIT_AUTHOR_NAME/GIT_AUTHOR_EMAIL— author/committer; defaults to pr-creator placeholders if unset.LOG_LEVEL— logging level; defaultINFO.CHANGE_AGENT— choose change agent; defaultcursor.EVALUATE_AGENT— choose evaluate agent; defaultcursor.NAMING_AGENT— choose naming agent; defaultcursor.CURSOR_IMAGE— docker image for cursor agent; defaultleonpatmore2/cursor-agent:latest.CURSOR_MODEL— cursor model to use; defaultgpt-5.2.CURSOR_ENV_KEYS— comma-separated env keys forwarded to the agent; defaultCURSOR_API_KEY.DATADOG_API_KEY/DATADOG_APP_KEY— required if using Datadog repo discovery.SUBMIT_CHANGE— submitter; defaultgithub.SUBMIT_PR_BASE— target base branch; default repo default.SUBMIT_PR_BODY— PR body; defaultAutomated changes generated by pr-creator.DEFAULT_BRANCH_PREFIX— branch name prefix used when no change_id is provided; defaultauto/pr.GITHUB_DEFAULT_ORG— default GitHub org/owner to prepend when repo args are provided without an owner (e.g.,--repo my-repo->github.com/<org>/my-repo.git).
Commands
pipenv run python -m pr_creator.cli --prompt "<prompt>" --relevance-prompt "<relevance>" --repo <repo_url> --working-dir .reposmake test-e2e— run the e2e pytest (requires env vars set).make lint— flake8.make format— black (requires Python ≥3.12.6).
CLI arguments
Prompts
--prompt— main prompt text. Required unless using prompt config.--relevance-prompt— relevance filter prompt. Required unless using prompt config.
Prompt config (alternative to passing prompts directly)
--prompt-config-owner— GitHub owner of the prompt config repo. Must be set with--prompt-config-repoand--prompt-config-path.--prompt-config-repo— GitHub repo name containing the prompt config file.--prompt-config-ref— git ref for the prompt config file; defaultmain.--prompt-config-path— path to the YAML prompt config file inside the repo.
Change ID (for static branches)
--change-id— Change ID to use for static branch names. When provided, ensures re-runs use the same branch name (format:{branch_prefix}-{change_id}). Can also be set in prompt config YAML (takes precedence over CLI arg).
Repositories
--repo— repository URL to process. Can be passed multiple times; required if not using Datadog discovery.
Datadog discovery
--datadog-team— Datadog team name to discover repos (requiresDATADOG_API_KEYandDATADOG_APP_KEY).--datadog-site— Datadog API base URL; defaulthttps://api.datadoghq.com.
Runtime
--working-dir— where repos are cloned; default.repos.--log-level— logging level; defaultINFO.
Example (Docker)
docker run --rm \
-e CURSOR_API_KEY \
-e GITHUB_TOKEN \
leonpatmore2/pr-creator:latest \
--prompt-config-owner LeonPatmore \
--prompt-config-repo pr-creator \
--prompt-config-ref main \
--prompt-config-path examples/prompt-config.yaml \
--repo https://github.com/LeonPatmore/cheap-ai-agents-aws \
--working-dir /tmp/repos \
--log-level INFO
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file multi_repo_pr_creator-0.1.2.tar.gz.
File metadata
- Download URL: multi_repo_pr_creator-0.1.2.tar.gz
- Upload date:
- Size: 19.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25a4c8ade915c5b2b3ac8f1d6cf06af30a4378b542eeeeba5d1e3060577a2ac6
|
|
| MD5 |
77a184076edc235281aa5184892af591
|
|
| BLAKE2b-256 |
44169dfd02a312215b792d46936d4218be063cee967ae5d14b42aaabe1ce5a1d
|
File details
Details for the file multi_repo_pr_creator-0.1.2-py3-none-any.whl.
File metadata
- Download URL: multi_repo_pr_creator-0.1.2-py3-none-any.whl
- Upload date:
- Size: 28.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a7e8b0c2a4adeb6d8f75d15e50da366f2f76d0b3767b10900af7b2d56844b70b
|
|
| MD5 |
750ea7d46e0f0fa36090d9e23695067a
|
|
| BLAKE2b-256 |
74f08b81645eccd22191fd3e790ac08891979c6b406588535171602011dffc83
|