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

@paid-ai/cli

v1.0.0-alpha.1

Published

The monetization platform for AI agents. Design pricing, track costs, and show value.

Readme

Paid CLI

OpenAPI-driven command line interface for the Paid API.

npx @paid-ai/cli init
npx @paid-ai/cli product list
npx @paid-ai/cli customer create --file ./customer.json

The CLI reads the canonical v2 OpenAPI spec from apps/backend/fern/openapi/v2/openapi.yml. Commands are generated from OpenAPI tags and operation IDs, so operations are nested by resource while still tracking the spec. Flat operation ID commands such as list-products are kept as hidden compatibility aliases.

Development

pnpm install
pnpm -C apps/cli run test
pnpm -C apps/cli run build

The official OpenAPI Generator client can be emitted with:

pnpm -C apps/cli run generate:client

That command requires a Java runtime because @openapitools/openapi-generator-cli runs the upstream OpenAPI Generator jar. The CLI command surface is read from the OpenAPI document at runtime. Published packages include the spec at dist/openapi.yml; local development falls back to apps/backend/fern/openapi/v2/openapi.yml.

Auth

Run paid init to open the Paid API keys page and save an API key into ~/.paid.json with owner-only file permissions. By default, paid init writes a profile named sandbox, labels it Sandbox, and makes it active. During interactive setup, choose the profile label with the arrow keys: Sandbox, Production, or Custom.

Use paid env to see the active environment profile, its display label, and the API URL currently being used:

paid env

You can also pass credentials without writing config:

PAID_API_KEY=paid_xxx npx @paid-ai/cli product list
npx @paid-ai/cli product list --api-key paid_xxx

Global options:

  • --api-key <key> overrides config and PAID_API_KEY
  • --base-url <url> overrides the OpenAPI server URL
  • --env <name> selects a saved environment profile, for example sandbox, production, or demo
  • --timeout-ms <ms> controls HTTP timeout

Environment variable equivalents are PAID_API_KEY, PAID_BASE_URL, PAID_ENV, and PAID_ACTIVE_ENVIRONMENT.

Profiles and API URLs

Profiles are named API key/base URL entries in ~/.paid.json. The active profile is used when --env and PAID_ENV are not set. Create or update a profile by passing --env to paid init:

paid init
paid init --env sandbox --env-type Sandbox
paid init --env production
paid init --env sandbox --env-type Sandbox --base-url https://sandbox-api.example.com/api/v2
paid init --env demo --env-type "Customer demo"

--env only selects a saved profile. It does not automatically switch between production and sandbox API URLs. The request URL is resolved in this order:

  1. --base-url <url>
  2. PAID_BASE_URL
  3. the selected profile's endpoint
  4. the OpenAPI server URL

The profile type field is a display label set during paid init; routing is controlled by the base URL/endpoint.

Request Bodies

Commands with JSON request bodies accept a file, stdin, or shallow shorthand:

paid customer create --file ./customer.json
cat customer.json | paid customer create --stdin
paid customer create name="Acme Corp" externalId=acme