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-azphalt

v0.4.0

Published

Scaffolding tool for azphalt projects.

Downloads

87

Readme

create-azphalt

Scaffold a new azphalt project. Run it with your package manager's create command — no install needed:

npm create azphalt@latest
# or
pnpm create azphalt
# or
yarn create azphalt

It asks for a project name, your namespace, an author, a licence, and a template; copies the template into a new directory; and fills in everything a package needs to be publishable — the manifest id, the author on both manifest.json and package.json, and a LICENSE file matching the licence you picked. Then:

cd my-azphalt-project
npm install
npm run dev

Licence

Your extension, your terms. The scaffolder asks which licence you want and writes it; it does not impose one. (The templates themselves carry no LICENSE — they are part of this MIT-licensed repo, and a checked-in licence file there would silently become your project's terms.)

The prompt exists so that two things stay in agreement: license in manifest.json is an SPDX identifier, and LICENSE is the actual text. A package declaring CC-BY-4.0 while shipping MIT text grants terms other than the ones it states.

MIT and a proprietary "all rights reserved" notice are written out in full. For Apache-2.0, CC-BY-4.0, CC0-1.0, GPL-3.0-or-later, and Other, the scaffolder writes a short stub naming the licence and linking to the canonical text — it does not reproduce those from memory, because an approximate licence is worse than an obviously missing one. build.js refuses to package while the stub is still there.

Attribution

manifest.author is what the store shows next to your package. The scaffolder defaults it to your git user.name and writes it to manifest.json, package.json, and the LICENSE copyright line — the line that actually names the rights holder. A licence reading Copyright (c) 2026 Your Name grants nothing to anyone, which is exactly what a placeholder left unedited produces.

Naming (id)

Every package needs a globally-unique reverse-DNS id. You don't hand-write it — the scaffolder asks for a namespace (a domain you own) and builds the id for you:

<reversed-domain>.azphalt.<name>

Give any domain — com, io, org, space, whatever you own. It's reversed, an azphalt segment is inserted (marking it an azphalt package and keeping all your packages in one sub-namespace), then the project name is appended:

| You enter | Project | Generated id | |---|---|---| | developer.space | my-plugin | space.developer.azphalt.my-plugin | | hereliesaz.com | halftone | com.hereliesaz.azphalt.halftone | | acme.io | azphalt-glow | io.acme.azphalt.glow |

(A leading azphalt- on the project name is dropped so the segment isn't doubled.)

Templates

| Template | For | What you get | |---|---|---| | Asset Pack | Creators | A workspace for bundling images, audio, or 3D assets into a .azp. | | Host Application | Developers | A Vite web app that parses .azp files and queries repositories. | | Repository Server | Hubs | An Express server implementing the Repository API. |

Related