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

@rrlab/cli

v1.1.0

Published

The CLI toolbox to fullstack common scripts in Variable Land

Downloads

3,370

Readme

🦊 run-run

CLI toolbox to fullstack common scripts in Variable Land

Prerequisites

  • Node.js >= 20.0.0

Toolbox

Installation

pnpm add -D @rrlab/cli

It adds the rr command to your project.

Usage

Run the help command:

pnpm rr help

If you have node_modules/.bin on your PATH (e.g. via mise or direnv — see Shell completion), you can drop the pnpm prefix and invoke rr directly.

See CLI.md for the full reference (auto-generated per release).

Plugins

rr is a microkernel: every tool (Biome, TypeScript, tsdown, …) lives in its own @rrlab/<tool>-plugin package. Install one with:

rr plugins add biome

This installs @rrlab/biome-plugin plus its peer tool and shared config, scaffolds biome.json if missing, and wires the plugin into run-run.config.{ts,mts}.

To install from a specific dist-tag (e.g. a PR preview release published as pr-<N>, or a custom tag), append @<spec>:

rr plugins add biome@pr-226   # preview tag
rr plugins add biome@next     # any dist-tag
rr plugins add biome@^0.1.0   # explicit version range (sibling configs still use latest)

When the spec is a dist-tag, rr resolves any @rrlab/*-config sibling at the same tag, falling back to latest if the registry doesn't have the sibling at that tag.

Shell completion

rr ships a completion subcommand that prints a shell-specific script. Pick the option that matches your setup.

Option A — with mise or direnv (recommended)

If your tooling puts node_modules/.bin on PATH per-project, rr resolves at shell startup and completion picks up new commands automatically on each new shell. Examples:

# mise.toml
[env]
_.path = ["{{config_root}}/node_modules/.bin"]
# .envrc (direnv)
PATH_add node_modules/.bin

Then add a guarded eval to your shell rc — the guard makes it a no-op when you open a shell outside any project:

# zsh — ~/.zshrc
command -v rr >/dev/null 2>&1 && eval "$(rr completion zsh)"

# bash — ~/.bashrc
command -v rr >/dev/null 2>&1 && eval "$(rr completion bash)"

# fish — ~/.config/fish/config.fish
command -v rr >/dev/null 2>&1; and rr completion fish | source

Option B — without a per-project PATH manager

Cache the completion script once, then source the cached file from your shell rc. Run the generation step from inside a project that has @rrlab/cli installed:

mkdir -p ~/.cache
pnpm exec rr completion zsh  > ~/.cache/rr-completion.zsh
pnpm exec rr completion bash > ~/.cache/rr-completion.bash
pnpm exec rr completion fish > ~/.cache/rr-completion.fish
# zsh — ~/.zshrc
[ -f ~/.cache/rr-completion.zsh ] && source ~/.cache/rr-completion.zsh

# bash — ~/.bashrc
[ -f ~/.cache/rr-completion.bash ] && source ~/.cache/rr-completion.bash

# fish — ~/.config/fish/config.fish
test -f ~/.cache/rr-completion.fish; and source ~/.cache/rr-completion.fish

Regenerate the cache after upgrading @rrlab/cli to pick up new commands.

Prerequisite

The usage CLI must be on your PATH (it powers completion at runtime). Install via one of:

mise use -g usage
brew install usage

Troubleshooting

To enable debug mode, set the DEBUG environment variable to run-run:* before running any command.

DEBUG=run-run:* pnpm rr <command>