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

@plannotator/tot

v0.1.2

Published

Git-backed publishing for Markdown and HTML: one living tot.page URL with immutable @hash snapshots.

Readme

tot.page

Publish a markdown or HTML file to a live link in one command. No signup.

The useful part is that it is git-backed publishing, not a one-off upload. The link you share is living, like a branch: run tot update and the same URL moves forward. Every publish also creates a real version with a frozen @hash URL, like a commit, so you can point people at either "latest" or "exactly this snapshot."

npm i -g @plannotator/tot
tot notes.md
  ↳ https://tot.page/aB3xK9q
  commit  e5f6c1a
  frozen  https://tot.page/aB3xK9q/index.md@e5f6c1a

Commands

| Command | What it does | | ----------------------- | -------------------------------------------------------------------------------------- | | tot notes.md | Publish markdown as the raw .md file. | | tot page.html | Publish HTML as the raw .html file, plus local support files it directly references. | | tot update <link> | Push new content. The same link updates. | | tot list | Show what you have published. | | tot remove <link> | Remove the living page from its share link. | | tot login --key <key> | Optional. Publish as an owned account instead of anonymous. |

Why it exists

Most "put this online" tools either render your markdown, hide the source behind an app, or give you a new URL every time you change something. tot is deliberately smaller:

  • Markdown and HTML are served raw, byte for byte.
  • The share link stays stable across updates.
  • Each update is still preserved as an immutable version.
  • HTML support files next to the page are uploaded first, so real HTML pages keep working.
  • No account is needed for the default flow; the link is the key.

How it works

Files are served byte for byte. Markdown comes back as raw markdown. HTML comes back as raw HTML.

For HTML, tot also uploads direct local browser dependencies before the page goes live: images, stylesheets, scripts, video, srcset entries, and video posters. It skips external URLs and ordinary navigation links. There is no config file, build step, routing layer, or bundler.

Your link is live. Run tot update and the same tot.page/... link shows the new version. Every version also keeps a frozen @hash link that never changes, for when you want a fixed snapshot.

tot remove removes the living page. Frozen snapshot links are permanent while the workspace exists.

No accounts, no tokens. The link is the key.

A page you publish is open. Anyone who has the link can view it, update it, or delete it. There is no private mode. Share the link with that in mind.

Configuration

State lives in ~/.tot: the API endpoint and the list of pages you have published. Override the API origin for one run with --endpoint <url>.

Built on

Cloudflare Artifacts. Every version is a real git commit.

License

MIT