A comprehensive CLI tool for generating fullstack TypeScript boilerplates with VMC (View, Model, Controller) architecture.
npx create-stack-cli my-appThat's it! No installation needed. The CLI will guide you through the setup process.
- ✅ ExpressJS (Fully Implemented)
- ⏳ NestJS (Stub - Coming Soon)
- ⏳ Fastify (Stub - Coming Soon)
- ⏳ Hono (Stub - Coming Soon)
- ⏳ Koa (Stub - Coming Soon)
- ⏳ AdonisJS (Stub - Coming Soon)
- ⏳ tRPC (Stub - Coming Soon)
- ⏳ Apollo GraphQL (Stub - Coming Soon)
- PostgreSQL ⭐ (Default)
- MySQL
- MariaDB
- SQLite
- SQL Server
- MongoDB
- Firestore
- DynamoDB
- CouchDB
- SurrealDB
- EdgeDB
- FaunaDB
- Redis (Cache)
- Prisma ⭐ (Default for SQL)
- Sequelize
- TypeORM
- Drizzle ORM
- Knex.js
- Mongoose ⭐ (MongoDB)
- ✅ React (Fully Implemented)
- ⏳ Next.js (Stub)
- ⏳ Vue 3 (Stub)
- ⏳ Nuxt 3 (Stub)
- ⏳ Angular (Stub)
- shadcn/ui ⭐ (React/Next.js)
- Material UI
- Chakra UI
- Ant Design
- TailwindCSS ⭐
- Mantine
- Radix UI
- Vuetify ⭐ (Vue/Nuxt)
- Naive UI
- Element Plus
- Angular Material ⭐
- Zustand ⭐ (React)
- Redux Toolkit
- Jotai
- Recoil
- Pinia ⭐ (Vue)
- Vuex
- NgRx (Angular)
- Zod ⭐ (Default)
- Yup
- Joi
- Valibot
- Ajv
- class-validator (NestJS)
- ✅ User Module
- ✅ Auth Module (JWT + Refresh Tokens)
- ✅ File Upload Module
- ✅ Rate Limiting
- ✅ Caching Layer (Redis)
- ✅ RBAC / ACL
- ✅ Swagger Documentation
- ✅ Docker + docker-compose
- ✅ Testing Setup (Jest)
- ⏳ CI/CD (GitHub Actions) - Coming Soon
⚠️ Important: This is a CLI tool, not a regular npm package. Do NOT usenpm i create-stack-cli(it won't work).
No installation needed! Just run:
npx create-stack-cli my-appThis is the recommended way - it downloads and runs the CLI without installing anything.
If you plan to use it frequently, install globally:
npm install -g create-stack-cliThen use it from anywhere:
create-stack-cli my-app# ❌ This won't work - don't use this!
npm i create-stack-cliThis installs the package locally but won't make the CLI command available. Use npx or global installation instead.
npx create-stack-cli my-appThe CLI will guide you through:
- Backend framework selection
- Database selection
- ORM selection
- Frontend framework selection (optional)
- UI library selection
- State management selection
- Additional features configuration
my-app/
├── backend/
│ ├── src/
│ │ ├── controller/ # Request handlers
│ │ ├── modal/ # Business logic + ORM
│ │ ├── view/ # DTO transformations
│ │ ├── routes/ # Route definitions
│ │ ├── middleware/ # Custom middleware
│ │ ├── config/ # Configuration files
│ │ └── validation/ # Validation schemas
│ ├── prisma/ # Prisma schema (if using Prisma)
│ ├── package.json
│ ├── tsconfig.json
│ └── .env.example
├── frontend/ # Frontend application
├── docker-compose.yml # Docker configuration
└── README.md
The generated backend follows VMC Architecture:
- View Layer: Transforms data models to DTOs for API responses
- Model Layer: Handles business logic and database operations
- Controller Layer: Handles HTTP requests, validation, and responses
cd my-app/backend
npm install
npm run devcd my-app/frontend
npm install
npm run devcd my-app/backend
npx prisma migrate dev
npx prisma studio # Open Prisma StudioIf Swagger is enabled, access documentation at:
http://localhost:3000/docs
docker-compose up -d-
Express Backend Generator
- Complete VMC architecture
- Prisma/Mongoose/TypeORM/Sequelize/Drizzle/Knex support
- User & Auth modules
- File upload, rate limiting, caching, RBAC
- Swagger documentation
- Jest testing setup
-
React Frontend Generator
- Vite setup
- TailwindCSS integration
- Router setup
- State management integration (Zustand/Redux)
-
Docker Support
- docker-compose.yml
- Backend Dockerfile
- Frontend Dockerfile (for React)
-
Project Configuration
- Root README generation
- .gitignore
- Environment variable templates
- Full implementation for other backend frameworks
- Next.js, Vue 3, Nuxt 3, Angular frontend generators
- CI/CD templates (GitHub Actions)
- More comprehensive testing examples
- Additional feature modules
MIT
Contributions are welcome! Please feel free to submit a Pull Request.