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

bstack

v1.5.2

Published

Create native GitHub stacked pull requests from a linear series of commits

Readme

bstack

Open on npmx.dev

Convert a series of commits in a local branch into a native GitHub stack of pull requests.

Install

npm install -g bstack

Install and authenticate the GitHub CLI with the stack extension:

gh auth login
gh extension install github/gh-stack

How to use

Write and edit commits locally. bstack handles the GitHub ops for you:

You

  • Do not push your local feature branches.
  • Do not open pull requests manually.
  • Run bstack when your commits are ready.

bstack pushes dedicated remote branches and creates one pull request for each commit.

Start a stack

Create a local branch from main, then make one commit per reviewable change:

git switch main
git switch -c my-feature
git commit -am "feat: add the model"
git commit -am "feat: add the API"
bstack

That is the whole publishing flow. Keep working on the same local branch and run bstack again whenever the stack changes.

Add another pull request

Add another commit on top of the stack, then run bstack:

git commit -am "feat: add validation"
bstack

bstack keeps the existing pull requests and adds one for the new commit.

Modify a pull request

Edit the corresponding commit, then run bstack again. For the latest commit:

git commit --amend
bstack

For an older commit, use interactive rebase, mark that commit for editing, make your changes, and continue the rebase:

git rebase -i main
git commit --amend
git rebase --continue
bstack

Reorder pull requests

Reorder the corresponding commits with Git, then run bstack again. bstack keeps the existing pull request identities and rebuilds the native GitHub stack in the new commit order.

Stacks cannot contain merge commits. When main moves, rebase your branch onto it instead of merging main into your branch.

Checkout an existing stack

Use any pull request in the stack:

bstack checkout 123
bstack checkout https://github.com/owner/repo/pull/123

Options

New pull requests are ready for review by default. Pass --draft to create drafts instead.

Use --dry-run to inspect without syncing. Pass --verbose to print every command before it runs.

References