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

@prudentbird/voxx

v0.0.6

Published

A zero-friction CMS for you and your agents. Write the way you ship code, and Voxx handles the rest.

Readme

voxx

A zero-friction CMS for you and your agents. Write markdown the way you ship code, and Voxx handles the rest.

npx @prudentbird/voxx init            # interactive wizard (type, name, features)
npx @prudentbird/voxx init blog docs  # scaffold several collections at once
npx @prudentbird/voxx init changelog --yes  # headless, accept defaults

Commands

voxx init [blog|docs|changelog ...]

An interactive wizard. It detects your setup and asks only for what it needs:

  • Target — when there's no Next.js app, choose a static site (voxx build) or a fresh app via create-next-app, then scaffold into it.
  • Collections — pick one or more types and name each (a blog can live at /posts).
  • Site details — title, description, URL (each defaulted; press Enter to accept).
  • Features — multiselect which features to enable, pre-checked to the recommended defaults for the chosen types.

Everything Voxx generates lives in an app/(voxx)/ route group, with each collection self-contained:

app/
  (site)/        ← your own pages and root layout
  (voxx)/
    layout.tsx               voxx's <html>/<body> root shell
    _voxx/                   shared theme CSS
    sitemap.ts robots.ts llms.txt/ llms-full.txt/   (enabled features)
    blog/
      layout.tsx page.tsx [slug]/page.tsx rss.xml/route.ts
      _data.ts _post-list.tsx _theme-toggle.tsx …    private (underscore-prefixed)
      _content/…md                                   the collection's markdown

Root layout. Voxx routes need their own <html>/<body>. For a new app, Voxx splits the root into (site)/layout.tsx (yours) and (voxx)/layout.tsx (Voxx's). For an existing app it warns that your layout will wrap Voxx routes and offers to fix it (move your layout into (site)/) or ignore it (nest under your layout, chrome and all). Non-interactively the default is ignore + warn — Voxx never moves your files silently. Force the choice with --isolate / --no-isolate.

Voxx writes the rss.xml/llms.txt/llms-full.txt/sitemap/robots routes for the enabled features only, and wraps your next.config with withVoxx when it's safe to (Next 16+, recognizable config shape). Existing files are never overwritten without confirmation.

Flags: --name posts, --base /notes, --dir <path>, --app src/app, --target my-app, --static/--next, --isolate/--no-isolate, --no-<feature> (e.g. --no-sitemap, --no-llms), --yes, --force. --name/--dir/--base apply when scaffolding a single type.

voxx add collection <blog|docs|changelog>

Appends a collection to an existing project — migrates voxx.json to the collections array and scaffolds its routes. Flags: --name, --dir, --base, --force.

voxx add <feature> / voxx remove <feature>

Toggle a feature after the fact. add sitemap flips features.sitemap on and scaffolds its route; remove llms flips it off and deletes the generated routes (with a confirmation). Features: rss, sitemap, robots, llms, toc, tags, reading-time.

voxx new "Title"

Type-aware: creates a date-prefixed post (blog), an order-prefixed page (--section getting-started --order 2, docs), or a versioned release file (voxx new "1.4.0", changelog).

voxx build

Renders the whole site to static HTML in ./dist — post list, docs tree with sidebar + prev/next, or release timeline — plus rss.xml, sitemap.xml, robots.txt, llms.txt, and llms-full.txt per your feature flags. Images and other content assets are copied through, and every collection in a multi-collection config is built in one pass (each blog/changelog surface gets its own feed under its base path).

voxx dev

A preview server for static sites: builds to a temp directory, watches voxx.json and your content folders, rebuilds on change, and serves the result on --port (default 4321). Drafts are included by default so you can review them at their real URLs.

voxx telemetry [status|enable|disable]

Manages anonymous usage telemetry. status prints the current resolved state (and any active env override), disable opts out, enable opts back in.

Voxx reports a single anonymous event per command — the command name, whether it succeeded, its duration, and the package/Node/OS versions. It never collects arguments, file paths, names, or content. The CLI prints a one-time notice on first run.

Opt out persistently with voxx telemetry disable, or per-invocation with VOXX_TELEMETRY_DISABLED=1, DO_NOT_TRACK=1, or CI=1 (telemetry is also off automatically in CI). The opt-out state lives in ${XDG_STATE_HOME:-~/.local/state}/voxx/telemetry.json.

Content conventions

  • Folders become docs sections; index.md is a section's landing page.
  • 01-install.md pins ordering without leaking into the URL (/docs/install).
  • 2026-06-11-hello.md date-stamps a post; frontmatter always wins.
  • Release files are named by version (1.4.0.md) or carry version: frontmatter.

Configuration lives in voxx.json (JSON-schema autocompleted). The engine is @prudentbird/voxx-core — use it directly if you'd rather bring your own framework.