npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

gh-pr-render

v0.5.0

Published

Render GitHub PRs with comments for LLM PR reviews

Readme

gh-pr-render — Render GitHub PRs with comments for LLM PR reviews

This is a CLI tool that downloads PR comments and reviews from GitHub and formats them into Markdown for easy consumption by LLMs.

The primary use case is helping LLMs keep track of the conversation on a PR when re-reviewing. My GitHub action danielparks/claude-pr-review uses gh-pr-render to provide context to Claude in automatic PR reviews.

Options

  • --include-minimized — include minimized comments, marked with their reason. Off by default: minimized comments are usually outdated or off-topic noise.
  • --no-files — omit the ## Changed Files list.
  • --no-commits — omit the ## Commits list.
  • --timings — print request timings to stderr.

When to use --no-files / --no-commits

The changed-files and commits lists are included by default because they're cheap (a line or two per entry) and, in practice, get checked on nearly every review regardless of PR shape — an LLM reviewer tends to want an overview of scope before diving into any diff. Neither list embeds the diff itself; that still comes from wherever the consumer reads it (e.g. git diff against an already-checked-out PR branch, as in danielparks/claude-pr-review).

Reasons to drop one or both:

  • The consumer already has git access and you'd rather it choose when to spend a step on git log / git diff --stat, instead of paying for that context on every render regardless of whether it's used.
  • Squash-merge workflows, where the single commit message just repeats the PR body — --no-commits costs nothing to add and removes pure duplication.
  • Minimal-context surfaces where only the discussion matters, not the scaffolding around it.

Reasons to keep the defaults:

  • Commits structured as logical units (not "wip"/"fix typo" churn) — subjects describe the shape of the change, and are cheap to cross-reference against review-thread timestamps to check whether feedback was actually addressed.
  • Large or noisy PRs (generated files, lockfiles, vendored updates mixed with the real change) — the file list is how a reviewer decides what to skip before opening any diff, human or LLM.

Example output

PR #1: Add type hints and arithmetic operations

Author: danielparks State: open Branch: feat/type-hints-and-opsmain URL: https://github.com/danielparks-test/gh-pr-render-fixtures/pull/1 Labels: feature Milestone: v1.0 Assignees: danielparks

Adds type annotations to all functions and implements power and modulo operations.

Reactions

  • 🚀 danielparks

Commits

  • 997eb92 Add type hints and power/modulo operations (gh-pr-render setup)
  • 159bc54 Simplify power and modulo using built-in operators (gh-pr-render setup)

Changed Files

  • calculator.py (modified) +12 / -4

Discussion

Comment by danielparks less than a minute later (id: 4427286000):

Overall looks good! The type hints are a nice addition.

Reactions

  • 👍 danielparks
  • 🎉 danielparks

Inline comment on calculator.py (id: PRRT_kwDOSa9ycc6BSipb, outdated):

+
+
+def power(a: float, b: int) -> float:
+    result = 1.0

danielparks less than a minute later (id: 3223656523):

This loop runs in O(b) time. Python has a built-in ** operator.

Review by danielparks less than a minute later:

Please add docstrings to each function.

Inline comment on calculator.py (id: PRRT_kwDOSa9ycc6BSisk, resolved, outdated):

+
+
+def power(base: float, exponent: int) -> float:

danielparks less than a minute later (id: 3223656785):

Nice, much cleaner!

Inline comment on calculator.py line 23 (id: PRRT_kwDOSa9ycc6BSitZ):

+
+
+def power(base: float, exponent: int) -> float:
+    return base ** exponent
+
+
+def modulo(dividend: float, divisor: float) -> float:

danielparks less than a minute later (id: 3223656851):

Good choice of parameter names.

danielparks less than a minute later (id: 3223656909):

Agreed — much clearer than a and b.

Reactions
  • 👀 danielparks

See snapshots/ for more examples of rendered output, including inline comments, reviews, and minimized comments.

License

Unless otherwise noted, this project is dual-licensed under the Apache 2 and MIT licenses. You may choose to use either.

Contributions

Unless you explicitly state otherwise, any contribution you submit as defined in the Apache 2.0 license shall be dual licensed as above, without any additional terms or conditions.