1.0.8 β’ Published 5 months ago
create-pro-app v1.0.8
π Create Pro App
Create Pro App is a powerful, modern CLI tool to scaffold professional React applications with lightning-fast setup. Built with Vite under the hood, it offers a customizable boilerplate packed with features like authentication, state management, Tailwind CSS, and moreβperfect for developers who want to hit the ground running.
β¨ Features
- Language Options: Choose between JavaScript or TypeScript for your project.
- Package Managers: Supports npm or Yarnβyour choice!
- Project Templates:
- Minimal: A clean, lightweight React setup.
- Dashboard: A pre-styled dashboard template (requires Tailwind CSS).
- Authentication: Add route protection with a sleek login page.
- State Management: Integrate Redux Toolkit with optional persistence.
- API Handling: Pick Axios or Fetch for seamless API integration.
- Styling:
- Tailwind CSS: Rapidly style your app with utility classes.
- Custom Fonts: Select from Google Fonts like Roboto, Inter, Poppins, etc.
- Developer Tools:
- Git: Initialize a Git repository with a robust
.gitignore
. - Husky: Set up Git hooks for pre-commit linting/formatting.
- Prettier: Enforce consistent code formatting with a
.prettierignore
. - ESLint: Lint your code with modern React and TypeScript support.
- Git: Initialize a Git repository with a robust
π οΈ Installation
Get started in seconds by installing create-pro-app
globally or running it via npx
.
Via npm
npm install -g create-pro-app
create-pro-app
Via Yarn
yarn global add create-pro-app
create-pro-app
Via npx (No Install Required)
npx create-pro-app
π Usage
Run the CLI:
create-pro-app
Or, if installed globally:
create-pro-app
Answer the Prompts:
- Project Name: Name your project (e.g.,
my-pro-app
). - Language: Pick
JavaScript
orTypeScript
. - Package Manager: Choose
npm
orYarn
. - Template: Select
Minimal
orDashboard
. - Features: Enable authentication, Redux, Tailwind, etc., as needed.
- Project Name: Name your project (e.g.,
Review & Confirm:
- A preview of your configuration will appear. Confirm to proceed!
Project Setup:
- The CLI will create your project directory, install dependencies, and generate files with a delightful spinner animation.
Start Coding:
cd your-project-name npm run dev # or yarn dev
Open http://localhost:5173 in your browser!
π Project Structure
Hereβs what your generated project looks like:
your-project-name/
βββ node_modules/ # Dependencies
βββ src/ # Source code
β βββ components/ # React components (e.g., Dashboard)
β βββ pages/ # Pages (e.g., Login) if authentication is enabled
β βββ routes/ # Route definitions (if authentication is enabled)
β βββ store/ # Redux store and slices (if selected)
β βββ utils/ # API handlers (axiosInstance or fetchInstance)
β βββ App.jsx # Main app component
β βββ main.jsx # Entry point
β βββ index.css # Tailwind CSS (if selected)
βββ .gitignore # Git ignore file
βββ .prettierignore # Prettier ignore file (if Prettier is enabled)
βββ .prettierrc # Prettier config (if enabled)
βββ eslint.config.js # ESLint config (if enabled)
βββ index.html # HTML entry point
βββ package.json # Project metadata and scripts
βββ tailwind.config.js # Tailwind config (if enabled)
βββ tsconfig.json # TypeScript config (if TypeScript is selected)
βββ vite.config.js # Vite configuration
βοΈ Configuration Options
Prompts Breakdown
Prompt | Options/Choices | Description | |
---|---|---|---|
projectName | Text input (default: my-pro-app ) | Name of your project directory. | |
language | JavaScript , TypeScript | Programming language for your app. | |
packageManager | npm , Yarn | Tool to manage dependencies. | |
template | Minimal , Dashboard | Base structure of your app (Dashboard requires Tailwind). | |
authentication | Yes/No | Adds route protection with a login page. | |
stateManager | Yes/No | Enables Redux Toolkit for global state. | |
persist | Yes/No | Adds state persistence to Redux (requires stateManager ). | |
apiHandler | Axios , Fetch | HTTP client for API requests. | |
tailwind | Yes/No | Integrates Tailwind CSS for styling. | |
customFonts | Yes/No | Adds a custom Google Font. | |
fontChoice | Roboto , Inter , etc. | Selects a font (if customFonts is enabled). | |
gitInit | Yes/No | Initializes a Git repository. | |
husky | Yes/No | Sets up Husky for Git hooks. |
π License
This project is licensed under the MIT License.
π Get in Touch
- Issues: File a bug or feature request
- Email: rvnegi786@gmail.com
Built with β€οΈ by Ravinder Singh Negi. Happy coding!