vibe-init
Version:
Create a new project with good vibes ✨ - A modern full-stack monorepo template
169 lines (124 loc) • 4.13 kB
Markdown
# vibe-init ✨
A CLI tool to create new projects with good vibes - a modern full-stack monorepo setup with React, TypeScript, and Turborepo.
## Usage
Create a new project with the default template:
```bash
pnpm dlx vibe-init@latest
```
Or specify a template:
```bash
pnpm dlx vibe-init@latest --template simple-react
```
Alternative package managers:
```bash
# With npm
npx vibe-init@latest
# With yarn
yarn create vibe-init
```
## Templates
List all available templates:
```bash
pnpm dlx vibe-init@latest --list
```
### Available Templates
- **`turbo-react-router`** (default) - Full-stack monorepo with React Router, TypeScript, and Turborepo
- **`simple-react`** - Simple React app with Vite and TypeScript
## CLI Options
- `-t, --template <name>` - Template to use (default: turbo-react-router)
- `-l, --list` - List available templates
- `-h, --help` - Show help message
## What's Included
### turbo-react-router Template (Default)
This template creates a modern monorepo with:
### Apps and Packages
- **`web`**: A React application built with Vite and TypeScript
- **`@your-project/ui`**: A shared component library
- **`@your-project/eslint-config`**: Shared ESLint configurations
- **`@your-project/typescript-config`**: TypeScript configurations
### Technologies
- **[React](https://reactjs.org/)** - UI library
- **[TypeScript](https://www.typescriptlang.org/)** - Static type checking
- **[Vite](https://vitejs.dev/)** - Fast build tool
- **[Turborepo](https://turbo.build/)** - Monorepo build system
- **[ESLint](https://eslint.org/)** - Code linting
- **[Prettier](https://prettier.io/)** - Code formatting
- **[pnpm](https://pnpm.io/)** - Fast, disk space efficient package manager
### Features
- **Monorepo structure** with shared packages
- **TypeScript** throughout the entire codebase
- **Hot reloading** in development
- **Optimized builds** with Turborepo
- **Code quality** with ESLint and Prettier
- **Workspace dependencies** with pnpm
### simple-react Template
This template creates a simple React application with:
- **React 18** with TypeScript
- **Vite** for fast development and building
- **ESLint** for code linting
- **Hot Module Replacement** for instant updates
- **Modern CSS** with custom styling
## Getting Started
After creating your project:
```bash
cd your-project-name
pnpm install # install dependencies (if not already done)
pnpm dev # start development server
```
> **Note**: vibe-init uses pnpm as the primary package manager for better performance and disk space efficiency. Make sure you have pnpm installed: `npm install -g pnpm`
### Template-specific Commands
#### turbo-react-router
```bash
pnpm dev # start all apps in development
pnpm build # build all packages
pnpm lint # lint all packages
pnpm format # format code with Prettier
```
#### simple-react
```bash
pnpm dev # start development server
pnpm build # build for production
pnpm preview # preview production build
pnpm lint # run ESLint
```
## Available Scripts
- `pnpm dev` - Start development server
- `pnpm build` - Build all packages
- `pnpm lint` - Lint all packages
- `pnpm format` - Format code with Prettier
## Project Structure
### turbo-react-router Template
```
your-project/
├── apps/
│ └── web/ # React application
├── packages/
│ ├── ui/ # Shared UI components
│ ├── eslint-config/ # ESLint configuration
│ └── typescript-config/ # TypeScript configuration
├── package.json
├── pnpm-workspace.yaml
└── turbo.json
```
### simple-react Template
```
your-project/
├── src/
│ ├── App.tsx
│ ├── main.tsx
│ ├── App.css
│ └── index.css
├── public/
├── package.json
├── tsconfig.json
├── vite.config.ts
└── README.md
```
## Development
To contribute to this template:
1. Clone the repository
2. Make your changes in the `templates/` directory
3. Test the changes by running `node index.js` in the vibe-init directory
4. Submit a pull request
## License
MIT