create-lazy-init

The ultra-lean, zero-fluff project scaffolding tool.
2,608
Install
npm install create-lazy-init
Latest Version:0.8.0
License:MIT
Last Updated:Aug 5, 2026
Links: GitHub  ·  npm
Maintainer: alex0234

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@latest layout (App Router + src/ directory), minus the demo junk. Backend endpoints live right next to your pages as API routes.

TypeScript only — no language prompt — and GSAP + Lenis smooth scroll come pre-wired.

my-app/
├── src/
│   ├── app/
│   │   ├── api/               # backend lives here (route.ts handlers)
│   │   ├── globals.css
│   │   ├── layout.tsx
│   │   └── page.tsx
│   └── components/
│       └── lenisWrapper.tsx   # Lenis + GSAP ticker + ScrollTrigger sync
├── .gitignore
├── eslint.config.mjs          # only when ESLint is selected
├── next.config.ts
├── package.json
├── postcss.config.mjs         # only when Tailwind is selected
└── tsconfig.json

Lenis drives the scroll, GSAP's ticker drives Lenis, and ScrollTrigger stays in sync. The running instance is exported as getLenis() if you need it outside the wrapper.

Current Stack Support

Frontend:
  • Vanilla (JS/TS)
  • React (JS/TS)
  • Vue (JS/TS)
  • Next.js (TS, unified preset)
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:

  • Automated Git repository initialization (git init)
  • Optional ESLint setup
  • Optional Tailwind CSS setup
  • Unified fullstack architecture (Next.js)
  • GSAP + Lenis smooth scroll setup (baked into the Next.js preset)
  • Creative Suite toggle for the Vite presets (opt-in GSAP + Lenis)
  • 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.

Related Packages

@bkincz/spool

spool CLI: create, configure and maintain micro frontends

4,004 1
@adriankulik/create-fullstack-app

A CLI tool for scaffolding a full-stack web application with your choice of fron...

6,285 2
@chamathdilshanc/create-stack

The Ultimate Multi-Tiered Project Orchestrator — an interactive CLI that scaffol...

5,058 0
create-prism-app

Scaffold a production-grade, opinionated full-stack starter in seconds — Vue, Nu...

970 0
boilercraft

Create Laravel, Next.js, NestJS, Vite, Django, FastAPI, Go, Express and .NET pro...

360 0

Version History

Version Released License
0.8.0 MIT
0.6.0 MIT
0.5.6 MIT
0.5.5 MIT
0.5.4 MIT