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-awesome-node-app

v0.8.0

Published

Command line tool to create Node apps with a lot of different templates and extensions.

Readme

npm Downloads Stars Commit Activity Bundle Size Awesome License: MIT

Tests Lint Typecheck Shellcheck Markdown

🌐 Official Site · Templates · Extensions · Docs · GitHub


⚡ Get started in 30 seconds

npm create awesome-node-app@latest my-app

That's it. The interactive wizard walks you through picking a template, addons, and package manager — you're done before your coffee gets cold.

Want to go fully non-interactive? Specify everything up front:

npx create-awesome-node-app my-app \
  --template react-vite-boilerplate \
  --addons material-ui github-setup \
  --no-interactive

✨ Why Create Awesome Node App?

Most scaffolding tools lock you into a single opinionated stack. CNA is different — it's a composable scaffolding engine built around the idea that your stack should be yours.

| | CNA | Traditional scaffolders | | ----------------------------- | --- | ----------------------- | | Mix templates + addons | ✅ | ❌ | | Bring your own template URL | ✅ | ❌ | | Interactive and CI-friendly | ✅ | Partial | | AGENTS.md for AI assistants | ✅ | ❌ | | Extension ecosystem | ✅ | ❌ | | Node 22 native | ✅ | Varies |

One CLI. Any stack.


🚀 What you get out of the box

Every project bootstrapped with CNA includes:

  • 🧱 Production-ready structure — no empty folders or placeholder files
  • 🔷 TypeScript — strict mode, ready to go
  • 🧹 ESLint + Prettier — framework-specific rules pre-configured
  • 🧪 Testing setup — vitest, jest, playwright, or cypress (depends on template)
  • 🤖 AGENTS.md — a contract file so your AI coding assistant understands your project conventions
  • 🔄 GitHub Actions workflows — CI, linting, and releases via addons
  • 📦 Your choice of package manager — npm, yarn, or pnpm

🌐 Explore the Catalog

Visit create-awesome-node-app.vercel.app to visually browse the full ecosystem:

  • 🗂 Templates organized by category (Frontend, Backend, Full Stack, Monorepo, Web Extension, UAT)
  • 🧩 Extensions filterable by compatibility
  • 📖 Guides on how the generation pipeline works

Or discover everything from your terminal:

# List all available templates
create-awesome-node-app --list-templates

# List addons compatible with a specific template
create-awesome-node-app --template react-vite-boilerplate --list-addons

🧱 Template Ecosystem

| Category | Example Templates | | ---------------- | ----------------------------------------------------------------- | | 🖥 Frontend | react-vite-boilerplate — React 18 + Vite + TS + ESLint + Vitest | | 🔧 Backend | nestjs-boilerplate — NestJS + TS + ESLint + Jest | | 🌐 Full Stack | nextjs-starter — Next.js + SSR + TS + Prettier | | 🗂 Monorepo | turborepo-boilerplate — Turborepo + Changesets + TS | | 🧩 Web Extension | web-extension-react-boilerplate — Cross-browser + React | | 🧪 UAT / Testing | webdriverio-boilerplate — E2E automation scaffold |

→ Full catalog at create-awesome-node-app.vercel.app/templates


🧩 Addons / Extensions

Think of addons as lego bricks — snap them onto any template to add exactly what you need:

| Category | Examples | | --------------- | -------------------------------------------------------- | | 🎨 UI Libraries | Material UI, Tailwind CSS, component libraries | | 📊 State & Data | Jotai, tRPC, React Query, Zustand | | 🔧 Tooling | GitHub Actions workflows, changesets, release automation | | ✅ Code Quality | ESLint configs, Prettier, TypeScript strictness | | 🧪 Testing | Playwright, Cypress, Vitest setups | | 🛠 DX | Commit linting, conventional commits, environment setup |

Add any extension by slug or URL:

npx create-awesome-node-app my-app \
  --template react-vite-boilerplate \
  --addons material-ui github-setup commitlint \
  --extend https://github.com/your-org/your-custom-extension

