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-lazy-init

v0.6.0

Published

The ultra-lean, zero-fluff project scaffolding tool.

Readme

create-lazy-init

The ultra-lean, zero-fluff project scaffolding tool.

I built this because running standard template initializers forces you to spend the first 10 minutes deleting default styling, asset files, and bloated configurations you never asked for. This CLI skips the junk and spits out clean, bare-bones folder structures so you can actually get to work.

Quick Start

You don't even need to install it. Just run this in your terminal:

npm create lazy-init@latest
In-Place Setup

If you like creating a folder first, opening it in VS Code, and running the tool directly inside it, just type a dot (.) to initialize in current folder.

npm create lazy-init@latest .

When running without specified path the CLI will ask and the same rules apply. create-lazy-init preview

Available presets

1. Static (Frontend Only)

Powered by a highly stripped-back Vite instance. No default logos, no counter buttons, and only basic css.

my-app/
├── src/
│   ├── App.jsx (or .vue — vanilla skips this)
│   ├── index.css (style.css for vanilla/vue)
│   └── main.jsx (or .js / .ts)
├── eslint.config.js   # only when ESLint is selected
├── index.html
├── package.json
└── vite.config.js (or .ts)

2. Dynamic (Fullstack Split)

A perfectly isolated monorepo environment. The frontend handles the client-side, and the backend handles the server-side with zero cross-contamination.

my-app/
├── client/   # Clean Static setup (cleaned up vite)
└── server/   # Pure Express.js backend (different frameworks soon...)
     ├── server.js   
     └── .env  # Only some basic environmental variables

3. Dynamic (Unified Fullstack — Next.js)

One app, no separate server. Follows the standard create-next-app layout (App Router + src/ directory), minus the demo junk. Backend endpoints live right next to your pages as API routes.

my-app/
├── src/
│   └── app/
│       ├── api/          # backend lives here (route.js handlers)
│       ├── globals.css
│       ├── layout.jsx (or .tsx)
│       └── page.jsx (or .tsx)
├── .gitignore
├── eslint.config.mjs      # only when ESLint is selected
├── jsconfig.json (or tsconfig.json)
├── next.config.mjs (or .ts)
├── package.json
└── postcss.config.mjs     # only when Tailwind is selected

Current Stack Support

Frontend:

  • Vanilla (JS/TS)
  • React (JS/TS)
  • Vue (JS/TS)

Backend:

  • Express.js
  • Next.js API routes (unified preset)

Architecture Style:

  • Isolated Client/Server Split
  • Unified Fullstack (Next.js)

Optional Tools (opt-in during setup):

  • ESLint (pre-configured flat config per framework)
  • Tailwind CSS v4 (fully wired — deps, config, and css import; stripped cleanly when skipped)

Roadmap (Planned Fluff)

Features being built out as optional, opt-in prompts during setup:

  • [x] Automated Git repository initialization (git init)
  • [x] Optional ESLint setup
  • [x] Optional Tailwind CSS setup
  • [x] Unified fullstack architecture (Next.js)
  • [ ] Optional Creative Suite toggle (Installs GSAP + Lenis Smooth Scroll setup)
  • [ ] API-only backend architecture setup (skips the frontend completely)
  • [ ] More backend frameworks (Fastify, Hono)
  • [ ] Svelte template
  • [ ] Package manager choice (npm / pnpm / bun) + optional dependency auto-install
  • [ ] Optional database starter for dynamic presets (SQLite + Drizzle or Prisma)
  • [ ] Non-interactive mode (pass all answers as CLI flags for scripting)
  • [ ] Optional Prettier setup

Versioning

SemVer, pre-1.0:

  • Patch (0.6.x) — bug fixes and template polish, no new prompts or presets.
  • Minor (0.x.0) — anything new a user can see: new preset, framework, template, or prompt.
  • 1.0.0 — when the prompt flow and generated project layout are stable enough to promise no surprise changes.

After 1.0: breaking changes to the CLI interface or generated structure bump major.