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-fullstack-setup

v1.0.18

Published

CLI to generate ready-to-run fullstack or backend applications

Downloads

1,716

Readme

🚀 create-fullstack-setup

A modern CLI tool to generate production-ready backend or full-stack applications with Express in seconds.

create-fullstack-setup streamlines project setup by automating repetitive tasks like folder structure creation, dependency installation, middleware configuration, and environment setup—so you can focus on building features, not boilerplate.


🚀 Quick Start (Recommended)

The fastest way to use the CLI is with npx (no global install required):

npx create-fullstack-setup@latest

✨ Features

  • 🎯 Interactive Setup - Guided prompts for a personalized project
  • Fast Scaffolding - Ready-to-run projects in under a minute
  • 🔧 Feature-Based - Only include what you need (JWT, MongoDB, Cloudinary, etc.)
  • 📦 Multiple Frontends - Choose React, Next.js, or backend-only
  • 🛠️ TypeScript & JavaScript - Full support for both languages
  • 🌍 Cross-Platform - Works on Windows, macOS, and Linux
  • 📝 Zero Configuration - Pre-wired middleware and utilities

📋 Requirements

  • Node.js v18 or higher
  • npm v9 or higher

🔧 Installation

Install the CLI globally via npm:

npm install -g create-fullstack-setup@latest

Verify the installation:

create-fullstack-setup --version

🚀 Quick Start

Create a new project

create-fullstack-setup@latest my-app

Create in the current directory

create-fullstack-setup@latest .

The CLI will guide you through an interactive setup process.


📖 Interactive Setup Guide

The CLI prompts you step-by-step to customize your project:

1️⃣ Project Name

Choose a name for your project folder.

? Project name: my-awesome-app

2️⃣ Frontend Framework (Optional)

Select a frontend framework or skip for a backend-only project:

  • React - Modern UI library
  • Next.js - Full-stack React framework
  • None - Backend API only
? Choose frontend framework: 
  ○ React
  ○ Next.js
  ● None

3️⃣ Backend Framework

Currently supported:

  • Express - Fast, minimalist web framework
? Choose backend framework:
  ● Express

4️⃣ Language

Choose your preferred language:

  • JavaScript - Classic, widely supported
  • TypeScript - Type-safe, modern development
? Select language:
  ○ JavaScript
  ● TypeScript

5️⃣ Backend Features

Enable features individually based on your needs:

| Feature | Description | |---------|-------------| | JWT Authentication | Token-based auth with middleware | | Cloudinary | Cloud-based media management | | CORS | Cross-Origin Resource Sharing | | Cookie Parser | Parse cookies from requests | | Dotenv | Environment variable management | | MongoDB | NoSQL database with Mongoose ODM | | Zod Validation | Schema validation library | | Bcrypt | Password hashing utilities | | Multer | File upload handling |

? Enable JWT Authentication? (Y/n)
? Enable Cloudinary? (Y/n)
? Enable CORS? (Y/n)
...

📂 Generated Project Structure

Express + TypeScript

my-app/
├── server/
│   ├── src/
│   │   ├── app.ts                  # Express app configuration
│   │   ├── server.ts               # Server entry point
│   │   ├── routes/                 # API routes
│   │   ├── controllers/            # Request handlers
│   │   ├── middlewares/
│   │   │   └── auth.middleware.ts  # JWT authentication
│   │   ├── utils/
│   │   │   └── Cloudinary.ts       # Cloudinary setup
│   │   └── config/
│   │       └── db.ts               # MongoDB connection
│   ├── .env.example                # Environment template
│   ├── tsconfig.json               # TypeScript config
│   ├── nodemon.json                # Dev server config
│   └── package.json
└── client/                         # (if frontend selected)
    └── ...

Express + JavaScript

my-app/
├── server/
│   ├── app.js                      # Express app configuration
│   ├── server.js                   # Server entry point
│   ├── routes/                     # API routes
│   ├── controllers/                # Request handlers
│   ├── middlewares/
│   │   └── auth.middleware.js      # JWT authentication
│   ├── utils/
│   │   └── Cloudinary.js           # Cloudinary setup
│   ├── .env.example                # Environment template
│   └── package.json
└── client/                         # (if frontend selected)
    └── ...

⚙️ Feature Details

🔐 JWT Authentication

When enabled, the CLI generates:

  • Authentication middleware for protected routes
  • Support for both Authorization header and HTTP-only cookies
  • Token verification utilities

Environment variable:

ACCESS_TOKEN_SECRET=your_secret_key_here

☁️ Cloudinary Integration

When enabled, the CLI generates:

  • Pre-configured Cloudinary utility class
  • Automatic connection on server startup
  • Ready-to-use upload/delete methods

Environment variables:

CLOUDINARY_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret

🗄️ MongoDB (Mongoose)

When enabled, the CLI generates:

  • Database connection utility
  • Automatic connection with retry logic
  • Connection error handling

Environment variable:

MONGO_URI=mongodb://localhost:27017/myapp

🌐 CORS

Enables Cross-Origin Resource Sharing with sensible defaults.


🍪 Cookie Parser

Parses cookies from incoming requests for session management.


🔒 Bcrypt

Utilities for hashing and comparing passwords securely.


📁 Multer

Middleware for handling multipart/form-data file uploads.


✅ Zod Validation

Schema-based validation for request data.


🔐 Environment Variables

All required environment variables are written to:

server/.env.example

Example file:

# Server
PORT=5000

# Authentication
ACCESS_TOKEN_SECRET=your_jwt_secret_here

# Cloudinary (if enabled)
CLOUDINARY_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=

# Database (if MongoDB enabled)
MONGO_URI=mongodb://localhost:27017/myapp

⚠️ Important

Copy .env.example to .env and fill in your actual values before running:

cp server/.env.example server/.env

🏃 Running Your Project

Backend

cd my-app/server
npm install
npm run dev

The server starts on http://localhost:5000 (or your configured PORT).


Frontend (if generated)

cd my-app/client
npm install
npm run dev
  • React: Runs on http://localhost:5173 (Vite default)
  • Next.js: Runs on http://localhost:3000

🎯 Use Cases

  • 🚀 Rapid Prototyping - Get ideas running quickly
  • 📚 Learning Express - Study well-structured projects
  • 👥 Team Consistency - Standardize project scaffolding
  • 🏗️ Production Starters - Begin with best practices

🛠️ Design Principles

  • Feature-Based Injection - Only include what you select
  • 📝 Language Aware - Respects JavaScript vs TypeScript conventions
  • 🔄 Idempotent Operations - No duplicate injections or overwrites
  • 🌍 Cross-Platform - Works on all operating systems
  • 📦 Template Resolution - Uses __dirname for global CLI safety

🤝 Contributing

Contributions are welcome! Feel free to:

  • Report bugs
  • Suggest new features
  • Submit pull requests

👨‍💻 Author

Uttam Yadav
Full-Stack Developer


📄 License

MIT


📝 Notes

  • This CLI focuses on project setup, not application logic
  • Generated code is fully customizable—modify as needed
  • Templates follow industry best practices
  • No vendor lock-in—standard Express/Node.js code

🌟 Star this project

If you find this tool helpful, consider giving it a star on GitHub!


Happy Coding! 🎉