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

prose-qa

v0.2.6

Published

ProseQA — agent harness for NL E2E regression testing via agent-browser

Downloads

1,231

Readme

Prose-QA

Beta — Prose-QA is under active development. Expect rough edges and breaking changes between releases.

Write what you want to test in plain text, and let Prose-QA do the rest. This autonomous, LLM-driven testing engine executes complex web workflows and validation checkpoints without the overhead of heavy browser wrappers, bringing frictionless QA to modern development.

Requires Node.js 24+, PQA_LLM_API_KEY, and llm.provider / llm.model in config.

Quick start

npm install prose-qa

pqa install-browser chrome   # or lightpanda (headless, lighter for CI)

pqa config llm.provider [ollama|fireworks|openai|anthropic|google]
pqa config llm.model [model-string]

export PQA_LLM_API_KEY=...
pqa run scenarios/**/*.md

New project checklist

  1. Install the package in your app repo (or globally with npm install -g prose-qa).
  2. Install a browser: pqa install-browser chrome or pqa install-browser lightpanda (headless only but lighter — good for CI).
  3. Create pqa.config.json — use pqa config <key> <value> or copy the minimal example.
  4. Add scenarios under scenarios/ (see 0_hello-world.md; advanced patterns in create-pqa-scenario skill).
  5. Run pqa run or pqa debug.

What you get

  • Natural language scenarios# Goal, # Steps, and # Then checkpoints (format guide)
  • CI + local debug modes with HTML/JSON reports
  • MCP Server to help your usual agent create scenario tailored to your codebase
  • Cache, healing, recording, and analysis — see HOWTO
  • Extensions / hooks — lifecycle callbacks for auth, browser health, and custom logic (extensions guide)

Documentation

| Doc | Purpose | | ------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | | docs/HOWTO.md | Step-by-step guide: scenarios → run → CI → MCP → record → cache → healing → analyze | | docs/CONFIG.md | Full configuration reference | | docs/extensions.md | Hooks system, defaultExtensionHooks, parallel workers | | CONTEXT.md | Glossary (run unit, provisioning, profiles) | | CONTRIBUTING.md | Pull request guidelines | | SECURITY.md | Vulnerability reporting, secrets, and run artifacts | | recorder-extension/README.md | Chrome extension recorder (WIP) |

Run pqa help or pqa help <command> for the full CLI reference (src/cli/help.ts).

CLI

| Command | Description | | --------------------------------------------------- | -------------------------------------------------- | | pqa config <key> <value> | Set a value in pqa.config.json | | pqa run [globs] | Run scenarios (headless by default) | | pqa debug [globs] | Verbose debug run (headed by default) | | pqa clear-cache [scenario] | Clear scenario replay cache | | pqa analyze [run...] | Post-run analysis and flaky detection (--last N) | | pqa auth list / clear [profile] | List or clear cached auth profiles | | pqa install-browser chrome / lightpanda | Install browser binaries for agent-browser | | pqa record start / note / checkpoint / stop | Record browser actions → scenario markdown | | pqa record generate <dir> | Regenerate scenario markdown from a saved recording | | pqa skills list / show / sync | Discover and inspect agent skills | | pqa mcp | Start MCP server (Cursor, Claude Desktop, …) | | pqa help [command...] | Show CLI help for one or all commands |

Tag filters, retries, and cache flags: see HOWTO §3–§4 and HOWTO §10.

Exit codes: 0 pass · 1 failure · 2 config/harness error

Configuration

Supported filenames (first match wins): pqa.config.json, pqa.config.mjs, pqa.config.js, pqa.config.ts.

{
  "envVars": ["PQA_TEST_EMAIL", "PQA_TEST_PASSWORD"],
  "llm": {
    "provider": "anthropic",
    "model": "claude-sonnet-4-20250514"
  }
}

| Variable | Required when | | ------------------ | ---------------------------------------- | | PQA_LLM_API_KEY | Any cloud llm.provider (not ollama) | | PQA_LLM_PROVIDER | Optional env shortcut for llm.provider | | PQA_LLM_MODEL | Optional env shortcut for llm.model |

All options, env vars, and a full example: docs/CONFIG.md.

MCP

Add the following to your mcp.json:

{
  "mcpServers": {
    "prose-qa": {
      "command": "npx",
      "args": ["-y", "prose-qa", "mcp"],
      "cwd": "/path/to/your-app-with-pqa.config"
    }
  }
}

Tools: validate_scenario, run_scenario, get_create_pqa_scenario_skill. Details: HOWTO §7.

Development (this repo)

git clone https://github.com/FreakDev/Prose-QA.git
cd Prose-QA
npm ci && npm run install-chrome

npm run build   # required — bundled pqa.config.ts imports dist/hooks/defaults.js

export PQA_LLM_API_KEY=...

npm run demo:server   # terminal 1 — http://127.0.0.1:8080/
npm run dev -- debug scenarios/0_hello-world.md
npm run dev -- run scenarios/**/*.md --tags example   # CI smoke subset
npm run dev -- run scenarios/**/*.md --tags demo       # full demo suite

Bundled demo scenarios cover smoke tests, calculator widgets, auth profiles, multi-field forms, validation errors, navigation, and partials — see scenarios/ and demo-site/. Add scenarios/auth/login-admin.md locally to exercise example-authenticated (see create-pqa-scenario skill).

See CONTRIBUTING.md and docs/HOWTO.md for the full walkthrough.

License

MIT — see LICENSE.