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

@rimatest/local-runner

v0.2.5

Published

Run Rima browser tests against local, staging, or private environments.

Readme

Rima Local Runner

The Rima local runner lets a developer run saved Rima tests against a local app, staging app, or private network URL while keeping the deployed Rima dashboard as the source of truth.

Example:

rima run login-flow --base-url http://localhost:3000 --remote-url https://example.com

The runner downloads the saved test from Rima, rewrites recorded URLs such as https://example.com/login to http://localhost:3000/login, runs the test in a real browser on your machine, writes logs to ~/.rima/logs, and uploads the run summary plus screenshots, traces, and videos back to Rima.

Install

npm install --global @rimatest/local-runner
rima --help

Install for development

cd cli
npm install
npm link

The command becomes available as:

rima --help

Connect to Rima

Run:

rima login

Press Enter when prompted. Rima opens in your browser; sign in normally and approve the CLI connection. The CLI connects to:

https://rimatest.app

For local backend testing, override the app URL:

rima login --api-url http://localhost:4000

Pro and Business workspaces can also use an owner-approved device code when CLI device access has been granted:

rima --login --device-code

Enter the short-lived code when prompted.

Select a workspace and project

Quick setup:

rima --workspace "Acme" --project "Checkout"

Step-by-step setup:

rima select workspace
rima select project
rima select test

When a selector opens, use the arrow keys and press Enter.

rima select test asks for workspace, then project, then test. The test picker includes All, and choosing any option runs immediately.

Short commands are still available. Singular workspace/project commands select and save defaults. Plural commands list. rima test runs a test:

rima workspace   # choose a workspace
rima project     # choose a project
rima test        # choose and run a test, or choose All

rima workspaces  # list workspaces
rima projects    # list projects
rima tests       # list tests

List commands show names by default. Add --verbose to see IDs and extra details:

rima workspaces --verbose
rima projects --verbose
rima tests --verbose

IDs still work when names are ambiguous:

rima workspace org_abc123
rima project 1718900000000-a1b2c3

For one-off commands, pass the workspace and project without saving defaults:

rima tests --workspace "Acme" --project "Checkout"
rima test --workspace "Acme" --project "Checkout" login-flow --base-url http://localhost:3000

List tests

rima tests

Run all tests locally

Start your app first:

npm run dev

Then run one test:

rima test login-flow --base-url http://localhost:3000 --remote-url https://example.com

To pick from a list, including All:

rima test --base-url http://localhost:3000 --remote-url https://example.com

To run every enabled test directly:

rima test --all --base-url http://localhost:3000 --remote-url https://example.com

Run one test

Use the test name, slug, or ID:

rima test login-flow --base-url http://localhost:3000 --remote-url https://example.com

URL rewriting

When tests are recorded on production, the first step and URL validations often point at the deployed site. The runner rewrites:

  • page.goto("https://example.com/dashboard")
  • URL validations such as url_equals and url_contains
  • absolute request URLs to the recorded origin
  • absolute URLs found inside recorded test snippets

to:

http://localhost:3000/dashboard

If the runner cannot infer the recorded origin, pass it explicitly:

rima run --base-url http://localhost:3000 --remote-url https://example.com

Logs and local files

Logs are written as JSON lines:

~/.rima/logs/rima-cli-YYYY-MM-DD.log

Run summaries, traces, videos, and failure screenshots are written to:

~/.rima/runs/<run-id>/

By default, the CLI records a video of the run and uploads the run summary, failure screenshots, the video, and a trace. Pass --no-video to skip video recording, or --no-trace to skip trace capture.

Useful options

rima run --headed
rima run --no-video
rima run --no-trace
rima run --stop-on-failure
rima run --no-upload
rima run --environment staging --base-url https://staging.example.com

Authentication

The CLI opens Rima in the browser for normal sign-in and one-click approval. It stores the resulting device session in ~/.rima/config.json. The dashboard can revoke connected devices.

Expose localhost with a tunnel

Install the Rima CLI, log in, then run:

rima tunnel

No additional software installation or network configuration is required.

The CLI asks for a workspace and local port. Starter receives a temporary address, Pro reuses the stable workspace address, and Business can choose the workspace or personal/device address.

Non-interactive examples:

rima tunnel 4200 --workspace "Acme"
rima tunnel --port 4200 --workspace "Acme" --owner workspace
rima tunnel --port 4200 --workspace "Acme" --owner personal

Keep the command running while the public address is needed. Press Ctrl+C to stop it.