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

walwarden-cli

v0.1.0

Published

Customer-side CLI for Walwarden. Published on npm as `walwarden-cli`; the installed binary is `walwarden`.

Readme

walwarden-cli

Customer-side CLI for Walwarden. Published on npm as walwarden-cli; the installed binary is walwarden.

What it does

The CLI has two isolated command surfaces:

  • Public SDK-backed commands for API-key automation, CI, and agents.
  • Legacy restore-token commands generated by the Walwarden dashboard for customer-side restore execution.

Usage

Public SDK-backed commands

Public commands call @walwarden/sdk and require an API base URL plus API key.

Configuration precedence:

  1. Flags: --api-url, --api-key, --profile, --config
  2. Environment: WALWARDEN_BASE_URL, WALWARDEN_API_KEY
  3. Legacy environment alias: WALWARDEN_API_URL
  4. Profile config: ~/.config/walwarden/config.json

Examples:

walwarden --json --api-url https://api.example.com --api-key wal_... profile validate
walwarden --json database list --limit 25
walwarden --json database get <databaseId>
walwarden --json backup list --database <databaseId> --limit 25
walwarden --json backup trigger --database <databaseId> --wait
walwarden --json backup status <backupJobId>
walwarden --json evidence list --database <databaseId> --limit 25
walwarden --json evidence get <backupJobId>
walwarden --json restore status <restoreJobId>
walwarden --json explain-error --from-json ./error.json

Supported alpha public commands:

| Command | Description | |---|---| | profile validate | Validates local config/API-key wiring against the SDK compatibility profile | | database list [--limit 1..100] [--cursor <opaque>] | Emits one protected-database page | | database get <databaseId> | Reads one protected database | | backup list --database <databaseId> [--limit 1..100] [--cursor <opaque>] | Emits one backup-job page | | backup trigger --database <databaseId> [--wait] | Triggers an ad hoc backup and optionally polls status | | backup status <backupJobId> | Reads backup job status | | evidence list [--database <databaseId>] [--limit 1..100] [--cursor <opaque>] | Emits one evidence page | | evidence get <backupJobId> | Reads public evidence detail for one backup job | | restore status <restoreJobId> | Reads restore job status | | explain-error --from-json <file> | Explains a structured API/CLI error object |

Current non-goals for the public command surface: destination commands, restore creation/wait, login/whoami, and offline evidence bundle verification.

List commands never auto-drain. Their JSON result includes pageInfo; pass its opaque nextCursor back with --cursor to request the next page. This is an additive alpha wire change, but older CLI versions silently consume only page one and should be upgraded.

Legacy restore-token command

The Walwarden dashboard generates the exact command. General form:

WALWARDEN_TOKEN=<token> npx --yes walwarden-cli restore \
  --manifest <sha256> \
  --target postgres://user:pass@host:5432/dbname \
  --mode new_database

For an in-place restore (overwrites the target):

WALWARDEN_TOKEN=<token> npx --yes walwarden-cli restore \
  --manifest <sha256> \
  --target postgres://user:pass@host:5432/dbname \
  --mode in_place \
  --confirm-destructive

Flags

| Flag | Required | Description | |---|---|---| | --manifest <sha256> | yes | SHA-256 of the backup manifest (64 hex chars) | | --target <dsn> | yes | Target Postgres DSN | | --mode new_database\|in_place | yes | Restore into a fresh database or overwrite existing | | --confirm-destructive | if in_place | Explicit acknowledgement for destructive restore | | --json | no | Emit JSONL progress to stdout (auto-enabled when not a TTY) | | --no-color | no | Disable ANSI color output |

walwarden --version (or -v) prints the installed CLI version and exits.

Environment

| Variable | Required | Description | |---|---|---| | WALWARDEN_TOKEN | yes | Short-lived restore token from the dashboard | | WALWARDEN_API_URL | no | Override API base URL (default https://api.walwarden.com) | | PGPASSWORD | no | If set and target DSN has no password, merged automatically |

Requirements

Node.js >= 20.