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

seedyn

v0.1.0

Published

Upload any file to Seedyn and receive its durable URL.

Readme

Seedyn CLI

Upload any file to Seedyn and print its permanent public URL. The package has no runtime dependencies and requires Node.js 22.12 or newer.

Setup

Create an API key in Seedyn with the scopes needed for the files you plan to upload, then save it using a hidden terminal prompt:

npx seedyn auth set

Credentials are written to $XDG_CONFIG_HOME/seedyn/config.json, or ~/.config/seedyn/config.json when XDG_CONFIG_HOME is unset. The directory is mode 0700 and the file is mode 0600. SEEDYN_CONFIG_PATH can select a different absolute file.

For CI, keep credentials outside the repository:

export SEEDYN_API_KEY='sdn_live_…'

Authentication precedence is --api-key, then SEEDYN_API_KEY, then the owner-only config file. API URL precedence is --api-url, then SEEDYN_API_URL, then the config file, then https://seedyn.dave.tips. Passing a secret on the command line can expose it to shell history and process inspection; prefer the environment or seedyn auth set.

Upload

The shortest form treats the first argument as a file:

npx seedyn ./report.pdf

The explicit form exposes all upload controls:

npx seedyn upload ./report.pdf --copy
npx seedyn upload ./page.html --render-html --open
npx seedyn upload ./image.png --slug launch-shot --domain gurt

--render-html is an explicit opt-in. Seedyn verifies a non-empty UTF-8 HTML document, stores it as text/html, and serves it inline only on a configured public media domain. Uploaded scripts, forms, frames, embedded objects, and network requests remain disabled by the response sandbox. Without the flag, HTML is an ordinary attachment.

Agents can upload stdin by naming the resulting file:

generate-report | npx seedyn upload - --filename report.html --render-html

Useful options:

  • --copy copies the URL using the operating system clipboard command.
  • --open opens the URL using the operating system URL handler.
  • --json prints a machine-readable response.
  • --quiet prints only the URL.
  • --slug <slug> requests a readable public slug.
  • --domain <id> chooses a configured media-domain identifier.
  • --kind <auto|image|file|text> supplies the server classification hint.
  • --language <language> supplies the text-language hint.
  • --api-url <origin> targets a local or custom Seedyn instance.

The server always classifies the uploaded bytes and enforces the API key scope. Files are limited to 64 MiB; rendered HTML, images, and text are limited to 16 MiB.

Attribution

The command workflow is inspired by the MIT-licensed [email protected]. See THIRD_PARTY_NOTICES.md for attribution and the retained license.