Installation

There are two ways to create a new Went application depending on whether you're getting started for the first time or already have Went installed.

Method 1: First Time Users (Recommended)

If this is your first time using Went, use the npx command. This doesn't require any global installation and will always use the latest version.

# Create a new Went application (latest version)
npx create-went-app@latest my-app
# Navigate to your project
cd my-app

What this command does:

  • • Downloads the latest Went CLI temporarily
  • • Creates a new directory with your project name
  • • Scaffolds a complete Next.js 15 application
  • • Installs all dependencies (Next.js, tRPC, Prisma, Auth.js, etc.)
  • • Sets up TypeScript and Tailwind CSS configuration
  • • Creates a pre-configured .env file
  • • Initializes Git repository with .gitignore

Method 2: Global Installation (For Regular Users)

If you plan to create multiple Went projects, you can install the CLI globally for faster project creation.

# Install Went CLI globally
npm install -g create-went-app
# Create new projects with the shorter command
went new
# Navigate to your project
cd my-app

Benefits of global installation:

  • • Faster project creation (no download time)
  • • Shorter command: went new instead of npx create-went-app@latest
  • • Works offline once installed
  • • Access to additional CLI commands

Additional CLI Commands

Once you have Went installed globally, you get access to additional helpful commands:

Project Management
went new

Create a new Went application

went --version

Check your Went CLI version

Database Commands
went db migrate init

Initialize database migrations

went db studio

Open Prisma Studio (database GUI)

What Gets Created

Both installation methods create the same project structure with everything you need:

my-app/
├── prisma/
│   ├── schema.prisma          # Database schema
│   └── seed.ts               # Database seeding
├── src/
│   ├── app/                  # Next.js app directory
│   │   ├── api/             # API routes
│   │   ├── globals.css      # Global styles
│   │   ├── layout.tsx       # Root layout
│   │   └── page.tsx         # Homepage
│   ├── components/          # React components
│   │   └── ui/             # shadcn/ui components
│   ├── lib/                # Utility functions
│   ├── server/             # Server-side code
│   │   └── api/           # tRPC routers
│   └── auth.ts            # Auth.js configuration
├── .env                    # Environment variables
├── .gitignore             # Git ignore rules
├── package.json           # Dependencies
├── tailwind.config.js     # Tailwind configuration
└── tsconfig.json          # TypeScript configuration

Next Steps

Continue your journey with Went: