{"id":16366992,"url":"https://github.com/annervisser/pr-cli","last_synced_at":"2025-03-16T15:32:47.707Z","repository":{"id":62464632,"uuid":"559345126","full_name":"annervisser/pr-cli","owner":"annervisser","description":"Command line tool for easily creating pull requests for part of your changes without interrupting your flow.","archived":false,"fork":false,"pushed_at":"2024-05-21T00:12:08.000Z","size":1000,"stargazers_count":8,"open_issues_count":10,"forks_count":0,"subscribers_count":3,"default_branch":"trunk","last_synced_at":"2024-05-21T07:01:23.684Z","etag":null,"topics":["cli","commit","deno","gh-cli","git","pull-requests"],"latest_commit_sha":null,"homepage":"https://deno.land/x/prcli","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/annervisser.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["annervisser"]}},"created_at":"2022-10-29T20:28:51.000Z","updated_at":"2024-05-31T23:46:45.396Z","dependencies_parsed_at":"2024-04-18T15:36:58.102Z","dependency_job_id":"63bd919b-6e31-4c21-9c1a-fefc044f5c4f","html_url":"https://github.com/annervisser/pr-cli","commit_stats":{"total_commits":61,"total_committers":3,"mean_commits":"20.333333333333332","dds":"0.14754098360655743","last_synced_commit":"7c7c44f58e8bfcb81d7c534aaaf1159450745084"},"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/annervisser%2Fpr-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/annervisser%2Fpr-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/annervisser%2Fpr-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/annervisser%2Fpr-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/annervisser","download_url":"https://codeload.github.com/annervisser/pr-cli/tar.gz/refs/heads/trunk","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243822309,"owners_count":20353498,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","commit","deno","gh-cli","git","pull-requests"],"created_at":"2024-10-11T02:48:13.743Z","updated_at":"2025-03-16T15:32:47.370Z","avatar_url":"https://github.com/annervisser.png","language":"TypeScript","readme":"# PR-CLI\n\nPull Request - Command Line Interface\n\n## ✨ Functionality\n\n### Picking commits (`pr-cli pick`)\n\nQuickly cherry-pick one or more commits from your current branch onto a new one and create a pull\nrequest for these commits.\n\nVery useful when doing a quick bugfix/cleanup/change unrelated to your branch. Or when creating\nfrequent, small commits.\n\n- No need to leave your current branch!\n- Uncommitted changes are not a problem, no need to stash\n\n\u003e pr-cli achieves this by creating a new worktree in a temporary directory, so that your main\n\u003e worktree is completely unaffected\n\n- Interactive settings / confirmation screen\n\nIt also has all the PR title/body features of [`pr-cli pr`](#creating-a-pull-request-pr-cli-pr)\n\n#### Usage\n\n1. Run `pr-cli pick` (or `pr-cli p`) in a git repository\n2. Choose the commits you want to pick (If there is more than one)\n3. Choose how to set the pull request title (will also be used as branch name)\n4. Confirm/Change settings\n5. Press Enter to create Pull Request\n\n### Creating a pull request (`pr-cli pr`)\n\nCreate a GitHub pull request based on your current branch, like `gh pr create` but better.\n\n- Quick options for setting the PR title\n  - Use one of the commit's titles\n  - Use the branch name\n  - Type a custom one\n- Automatically generate PR body based on all commits\n\n### Demo\n\n![pr-cli pick demo](./assets/pick.gif)\n\n## 📥 Installation\n\n- Install prerequisites:\n  \u003e ℹ️ Check if you already have these installed by running `deno --version` and `gh --version`\n  - Deno: https://deno.land/manual/getting_started/installation\n  - GitHub CLI: https://github.com/cli/cli#installation\n- Install pr-cli:\n\n  \u003c!-- Make sure to keep this in sync with installation test in .github/workflows/test-installation.yml --\u003e\n  ```shell\n  deno install --global --name pr-cli --allow-run --allow-read --allow-env jsr:@annervisser/pr-cli\n  ```\n\n  \u003cdetails\u003e\n  \t\u003csummary\u003eInstalling from a local checkout\u003c/summary\u003e\n\n  - Installing from a local checkout of this repository requires specifying `--config=deno.json`\n    during installation. (see https://github.com/denoland/deno/issues/26212)\n\n    ```shell\n    deno install --global --name pr-cli --allow-run --allow-read --allow-env --config=deno.json ./main.ts\n    ```\n\n  \u003c/details\u003e\n\n- Install Gum:\n\n  ```shell\n  pr-cli install-deps\n  ```\n\n  \u003e ℹ️ you can also install Gum manually if you prefer:\n  \u003e https://github.com/charmbracelet/gum#installation\n\n### ⬆️ Upgrading\n\nTo upgrade your installation to the latest version:\n\n\u003c!-- Make sure to keep this in sync with installation test in .github/workflows/test-installation.yml --\u003e\n\n```shell\ndeno install --reload --force --global --name pr-cli --allow-run --allow-read --allow-env jsr:@annervisser/pr-cli\n```\n\n### 🔲 Completions\n\nEnable auto-completion of pr-cli commands by running the command for your shell:\n\n#### Bash\n\n```shell\necho 'source \u003c(pr-cli completions bash)' \u003e\u003e ~/.bashrc\n```\n\n#### ZSH\n\n```shell\necho 'source \u003c(pr-cli completions zsh)' \u003e\u003e ~/.zshrc\n```\n\n#### Fish\n\n```shell\necho 'source (pr-cli completions fish | psub)' \u003e\u003e ~/.config/fish/config.fish:\n```\n","funding_links":["https://github.com/sponsors/annervisser"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fannervisser%2Fpr-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fannervisser%2Fpr-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fannervisser%2Fpr-cli/lists"}