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

failtrace

v1.5.0

Published

Reproduce, isolate, and minimize failures, then verify proposed fixes.

Readme

FailTrace

Reproduce the failure. Check the fix.

A test fails intermittently. Your coding agent changes the code. One passing retry leaves you guessing.

FailTrace repeats the same check, saves a failing baseline, and checks the proposed fix against it. Use the CLI or MCP tools to get trial results, a smaller reproducer, and evidence your agent can inspect before accepting a patch.

CI License: MIT

Local execution. No AI API, account, or telemetry required. Keep your existing test runner and assertions.

Quick start

With Node.js 22.12+ and npm, run this in any working directory:

npx --yes failtrace demo

FailTrace demo: capture a failure, reduce its input, reject an unrelated crash, and check a patch

Static walkthrough · Static poster · Demo guide

The demo reduces six input items to ["BUG"], rejects a patch that crashes for another reason, and checks a working patch. It saves the evidence in .failtrace/ and prints a replay command.

For coding agents

Connect the local stdio MCP server through your client's configuration:

npx --yes [email protected] mcp --cwd "/absolute/path/to/your/project"

Copy the MCP configuration and check the connection →

Your client launches this command. Running it alone in a terminal waits for MCP requests. The guide includes Windows setup.

Then ask your agent:

Use FailTrace to capture this test failure before editing. Choose the exact test or failure message, save a bounded baseline, and inspect the matching trial. After the change, verify against that baseline and explain any unrelated errors or incomplete evidence.

The seven MCP tools share the CLI's Core engine. They retain the failure signature and investigation evidence across repetition, comparison, regression search, minimization, verification and replay. Agents can retrieve saved trial and log pages without rerunning the command. Shell-capable agents can also use the CLI with --json.

MCP workflow: capture the target, inspect saved stderr, and verify a declared patch

The agent can inspect the saved failure before checking the patch.

Recheck an existing unit test

Follow an exact NUnit or Unity test through a fix. Each attempt gets a fresh NUnit 3 report. Missing or skipped tests and unrelated failures stay inconclusive, so an agent cannot accept them as evidence that the selected test passed.

Connect your test or try the original EditMode example →

NUnit support is included in 1.3.0 through CLI and MCP. The documented Unity validation covers the Windows EditMode example.

NUnit evidence: a failing baseline, a passing candidate, and a skipped test kept inconclusive

The selected test stays the same; a skipped report is not accepted as a passing test.

Use it on your own failure

From your project, replace the command and message with your own:

npx --yes [email protected] run "npm test -- checkout" --repeat 20 --stderr-contains "checkout failed" --capture-context

Run this before editing in a Git project. --capture-context records source identity for Verify; outside Git, select files with --context-source. Each trial saves its output, and exit 1 can mean the target was captured successfully. Then edit and verify the patch →

| Your next question | Command | | --- | --- | | How often does this failure appear? | run | | What differs between a healthy and failing trial? | compare | | Which Git change introduced it? | bisect | | What input is enough to reproduce it? | minimize | | What happened after the proposed fix? | verify | | How can I replay this investigation? | bundle |

Command reference · Literal executable arguments · Reusable project scripts

A reduced input packaged with a replay entry point reproduces the target failure

The demo's bundle reproduces its original failure with exit 1. Keep the source, input and replay together; supply the target's prerequisites when packaging your own investigation.

What the results establish

FailTrace reports observations under the chosen settings. Verify separates a target observed, a healthy sample without that target, and inconclusive evidence. Bisect reports a sampled first-parent boundary; minimization rechecks its result without promising the smallest possible input.

The demo shows controlled example outcomes, not performance measurements. A passing sample does not prove a bug is gone.

Commands run with your permissions, and process cleanup is best effort. Retained stdout/stderr is capped by default at 16 MiB per trial and 256 MiB per run or bisect/minimization. Previous investigations accumulate separately. Review logs, commands and selected files before sharing; bundles still require the target's dependencies and setup.

Result and exit-code reference · Resource limits · Storage inventory · Bundle guide

Availability and contributing

The quick start uses npm's latest release; the verified version is 1.4.1. MCP configuration and repeatable installation examples keep that exact version pinned: installation options, GitHub release, and MCP Registry entry.

Version 1.5.0 adds: short run references, Verify readiness and next-step guidance, and intermittent-minimization guidance. The installation examples above follow the last verified public version; use a source build for these additions until publication is verified. See the changelog.

Documentation: choose your next task →

Development instructions · Compatibility · Roadmap · Third-party notices