Skip to main content

Inline PR comments as local files

Project description

prfs

Pull Request File System. PR review comments as local files. Browse, filter, and script against GitHub PR review threads using familiar Unix tools.

Installation

uv tool install prfs

How it works

prfs fetch pulls comments from a GitHub PR to {repo}/.prfs/{pr_number}/{thread_id}.md. One markdown file per thread with YAML frontmatter containing the file path and git patch.

Quick start

gh auth login # gh is used under the hood
prfs fetch

Features

  • One file per review thread
  • Works offline after initial fetch
  • Natively integrates with rg, vim, etc.

Format

Each thread file contains:

  • file: path and line number (src/utils.js:42). This format is supported by Vim jumps with gF.
  • patch: the git diff where the comment thread was attached to.
  • Comments in markdown separated with ---.

Example comment file (.prfs/123/456.md):

---
file: src/utils.js:42
patch: |
  diff --git a/src/utils.js b/src/utils.js
  --- a/src/utils.js
  +++ b/src/utils.js
  @@ -40,7 +40,7 @@ function getUser() {
    const db = connect();
  -  return db.query('users');
  +  return await db.query('users');
  }
---

@alice:

The return type should be `Promise<User>` not `User`.

---

@bob:

Good catch. I'll fix it.

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

prfs-0.1.0.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

prfs-0.1.0-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file prfs-0.1.0.tar.gz.

File metadata

  • Download URL: prfs-0.1.0.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"43","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for prfs-0.1.0.tar.gz
Algorithm Hash digest
SHA256 bfb705dcde3fc68def3901f06ba9f8f92fd5263a089672d241dbe85df77d822a
MD5 1bee5887e20627eb7fa9fb60976ad359
BLAKE2b-256 d52f4c16bddca69485b2960a6330829f0b05699b43b2e7172a14298c1902ef38

See more details on using hashes here.

File details

Details for the file prfs-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: prfs-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"43","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for prfs-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 63cdd84cb83ff097d95b4858390d9e199b57dc668c65c6a41a3cf66e3dddabf0
MD5 232ae23970baec9dde1195bb9275692f
BLAKE2b-256 0ca918944e9dc5a7ea341f9edceae7d1a276e6b36a02131d7c421e8f72aa9ad9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page