ESYT

Getting Started

Get started with ESYT - A modern CLI tool to quickly scaffold Vite or Next.js projects with your preferred tech stack.

Introduction

ESYT is a command-line interface tool that helps you create new Vite or Next.js projects with JavaScript or TypeScript, and popular packages like TailwindCSS, Framer Motion, Clerk, Appwrite, Prisma, and more. It provides a clean, professional setup experience with minimal output and smart automation.

Installation

ESYT can be used via bun create, npm create, or pnpm create. We recommend using bun:

bun create esyt@latest

Quick Start

After running the install command, ESYT will guide you through an interactive setup:

  1. Choose your framework (Vite or Next.js)
  2. Select your language (JavaScript or TypeScript)
  3. Name your project
  4. Select packages to include
  5. Configure options (git, install, editor, dev server)

Non-Interactive Mode

For automation or CI/CD, use the --yes flag to accept sensible defaults:

bun create esyt@latest -- --yes my-app

You can also combine flags for a fully automated setup:

bun create esyt@latest -- -vite -js test-app --tailwindcss --react-router --dotenv --axios -i -code -no-git -dev

Command Line Flags

Framework Selection

  • -vite, --vite, vite - Create a Vite project (default in interactive flow)
  • -next, --next, next - Create a Next.js project

Language Selection

  • -js, --js, js - Use JavaScript
  • -ts, --ts, ts - Use TypeScript

Packages

Any token starting with -- or a single - followed by >2 chars is treated as a package token.

Examples:

  • --tailwindcss or -tailwindcss - Install TailwindCSS
  • --dotenv or -dotenv - Install dotenv
  • --react-router - Install React Router
  • --framer-motion - Install Framer Motion
  • --axios - Install Axios

Unknown package tokens are installed as npm packages.

Automation Options

  • -git - Initialize a git repository
  • -i, -install, --install - Run the package manager's install command after creation
  • -dev - Run the development server after install
  • -zed, -code, -cursor, -trae - Open the project in your preferred editor (Zed, VSCode, Cursor, or Trae)

Negations

  • --no-git, -no-git - Disable git init
  • --no-install, -no-install, -no-i - Disable running the install step
  • --no-dev, -no-dev - Disable running the dev server
  • --no-editor, -no-ide - Disable opening an editor

Other Options

  • --yes, -y, --no-interactive - Accept sensible defaults and skip prompts (non-interactive mode)
  • --dry-run, -d - Print the shell commands without executing them
  • -h, --help, help - Print help text and exit
  • -v, --version, version - Print version and exit

Examples

Basic Vite Project with TypeScript

bun create esyt@latest -- -vite -ts my-vite-app

Next.js Project with TailwindCSS

bun create esyt@latest -- -next -ts my-next-app --tailwindcss

Full Automated Setup

Create a Vite project with JavaScript, TailwindCSS, React Router, dotenv, and Axios. Automatically install dependencies, open in VSCode, and start the dev server:

bun create esyt@latest -- -vite -js my-app --tailwindcss --react-router --dotenv --axios -i -code -dev

Non-Interactive with Custom Packages

bun create esyt@latest -- --yes my-app --tailwindcss --framer-motion --axios

Supported Packages

ESYT recognizes the following packages and provides optimized setup:

  • TailwindCSS - --tailwindcss
  • dotenv - --dotenv
  • React Router - --react-router
  • Framer Motion - --framer-motion
  • OGL - --ogl
  • Clerk - --clerk
  • Appwrite - --appwrite
  • Prisma - --prisma
  • Axios - --axios
  • Firebase - --firebase
  • Next Auth - --next-auth (Next.js only)

Any other package name will be installed as a regular npm package.

Notes

  • When running via wrapper commands (bun create, npm create, etc.), use a double-dash (--) to forward flags to ESYT: bun create esyt@latest -- my-app --tailwindcss
  • The CLI accepts flexible token forms (single-dash long tokens like -tailwindcss are supported)
  • --yes can be combined with flags like --no-git to override defaults

Resources