🤖 AI-Ready with AGENTS.md

CNA generates an AGENTS.md file in supported templates — a structured document that tells AI coding assistants (GitHub Copilot, Cursor, Claude, etc.) about:

  • Project purpose and conventions
  • Directory layout and naming rules
  • Scripts and how to use them
  • Testing strategy and linting rules

This dramatically improves AI suggestion quality and speeds up onboarding for hybrid human+AI teams.

→ Learn more at create-awesome-node-app.vercel.app/docs/agents-md


🧪 Interactive Mode Walkthrough

When you run CNA without flags (or with --interactive), the wizard guides you through:

  1. Project name — set or confirm your app's name
  2. Package manager — npm, yarn, or pnpm
  3. Category — Frontend, Backend, Full Stack, Monorepo, Web Extension, UAT, or Custom
  4. Template — pick from curated options with descriptions and keywords
  5. Extensions — multi-select compatible addons grouped by purpose
  6. Custom extensions — optionally extend with any additional URLs

The CLI composes a templatesOrExtensions pipeline and generates your workspace in one shot.


⚙️ Requirements

  • Node.js >= 22 (enforced at startup — no silent failures)
  • npm >= 7, yarn, or pnpm

We recommend fnm for fast Node version switching:

fnm use 22
npm create awesome-node-app@latest my-app

🔍 CLI Reference

Usage: create-awesome-node-app [project-directory] [options]

| Flag | Description | | ---------------------------- | -------------------------------------------------- | | --interactive | Force interactive wizard (default outside CI) | | --no-interactive | Disable wizard — use flags only | | -t, --template <slug\|url> | Template slug from catalog or remote GitHub URL | | --addons [slugs...] | Space-separated addon slugs or URLs | | --extend [urls...] | Extra extension URLs to layer on top | | --no-install | Generate files without installing dependencies | | --use-yarn | Use yarn instead of npm | | --use-pnpm | Use pnpm instead of npm | | --list-templates | Print all templates grouped by category | | --list-addons | Print addons (optionally filtered by --template) | | -v, --verbose | Output resolved generation config as JSON | | -i, --info | Print Node, npm, OS environment diagnostics | | -V, --version | Print CLI version | | -h, --help | Show help |


🛠 Programmatic Usage

Need to integrate CNA into your own tooling? The core is importable:

import { createNodeApp, getTemplateDirPath } from "@create-node-app/core";

Note: The programmatic API is experimental and subject to change. Prefer the CLI for stable usage.


❓ FAQ

Because most CLIs lock you into one stack. CNA lets you compose your stack: pick a curated template, add modular extensions, and bring your own blueprints via URL. No vendor lock-in.

Yes. Pass a GitHub URL (with optional subdirectory path) via --template:

npx create-awesome-node-app my-app \
  --template https://github.com/your-org/your-repo/tree/main/template

They're applied sequentially in the order you specify. If two addons touch the same file, later ones win — just like a git merge.

Yes. Use the turborepo-boilerplate template for a multi-package workspace with Turborepo, Changesets, and shared TypeScript/ESLint configs ready to go.

CNA auto-detects CI and disables interactive mode. All options can be passed via flags for fully scripted generation — perfect for bootstrapping in automation pipelines.

Yes — we target the latest LTS runtime for native ESM support, performance, and modern language features. Use fnm or nvm to switch quickly if needed.


🗺 Roadmap

  • Remix and SvelteKit template variants
  • Additional testing packs (contract, performance, load testing)
  • Template version pinning and diff-based upgrade paths
  • Rich template analytics and usage metrics

→ Track progress in Issues and Discussions.


🤝 Contributing

Contributions are what make CNA better — templates, addons, bug fixes, docs, ideas. All welcome!


📜 License

MIT © Create Node App Contributors


🌐 create-awesome-node-app.vercel.app

Built with ♥ for developers who value speed, clarity, and composability.