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

ghostrun-cli

v2.0.0-alpha.3

Published

Local-first CLI for browser automation, API testing, and load testing

Readme

GhostRun

The local-first QA agent for SaaS teams.

Record browser flows once, replay them in CI, monitor staging, and let AI assistants run your test suite via MCP — all on your machine. No cloud account required. Secrets stay in env vars and CI secrets, not in the npm package.

npm version License: MIT

AI agents (Claude, Cursor, etc.): start with AGENTS.md — capabilities, auth patterns, MCP workflows, and SaaS readiness.

Why GhostRun?

| Capability | GhostRun | |------------|----------| | Browser + API + load tests | One CLI, one project workspace (.ghostrun/) | | SaaS staging auth | Form login, OTP bypass, bearer — Mailpit optional | | Multi-tenant verification | db:query / db:assert against staging Postgres (RLS checks) | | Webhook testing | webhook:wait, webhook:assert, assert:webhook-signature | | Flow discovery | ghostrun explore <url> — BFS crawl + AI flow suggestions | | AI assistant integration | MCP server — 16 tools | | CI/CD gate | --ci, JUnit, report publish, GitHub issues | | Failure reporting | Evidence bundle + Run Report v2 per run | | Self-healing | Reviewable repair proposals (never silent in CI) | | Monitoring | Intervals, cron, Slack/webhook alerts |

Install

npm install -g ghostrun-cli
cd your-saas-app-repo
ghostrun          # interactive setup — .ghostrun/ + staging profile
ghostrun audit      # scan for secret leaks before commit

Quick Start

# Record a browser flow
ghostrun learn https://staging.yourapp.com

# Or auto-discover candidate flows from a staging URL (BFS crawl + AI)
ghostrun explore https://staging.yourapp.com

# Or interactive menu
ghostrun author

# Run against staging (set password in env first)
export STAGING_QA_PASSWORD='your-qa-password'
ghostrun run login --profile staging

# CI mode
ghostrun run smoke --profile staging --ci --reporter junit

# Publish artifacts for CI dashboard
ghostrun report publish --dir ./test-results/

Project workspace

Each app repo gets its own .ghostrun/:

  • Commit: profiles/, flows/, suites/
  • Gitignore: data/, runs/, auth/secrets/, auth/storage-state/

Database: .ghostrun/data/ghostrun.db (per repo, not global).

See docs/workspace.md.

SaaS auth (no Mailpit required)

ghostrun profile create staging https://staging.example.com
ghostrun profile use staging
export STAGING_QA_PASSWORD='...'
ghostrun run checkout --profile staging

Profile template: templates/ghostrun-profile-staging-minimal.json

Optional Mailpit for magic-link flows only — see AGENTS.md.

Phone / WhatsApp OTP (staging bypass): use auth.strategy: otp-bypass with STAGING_TEST_OTP=000000 (or your staging test code). Template: templates/ghostrun-profile-staging-otp-example.json

Multi-tenant RLS checks: add profile.services.postgres and use db:assert steps after browser flows — see REFERENCE.md.

MCP Server

Connect Claude Desktop or Cursor to run flows, inspect failures, and review repairs:

{
  "mcpServers": {
    "ghostrun": {
      "command": "ghostrun-mcp",
      "cwd": "/path/to/your-saas-app"
    }
  }
}

Full setup: MCP-SETUP.md · Agent guide: AGENTS.md

Key commands

| Command | Description | |---------|-------------| | ghostrun | Home menu (zero-config entry) | | ghostrun learn <url> | Record a flow | | ghostrun explore <url> | Auto-discover flows via BFS crawl + AI | | ghostrun run <id> --profile staging --ci | Run in CI mode | | ghostrun suite:run smoke --ci | Run a suite | | ghostrun report publish --create-issues | CI artifacts + GitHub issue | | ghostrun repair list | Review failure fixes | | ghostrun doctor | Health check | | ghostrun services doctor | Optional Mailpit/webhooks only |

Full reference: REFERENCE.md

CI/CD

jobs:
  qa:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm ci && npx playwright install chromium
      - run: ghostrun suite:run smoke --profile staging --ci --reporter junit
        env:
          STAGING_QA_PASSWORD: ${{ secrets.STAGING_QA_PASSWORD }}
      - run: ghostrun report publish --dir ./test-results/
        if: always()
      - uses: actions/upload-artifact@v4
        if: always()
        with:
          name: ghostrun-results
          path: test-results/

Details: docs/ci-cd.md

Documentation

| Doc | Audience | |-----|----------| | AGENTS.md | AI agents — start here | | docs/getting-started.md | Human onboarding | | REFERENCE.md | Complete CLI reference | | MCP-SETUP.md | MCP configuration | | docs/workspace.md | .ghostrun/ layout | | docs/security.md | Secrets & privacy | | CHANGELOG.md | Version history |

Development

npm install
npm run build
npm run test:unit    # 108+ tests

Contributing

Issues and pull requests are welcome on GitHub.

License

MIT