shadpanel init
Initialize a new ShadPanel project or merge into an existing Next.js application.
Usage
shadpanel init [project-name] [options]Arguments
[project-name]
The name of your project directory.
- Optional: Prompts if not provided
 - Current directory: Use 
.to install in the current directory - Examples:
shadpanel init my-admin-panel shadpanel init . # Install in current directory 
Options
Package Manager
Choose your preferred package manager:
| Option | Description | 
|---|---|
--use-npm | Use npm as package manager | 
--use-pnpm | Use pnpm as package manager | 
--use-yarn | Use yarn as package manager | 
--use-bun | Use bun as package manager | 
Example:
shadpanel init my-app --use-pnpmInstallation Type
Control what gets installed:
| Option | Description | 
|---|---|
--full-panel | Install complete panel with auth (default) | 
--auth-components | Install authentication + components only | 
--components-only | Install UI components only | 
--no-auth | Skip authentication setup | 
Examples:
# Full panel (default)
shadpanel init my-app --full-panel
 
# Just components
shadpanel init my-app --components-only
 
# Auth + components
shadpanel init my-app --auth-componentsAuthentication Providers
Configure authentication providers:
| Option | Description | 
|---|---|
--credentials | Email/password authentication (default) | 
--google | Include Google OAuth provider | 
--github | Include GitHub OAuth provider | 
Examples:
# Google + GitHub OAuth
shadpanel init my-app --google --github
 
# Credentials only (default)
shadpanel init my-app --credentials
 
# All providers
shadpanel init my-app --credentials --google --githubOther Options
| Option | Description | 
|---|---|
--skip-install | Skip installing packages | 
--disable-git | Skip initializing git repository | 
--yes | Use defaults without prompting | 
--no-demos | Skip demo pages | 
-e, --example <name> | Bootstrap with a specific example | 
Examples:
# Skip package installation
shadpanel init my-app --skip-install
 
# Accept all defaults
shadpanel init my-app --yes
 
# No demos, no git
shadpanel init my-app --no-demos --disable-gitInstallation Types
Full Panel (Default)
Complete admin panel with everything included:
shadpanel init my-app --full-panelIncludes:
- ✅ Next.js project structure
 - ✅ Authentication system (NextAuth.js)
 - ✅ Dashboard with sidebar navigation
 - ✅ 50+ UI components
 - ✅ Form Builder
 - ✅ Data Tables
 - ✅ Demo pages (optional)
 - ✅ Landing page
 
Best for: Starting from scratch, complete admin panels
Auth Components
Authentication system + component library:
shadpanel init my-app --auth-componentsIncludes:
- ✅ NextAuth.js setup
 - ✅ Login/signup pages
 - ✅ Auth providers configuration
 - ✅ 50+ UI components
 - ✅ Form Builder
 - ✅ Data Tables
 - ❌ Base dashboard structure
 
Best for: Adding auth to existing apps, custom dashboards
Components Only
Just the component library:
shadpanel init my-app --components-onlyIncludes:
- ✅ 50+ UI components
 - ✅ Form Builder
 - ✅ Data Tables
 - ✅ Utility functions
 - ✅ Custom hooks
 - ❌ Authentication
 - ❌ Dashboard structure
 
Best for: Existing Next.js apps, component library only
Merging with Existing Projects
ShadPanel can safely merge into existing Next.js projects:
cd my-existing-nextjs-app
shadpanel init .Safe Merge Behavior:
- ✅ Preserves your existing files
 - ✅ Only adds new ShadPanel files
 - ✅ Prompts before overwriting
 - ✅ Merges 
package.jsondependencies - ✅ Won’t replace your layout/pages
 
Merge Example
# You have an existing Next.js app
cd my-app
 
# Add ShadPanel components only
shadpanel init . --components-only
 
# Your existing files are preserved:
# ✓ app/page.tsx (your home page)
# ✓ app/layout.tsx (your layout)
# ✓ package.json (your dependencies)
 
# New files added:
# + components/ui/* (ShadPanel components)
# + lib/utils.ts (utility functions)
# + hooks/* (custom hooks)Interactive Prompts
When you run shadpanel init without flags, you’ll be prompted for:
- Project name (if not provided)
 - Package manager (npm, pnpm, yarn, bun)
 - Installation type (full-panel, auth-components, components-only)
 - Authentication (yes/no)
 - Auth providers (Google, GitHub, Credentials)
 - Include demos (yes/no)
 - Initialize git (yes/no)
 
Skip Prompts
Use the --yes flag to accept all defaults:
shadpanel init my-app --yesThis creates a full panel with:
- npm as package manager
 - Full panel installation
 - Credentials authentication
 - Demo pages included
 - Git repository initialized
 
Examples
Basic Usage
# Create new project with prompts
shadpanel init my-admin-panel
 
# Create with pnpm
shadpanel init my-app --use-pnpm
 
# Skip prompts, use defaults
shadpanel init my-app --yesCustom Configuration
# Full panel with Google OAuth
shadpanel init my-app --google --credentials
 
# Components only, no installation
shadpanel init my-app --components-only --skip-install
 
# Auth + components with all providers
shadpanel init my-app --auth-components --google --github --credentialsExisting Project
# Add to existing Next.js app
cd my-existing-app
shadpanel init . --components-only
 
# Add auth to existing app
cd my-app
shadpanel init . --auth-components --googleAdvanced
# No demos, specific package manager, custom auth
shadpanel init my-app \
  --use-pnpm \
  --no-demos \
  --google \
  --github \
  --disable-git
 
# Skip everything except components
shadpanel init my-app \
  --components-only \
  --skip-install \
  --disable-git \
  --yesWhat Gets Created
File Structure by Type
Components Only:
my-app/
├── components/ui/
├── lib/utils.ts
├── hooks/
└── (your existing files preserved)Auth Components:
my-app/
├── app/admin/login/
├── app/admin/signup/
├── app/api/auth/[...nextauth]/
├── components/ui/
├── components/login-form.tsx
├── components/signup-form.tsx
├── contexts/
├── lib/utils.ts
├── hooks/
├── types/next-auth.d.ts
└── .envFull Panel:
my-app/
├── app/
│   ├── admin/dashboard/
│   ├── admin/login/
│   ├── admin/signup/
│   ├── api/auth/
│   ├── layout.tsx
│   └── page.tsx
├── components/
├── contexts/
├── hooks/
├── lib/
├── config/
├── types/
├── .env
└── package.jsonNext Steps
After initialization:
- 
Navigate to project:
cd my-app - 
Install dependencies (if skipped):
npm install - 
Set up database (optional):
shadpanel db init - 
Start development:
npm run dev 
See Also
- Quick Start - Get started guide
 - Project Structure - Understand the structure
 - Database Commands - Set up database
 - Authentication - Configure auth providers