create-fullstack-setup
v1.0.18
Published
CLI to generate ready-to-run fullstack or backend applications
Downloads
1,716
Maintainers
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@latestVerify the installation:
create-fullstack-setup --version🚀 Quick Start
Create a new project
create-fullstack-setup@latest my-appCreate 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-app2️⃣ 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
● None3️⃣ Backend Framework
Currently supported:
- Express - Fast, minimalist web framework
? Choose backend framework:
● Express4️⃣ Language
Choose your preferred language:
- JavaScript - Classic, widely supported
- TypeScript - Type-safe, modern development
? Select language:
○ JavaScript
● TypeScript5️⃣ 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
Authorizationheader 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.exampleExample 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 devThe 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
__dirnamefor 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
📝 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! 🎉
