---
name: collaborating-through-pr-pico-sh
description: Collaborates on git patches via pr.pico.sh, a minimal patchbin service. Use when submitting, reviewing, or managing patch requests, or when the user mentions pr.pico.sh, patchbin, or patch requests.
license: GPL-3.0-or-later
metadata:
  author: Amolith <amolith@secluded.site>
---

pr.pico.sh is a patchbin where collaboration happens through `git format-patch` and `git am`. Whether you are submitting code changes or reviewing them, it all happens in code — both contributor and reviewer create commits, optionally with comments in code, and exchange them as patches rather than commenting in a web UI.

## Registration

If `ssh pr.pico.sh` returns a "not registered" error, stop and ask the user what they would like to register as, or if they're already registered. If they're not and provide a username, register their key with `ssh {username}@pr.pico.sh register`.

## Common commands

```console
ssh pr.pico.sh pr ls --mine {repo} # also --open, --closed, --accepted
# Display metadata for a specific PR
ssh pr.pico.sh pr summary {id}
ssh pr.pico.sh logs --pr {id} # also --repo {id} or your own --pubkey

# Apply all patches from a PR
ssh pr.pico.sh pr print {id} | git am -3

# Print a specific patchset (rather than the whole PR)
ssh pr.pico.sh print ps-{id}
```

The project's README.md or AGENTS.md likely mention whether the project uses pr.pico.sh and which pr.pico.sh repo it uses. If you don't already know its ID, grep for `pr.pico.sh` in the README.md, first falling back to an AGENTS.md, then a broader in-cwd search if still not found, and read surrounding lines to identify the repo ID.

## Admin commands

```console
# Create a repo on pr.pico.sh
ssh pr.pico.sh repo create {repoName}

# Delete a repo and all its PRs (requires --write confirmation)
ssh pr.pico.sh repo rm --write {repoName}

# Remove a specific patchset
ssh pr.pico.sh ps rm {patchsetID}
```

## Flows

You will often be _either_ reviewing or sending patches, and the user will have made it clear which. Be sure to read the right one.

- For sending patches, opening a PR, contributing upstream, or similar requests when the project uses pr.pico.sh, see [contributing.md](references/contributing.md)
- For reviewing patches/PRs, accepting a contributor's PR, or similar, see [reviewing.md](references/reviewing.md)
- If the project uses **jj (Jujutsu)** instead of git, read [jujutsu.md](references/jujutsu.md) first — colocation is required and must be verified before generating or applying patches
