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

@app-studio/qa-cli

v0.11.2

Published

The qa command: the layered run, the doctor, adoption, hardened end-to-end orchestration, seeding and the ratchets.

Readme

@app-studio/qa-cli

One command surface for humans and agents.

qa demos run autonomously records changed API and canonical browser scenarios with QA's native CSS browser and FFmpeg, without Playwright. qa demos plan explains selection; qa demos check checks source/artifact freshness without launching anything. Configure scenario/code/shared inputs in qa.demos.json and ignore tmp/qa/ in Git. Keep current proof through local review/commit; push triggers best-effort cleanup of owned proof without scanning or rejecting commits. If a run is active, its proof stays intact until the run finishes, then cleanup retries. Install/reinstall with qa demos install-hook after a clone or CLI replacement; see the shared-checkout recipe in Automatic demos. Only the latest complete success and latest relevant failure are retained per demo. --stage and --committed are rejected before execution; evidence is never staged. Cleanup preserves active, symlinked or unowned output and reports deferred cleanup without blocking the push. See Automatic demos.

qa api studio --base-url <url> opens the real HTTP workbench; qa api run uses the same assertions headlessly. Configure --checkpoint-adapter <module> to save a prefix with --save-checkpoint <id> --until <step>, then restore and run only its suffix with --checkpoint <id>. qa api restore restores for site inspection without running the suffix. See API Studio.

qa state validate
qa state list
qa state inspect --id <id>
qa state run --id <id> [--mode mock|live] [--engine <name>] [--profile fast|proof|record] [--screenshots] [--video mp4|webm|gif] [--diagnostics=false]

qa design record --file <acceptance.json> --reviewer <designer-id>
qa design validate [--feature <key>]
qa design list

qa scenario validate
qa scenario list
qa scenario coverage
qa scenario run --id <id> [--mode mock|live] [--engine <name>] [--profile fast|proof|record] [--screenshots] [--video mp4|webm|gif] [--diagnostics=false]
qa scenario run [--mode mock|live] # complete release-candidate portfolio
qa scenario benchmark --id <id> --engine lightpanda [--runs 5]

qa browser list [--json]
qa browser build lightpanda --source <checkout> [--dir <bundle-dir>]
qa browser install lightpanda [--release <tag> | --artifact <bundle-dir>] [--dir <path>]

Validation reads the original App Studio feature/form specs (or explicit Scenario v3 migration files). A feature compiles to <feature>:best plus one ID per if condition. Runtime commands resolve the live host from qa.bindings.json and pass the selected ID through environment variables. Named engines select application-owned commands; capability declarations stop a DOM-only engine from being used for visual proof or video. The CLI does not maintain a copied flow catalogue or a second browser implementation.

QA installs the matching native CSS browser on macOS/Linux ARM64 and x64 through optional dependencies. qa browser list identifies it; qa browser install lightpanda uses the included build. --release nightly selects upstream explicitly. Keep optional dependencies enabled. Explicit Lightpanda runs require a verified native bundle; use QA_LIGHTPANDA_EXECUTABLE with a locally built bundle when developing.

Puppeteer suites retain bounded console/request/error/heap diagnostics by default. Add --video gif, mp4 or webm to record the actual scenario page (FFmpeg required). The shared launchLightpanda API owns a loopback daemon and its engine output. See native capture integration.

For Lightpanda diagnostics, add --screenshots to a fast state or scenario run. The shared Puppeteer host captures the current page, including failures, and emits a JSON index with absolute PNG paths and fidelity: "markdown" by default. For the modified native bundle, set QA_LIGHTPANDA_FIDELITY=native-css. See Native capture builds for macOS/Linux builds, verified artifact installation and the bundled PNG/video/GIF helper. The CLI passes QA_BROWSER_SCREENSHOTS=true and QA_STATE_OUTPUT_DIR/QA_SCENARIO_OUTPUT_DIR from the subject's evidence binding, or test-results/qa-states/qa-scenarios. Use --screenshots=false to disable an inherited request. PNG diagnostics do not prove that a host preserves the full checkpoint contract. A native host can declare visual proof/record when it uses the verified native CSS build, the canonical checkpoint collector and real PNG/video captures; this does not certify desktop-browser pixel parity.

qa browser install lightpanda stages the native browser, proves it runs with lightpanda version, and only then moves it into ~/.local/bin (or --dir). The native recorder and migrated suites require no Playwright installation. Use QA Browser for their acceptance and report capability failures with the exact command and evidence. Legacy engine-management commands remain available for existing external consumers; these runners never fall back to them.

Use qa run --list to inspect the progressive proof layers and qa run --from <layer> only after lower layers are known green.

Standalone capture hosts can use the exported beginProofOutput(root, output, id) to write into an owned scratch directory, then call finish(passed) in finally after closing their browser/world. It retains one success and latest relevant failure, shares the output lock with CLI cleanup, and leaves assertions and provenance with the host. A push requests cleanup; if this output is still active, the host finishes first and then retries the pending cleanup.