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

@pa1nd/create-atelier

v0.6.1

Published

Scaffold a new Atelier instance: `npm create @pa1nd/atelier my-studio`. Writes a tiny instance that depends on @pa1nd/atelier — the shell runs itself from node_modules, nothing vendored.

Downloads

1,190

Readme

create-atelier

Scaffold a new Atelier instance in one command.

npm create @pa1nd/atelier my-studio
cd my-studio
npm install
npm run dev            # → http://localhost:1844

It writes a tiny instance — only what the instance needs: a package.json that depends on @pa1nd/atelier, an atelier.config.json, and a .gitignore. Nothing is vendored: the shell arrives from npm and runs itself from node_modules, so you update it with npm update @pa1nd/atelier.

By default no modules and no chrome are scaffolded — on first run you'll see Atelier's "add a chrome" screen; add a chrome to start rendering.

Starter collections

Atelier shares exactly one shape: a collection — a git repo whose top-level folders are modules, what atelier package produces. Pull a whole one at scaffold time:

npm create @pa1nd/atelier my-studio -- --kit atelier-modules

Every module in the collection lands in the instance, and its chrome is detected and set as defaultChrome: the first npm run dev renders themed, modules included. A bare name means pA1nD/<name>atelier-modules is the first one — and any collection works: owner/repo, github:owner/repo, any git url (git+ssh://… reaches private collections over your own git auth), a local path, or a .bundle file.

Scaffolding with a collection does exactly what atelier add would do: the repo is cloned in full into the instance's _collections/ and modules are copied out of that mirror with install provenance — so the new instance is subscribed from day one. When the collection gains new modules or cuts:

npx atelier add atelier-modules      # install what's new
npx atelier update                   # upgrade what you have (merge-aware)

Cherry-picking

--chrome / --add name single modules of the collection instead of taking all of it:

npm create @pa1nd/atelier my-studio -- --chrome atelier-chrome --add dock
npm create @pa1nd/atelier my-studio -- --kit bigcorp/tools --add crm
  • --chrome <name> — install that module and set it as the instance's defaultChrome.
  • --add <name> — install that module (repeatable).

Names always refer to modules of the collection (the --kit one if given, else pA1nD/atelier-modules) — there is no other source; if you want a module, its author packages it into a collection (atelier package — one command).

Either way each module lands as a plain folder in the instance — the folder name is the module id, and the instance owns it from there (edit it freely; atelier update 3-way-merges your edits when new cuts arrive). A module that declares its own dependencies (chromes usually) gets them installed in place during the scaffold.

Requires git, and Node ≥24 to run the instance (Atelier's requirement); the scaffolder itself runs on Node ≥18.

MIT © pa1nd