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

@upseam/cli

v0.2.0

Published

Finds external API changes that affect a repository: SDK, pinned API version, changes since, matched code

Readme

@upseam/cli

Find the external API changes that affect your repository: the SDK you use, the API version you pin, what changed since then, and the lines of your code each change touches. It runs locally, with no account and no server.

npx @upseam/cli inspect

Requires Node.js 22 or later. Installed globally, the command is upseam.

Providers and languages

stripe, shopify, shopify-storefront, openai, anthropic and gemini in JavaScript, TypeScript and Python repositories. The change database ships inside the package, so inspect fetches nothing at run time.

What it prints

$ npx @upseam/cli inspect
Stripe: stripe 16.12.0, API version 2024-06-20 (pinned), 490 events after it, 55 breaking, matches 2 high, 0 low
  2025-03-31.basil  Adds subscription item-level billing periods and removes subscription-level periods  [breaking]
    https://docs.stripe.com/changelog/basil/2025-03-31/deprecate-subscription-current-period-start-and-end
    src/billing.ts:9  return new Date(subscription.current_period_end * 1000);
  ...

Without a provider, inspect checks every SDK it finds: a summary line and the matched changes per provider; --all prints everything. A terminal gets colour, links and short animations (UPSEAM_NO_ANIMATION=1 turns them off, NO_COLOR also the colour); piped or in CI it is plain text. AI providers have no API version: inspect lists retirements your code hits.

Commands

| Command | What it does | | ---------------------------------------------------- | ----------------------------------------------------------------- | | upseam inspect [provider] [path] | Every SDK found, or one provider: changes since, matched lines. | | upseam report [path] --dry-run | Print the issue body Upseam keeps for the repository. | | upseam fix [path] --dry-run | Patch one mechanical change with your own model; print the diff. | | upseam init [path] | Set up the Upseam GitHub App in a repository, file by file. |

inspect, init and agent take --json for scripts and agents; the JSON never changes with the terminal. Without a provider it is {"path", "inspections", "unavailable"}. upseam --help lists every command with examples; upseam --version (-v) prints the version. Exit codes: 0 done, 1 error, 2 usage.

init

npx @upseam/cli init lists the SDKs it finds, proposes .github/upseam.yml, shows each file before writing it and never commits or pushes. --dry-run --json prints the plan and writes nothing. The init prints the Upseam GitHub App install link, https://github.com/apps/upseam/installations/new?state=npm, and links the docs at https://upseam.dev/docs/.

Privacy

No telemetry. These commands are local only: init, inspect and report --dry-run. The state=npm in the install link only tells Upseam, after you install the App, that the install came from the CLI; the CLI sends nothing itself. Network calls happen only when you ask for them:

  • report --github calls the GitHub API with your GitHub token.
  • fix sends the change and the matched files to the model vendor you choose, with your key; fix --github pushes a branch and opens a pull request.
  • agent route and agent prune send the task to TypeSafe with your TYPESAFE_API_KEY.

Feedback

Bugs, feedback and provider requests: https://github.com/upseam/upseam/issues/new/choose. Private matters: [email protected].

License

MIT. The bundled third-party licenses are in THIRD-PARTY-LICENSES.txt.