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

create-website-build-kit

v0.1.19

Published

Scaffold a production marketing site — Astro on Cloudflare Workers, with the gates, the migration playbook and the accessibility work already wired.

Readme

npm create website-build-kit@latest my-site

Scaffold a production marketing site: Astro, static, on Cloudflare Workers — with the gates, the migration playbook and the accessibility work already wired.

Node 22.12+. It builds green immediately, with no content, no images and no secrets.

The method, the traps and the docs →

What you get

A skeleton, not a theme. It ships no palette, no typeface and no home page — deliberately, so that two sites built from it cannot look alike. What it does ship is the part that takes longest to get right and is easiest to get subtly wrong:

  • A form endpoint with server-side validation, a honeypot, and the lead written to durable storage before the email provider is called — so a provider outage costs a notification, never a lead. It works with JavaScript off.
  • Environment derived from one build variable — indexability, analytics, canonical host, which store leads land in, who gets notified. Nothing toggled by hand at go-live, and a bare build with no environment set is refused rather than quietly publishing localhost canonicals.
  • A media pipeline — AVIF and WebP per width, a dimensions manifest so nothing shifts, favicons rendered from the vector.
  • Verification against the deployed site, as a gate that exits non-zero: routes, a real 404, every redirect rule and whether its target resolves, security headers, the meta sweep, page weight, and the form submissions the API is supposed to refuse.
  • WCAG 2.2 AA as a build constraint — a published accessibility statement, pa11y-ci wired up, a reflow check at 320px and 200% text, and a dated evidence pack.
  • A migration path: inventory the old site, extract its content to markdown, propose a redirect map, and fail the build if a URL the old site served no longer resolves.

Migrating off WordPress?

npm run recon -- https://old-site.com   # URLs, preserved paths, integrations, DNS
npm run extract                          # captured HTML → clean markdown
npm run redirects                        # proposes a map; never writes it for you

Run recon before you design routes. For any page builder — Elementor, Divi, WPBakery, Bricks — the extractable copy is the rendered HTML, never the database.

The method

The template is half of it. The other half is a Claude Code skill that runs the whole job — discovery, stack and provider decisions, the build, then verification against the deployed site:

/plugin marketplace add nurkamol/website-build-kit
/plugin install website-build@website-build-kit

Then just ask: "Rebuild https://acmeplumbing.com on Astro and Cloudflare — we're migrating off Elementor."

Behind it is the written method, including a file of failures that were green in a build: clean build, clean types, clean deploy, wrong result.

MIT.