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

@taprootcms/studio

v0.1.27

Published

The Taproot CMS server as an Astro integration: admin panel, REST API, and delivery API

Downloads

1,904

Readme

@taprootcms/studio

The Taproot CMS server as an Astro integration: the admin panel, the REST API, and the delivery API.

Most people should not install this directly. Run npm create taproot, which scaffolds a server project with this already wired up.

npm create taproot my-cms

A website does not install this. A site installs @taprootcms/astro and reads content over HTTP. This is the server, and it owns the database.

What it adds

import taproot from '@taprootcms/studio';

export default defineConfig({
  output: 'server',
  integrations: [taproot()],
});

That injects 80-odd routes: the admin at /admin (with / redirecting to it), the REST API and the delivery API under /api/taproot, and a middleware that resolves the session or the API key.

| Option | | |---|---| | adminPath | Where the admin mounts. Default /admin. Cannot be / | | addReactRenderer | Leave on unless the host app already adds @astrojs/react |

How it is built

The admin is server-rendered Astro, not a SPA. Every screen is a page whose permission check runs before any HTML is sent, and React appears only where interaction demands it. That is primarily an accessibility decision: client-side routing needs hand-built focus management and route announcements to meet WCAG AA, and real navigation gets both for free. The admin is WCAG 2.1 AA, checked per release by an axe run over every route plus a numeric contrast check of every token pair.

It ships source, not a build. Astro's injectRoute compiles .astro entrypoints out of node_modules through the host's Vite pipeline, the same way Starlight does.

Zero native dependencies. Passwords are PBKDF2-SHA256 through crypto.subtle, both SQL drivers are written in-tree, and image dimensions are read from header bytes rather than decoded — so the same code runs on Node and on Workers, and npm install never needs a C++ toolchain.

Requirements

Astro 7, Node 22.12 or newer, and @taprootcms/core.

Documentation

See the repository. The handbook covers using the CMS, administering a site, and running the server.

License

MIT