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

supaguard

v0.0.5

Published

supaguard CLI - Monitor your apps from the terminal

Downloads

62

Readme

supaguard

Monitor your apps from the terminal. Deploy Playwright checks, run them in the cloud, and manage your monitoring workflow without leaving your editor.

Install

Zero-install (recommended):

npx supaguard

Global install:

npm install -g supaguard

Requirements

Quick Start

# 1. Authenticate via browser
npx supaguard login

# 2. Test a Playwright script in the cloud
npx supaguard checks test tests/homepage.spec.ts

# 3. Deploy it as a monitoring check
npx supaguard checks create tests/homepage.spec.ts

# 4. View check status
npx supaguard checks list

# 5. Trigger an on-demand run
npx supaguard checks run <check-id>

Commands

Authentication

login

Authenticate with supaguard via browser. Opens your default browser for OAuth, then stores the token locally.

npx supaguard login

logout

Revoke your token and clear stored credentials.

npx supaguard logout [--json]

whoami

Show the current authenticated user and active organization.

npx supaguard whoami [--json]

orgs

List your organizations. In interactive mode, lets you switch the active organization.

npx supaguard orgs [--json]

Checks

checks list

List deployed checks for the active organization.

npx supaguard checks list [options]

| Flag | Description | | --- | --- | | --status <status> | Filter by status: ACTIVE, DISABLED, MUTED, DRAFT | | --limit <n> | Limit results (default: 50) | | --json | Output as JSON |

checks status <checkId>

Show detailed status of a specific check.

npx supaguard checks status <checkId> [--json]

checks test <file>

Run a Playwright script in the cloud without saving it as a check. Useful for validating scripts before deploying.

npx supaguard checks test <file> [--json]

checks create <file>

Test and deploy a Playwright spec as a monitoring check. In interactive mode, prompts for name, locations, schedule, and alert policy. All options can also be provided via flags for scripted usage.

npx supaguard checks create <file> [options]

| Flag | Description | | --- | --- | | --name <name> | Check name (required in non-interactive mode) | | --locations <regions> | Comma-separated region IDs (e.g. eastus,northeurope) | | --cron <expression> | Cron schedule expression (e.g. */5 * * * *) | | --alert-policy <id> | Alert policy ID to attach | | --skip-test | Skip the cloud test before deploying | | --json | Output as JSON |

checks update <checkId>

Update an existing check's attributes. Only the specified fields are changed.

npx supaguard checks update <checkId> [options]

| Flag | Description | | --- | --- | | --name <name> | New check name | | --script <file> | New script file (tested in the cloud first) | | --locations <regions> | Comma-separated region IDs | | --cron <expression> | Cron schedule expression | | --alert-policy <id> | Alert policy ID | | --json | Output as JSON |

checks delete <checkId>

Delete a check. Prompts for confirmation unless --force is passed.

npx supaguard checks delete <checkId> [options]

| Flag | Description | | --- | --- | | --force | Skip confirmation prompt | | --json | Output as JSON |

checks run <checkId>

Trigger an on-demand execution of a check.

npx supaguard checks run <checkId> [options]

| Flag | Description | | --- | --- | | --region <region> | Target region for execution | | --json | Output as JSON |

checks pause <checkId>

Pause (disable) a check.

npx supaguard checks pause <checkId> [--json]

checks resume <checkId>

Resume (activate) a paused check.

npx supaguard checks resume <checkId> [--json]

Modules

Shared modules let you reuse code across multiple checks.

modules list

List shared modules for the active organization.

npx supaguard modules list [--json]

modules push <file>

Upload a module file. The module path defaults to the filename but can be overridden.

npx supaguard modules push <file> [options]

| Flag | Description | | --- | --- | | --path <module-path> | Override the module import path | | --json | Output as JSON |

modules delete <moduleId>

Delete a module. Prompts for confirmation unless --force is passed.

npx supaguard modules delete <moduleId> [options]

| Flag | Description | | --- | --- | | --force | Skip confirmation prompt | | --json | Output as JSON |

Alerts

alerts list

List alert policies for the active organization.

npx supaguard alerts list [--json]

alerts create

Create a new alert policy. In interactive mode, prompts for name and channel.

npx supaguard alerts create [options]

| Flag | Description | | --- | --- | | --name <name> | Policy name | | --channel <type:target> | Alert channel (e.g. slack:#monitoring, email:[email protected], webhook:https://...) | | --json | Output as JSON |

System

init

Install the supaguard skill for Claude Code. This copies skill files into .claude/skills/supaguard/ in your project, enabling Claude Code to create and manage monitoring checks using the CLI.

npx supaguard init

Regions

Checks run from the following regions:

| Region ID | Location | | --- | --- | | eastus | US East (Virginia) | | northeurope | EU North (Ireland) | | centralindia | India Central (Pune) |

Pass one or more region IDs to --locations as a comma-separated list:

npx supaguard checks create test.spec.ts --locations eastus,northeurope

Schedules

In interactive mode, checks create presents schedule presets. You can also pass any cron expression via --cron:

| Preset | Cron | | --- | --- | | Every 5 minutes | */5 * * * * | | Every 10 minutes | */10 * * * * | | Every 15 minutes | */15 * * * * | | Every 30 minutes | */30 * * * * | | Every hour | 0 * * * * | | Every 6 hours | 0 */6 * * * | | Every 12 hours | 0 */12 * * * | | Every 24 hours | 0 0 * * * |

JSON Mode

All commands support --json for structured output, suitable for scripting and CI/CD:

npx supaguard checks list --json

When --json is set, interactive prompts are disabled - all required options must be provided via flags.

Configuration

Credentials are stored in ~/.supaguard/config.json after login. This file contains your auth token, user info, and default organization. Run supaguard logout to clear it.

Environment Variables

| Variable | Description | | --- | --- | | SUPAGUARD_API_URL | Override the API base URL (defaults to https://supaguard.app) |

Links