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

@passkeybridge/satus

v0.3.0

Published

Generate realistic seed data for Postgres. Respects foreign keys, constraints, and your schema.

Readme

satus

Generate realistic seed data for Postgres. Respects foreign keys, unique constraints, and your schema.

satus is a command-line tool that introspects your Postgres schema, topologically sorts your tables by foreign-key dependency, and writes seed rows that actually look like the product you're building. No more [email protected], Lorem ipsum, or invoices that reference orders that reference customers that don't exist.

Status

v0.3.0 — released 2026-06-20. Adds first-class Anthropic support alongside OpenAI, formalizes the provider abstraction, prints per-batch token and cost breakdowns via --verbose, and emits machine-readable run summaries via --json so CI can parse them. Telemetry now records the provider and token counts. Previous release notes: satus.sh/blog and satus.sh/cli.

Install

npm install -g @passkeybridge/satus

The package is published under the PasskeyBridge namespace on npm. The binary it installs is satus, so all commands below are typed as satus ....

Requires Node.js 20+.

Quickstart

satus init                                # write satus.config.json
satus generate --profile saas --rows 25   # seed against the configured DB
satus generate --profile saas --dry-run   # plan only, no LLM call, no writes

Commands

| Command | Description | |---|---| | satus init | Scaffold satus.config.json in the current directory. Flags: --force. | | satus generate | Introspect schema and write seed rows. Flags: --profile, --rows, --max-cost, --batch-size, --dsn, --schema, --provider, --model, --truncate, --dry-run, -v / --verbose, --json. | | satus activate <key> | Activate a Pro or Team license key. | | satus whoami | Print the currently activated license (from local cache). | | satus --help | Full command reference. |

Reference profiles

| Profile | Shape | |---|---| | saas | Users, orgs, memberships, subscriptions, usage events. | | ecommerce | Customers, products, variants, orders, line items, inventory. | | b2b | Accounts, contacts, opportunities, activities, line items. |

License tiers

| Tier | Price | Rows/table | Max tables | Profiles | LLM key | |---|---|---|---|---|---| | Free | $0 | 25 | 5 | all three | BYO | | Pro | $19/mo | unlimited | unlimited | all three | BYO | | Team | $79/mo | unlimited | unlimited | all three + custom | BYO, shared license |

License keys are verified against https://satus.sh/api/public/license/verify and cached locally for 24 hours under ~/.satus/.

Bring your own LLM key

satus calls an LLM provider for structured content generation. You bring the key; the request goes from your machine directly to the provider. satus.sh is never in the data path.

Supported providers

| Provider | Env var | Default model | Get a key | |---|---|---|---| | OpenAI | OPENAI_API_KEY | gpt-4o-mini | https://platform.openai.com/api-keys | | Anthropic | ANTHROPIC_API_KEY | claude-haiku-4-5 | https://console.anthropic.com/settings/keys |

Selecting a provider

Precedence (highest first):

  1. --provider openai|anthropic flag on satus generate.
  2. provider field in satus.config.json.
  3. Auto-detect from which env var is set.

If both OPENAI_API_KEY and ANTHROPIC_API_KEY are exported and you pass no flag and no config, the run aborts with a clear message — auto-detect deliberately refuses to guess so a misplaced key never spends on the wrong invoice.

Model resolution is the same shape: --model flag wins, otherwise the config field, otherwise the provider's default model. Cross-provider model names are not validated client-side; the upstream 4xx surfaces verbatim if you pass gpt-4o-mini with --provider anthropic.

Cost reporting

Every run prints tokens: N in / M out spent: $X.XXXX on success. The estimate uses a small built-in price table per provider; --max-cost (default $1.00) is enforced live and aborts the run before commit if you'd overshoot.

For per-call detail, pass -v / --verbose — every batch logs a line:

· users                        batch=1 rows=25 in=842 out=1310 $0.0011

For CI, pass --json to get a single newline-terminated JSON object on stdout (snake_case keys, matching the telemetry payload) while all human output is redirected to stderr:

{"run_id":"...","status":"success","provider":"openai","model":"gpt-4o-mini","profile":"saas","target_schema":"public","tables":[{"name":"users","rows_generated":25}],"total_rows":25,"total_cost_usd":0.001100,"input_tokens":842,"output_tokens":1310,"duration_ms":3142}

Anthropic pricing rates in the built-in table are intentionally conservative until verified against Anthropic's public pricing page on the day of a release; --max-cost therefore errs on the safe side for Anthropic runs. OpenAI rates are pinned and dated in packages/cli/src/generate/providers/openai.ts.

Custom endpoints

OPENAI_BASE_URL and ANTHROPIC_BASE_URL are honored if you need to point at an OpenAI- or Anthropic-compatible proxy (Groq, Together, a local gateway, a corporate egress).

Privacy

satus never sends your schema, your data, or your column names to satus.sh. The only network call to satus.sh is the license verify, which sends your license key and nothing else. LLM calls go directly from your machine to your provider with your key. Anonymous run telemetry (provider, model, profile, table count, row count, duration, token totals — no table or column names, no row data) is posted to satus.sh on completion; failures swallow silently and never break a run.

Development

git clone [email protected]:passkeybridge/satus.git
cd satus/packages/cli
npm install
npm run dev       # tsup --watch
npm test

License

Proprietary. Copyright (c) 2026 PasskeyBridge LLC. All rights reserved. See LICENSE.

Security

Report vulnerabilities to [email protected]. Do not open public issues for security reports.