@harsh2004/wizcli v1.0.1
WizCLI - Full-Stack Project Generator
Accelerate your development workflow with a single command
WizCLI is a powerful command-line tool that helps developers quickly scaffold full-stack JavaScript/TypeScript applications with various backend and frontend options. Generate production-ready project structures in seconds!
Features
- ā” Instant Project Scaffolding - Create full-stack projects in seconds
- š Multiple Backend Options - Express, Fastify, or backend-free projects
- š„ļø Modern Frontend Support - React or Vue with Vite
- šļø Database Integration - MongoDB or PostgreSQL support
- š Authentication Ready - JWT authentication out-of-the-box
- š¦ Smart Dependency Management - Automatic installation of required packages
- āļø Production-Ready Configuration - Includes environment setup, TypeScript config, and more
Installation
Install WizCLI globally using npm:
npm install -g @harsh2004/wizcliUsage
Create a New Project
wizcli init <project-name>Command Options
| Option | Description | Default |
|---|---|---|
--git-init | Initialize Git repository | false |
--install-deps | Install dependencies automatically | false |
--language <lang> | Set project language (js/ts) | Prompt |
Interactive Prompts
When you run wizcli init, you'll be guided through an interactive setup:
- Project Language: Choose JavaScript or TypeScript
- Backend Framework: Express, Fastify, or None
- Database: MongoDB, PostgreSQL, or None
- Middleware: Select security and utility middleware
- Frontend Framework: React, Vue, or None
- Authentication: JWT or None
Project Structures
Full-Stack Project (Express + React)
my-project/
āāā client/ # Frontend (React)
ā āāā src/
ā āāā public/
ā āāā index.html
ā āāā vite.config.js
ā āāā package.json
āāā src/ # Backend (Express)
ā āāā config/
ā āāā routes/
ā āāā models/
ā āāā middlewares/
ā āāā server.js
āāā .env
āāā .gitignore
āāā package.jsonFrontend-Only Project (Vue)
my-project/
āāā public/
āāā src/
āāā index.html
āāā vite.config.js
āāā package.jsonBackend-Only Project (Fastify + PostgreSQL)
my-project/
āāā src/
ā āāā config/
ā āāā routes/
ā āāā models/
ā āāā server.js
āāā .env
āāā .gitignore
āāā package.jsonCommands After Project Creation
For Backend Projects
npm start # Start JavaScript backend
npm run dev # Start TypeScript backend in dev mode
npm run build # Build TypeScript projectFor Frontend Projects
npm install # Install dependencies
npm run dev # Start development server
npm run build # Build for productionConfiguration
Environment Variables (.env)
PORT=3000
NODE_ENV=development
# MongoDB Configuration
MONGO_URI=mongodb://localhost:27017/yourdbname
# PostgreSQL Configuration
PG_HOST=localhost
PG_PORT=5432
PG_USER=youruser
PG_PASSWORD=yourpassword
PG_DATABASE=yourdbTypeScript Config (tsconfig.json)
{
"compilerOptions": {
"target": "ES2020",
"module": "ESNext",
"outDir": "dist",
"rootDir": "src",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true
},
"include": ["src"],
"exclude": ["node_modules"]
}Custom Templates
WizCLI uses EJS templates for project generation. You can customize these templates by modifying files in the templates directory:
templates/
āāā auth/
ā āāā jwt/
ā āāā backend/
āāā express/
ā āāā server.js.ejs
āāā fastify/
ā āāā server.js.ejs
āāā frontend/
ā āāā react/
ā āāā vue/
āāā shared/
āāā db/
āāā models/Contributing
We welcome contributions! Here's how to set up your development environment:
Clone the repository
git clone https://github.com/Harsh0369/NPM-Package cd wizcliInstall dependencies
npm installLink the package globally
npm linkRun the CLI locally
wizcli init test-projectRun tests
npm test
Please follow our contribution guidelines when submitting pull requests.
Roadmap
- Add support for Next.js
- Implement SQLite database option
- Add Docker configuration
- Create project update mechanism
- Develop VS Code extension companion
Support
For issues, feature requests, or questions, please:
- Check the troubleshooting guide
- Search existing issues
- Open a new issue
License
WizCLI is MIT licensed.
FAQ
Can I use WizCLI for existing projects?
WizCLI is designed for new project generation. For existing projects, you'll need to manually integrate the components you need.
How do I update dependencies in generated projects?
Currently, you need to update dependencies manually in your project. We're working on an update mechanism for future releases.
Can I create custom templates?
Yes! You can modify the templates in the templates directory to match your preferred project structure.
Is there support for CSS frameworks?
Not currently, but we're planning to add support for Tailwind CSS and Bootstrap in the next release.
How do I uninstall WizCLI?
npm uninstall -g wizcliHappy Coding! š