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

blume

v0.8.0

Published

Documentation that's fast, AI-ready, and zero-config.

Readme

Blume

npm version npm downloads license node

Documentation for everything you build. Fast, AI-ready, and zero-config. Free and open source, forever.

Drop Markdown or MDX into a folder, run blume dev, and get a production-grade docs site — navigation, search, theming, Open Graph images, and a rich component library — with no app boilerplate to write or maintain. Blume generates and drives a hidden Astro project for you; run blume eject to get a standalone Astro app whenever you want full control.

Documentation · Quickstart · Components · CLI

Quickstart

Blume needs Node.js 22.12 or newer and a content folder with at least one .md/.mdx file — there's nothing else to set up.

npx blume init

Run the dev server with hot reload:

blume dev

Build static HTML, with a local search index, into dist/:

blume build

Blume works with any package manager and never requires you to set up Astro or Tailwind yourself.

Features

  • Zero-config, even the template — a folder of docs is a complete project. No starter to clone, no framework to learn. Configuration is opt-in, one file at a time.
  • Fast by default — static HTML on Astro and Vite; the core theme ships no client framework JS so pages score well on Core Web Vitals out of the box.
  • Type-safe configblume.config.ts and every meta.ts are real TypeScript, validated by a schema and authored with defineConfig / defineMeta, so your editor catches mistakes before a build.
  • Components, no imports — cards, columns, steps, tabs, accordions, badges, code groups, frames, file trees, type tables, live component previews, diffs, and more, usable in any MDX page.
  • Local search — Orama runs in dev and production with no hosted service; FlexSearch, Pagefind, Algolia, Typesense, Orama Cloud, and Mixedbread are one setting away.
  • AI-readyllms.txt / llms-full.txt, raw Markdown at any .md URL, Copy as Markdown, Open in chat, an optional Ask AI assistant, and a hosted MCP server so coding agents can search and read your docs directly.
  • Agent skills — Blume ships agent skills that teach a coding agent to scaffold, write, and maintain your docs site.
  • Content sources — mix local files with remote MDX, GitHub Releases, Notion, Sanity, or any custom backend into a single site.
  • Internationalization — drop translated files into place for locale-aware routing, per-language navigation, translated UI, and SEO.
  • SEO — metadata, Open Graph images (rendered at build with Takumi), sitemap, robots.txt, RSS feeds, and JSON-LD, built in.
  • API reference — render an OpenAPI or AsyncAPI spec as an interactive reference (schemas, auth, request playground) via Scalar.
  • Export — let readers download any page as a PDF or EPUB, entirely client-side, so static builds stay static.
  • Customization — component overrides, React islands, custom pages, Tailwind v4 theme tokens and theme.css, and a source-component registry (blume add).
  • Ejectblume eject produces a standalone Astro project that still uses the blume package.

CLI

| Command | Description | | ------------------ | ----------------------------------------------------- | | blume init [dir] | Scaffold a project (interactive by default). | | blume dev | Start the dev server with hot reload. | | blume build | Build the static (or server) site. | | blume preview | Preview the last build. | | blume add <item> | Install a source component from the registry. | | blume sync | Re-fetch remote content sources and regenerate. | | blume eject | Promote the runtime into a standalone Astro app. | | blume check | Type-check the docs site with astro check. | | blume validate | Validate internal, anchor, asset, and external links. | | blume doctor | Diagnose config and content problems. |

See the CLI reference for every flag.

How it works

The Blume CLI loads blume.config.ts, scans your content into a graph, and generates a hidden Astro project under .blume/ that it drives for dev and build. Astro renders through a catch-all page that imports Blume's shipped components, the generated data, and your overrides. .blume/ is regenerated on each run — only changed files are written, so hot reload stays fast — until you blume eject and own it.

Deployment

blume build outputs static HTML to dist/ — deploy to any static host (Vercel, Netlify, Cloudflare Pages, GitHub Pages, S3 + CloudFront, or any CDN). For request-time features like Ask AI or the MCP server, switch to server output and pick an adapter:

| Adapter | Use for | | ------------ | ------------------------------------ | | vercel | Vercel | | netlify | Netlify Functions | | node | Self-hosted Node servers, containers | | cloudflare | Cloudflare Workers and Pages |

On Vercel, Netlify, and Cloudflare Pages the matching adapter and site URL are detected automatically.

Compatibility

| Requirement | Supported | | ---------------- | --------------------------------- | | Node | 22.12+ | | Package managers | Bun, pnpm, npm, yarn | | Adapters | Vercel, Netlify, Node, Cloudflare |

Development

This repository is a monorepo: the published package lives in packages/blume, and apps/docs is Blume's own documentation, built with Blume.

bun install
bun run check       # lint + format (Ultracite)
bun run typecheck
bun run test

See CONTRIBUTING.md for architecture and conventions.

License

MIT © Hayden Bleasel